Two modes, auto-routed by subject (see routing table):
- Mode A — Repo / concept / docs (the cheap path): research → clone (if repo) → explore → synthesize → output. Loose parallel agents are fine.
- Mode B — Live web product / competitor / data product / algorithm / landscape (the full shebang): scout → confirm → Workflow-orchestrated deep recon → real-browser capture → reverse-engineer-to-validated-code → synthesize. Read
@references/competitor-teardown.md and follow it.
Subject-type routing
| Subject |
Signal |
Mode |
Spine |
| GitHub repo |
github.com |
A |
clone + Explore agents |
| Concept / tech |
no URL |
A |
researcher agents |
| Docs / static site |
URL, informational |
A |
researcher + WebFetch |
| Live product / app / SaaS / competitor |
URL is a product; "competitor/teardown/vs us/how do they" |
B |
browser + Workflow + per-subject schema |
| Calculator / estimator / predictor / pricing / ranking |
a formula/algorithm to crack |
B |
live-probe grid → runnable reference impl → validate |
| Whole landscape |
"find all the others / everyone in this space" |
B |
namespace discovery → teardown the YES set |
Tiebreaker: if a URL is BOTH a product and has docs, default to B — the scout pass is cheap and downgrades to A if there's nothing to tear down.
Execution Rules
- Right tool for scale: Mode A = parallel Task/Agent calls. Mode B = the Workflow tool (pipelines, structured-output schemas, resume) once there are 3+ subjects or multi-phase work.
- Ground, then confirm: Mode B does a cheap scout pass + a confirm gate (scope + recon boundary + browser) before the expensive dive — unless the user already said "full shebang / go deep / everything."
- Reverse-engineer to runnable, validated code for any calculator/algorithm; benchmark vs the authoritative ground truth, not the competitor's own claim.
- Visual-heavy: every major concept gets a diagram or table.
- Dual output: display the exec read + file index in conversation; save the full doc set to
~/.claude/explanations/<date>_<slug>/.
- Resilient: heavy Mode-B research runs as a background Workflow; persist artifacts incrementally; resume (
resumeFromRunId) on a cutoff.
- Clean up: offer to delete cloned repos / saved files when done.
Then proceed to context_analysis.
Detect type automatically:
- Contains
github.com → GitHub repo (Mode A)
- Mode-B signals → "competitor", "teardown", "reverse-engineer", "vs us", "how do they", "find all the others", or a URL that is a product/app/calculator → Mode B
- Contains
http (informational/docs) → Website (Mode A)
- Otherwise → Concept (Mode A)
Goal (if unclear):
- "What's your goal?" with options:
- "Understand how it works" - Architecture, flow, implementation
- "Evaluate for adoption" - Pros/cons, alternatives, fit for my use case
- "Learn to use it" - Setup, API, getting started
- "Learn to contribute" - Codebase structure, development workflow
Focus (if broad topic):
- "Any specific focus?" with options:
- "Everything" - Full comprehensive analysis
- "Architecture only" - High-level structure and patterns
- "Specific feature" - One particular aspect (specify)
Background (if helpful):
- "Your technical level?" with options:
- "Non-technical" - Explain from first principles with analogies
- "Technical but new to this domain" - Skip basics, focus on specifics
- "Expert" - Deep technical, assume knowledge
Mode B supersedes this gate with B2 (snapshot + scope + recon-boundary + go/depth/browser) — don't ask both; B2 is the single authoritative gate for teardowns.
Mode select
Run <intake_gate>, then route by the subject-type table. Mode B (live product / competitor / data product / calculator / landscape) → load @references/competitor-teardown.md and follow its scout → confirm → deep → synthesize flow (skeleton below). Mode A (repo / concept / docs) → Phases 1-7 below.
Mode B — Live product / competitor / data-product teardown
Full playbook in references/competitor-teardown.md. Skeleton:
- B0 Ground: check memory +
~/.claude/explanations/ for prior analysis; extend, don't redo.
- B1 Scout: one light passive-recon agent per target (WebFetch + headers + WebSearch) → grounded snapshot + what needs a browser.
- B2 Confirm gate: present snapshot + scope + the recon boundary (
<scope_boundary>); AskUserQuestion for go/depth/browser — skip only if the user already said "go deep / full shebang".
- B3 Deep recon (Workflow): one structured agent per subject, all sharing the per-subject schema (in the reference).
pipeline() by default; split big outputs to disk.
- B4 Browser (Claude-in-Chrome): capture on-load network, render SPAs, live-probe estimators across an input grid, security headers, paywall/auth copy — within the boundary (no CAPTCHA/auth bypass, no mutating endpoints, never submit the user's data). Persist captures as you go.
- B5 Reverse-engineer: every calculator → runnable TypeScript reference impl → validate vs the live grid → benchmark vs authoritative ground truth.
- B6 Namespace (if "any others?"): DNS+curl+search candidate domains, classify, find operator clusters, flag defensive-buy domains, teardown only the genuinely-distinct YES set.
- B7 Synthesize: fan-out synthesis agents →
DETAILED-<slug>.md ×N + ESTIMATORS.md + COMPARISON.md (incl. a data-integrity + operator-cluster section) + REPLICATION-BLUEPRINT.md + ARCHITECTURE.md + NAMESPACE.md + SOURCES-*.md + SUMMARY.md (exec read + file index). Then Phase 7 output/cleanup.
Mode A — Repo / concept / docs
Phase 1: Parallel Web Research (5 research agents)
Spawn ALL in one message:
Task(subagent_type="general-purpose", prompt="Research [TOPIC]: What is it? Who made it? When? Why?")
Task(subagent_type="general-purpose", prompt="Research [TOPIC]: Technical stack, architecture, key technologies")
Task(subagent_type="general-purpose", prompt="Research [TOPIC]: Articles, reviews, community discussions, opinions")
Task(subagent_type="general-purpose", prompt="Research [TOPIC]: Alternatives, comparisons, when to use vs not")
Task(subagent_type="general-purpose", prompt="Research [TOPIC]: Documentation, tutorials, getting started guides")
Phase 2: Clone Repository (if GitHub)
REPO_DIR=~/.claude/explanations/$(date +%Y%m%d_%H%M%S)_$(basename [URL] .git)
git clone [URL] $REPO_DIR
cd $REPO_DIR
Phase 3: Parallel Codebase Exploration (6 explore agents)
Spawn ALL in one message with thoroughness="very thorough":
Task(subagent_type="Explore", prompt="Architecture: Overall structure, modules, how they relate")
Task(subagent_type="Explore", prompt="Entry points: Main files, CLI, API endpoints, how it starts")
Task(subagent_type="Explore", prompt="Core logic: Key algorithms, patterns, abstractions")
Task(subagent_type="Explore", prompt="Configuration: Settings, environment, extensibility points")
Task(subagent_type="Explore", prompt="Dependencies: Key packages, integrations, external services")
Task(subagent_type="Explore", prompt="Tests and quality: Test patterns, coverage, CI/CD")
Phase 4: Parallel Claude Code Context (2-3 general-purpose agents)
If relevant to Claude/AI/agents:
Task(subagent_type="general-purpose", prompt="Explain relevant Claude Code concepts for understanding this")
Task(subagent_type="general-purpose", prompt="Compare to Claude tools/SDK if applicable")
Phase 5: Mid-Point Check (if complex)
Use AskUserQuestion if findings reveal complexity:
- "I found [X]. Want me to focus on anything specific?"
- Options based on discoveries
Phase 6: Synthesis
Combine all findings into comprehensive explanation with:
- Opening analogy (non-technical comparison)
- What it is (1-2 sentences)
- Architecture diagram (ASCII)
- How it works (step-by-step with diagrams)
- Key components table (name, purpose, how it works)
- What's special (differentiators)
- Capabilities list (what it can do)
- Comparison table (vs alternatives)
- Technical deep-dive (implementation details)
- Gotchas and considerations
Phase 7: Output
Display in conversation
Full formatted explanation with all visuals.
Save to files
OUTPUT_DIR=~/.claude/explanations/$(date +%Y%m%d_%H%M%S)_[topic-slug]
mkdir -p $OUTPUT_DIR
# Save files:
# $OUTPUT_DIR/SUMMARY.md - Quick reference (30-second version)
# $OUTPUT_DIR/DETAILED.md - Full analysis
# $OUTPUT_DIR/ARCHITECTURE.md - All diagrams
# $OUTPUT_DIR/COMPARISON.md - Alternatives analysis
Follow-up
After displaying, ask:
- "What aspect would you like to explore deeper?"
- "Any questions about what I explained?"
- Encourage follow-up
Cleanup
Use AskUserQuestion for cleanup (combine if both apply):
If cloned repo:
- question: "Delete the cloned repository?"
- options:
- "Yes, delete it" - Remove $REPO_DIR automatically
- "No, keep it" - Show path: "Repo kept at: $REPO_DIR"
If yes: rm -rf $REPO_DIR
If no: Display path for manual access
Always (explanation files):
- question: "Delete the saved explanation files?"
- options:
- "Yes, delete them" - Remove $OUTPUT_DIR automatically
- "No, keep them" - Show path: "Explanations saved at: $OUTPUT_DIR"
If yes: rm -rf $OUTPUT_DIR
If no: Display path for manual access
Combined question (if both repo and files):
- question: "Analysis complete. What would you like to clean up?"
- options:
- "Delete both repo and explanation files"
- "Delete repo only, keep explanations"
- "Delete explanations only, keep repo"
- "Keep everything"
Execute deletions based on selection, display paths for anything kept.
Architecture:
┌─────────────┐ ┌─────────────┐
│ Component │────►│ Component │
└─────────────┘ └─────────────┘
Flow:
START → Step 1 → Step 2 → Decision?
├─ Yes → Path A
└─ No → Path B
Comparison table:
| Aspect | Option A | Option B | Winner |
|-------------|----------|----------|--------|
| Speed | Fast | Slow | A |
Component breakdown:
┌──────────────────────────────────────┐
│ System Name │
├──────────────────────────────────────┤
│ ┌────────┐ ┌────────┐ ┌────────┐ │
│ │Module A│ │Module B│ │Module C│ │
│ └───┬────┘ └───┬────┘ └───┬────┘ │
│ └──────────┴──────────┘ │
│ Shared Layer │
└──────────────────────────────────────┘
Mode B (live product / competitor / data product / landscape) also:
- Did a scout pass + confirm gate (or honored an explicit "go deep") and stated the recon boundary
- Stayed strictly within the boundary: no CAPTCHA/auth bypass, no bulk-harvest, no mutating/admin endpoints called, never submitted the user's data; exposures observed not exploited
- Used the Workflow tool with a shared per-subject schema once 3+ subjects/multi-phase; persisted artifacts; resilient to cutoffs (resume)
- Live-probed every calculator and shipped a runnable reference impl validated N/N against observed outputs, benchmarked vs authoritative ground truth
- For landscapes: discovered the full namespace, classified each, found operator clusters, flagged defensive-buy domains, tore down only the distinct ones
- Synthesis includes a data-integrity section + an operator-cluster/brand section + a build-it-in-our-stack blueprint
1---2name: explain3description: Comprehensive deep-dive explanation of GitHub repos, live websites/products, competitors, data products, algorithms/calculators, concepts, or any topic. Spawns parallel research + exploration agents, drives a real browser for live products, reverse-engineers calculators to runnable validated code, and saves a full doc set. Use when the user asks to "explain", "deep dive", "break down", "understand", "teardown", "reverse-engineer", "analyze a competitor", "how does X work / how do they do it", "compare us vs them", "what's the full landscape", "find all the others in this space", or to figure out a website/app/API/pricing/estimator/data pipeline — even if they don't say "explain".4---56<essential_principles>7## How This Skill Works89Two modes, auto-routed by subject (see routing table):10- **Mode A — Repo / concept / docs** (the cheap path): research → clone (if repo) → explore → synthesize → output. Loose parallel agents are fine.11- **Mode B — Live web product / competitor / data product / algorithm / landscape** (the full shebang): scout → confirm → Workflow-orchestrated deep recon → real-browser capture → reverse-engineer-to-validated-code → synthesize. Read `@references/competitor-teardown.md` and follow it.1213### Subject-type routing14| Subject | Signal | Mode | Spine |15|---|---|---|---|16| GitHub repo | `github.com` | A | clone + Explore agents |17| Concept / tech | no URL | A | researcher agents |18| Docs / static site | URL, informational | A | researcher + WebFetch |19| **Live product / app / SaaS / competitor** | URL is a product; "competitor/teardown/vs us/how do they" | **B** | browser + Workflow + per-subject schema |20| **Calculator / estimator / predictor / pricing / ranking** | a formula/algorithm to crack | **B** | live-probe grid → runnable reference impl → validate |21| **Whole landscape** | "find all the others / everyone in this space" | **B** | namespace discovery → teardown the YES set |2223**Tiebreaker**: if a URL is BOTH a product and has docs, default to **B** — the scout pass is cheap and downgrades to A if there's nothing to tear down.2425### Execution Rules261. **Right tool for scale**: Mode A = parallel Task/Agent calls. Mode B = the **Workflow tool** (pipelines, structured-output schemas, resume) once there are 3+ subjects or multi-phase work.272. **Ground, then confirm**: Mode B does a cheap scout pass + a confirm gate (scope + recon boundary + browser) before the expensive dive — unless the user already said "full shebang / go deep / everything."283. **Reverse-engineer to runnable, validated code** for any calculator/algorithm; benchmark vs the authoritative ground truth, not the competitor's own claim.294. **Visual-heavy**: every major concept gets a diagram or table.305. **Dual output**: display the exec read + file index in conversation; save the full doc set to `~/.claude/explanations/<date>_<slug>/`.316. **Resilient**: heavy Mode-B research runs as a background Workflow; persist artifacts incrementally; resume (`resumeFromRunId`) on a cutoff.327. **Clean up**: offer to delete cloned repos / saved files when done.33</essential_principles>3435<scope_boundary>36## Mode B recon boundary (load-bearing — read before any live probing)37Competitive recon is legal and normal on PUBLIC surfaces. Full rules in `@references/competitor-teardown.md`. The invariants:38- ALLOWED: public pages/assets, public OpenAPI/`/docs`, public JS bundles, a MODEST polite grid (~15-40, low rate) of normal user-level requests to public endpoints to derive a formula, header fingerprinting, WHOIS/DNS.39- NEVER: defeat CAPTCHA / bot-challenges, bypass auth, bulk-harvest whole datasets (sample only), stress-test, or invoke admin/mutating/destructive endpoints (DOCUMENT them, don't call them). Observe exposures; never exploit them. Never submit the user's real data into a competitor's form. If unsure, don't — and say why.40</scope_boundary>4142<intake_gate>4344<no_context_handler>45IF $ARGUMENTS is empty:46→ Use AskUserQuestion:47 - header: "Explain"48 - question: "What would you like me to explain?"49 - options:50 - "GitHub repository" - Analyze a codebase from GitHub51 - "Website or documentation" - Understand a website, docs, or API52 - "Competitor / live product / landscape" - Tear down a live product, reverse-engineer a calculator, or map a whole competitive space (Mode B)53 - "Concept or technology" - Explain a concept, framework, or tool5455Then proceed to context_analysis.56</no_context_handler>5758<context_analysis>59Analyze $ARGUMENTS to extract:60- **Type**: GitHub repo, website, concept, or other61- **URL/Topic**: The specific thing to explain62- **Implicit goal**: Learn to use? Evaluate? Understand architecture? Contribute?6364Detect type automatically:65- Contains `github.com` → GitHub repo (Mode A)66- Mode-B signals → "competitor", "teardown", "reverse-engineer", "vs us", "how do they", "find all the others", or a URL that is a product/app/calculator → Mode B67- Contains `http` (informational/docs) → Website (Mode A)68- Otherwise → Concept (Mode A)69</context_analysis>7071<initial_questions>72Use AskUserQuestion for genuine gaps only (2-3 questions max):7374**Goal** (if unclear):75- "What's your goal?" with options:76 - "Understand how it works" - Architecture, flow, implementation77 - "Evaluate for adoption" - Pros/cons, alternatives, fit for my use case78 - "Learn to use it" - Setup, API, getting started79 - "Learn to contribute" - Codebase structure, development workflow8081**Focus** (if broad topic):82- "Any specific focus?" with options:83 - "Everything" - Full comprehensive analysis84 - "Architecture only" - High-level structure and patterns85 - "Specific feature" - One particular aspect (specify)8687**Background** (if helpful):88- "Your technical level?" with options:89 - "Non-technical" - Explain from first principles with analogies90 - "Technical but new to this domain" - Skip basics, focus on specifics91 - "Expert" - Deep technical, assume knowledge92</initial_questions>9394<decision_gate>95After answers, use AskUserQuestion (Mode A):96- question: "Ready to start the deep dive?"97- options:98 - "Yes, go" - Begin multi-phase analysis99 - "More questions first" - I have clarifications100 - "Let me add context" - I want to add details101102**Mode B supersedes this gate with B2** (snapshot + scope + recon-boundary + go/depth/browser) — don't ask both; B2 is the single authoritative gate for teardowns.103</decision_gate>104105</intake_gate>106107<process>108109## Mode select110Run `<intake_gate>`, then route by the subject-type table. **Mode B** (live product / competitor / data product / calculator / landscape) → load `@references/competitor-teardown.md` and follow its scout → confirm → deep → synthesize flow (skeleton below). **Mode A** (repo / concept / docs) → Phases 1-7 below.111112## Mode B — Live product / competitor / data-product teardown113Full playbook in `references/competitor-teardown.md`. Skeleton:114- **B0 Ground**: check memory + `~/.claude/explanations/` for prior analysis; extend, don't redo.115- **B1 Scout**: one light passive-recon agent per target (WebFetch + headers + WebSearch) → grounded snapshot + what needs a browser.116- **B2 Confirm gate**: present snapshot + scope + the recon boundary (`<scope_boundary>`); `AskUserQuestion` for go/depth/browser — skip only if the user already said "go deep / full shebang".117- **B3 Deep recon (Workflow)**: one structured agent per subject, all sharing the per-subject schema (in the reference). `pipeline()` by default; split big outputs to disk.118- **B4 Browser (Claude-in-Chrome)**: capture on-load network, render SPAs, **live-probe estimators across an input grid**, security headers, paywall/auth copy — within the boundary (no CAPTCHA/auth bypass, no mutating endpoints, never submit the user's data). Persist captures as you go.119- **B5 Reverse-engineer**: every calculator → runnable TypeScript reference impl → validate vs the live grid → benchmark vs authoritative ground truth.120- **B6 Namespace** (if "any others?"): DNS+curl+search candidate domains, classify, find operator clusters, flag defensive-buy domains, teardown only the genuinely-distinct YES set.121- **B7 Synthesize**: fan-out synthesis agents → `DETAILED-<slug>.md` ×N + `ESTIMATORS.md` + `COMPARISON.md` (incl. a data-integrity + operator-cluster section) + `REPLICATION-BLUEPRINT.md` + `ARCHITECTURE.md` + `NAMESPACE.md` + `SOURCES-*.md` + `SUMMARY.md` (exec read + file index). Then Phase 7 output/cleanup.122123---124## Mode A — Repo / concept / docs125126## Phase 1: Parallel Web Research (5 research agents)127128Spawn ALL in one message:129```130Task(subagent_type="general-purpose", prompt="Research [TOPIC]: What is it? Who made it? When? Why?")131Task(subagent_type="general-purpose", prompt="Research [TOPIC]: Technical stack, architecture, key technologies")132Task(subagent_type="general-purpose", prompt="Research [TOPIC]: Articles, reviews, community discussions, opinions")133Task(subagent_type="general-purpose", prompt="Research [TOPIC]: Alternatives, comparisons, when to use vs not")134Task(subagent_type="general-purpose", prompt="Research [TOPIC]: Documentation, tutorials, getting started guides")135```136137## Phase 2: Clone Repository (if GitHub)138139```bash140REPO_DIR=~/.claude/explanations/$(date +%Y%m%d_%H%M%S)_$(basename [URL] .git)141git clone [URL] $REPO_DIR142cd $REPO_DIR143```144145## Phase 3: Parallel Codebase Exploration (6 explore agents)146147Spawn ALL in one message with thoroughness="very thorough":148```149Task(subagent_type="Explore", prompt="Architecture: Overall structure, modules, how they relate")150Task(subagent_type="Explore", prompt="Entry points: Main files, CLI, API endpoints, how it starts")151Task(subagent_type="Explore", prompt="Core logic: Key algorithms, patterns, abstractions")152Task(subagent_type="Explore", prompt="Configuration: Settings, environment, extensibility points")153Task(subagent_type="Explore", prompt="Dependencies: Key packages, integrations, external services")154Task(subagent_type="Explore", prompt="Tests and quality: Test patterns, coverage, CI/CD")155```156157## Phase 4: Parallel Claude Code Context (2-3 general-purpose agents)158159If relevant to Claude/AI/agents:160```161Task(subagent_type="general-purpose", prompt="Explain relevant Claude Code concepts for understanding this")162Task(subagent_type="general-purpose", prompt="Compare to Claude tools/SDK if applicable")163```164165## Phase 5: Mid-Point Check (if complex)166167Use AskUserQuestion if findings reveal complexity:168- "I found [X]. Want me to focus on anything specific?"169- Options based on discoveries170171## Phase 6: Synthesis172173Combine all findings into comprehensive explanation with:1741751. **Opening analogy** (non-technical comparison)1762. **What it is** (1-2 sentences)1773. **Architecture diagram** (ASCII)1784. **How it works** (step-by-step with diagrams)1795. **Key components table** (name, purpose, how it works)1806. **What's special** (differentiators)1817. **Capabilities list** (what it can do)1828. **Comparison table** (vs alternatives)1839. **Technical deep-dive** (implementation details)18410. **Gotchas and considerations**185186## Phase 7: Output187188### Display in conversation189Full formatted explanation with all visuals.190191### Save to files192```bash193OUTPUT_DIR=~/.claude/explanations/$(date +%Y%m%d_%H%M%S)_[topic-slug]194mkdir -p $OUTPUT_DIR195196# Save files:197# $OUTPUT_DIR/SUMMARY.md - Quick reference (30-second version)198# $OUTPUT_DIR/DETAILED.md - Full analysis199# $OUTPUT_DIR/ARCHITECTURE.md - All diagrams200# $OUTPUT_DIR/COMPARISON.md - Alternatives analysis201```202203### Follow-up204After displaying, ask:205- "What aspect would you like to explore deeper?"206- "Any questions about what I explained?"207- Encourage follow-up208209### Cleanup210Use AskUserQuestion for cleanup (combine if both apply):211212**If cloned repo:**213- question: "Delete the cloned repository?"214- options:215 - "Yes, delete it" - Remove $REPO_DIR automatically216 - "No, keep it" - Show path: "Repo kept at: $REPO_DIR"217218If yes: `rm -rf $REPO_DIR`219If no: Display path for manual access220221**Always (explanation files):**222- question: "Delete the saved explanation files?"223- options:224 - "Yes, delete them" - Remove $OUTPUT_DIR automatically225 - "No, keep them" - Show path: "Explanations saved at: $OUTPUT_DIR"226227If yes: `rm -rf $OUTPUT_DIR`228If no: Display path for manual access229230**Combined question (if both repo and files):**231- question: "Analysis complete. What would you like to clean up?"232- options:233 - "Delete both repo and explanation files"234 - "Delete repo only, keep explanations"235 - "Delete explanations only, keep repo"236 - "Keep everything"237238Execute deletions based on selection, display paths for anything kept.239240</process>241242<visual_formats>243## Standard Diagram Formats244245**Architecture:**246```247┌─────────────┐ ┌─────────────┐248│ Component │────►│ Component │249└─────────────┘ └─────────────┘250```251252**Flow:**253```254START → Step 1 → Step 2 → Decision?255 ├─ Yes → Path A256 └─ No → Path B257```258259**Comparison table:**260```261| Aspect | Option A | Option B | Winner |262|-------------|----------|----------|--------|263| Speed | Fast | Slow | A |264```265266**Component breakdown:**267```268┌──────────────────────────────────────┐269│ System Name │270├──────────────────────────────────────┤271│ ┌────────┐ ┌────────┐ ┌────────┐ │272│ │Module A│ │Module B│ │Module C│ │273│ └───┬────┘ └───┬────┘ └───┬────┘ │274│ └──────────┴──────────┘ │275│ Shared Layer │276└──────────────────────────────────────┘277```278</visual_formats>279280<success_criteria>281Both modes:282- Asked clarifying questions / grounded before starting; routed to the correct mode283- Produced visual diagrams for every major concept; included recreatable technical depth284- Displayed exec read in conversation AND saved the doc set to files285- Offered follow-up + cleanup; honored the user's keep/delete choice286287Mode B (live product / competitor / data product / landscape) also:288- Did a scout pass + confirm gate (or honored an explicit "go deep") and stated the recon boundary289- Stayed strictly within the boundary: no CAPTCHA/auth bypass, no bulk-harvest, no mutating/admin endpoints called, never submitted the user's data; exposures observed not exploited290- Used the Workflow tool with a shared per-subject schema once 3+ subjects/multi-phase; persisted artifacts; resilient to cutoffs (resume)291- Live-probed every calculator and shipped a runnable reference impl validated N/N against observed outputs, benchmarked vs authoritative ground truth292- For landscapes: discovered the full namespace, classified each, found operator clusters, flagged defensive-buy domains, tore down only the distinct ones293- Synthesis includes a data-integrity section + an operator-cluster/brand section + a build-it-in-our-stack blueprint294</success_criteria>