v3 ships one skill: @fde (skills/fde/SKILL.md). You describe the situation; it routes to a phase and follows that phase's method from skills/fde/references/. Engagement memory lives in ~/fde-engagements/<name>/.fde/ (one folder per customer).
Each reference is a method, not advice: the thinking the agent does, the artifact it drafts, and the checkpoint with the human FDE. The Use when column below is what the router actually matches on - the phrases in skills/fde/SKILL.md that send you to that skill, not a paraphrase.
First days. Getting access, building credibility, understanding scope.
| Skill | What it does | Use when |
|---|---|---|
| land | First 48 hours: interrogate the brief, map stakeholders, define success before code | Starting fresh, new customer, first meeting, just got the brief |
| audit | Taking over mid-project: verify claims, find the load-bearing wall | Taking over, previous consultant left, joining mid-project |
| stakeholder-radar | Map who decides, who blocks, who's about to escalate | Need to understand who matters, who decides, who blocks quietly |
| trust-engineering | The trust ladder from observer to trusted; navigate AI policy | Need to earn access, navigate AI policy, build credibility |
| scope-defense | "Let me place it": scope receipts, the accumulation conversation | "Also can you...", scope expanding, timeline unchanged |
Finding the real problem. Testing what the brief claims.
| Skill | What it does | Use when |
|---|---|---|
| discover | Scan repo + hunt the workaround + workshop facilitation + data estate assessment | Don't know the real problem, brief feels wrong, shadow processes |
| assumption-audit | Extract untested assumptions, classify by blast radius, kill the riskiest first | The brief feels too neat, assumptions untested, "we just need..." |
| use-case-scoring | Score on value x urgency x alignment x data readiness / complexity | Multiple use cases competing, "we want to do everything" |
| sketch | Prototype the killer assumption in one day; kill fast, log the learning | Need to validate a direction, prototype, demo to de-risk |
Sequencing work and getting sponsor alignment.
| Skill | What it does | Use when |
|---|---|---|
| plan | Work backwards from success + estimation (3-point sizing) + migration strategy | Break this down, what order, sequence the build |
| business-case | Cost of doing nothing -> investment -> return -> sensitivity check | Sponsor needs justification, need to defend budget or timeline |
| options-analysis | Three genuine options (conservative / pragmatic / ambitious) | Significant decision, multiple approaches, "what should we do?" |
| initiative-triage | 20 things are "urgent"; pick 3 for Now, make trade-offs visible | 20 things are "urgent," need to pick the 3 that matter |
Safe implementation on someone else's codebase.
| Skill | What it does | Use when |
|---|---|---|
| build | Blast radius + legacy safety + integration design + team amplification | Ready to build, implementing, legacy change, ship a feature end to end |
| incremental-build | Vertical slices, 100-300 lines each, visible progress every 2-3 days | Large feature, need visible progress every 2-3 days |
| test-on-legacy | Characterise first, Strangler Fig, spot lying tests | No tests, legacy code, need to make changes safely |
| blast-radius | Trace dependencies, classify impact (CONTAINED -> IRREVERSIBLE) | What could go wrong, touching shared infrastructure, need to assess impact |
| debug | Systematic: reproduce -> isolate -> one hypothesis -> verify | Something's broken, can't reproduce, shouldn't be happening |
| rescue | Production fire, trust fire, wrong-brief-mid-build, or full pivot | Production down, urgent - or stakeholder gone quiet, trust slipping |
| security-audit | Threat model in 5 minutes, STRIDE pass, secrets scan | Security check, auth/payments/user data, compliance question |
| observability | Define "working" before instrumenting; the four metrics | Need monitoring, can't tell when things break, shipping to prod |
Getting to production without surprises.
| Skill | What it does | Use when |
|---|---|---|
| ship | Intent vs diff (KEEP/JUSTIFY/SPLIT/DROP) + pre-flight + canary + rollback + scale-readiness + progressive adoption | Ready to deploy, going live, pre-flight check |
| review | Stage 1 intent vs diff (KEEP/JUSTIFY/SPLIT/DROP), then safety | Review this change, is it safe, does it match what we agreed, scope creep in the PR |
| rollback-drill | Test the escape route on staging before you need it at 2am | "We can always revert" - need to actually test the escape route |
| qa-live | Test from the user's chair, real browser, five perspectives | Need to test from user perspective, "works on my machine" |
Running the engagement and ending it well.
| Skill | What it does | Use when |
|---|---|---|
| status | Sponsor update from the week's actual record | Weekly update due, "need to send the sponsor something" |
| demo-prep | The one number, live-vs-canned, five hard questions | Demo coming up, show-and-tell, exec walkthrough |
| debrief | Walk out of any meeting -> decisions, signals, actions in memory | Just out of a meeting, raw notes, "they said...", "debrief" |
| exec-narrative | Pyramid: governing thought, three supports, SCQA frame | Sponsor's boss needs a summary, board update, justify continued investment |
| dashboard | Portfolio view across all customers, trust-ordered | Status across all my customers |
| multi-customer-ops | Daily triage, context-switch, cross-contamination prevention | Juggling 2+ customers, losing track, context-switching |
| close | Retrospective, the 2am handoff document, what we learned | Wrapping up, handoff, making yourself replaceable |
| handoff-engineering | Operations runbook, knowledge transfer, confidence scoring | Engagement ending, team needs to operate without you |
| pattern-extract | If you did it twice, encode it; patterns are compound interest | Something worked well and will apply to future engagements |
| red-team | Stress-test a plan, handoff, or narrative before someone else does | "Red-team this," "stress-test my plan," poke holes, what am I missing |
| ingest | Pull raw text from any source MCP into .inbox/, propose, you confirm |
"Pull today's transcript," "bring in the Notion page" |
| ingest-connect | Guided config for a source MCP you already trust, plus a reusable recipe | "Connect Granola," "wire up Drive" |
| Overlay | Triggers on | What it adds |
|---|---|---|
| ai | AI, ML, LLM, model, embeddings, RAG, agents | Model selection, RAG architecture, agent safety, governance, drift monitoring, cost management |
| artifacts | deck, slides, report, governance, compliance | Executive decks, governance frameworks, ADRs, compliance packs, value reports |
| fintech | payments, PCI, banking, cardholder data | Idempotency, transaction integrity, fraud signals, silent-failure prevention |
| healthcare | PHI, HIPAA, patient data | De-identification, minimum-necessary, audit trails |
| gov | FedRAMP, ATO, CUI, classified | Authority boundaries, CUI marking, continuous monitoring |
AI companion (not a sixth overlay): eval-pack - golden set / pass-fail before AI ship (evals.md). Loaded with the ai overlay when models are in scope.
The 10 phases most engagements actually run through, with what gets written where. This is a shorter cut through the table above - see it for the full 35.
| Phase | Enter when | Method highlights | Writes |
|---|---|---|---|
| land | New customer, first meeting | Interrogates the brief for what's missing; coaches the sponsor conversation; maps stakeholders and sacred data | brief.md success.md stakeholders.md trust-profile.md |
| discover | Brief feels wrong, real problem unclear | Runs churn/test-gap/"temporary"-archaeology/AI-component scans; hunts the workaround; scores use cases | reality.md terrain.md |
| audit | Taking over half-done work | Reads everything, tests every "this works" claim, finds tribal-knowledge holes via git authorship | audit.md terrain.md reality.md context.md |
| sketch | Direction needs validating | Prototypes the killer assumption same-day; kill criteria; 3-sentence business case | prototype-log.md business-case.md |
| rescue | Production fire, trust fire, or wrong-brief mid-build | Stabilise -> named unknowns -> minimum safe change; quiet-stakeholder protocol; three-path reset | chaos-log.md risks.md decisions.md |
| close | Engagement ending | Retrospective with receipts; pattern extraction; the 2am handoff | retrospectives/ patterns.md handoff.md |
| plan | Scope clear, needs sequencing | Backwards from success; fragile first; PR-sized tasks; acceptance-criteria gate | decisions.md |
| build | Agreed slice ready | Blast radius declared; characterisation tests on legacy; Strangler Fig; cleanup pass | decisions.md risks.md delivery.md |
| review | Change needs a merge gate | Stage 1 KEEP/JUSTIFY/SPLIT/DROP vs stated intent, then 5-dimension safety; review-fix loop until clean | decisions.md |
| ship | Ready to deploy | Intent vs diff receipt, then pre-flight/CAB; canary with rollback-on-anomaly; pulse before closing the laptop | delivery.md |
scan recon + "ASK ON DAY 1" questions (zero-config via npx fdeops scan) · resume [--full] [--init <name>] memory (bounded by default - current state + recent activity; --full for the complete log) + the one canonical setup step (--init creates AND binds the workspace) · debrief <file> (or stdin) route decision:/risk:/delivery:/contact: prefixed lines to their .fde files with dates, everything else to a dated block in context.md · log <type> <text> [--signal green|amber|red] structured appends; --signal writes the [signal:...] token that drives trust in status/dashboard (stale after 21 days) · receipts <term> agreements with dates · capture session snapshot · status portfolio triage · dashboard [--open] [--out <path>] render every engagement into one offline fieldbook.html. The skill calls these for mechanics; the AI does interpretation and judgment. Every command above runs locally - no AI needed.
- On entry the agent reads a bounded view of
context.md(viafde resume) - nothing else until the phase needs it. - Deliverable = memory: every phase's output IS a
.fde/file; nothing is maintained by hand. - Every claim carries evidence:
(ops lead, Day 5)·(churn: 47/90d)·(stated, unverified). - On exit (and before a PR) the agent runs a session digest — TL;DR, key decisions & why, scope/verification, gotchas, next action — into existing
.fde/files (not chat transcripts into the product repo); thesession-stophook backstops a thin snapshot (hooks resolve the engagement via the workspace registry written byfde resume --init). - One customer, one folder. Never merged.
v2's 16 standalone skills were consolidated into the single @fde router in v3.