{
  "markdown": "# FDEOps\n\n**Forward deployed engineering skills for AI coding agents.**\n\nYou're on a customer site. The AI coding agent writes code in their repo. This kit is the work around that code: the brief, who can say yes, proof on their staging then live, whether they signed off, whether they can run it after you leave.\n\nNotes stay on your laptop. Their repo stays theirs. You confirm before anything is written down.\n\nKeep the coding pack you already use. Install this next to it. FDEOps is the client work. The other pack writes the code.\n\n<img width=\"1536\" height=\"1024\" alt=\"fdeops\" src=\"https://github.com/user-attachments/assets/2bcb8739-55ee-445d-8a1a-8b38433b7b58\" />\n\n---\n\n## Quick Start\n\n**Try it first, nothing installed.** In any repo:\n\n```bash\nnpx fdeops scan\n```\n\nTwo minutes. It prints what to look at on day one and the questions to ask. Local only, nothing written.\n\n**Then install the skill:**\n\n```bash\nnpx skills add suboss87/fdeops --skill fde\n```\n\nOne chat. Name the client:\n\n```text\n@fde this is client01\n```\n\nThat creates `~/fde-engagements/client01/.fde/` on your laptop. Paste kickoff notes in the same thread. `@fde` picks what to check. You still decide.\n\nDay to day: [docs/USAGE.md](docs/USAGE.md).\n\n<details>\n<summary><b>Claude Code</b></summary>\n\n```text\n/plugin marketplace add suboss87/fdeops\n/plugin install fdeops@fdeops\n```\n\nHooks resume where you left off. Slash commands match the table below.\n\n</details>\n\n<details>\n<summary><b>Cursor</b></summary>\n\nAfter the skill install, in the **client repo** you have open (pointer, not a second pack):\n\n```bash\nnpx fdeops adapters .\n```\n\nSee [adapters/](adapters/README.md).\n\n</details>\n\n<details>\n<summary><b>Air-gap, PATH, override</b></summary>\n\n```bash\ngit clone https://github.com/suboss87/fdeops.git && node bin/install.js\n```\n\nIf the agent cannot create the folder:\n\n```bash\nnpx fdeops resume --init client01   # ~/fde-engagements/client01\n```\n\nRequires Node.js >= 18. Override: `FDEOPS_ENGAGEMENT`. See [docs/install.md](docs/install.md). Try the loop: `npx fdeops demo`.\n\n</details>\n\n---\n\n## Commands\n\nOne command per stage. Skills load automatically.\n\nSix stages, same order every job: Land, Discover, Plan, Ship, Outcome, Close.\n\n| What you're doing | Command | Stage |\n|-------------------|---------|-------|\n| First days. Get the brief. Name who signs. | `/brief` | Land |\n| Check the brief is the real job. | `/discover` | Discover |\n| Sequence from done, not from the ticket. | `/plan` | Plan |\n| Prove it on their staging, then go live. | `/ship` | Ship |\n| What you promised, measured, and who accepted. | `/outcome` | Outcome |\n| Hand it over. They run it without you. | `/close` | Close |\n\nSame `@fde`, when you need them: `/debrief` (notes into the record), `/prep` (one page before you walk in), `/trust` (process gap, or they stopped trusting you), `/receipts` (a dated line, or it did not happen), `/readout` (Friday page for the sponsor; not a seventh stage).\n\nYou can also just say it: naming a client, a POC, changing their checkout, going live, asking what was agreed. A typo in a repo that is not a client job can skip this. A named client, a POC, or go-live cannot.\n\n---\n\n## All 30 Skills\n\nThirty situations, grouped by stage. Not prompts - each one has steps, a file it writes, and a checkpoint with you. Type English or a slash command. `@fde` opens the matching skill. You never pick one by name.\n\nFull detail: [docs/skills-reference.md](docs/skills-reference.md).\n\n### Land\n\n| Skill | What it does | Use when |\n|--------|--------------|----------|\n| [land](skills/fde/references/land.md) | Interrogate the brief | New client, first meeting, just got the brief |\n| [audit](skills/fde/references/audit.md) | Verify inherited claims | Taking over, previous consultant left |\n| [who-decides](skills/fde/references/who-decides.md) | Map decision rights | Need to know who matters |\n| [earn-trust](skills/fde/references/earn-trust.md) | Earn access | Need access or credibility |\n| [hold-scope](skills/fde/references/hold-scope.md) | Hold scope | \"Also can you…\", timeline unchanged |\n\n### Discover\n\n| Skill | What it does | Use when |\n|--------|--------------|----------|\n| [discover](skills/fde/references/discover.md) | Frame the problem | Brief feels wrong, shadow processes |\n| [test-assumptions](skills/fde/references/test-assumptions.md) | Test assumptions | Brief feels too neat |\n| [score-use-cases](skills/fde/references/score-use-cases.md) | Score use cases | Everything is P0 |\n| [poc](skills/fde/references/poc.md) | Validate the solution | POC, spike, need to de-risk |\n\n### Plan\n\n| Skill | What it does | Use when |\n|--------|--------------|----------|\n| [plan](skills/fde/references/plan.md) | Sequence the work | What order, what is done |\n| [business-case](skills/fde/references/business-case.md) | Build the business case | Defend budget or timeline |\n| [three-options](skills/fde/references/three-options.md) | Generate options | \"What should we do?\" |\n| [pick-three](skills/fde/references/pick-three.md) | Prioritize three | Everything is urgent |\n\n### Ship\n\n| Skill | What it does | Use when |\n|--------|--------------|----------|\n| [ship](skills/fde/references/ship.md) | Deliver the increment | Building, updating, or going live |\n| [what-breaks](skills/fde/references/what-breaks.md) | Assess impact | Touching shared infrastructure |\n| [rescue](skills/fde/references/rescue.md) | Resolve the incident | Down, or they went quiet |\n| [review](skills/fde/references/review.md) | Review the change | Before merge, scope creep |\n| [rollback](skills/fde/references/rollback.md) | Rehearse rollback | \"We can always revert\" |\n\n### Outcome\n\n| Skill | What it does | Use when |\n|--------|--------------|----------|\n| [readout](skills/fde/references/readout.md) | Report the outcome | Friday, sponsor update |\n| [demo-prep](skills/fde/references/demo-prep.md) | Prepare the demo | Demo or exec walkthrough |\n| [debrief](skills/fde/references/debrief.md) | Capture the meeting | Just left a meeting |\n| [board-memo](skills/fde/references/board-memo.md) | Brief the board | Justify continued investment |\n| [dashboard](skills/fde/references/dashboard.md) | View the portfolio | All my customers |\n| [ingest](skills/fde/references/ingest.md) | Ingest sources | Transcript, Notion, Slack |\n| [connect](skills/fde/references/connect.md) | Connect a source | Connect Granola |\n\n### Close\n\n| Skill | What it does | Use when |\n|--------|--------------|----------|\n| [close](skills/fde/references/close.md) | Transfer operations | Wrapping up |\n| [runbook](skills/fde/references/runbook.md) | Write the runbook | They must operate without you |\n| [switch-clients](skills/fde/references/switch-clients.md) | Switch engagements | 2+ clients |\n| [encode-pattern](skills/fde/references/encode-pattern.md) | Encode the pattern | It will apply again |\n| [red-team](skills/fde/references/red-team.md) | Challenge the plan | \"Poke holes in this\" |\n\nOverlays (on signal, not on request): [ai](skills/fde/references/ai.md) · [artifacts](skills/fde/references/artifacts.md) · [fintech](skills/fde/references/fintech.md) · [healthcare](skills/fde/references/healthcare.md) · [gov](skills/fde/references/gov.md). AI companion (not a sixth overlay): [eval-pack](skills/fde/references/eval-pack.md).\n\nOptional pull: you add the source MCP; we **pull** on request. [mcp/recipes/](mcp/recipes/)\n\n---\n\n## How Skills Work\n\nOne `@fde`. One file per situation. One folder per client.\n\n```\n  \"@fde this is client01\"      creates ~/fde-engagements/client01/.fde/\n  /brief  or  English          the AI coding agent loads skills/fde/SKILL.md\n           │  routes. you never pick a skill by name\n           ▼\n  references/<one>.md          one skill, then stop\n           │\n           ▼\n  fde CLI (local)              dates, gates, redacts. no network\n           │  after you confirm\n           ▼\n  ~/fde-engagements/client01/.fde/\n```\n\n**A dated line, or it did not happen.** Promised → measured → accepted. If it is not in `.fde/`, it is not on the record.\n\n**Confirm, then it is written.** The CLI stays on your laptop: git and files, no network. The AI coding agent runs the command. You say yes. Then it is in the folder.\n\n**The record is on your laptop.** Change hosts, install `@fde` on the new one, keep talking. The notes are not inside any vendor.\n\nOne skill hosts load: `skills/fde/SKILL.md`. It opens one file in `skills/fde/references/` and stops. Slash commands live in `.claude/commands/`. The local CLI is `bin/fde.js` (git + files, no network). Layout: [docs/REPO_LAYOUT.md](docs/REPO_LAYOUT.md).\n\n---\n\n## Engagement memory (`.fde/`)\n\nOne folder per client. Plain markdown. Grep it, copy it, take it into a meeting.\n\n| File | Holds |\n|------|-------|\n| `context.md` | Where you are |\n| `brief.md` / `success.md` | What they asked; what “done” is and who signs |\n| `reality.md` / `terrain.md` | The real problem; the map |\n| `stakeholders.md` | `[signal:green\\|amber\\|red]` |\n| `trust-profile.md` | Sacred data, AI policy, approval chain |\n| `decisions.md` / `risks.md` / `delivery.md` | Dated choices; live risks; what shipped and how it rolls back |\n\nSchema: [docs/schema.md](docs/schema.md). Local HTML: `npx fdeops dashboard`.\n\n---\n\n## Who this is for\n\nYou sit with a customer's team. An AI coding agent writes in their repo. You need a record of the brief, who can say yes, what went live, and whether they signed off.\n\nIf you ship your own company's product from HQ, with no customer team that has to run it after you leave, you do not need this kit.\n\n---\n\n## Your data stays yours\n\nThe **CLI** is local: git + files, no network, no telemetry. The **host model** sees `.fde/` the agent loads (usually a bounded `context.md`) and any client code you open. It must not see `<private>` blocks - redacted from CLI, dashboard, and hooks; do not paste them or open them with file tools. Nothing is written until you confirm. `~/fde-engagements` is in `$HOME`; iCloud/Dropbox is an NDA incident waiting.\n\n[PRIVACY.md](PRIVACY.md) · [SECURITY.md](SECURITY.md)\n\n---\n\n## Why FDEOps?\n\nAI coding agents are built for a repo, not for a client. Left alone they skip who signs, whether the brief is true, and whether anyone accepted the number. Monday they start from the ticket again.\n\nThis is the kit you take on site. `@fde` runs the client work around the code. A local command dates every decision. The notes are markdown on your laptop. You confirm; then it is on the record.\n\n---\n\n## Principles\n\n- **Who signs** - name them in the first days\n- **Brief vs real job** - check the floor, not only the slide\n- **Back from done** - sequence from signed-off, not from the ticket\n- **Their staging then live** - prove it where they operate, then go live\n- **Promised, measured, accepted** - a number nobody signed is claimed, not delivered\n- **They run it** - if they cannot operate it without you, you are not done\n- **A dated line, or it did not happen** - these files get defended in the room\n- **One customer, one folder** - context never bleeds\n- **The kit says what to check. You still decide.**\n\n---\n\n## Project Structure\n\n```\nfdeops/\n├── skills/fde/                            # the one skill hosts load\n│   ├── SKILL.md                           #   router\n│   └── references/                        #   30 skills + overlays (you never pick)\n│       ├── land.md                        #   Land\n│       ├── audit.md\n│       ├── who-decides.md\n│       ├── earn-trust.md\n│       ├── hold-scope.md\n│       ├── discover.md                    #   Discover\n│       ├── test-assumptions.md\n│       ├── score-use-cases.md\n│       ├── poc.md\n│       ├── plan.md                        #   Plan\n│       ├── business-case.md\n│       ├── three-options.md\n│       ├── pick-three.md\n│       ├── ship.md                        #   Ship\n│       ├── what-breaks.md\n│       ├── rescue.md\n│       ├── review.md\n│       ├── rollback.md\n│       ├── readout.md                      #   Outcome\n│       ├── demo-prep.md\n│       ├── debrief.md\n│       ├── board-memo.md\n│       ├── dashboard.md\n│       ├── ingest.md\n│       ├── connect.md\n│       ├── close.md                       #   Close\n│       ├── runbook.md\n│       ├── switch-clients.md\n│       ├── encode-pattern.md\n│       ├── red-team.md\n│       ├── ai.md                          #   overlays (on signal)\n│       ├── artifacts.md\n│       ├── eval-pack.md\n│       ├── fintech.md\n│       ├── healthcare.md\n│       └── gov.md\n├── .claude/commands/                      # slash commands (each loads @fde)\n│   ├── brief.md\n│   ├── discover.md\n│   ├── plan.md\n│   ├── ship.md\n│   ├── outcome.md\n│   ├── close.md\n│   ├── trust.md\n│   ├── receipts.md\n│   ├── debrief.md\n│   ├── prep.md\n│   └── readout.md\n├── .claude-plugin/                        # Claude Code marketplace\n├── bin/                                   # local CLI: git + files, no network\n├── hooks/                                 # session-start / session-stop / pre-compact\n├── adapters/                              # Cursor, Gemini, Copilot, Codex pointers\n├── templates/.fde/                        # memory files created on first client\n├── examples/                              # fictional walkthroughs\n├── mcp/                                   # optional ingest + source recipes\n├── evals/                                 # routing checks\n└── docs/                                  # usage, schema, install\n```\n\n---\n\n## Contributing\n\n**[Subash Natarajan](https://www.linkedin.com/in/subashn/)**. [Issues](https://github.com/suboss87/fdeops/issues) · [Discussions](https://github.com/suboss87/fdeops/discussions) · [CONTRIBUTING.md](CONTRIBUTING.md) · [Code of Conduct](CODE_OF_CONDUCT.md)\n\nSkills should be **specific** (actionable steps), **verifiable** (an artifact in `.fde/`), and **minimal**. The `fde` CLI stays local-only.\n\n## License\n\nMIT - use these skills on client work.\n",
  "bytes": 13884,
  "sha": "48620f3d174e734e0bc77cf79cbf98370276c9905253e07965121eeaa5156e52",
  "repo_slug": "suboss87/fdeops",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/plg_suboss87_fdeops_fde_os_2436bcdd/readme"
}