fdeops 4.1.1 → 5.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (140) hide show
  1. package/AGENTS.md +2 -2
  2. package/README.md +88 -247
  3. package/bin/generate-skills.js +2 -2
  4. package/bin/install.js +30 -2
  5. package/bin/skill-catalog.js +14 -14
  6. package/mcp/fdeops-ingest/package.json +1 -1
  7. package/package.json +1 -1
  8. package/plugin.json +1 -1
  9. package/skills/{fde-build → build}/.fde-generated.json +1 -1
  10. package/skills/{fde-build → build}/SKILL.md +2 -2
  11. package/skills/{fde-debug → debug}/.fde-generated.json +1 -1
  12. package/skills/{fde-debug → debug}/SKILL.md +2 -2
  13. package/skills/{fde-discover → discover}/.fde-generated.json +2 -2
  14. package/skills/{fde-discover → discover}/SKILL.md +2 -2
  15. package/skills/discover/references/discover.md +112 -0
  16. package/skills/{fde-integrate → evaluate}/.fde-generated.json +1 -1
  17. package/skills/{fde-evaluate → evaluate}/SKILL.md +2 -2
  18. package/skills/fde/SKILL.md +2 -2
  19. package/skills/fde/references/discover.md +66 -208
  20. package/skills/{fde-feedback → feedback}/.fde-generated.json +1 -1
  21. package/skills/{fde-feedback → feedback}/SKILL.md +2 -2
  22. package/skills/{fde-handoff → handoff}/.fde-generated.json +1 -1
  23. package/skills/{fde-handoff → handoff}/SKILL.md +2 -2
  24. package/skills/{fde-evaluate → integrate}/.fde-generated.json +1 -1
  25. package/skills/{fde-integrate → integrate}/SKILL.md +2 -2
  26. package/skills/{fde-options → options}/.fde-generated.json +1 -1
  27. package/skills/{fde-options → options}/SKILL.md +2 -2
  28. package/skills/{fde-poc → poc}/.fde-generated.json +2 -2
  29. package/skills/{fde-poc → poc}/SKILL.md +2 -2
  30. package/skills/poc/references/discover.md +112 -0
  31. package/skills/qa/.fde-generated.json +16 -0
  32. package/skills/{fde-qa → qa}/SKILL.md +2 -2
  33. package/skills/{fde-readout → readout}/.fde-generated.json +1 -1
  34. package/skills/{fde-readout → readout}/SKILL.md +2 -2
  35. package/skills/review/.fde-generated.json +16 -0
  36. package/skills/{fde-review → review}/SKILL.md +2 -2
  37. package/skills/{fde-scope → scope}/.fde-generated.json +1 -1
  38. package/skills/{fde-scope → scope}/SKILL.md +2 -2
  39. package/skills/ship/.fde-generated.json +16 -0
  40. package/skills/{fde-ship → ship}/SKILL.md +2 -2
  41. package/skills/fde-discover/references/discover.md +0 -254
  42. package/skills/fde-poc/references/discover.md +0 -254
  43. package/skills/fde-qa/.fde-generated.json +0 -16
  44. package/skills/fde-review/.fde-generated.json +0 -16
  45. package/skills/fde-ship/.fde-generated.json +0 -16
  46. /package/skills/{fde-build → build}/references/build.md +0 -0
  47. /package/skills/{fde-build → build}/references/debug.md +0 -0
  48. /package/skills/{fde-build → build}/references/eval-pack.md +0 -0
  49. /package/skills/{fde-build → build}/references/integrate.md +0 -0
  50. /package/skills/{fde-build → build}/references/qa.md +0 -0
  51. /package/skills/{fde-build → build}/references/review.md +0 -0
  52. /package/skills/{fde-build → build}/references/ship.md +0 -0
  53. /package/skills/{fde-build → build}/references/task-context.md +0 -0
  54. /package/skills/{fde-build → build}/references/verification.md +0 -0
  55. /package/skills/{fde-debug → debug}/references/build.md +0 -0
  56. /package/skills/{fde-debug → debug}/references/debug.md +0 -0
  57. /package/skills/{fde-debug → debug}/references/eval-pack.md +0 -0
  58. /package/skills/{fde-debug → debug}/references/integrate.md +0 -0
  59. /package/skills/{fde-debug → debug}/references/qa.md +0 -0
  60. /package/skills/{fde-debug → debug}/references/review.md +0 -0
  61. /package/skills/{fde-debug → debug}/references/ship.md +0 -0
  62. /package/skills/{fde-debug → debug}/references/task-context.md +0 -0
  63. /package/skills/{fde-debug → debug}/references/verification.md +0 -0
  64. /package/skills/{fde-discover → discover}/references/audit.md +0 -0
  65. /package/skills/{fde-discover → discover}/references/task-context.md +0 -0
  66. /package/skills/{fde-evaluate → evaluate}/references/build.md +0 -0
  67. /package/skills/{fde-evaluate → evaluate}/references/debug.md +0 -0
  68. /package/skills/{fde-evaluate → evaluate}/references/eval-pack.md +0 -0
  69. /package/skills/{fde-evaluate → evaluate}/references/integrate.md +0 -0
  70. /package/skills/{fde-evaluate → evaluate}/references/qa.md +0 -0
  71. /package/skills/{fde-evaluate → evaluate}/references/review.md +0 -0
  72. /package/skills/{fde-evaluate → evaluate}/references/ship.md +0 -0
  73. /package/skills/{fde-evaluate → evaluate}/references/task-context.md +0 -0
  74. /package/skills/{fde-evaluate → evaluate}/references/verification.md +0 -0
  75. /package/skills/{fde-feedback → feedback}/references/encode-pattern.md +0 -0
  76. /package/skills/{fde-feedback → feedback}/references/task-context.md +0 -0
  77. /package/skills/{fde-handoff → handoff}/references/close.md +0 -0
  78. /package/skills/{fde-handoff → handoff}/references/encode-pattern.md +0 -0
  79. /package/skills/{fde-handoff → handoff}/references/task-context.md +0 -0
  80. /package/skills/{fde-integrate → integrate}/references/build.md +0 -0
  81. /package/skills/{fde-integrate → integrate}/references/debug.md +0 -0
  82. /package/skills/{fde-integrate → integrate}/references/eval-pack.md +0 -0
  83. /package/skills/{fde-integrate → integrate}/references/integrate.md +0 -0
  84. /package/skills/{fde-integrate → integrate}/references/qa.md +0 -0
  85. /package/skills/{fde-integrate → integrate}/references/review.md +0 -0
  86. /package/skills/{fde-integrate → integrate}/references/ship.md +0 -0
  87. /package/skills/{fde-integrate → integrate}/references/task-context.md +0 -0
  88. /package/skills/{fde-integrate → integrate}/references/verification.md +0 -0
  89. /package/skills/{fde-options → options}/references/business-case.md +0 -0
  90. /package/skills/{fde-options → options}/references/task-context.md +0 -0
  91. /package/skills/{fde-options → options}/references/test-assumptions.md +0 -0
  92. /package/skills/{fde-options → options}/references/three-options.md +0 -0
  93. /package/skills/{fde-poc → poc}/references/audit.md +0 -0
  94. /package/skills/{fde-poc → poc}/references/build.md +0 -0
  95. /package/skills/{fde-poc → poc}/references/business-case.md +0 -0
  96. /package/skills/{fde-poc → poc}/references/debug.md +0 -0
  97. /package/skills/{fde-poc → poc}/references/eval-pack.md +0 -0
  98. /package/skills/{fde-poc → poc}/references/integrate.md +0 -0
  99. /package/skills/{fde-poc → poc}/references/plan.md +0 -0
  100. /package/skills/{fde-poc → poc}/references/poc.md +0 -0
  101. /package/skills/{fde-poc → poc}/references/qa.md +0 -0
  102. /package/skills/{fde-poc → poc}/references/review.md +0 -0
  103. /package/skills/{fde-poc → poc}/references/ship.md +0 -0
  104. /package/skills/{fde-poc → poc}/references/task-context.md +0 -0
  105. /package/skills/{fde-poc → poc}/references/test-assumptions.md +0 -0
  106. /package/skills/{fde-poc → poc}/references/three-options.md +0 -0
  107. /package/skills/{fde-poc → poc}/references/verification.md +0 -0
  108. /package/skills/{fde-qa → qa}/references/build.md +0 -0
  109. /package/skills/{fde-qa → qa}/references/debug.md +0 -0
  110. /package/skills/{fde-qa → qa}/references/eval-pack.md +0 -0
  111. /package/skills/{fde-qa → qa}/references/integrate.md +0 -0
  112. /package/skills/{fde-qa → qa}/references/qa.md +0 -0
  113. /package/skills/{fde-qa → qa}/references/review.md +0 -0
  114. /package/skills/{fde-qa → qa}/references/ship.md +0 -0
  115. /package/skills/{fde-qa → qa}/references/task-context.md +0 -0
  116. /package/skills/{fde-qa → qa}/references/verification.md +0 -0
  117. /package/skills/{fde-readout → readout}/references/board-memo.md +0 -0
  118. /package/skills/{fde-readout → readout}/references/business-case.md +0 -0
  119. /package/skills/{fde-readout → readout}/references/readout.md +0 -0
  120. /package/skills/{fde-readout → readout}/references/task-context.md +0 -0
  121. /package/skills/{fde-review → review}/references/build.md +0 -0
  122. /package/skills/{fde-review → review}/references/debug.md +0 -0
  123. /package/skills/{fde-review → review}/references/eval-pack.md +0 -0
  124. /package/skills/{fde-review → review}/references/integrate.md +0 -0
  125. /package/skills/{fde-review → review}/references/qa.md +0 -0
  126. /package/skills/{fde-review → review}/references/review.md +0 -0
  127. /package/skills/{fde-review → review}/references/ship.md +0 -0
  128. /package/skills/{fde-review → review}/references/task-context.md +0 -0
  129. /package/skills/{fde-review → review}/references/verification.md +0 -0
  130. /package/skills/{fde-scope → scope}/references/hold-scope.md +0 -0
  131. /package/skills/{fde-scope → scope}/references/task-context.md +0 -0
  132. /package/skills/{fde-ship → ship}/references/build.md +0 -0
  133. /package/skills/{fde-ship → ship}/references/debug.md +0 -0
  134. /package/skills/{fde-ship → ship}/references/eval-pack.md +0 -0
  135. /package/skills/{fde-ship → ship}/references/integrate.md +0 -0
  136. /package/skills/{fde-ship → ship}/references/qa.md +0 -0
  137. /package/skills/{fde-ship → ship}/references/review.md +0 -0
  138. /package/skills/{fde-ship → ship}/references/ship.md +0 -0
  139. /package/skills/{fde-ship → ship}/references/task-context.md +0 -0
  140. /package/skills/{fde-ship → ship}/references/verification.md +0 -0
package/AGENTS.md CHANGED
@@ -1,10 +1,10 @@
1
1
  # AGENTS.md - working in the fdeops repository
2
2
 
3
- This repository **is** fdeops - the engagement record for Forward Deployed Engineers. One `@fde` skill, the `fde` CLI for deterministic work, and per-customer memory in `.fde/` as a side effect of the work (you still confirm judgment).
3
+ This repository **is** FDEOps: skills for Forward Deployed Engineers. The `fde` coordinator selects the relevant instructions for customer work. Fourteen task skills also work individually. The local CLI manages customer records in `.fde/` files; users confirm consequential judgments.
4
4
 
5
5
  ## If you are helping use fdeops in an engagement
6
6
 
7
- Route via **`@fde`** - read `skills/fde/SKILL.md` (the single source of truth), route to one `references/*.md`, do the work, and write `.fde/` memory. Never ask the human to pick a skill. Other tools get the same behavior through thin pointer files in [`adapters/`](adapters/README.md).
7
+ For ongoing customer work, use **`@fde`**: read `skills/fde/SKILL.md`, select the relevant instructions, and follow its record rules. When the user selects a task such as `discover` or `build`, run that task directly with the supplied context; a customer record is optional. Do not make users choose a task when they have asked the coordinator for help. Other tools use thin pointer files in [`adapters/`](adapters/README.md).
8
8
 
9
9
  ## If you are contributing to this repository
10
10
 
package/README.md CHANGED
@@ -1,333 +1,174 @@
1
1
  # FDEOps
2
2
 
3
- **Forward deployed engineering skills for AI coding agents.**
3
+ **Forward deployed engineering skills for your AI coding agent.**
4
4
 
5
5
  <a name="why-use-it"></a>
6
6
 
7
- Take a customer request from discovery through implementation, verification and handoff. Use one task skill for the work in front of you, or `@fde` to coordinate the engagement and keep its decisions and evidence together.
7
+ Work through a customer project from the first conversation to a system their team can run. FDEOps helps your agent clarify the problem, compare solutions, write and test code, connect customer systems, and prepare delivery and handover evidence.
8
8
 
9
- Notes stay on your laptop, in a separate record for each client. Review the agent's proposed changes before saving them.
9
+ A **skill** is a set of instructions your AI coding agent follows. FDEOps includes **14 task skills** you can use individually and **one `fde` coordinator** that chooses the right task as a customer project progresses.
10
10
 
11
- Implementation, integration, debugging and QA are included. Use your existing repository tools; no additional skill pack is required. Credentials, infrastructure and production authority still come from the customer.
11
+ Use it for a single integration, a small client project, or work within a larger enterprise team. You bring the customer context, repository tools and access. FDEOps supplies the working method; you and the responsible teams make the decisions.
12
12
 
13
- [Quick start](#quick-start) · [Daily fieldbook](#your-daily-fieldbook) · [Task skills](#task-skills) · [Documentation](docs/README.md)
13
+ [Get started](#quick-start) · [Choose a task](#task-skills) · [Keep a customer record](#keep-a-customer-record) · [Documentation](docs/README.md)
14
14
 
15
- <img width="960" height="640" alt="FDEOps: client delivery from the first meeting to handover" src="https://github.com/user-attachments/assets/2bcb8739-55ee-445d-8a1a-8b38433b7b58" />
15
+ ## Quick start
16
16
 
17
- ---
17
+ You need an AI coding agent that supports skills. The installation commands and FDEOps CLI require **Node.js 18+ and Git** on your machine.
18
18
 
19
- ## Task skills
20
-
21
- Call the task directly when you know what you need. No client folder is required for a one-off task.
22
-
23
- | Work | Skill |
24
- |------|-------|
25
- | Understand the workflow | `fde-discover` |
26
- | Handle a new scope request | `fde-scope` |
27
- | Compare approaches | `fde-options` |
28
- | Test a risky assumption | `fde-poc` |
29
- | Implement, integrate, repair | `fde-build`, `fde-integrate`, `fde-debug` |
30
- | Review, evaluate AI, test the journey | `fde-review`, `fde-evaluate`, `fde-qa` |
31
- | Release a verified increment | `fde-ship` |
32
- | Present evidence, transfer operation, reuse a lesson | `fde-readout`, `fde-handoff`, `fde-feedback` |
19
+ ### Work on a customer project
33
20
 
34
- For example, install just the integration skill:
21
+ Run this in your terminal and select your agent in the installer:
35
22
 
36
23
  ```bash
37
- npx skills add suboss87/fdeops --skill fde-integrate
24
+ npx skills add suboss87/fdeops --skill fde
38
25
  ```
39
26
 
40
- Ask it to connect a permitted customer API and test retry behavior. It includes the references it needs. `@fde` uses those same methods when the integration is part of an ongoing engagement. [Full pack and selective installation](docs/install.md#individual-skills-and-the-full-pack).
27
+ Then start a conversation with your agent:
41
28
 
42
- ## Quick Start
29
+ ```text
30
+ @fde this is client01. Their support team reads incoming requests,
31
+ checks internal documents, then assigns each request to another team.
32
+ Help me prepare for the first meeting. Here is the brief: …
33
+ ```
43
34
 
44
- **Try it in a local checkout.** Requires Node.js 18+ and Git:
35
+ `fde` asks for the information needed next and uses the relevant instructions. As work progresses, it can help you investigate delays, compare approaches, implement a change, test it, and prepare a customer update. You do not have to choose a skill at each step.
45
36
 
46
- ```bash
47
- npx fdeops scan
48
- ```
37
+ Naming the customer starts a local project record at `~/fde-engagements/client01/.fde/`. It keeps the brief, decisions, evidence and next actions together. Review proposed agreements and corrections before saving them. [How customer records work](#keep-a-customer-record).
49
38
 
50
- It prints what to look at on day one and the questions to ask. The scan reads local files without changing them. `npx` may download the package.
39
+ ### Use just one task
51
40
 
52
- **Then install the skill:**
41
+ For example, install only `discover`:
53
42
 
54
43
  ```bash
55
- npx skills add suboss87/fdeops --skill fde
44
+ npx skills add suboss87/fdeops --skill discover
56
45
  ```
57
46
 
58
- One chat. Name the client:
47
+ Then ask your agent:
59
48
 
60
49
  ```text
61
- @fde this is client01
50
+ Use FDEOps discover with these meeting notes. Show how the team handles
51
+ an incoming request today, where time goes, and what we still need to ask.
52
+ [Paste notes you are permitted to share.]
62
53
  ```
63
54
 
64
- That creates `~/fde-engagements/client01/.fde/` on your laptop. Paste kickoff notes in the same thread. `@fde` picks what to check. You still decide. After a meeting you review what changed, new asks, open questions, and next actions. Correct the proposal, then confirm the update.
55
+ The agent works from your notes and returns its findings. You do not need to create a customer record for this task. Each task skill includes the instructions it needs and works without installing `fde` or another skill pack.
65
56
 
66
- ### Make it fit your work
57
+ **Want every task available by name?** Install the full pack using the [installation guide](docs/install.md#individual-skills-and-the-full-pack). Installing `fde` alone gives the coordinator all the underlying instructions; it does not add the 14 separate names to your agent's skill menu.
67
58
 
68
- Setup asks three short questions: how you work, what would help first, and what to mask before sharing context with your agent. Review your choices before saving; change them anytime.
59
+ Skill invocation differs between agents. Ask for the FDEOps skill by name or select it in your agent's skill picker. For Claude Code plugin installs, use `/fdeops:fde` or `/fdeops:discover`. See [host setup and name conflicts](docs/install.md#individual-skills-and-the-full-pack).
69
60
 
70
- ```bash
71
- npx fdeops@latest setup
72
- ```
61
+ ## Task skills
73
62
 
74
- [See the choices and custom masking options](docs/USAGE.md#make-fdeops-fit-your-day).
63
+ A customer **workflow** means the steps people and systems take to finish a job: receive a request, check its details, make a decision, and update the relevant system. These skills help with different parts of that work.
75
64
 
76
- Open the engagement fieldbook:
65
+ | What you need to do | Skill | What you get |
66
+ |---|---|---|
67
+ | Find the real problem behind a customer request | `discover` | Current steps, delays, baseline and unanswered questions |
68
+ | Decide what to do with an additional request | `scope` | Impact on agreed work and a recommended commitment |
69
+ | Choose how to solve the problem | `options` | Feasible approaches, trade-offs and a recommendation |
70
+ | Test an assumption before committing to a build | `poc` | A limited test, its evidence and the next decision |
71
+ | Implement an agreed software change | `build` | Code, checks and a clear account of what changed |
72
+ | Connect the customer's systems | `integrate` | An integration checked for mapping, permissions and failed or repeated requests |
73
+ | Find and fix a failure | `debug` | A reproduced problem, repair and regression checks |
74
+ | Check a proposed code change | `review` | Specific findings tied to code and expected behavior |
75
+ | Check an AI system's answers or actions | `evaluate` | Evaluation cases, results and remaining limits |
76
+ | Test what users actually experience | `qa` | Runtime or browser evidence, including failure cases |
77
+ | Prepare and carry out an authorized release | `ship` | Release checks, recovery steps and deployment evidence |
78
+ | Explain progress to the customer sponsor | `readout` | What was promised, what was measured and what was accepted |
79
+ | Leave the team able to operate the system | `handoff` | Responsibilities, operating instructions and readiness gaps |
80
+ | Turn a deployment lesson into reusable learning | `feedback` | A supported product recommendation or reusable pattern |
77
81
 
78
- ```bash
79
- npx fdeops dashboard --open
80
- ```
82
+ These are entry points, not a required sequence. `fde` also handles meeting debriefs, stakeholder decisions, planning, incidents and other situations through its [full skill reference](docs/skills-reference.md). It loads the relevant instructions as needed.
81
83
 
82
- Read-only HTML of the record - promised, measured, accepted, and evidence. Regenerate after you change memory. Day to day: [docs/USAGE.md](docs/USAGE.md).
84
+ <a name="how-skills-work"></a>
83
85
 
84
- <details>
85
- <summary><b>Claude Code</b></summary>
86
+ ## Keep a customer record
87
+
88
+ An **engagement** is your ongoing project with a customer. Its record lives in a separate folder on your machine, outside the customer's application code:
86
89
 
87
90
  ```text
88
- /plugin marketplace add suboss87/fdeops
89
- /plugin install fdeops@fdeops
91
+ ~/fde-engagements/client01/.fde/
90
92
  ```
91
93
 
92
- The plugin adds session hooks and the slash commands below. Skill-only installation does not add hooks. See the [installation guide](docs/install.md) for setup details.
93
-
94
- </details>
95
-
96
- <details>
97
- <summary><b>Cursor</b></summary>
98
-
99
- After installing the skill, add the FDEOps instructions to the **client workspace** you have open:
94
+ The files are readable Markdown. They track what the customer asked for, who can decide, what success means, what changed, and the evidence behind each result. You can inspect, copy or keep them if you stop using FDEOps.
100
95
 
101
- ```bash
102
- npx fdeops adapters .
103
- ```
104
-
105
- See [adapters/](adapters/README.md).
96
+ After a meeting, paste permitted notes into the same agent conversation. It proposes the new requests, decisions, unresolved questions and next actions. Correct anything it misunderstood, then confirm the update.
106
97
 
107
- </details>
98
+ A request is not automatically an agreement. A passing test is not a production deployment. A measured improvement is not customer acceptance. FDEOps keeps those distinctions in the record.
108
99
 
109
- <details>
110
- <summary><b>Codex, other agents, and offline setup</b></summary>
100
+ At the next session, the coordinator retrieves a short summary rather than loading the full history. The default summary is capped at 16 KiB; older evidence is retrieved when needed. This cap applies to FDEOps output, not everything your agent loads.
111
101
 
112
- Use the skill installation above in a supported host. If the agent cannot create and bind the client folder, run this from the client workspace:
102
+ If your agent cannot start the record, run this in your terminal from the workspace where you work on that customer:
113
103
 
114
104
  ```bash
115
105
  npx fdeops resume --init client01
116
106
  ```
117
107
 
118
- For offline use, transfer an existing checkout to a machine with Node.js and Git, then run `node bin/install.js` from that checkout. Host adapters, local models, and advanced options are covered in [docs/install.md](docs/install.md).
119
-
120
- </details>
121
-
108
+ This links that workspace to the customer's record. [Daily use and meeting walkthrough](docs/USAGE.md) · [Record format](docs/schema.md).
122
109
 
123
110
  <a name="what-a-working-day-looks-like"></a>
124
111
 
125
112
  ## Your daily fieldbook
126
113
 
127
- See what needs your attention before you open another client thread: an open risk, missing evidence, a result waiting for acceptance, or the next action.
114
+ The fieldbook is a read-only browser view of your customer records. It shows next actions, open risks, missing evidence and results waiting for acceptance.
128
115
 
129
- ![Dark FDEOps fieldbook showing next actions and delivery gaps across fictional clients](media/fieldbook-preview.png)
116
+ ![FDEOps fieldbook showing next actions and delivery gaps across fictional customers](media/fieldbook-preview.png)
117
+
118
+ Run this in your terminal to view all your customers:
130
119
 
131
120
  ```bash
132
121
  npx fdeops dashboard --all --open
133
122
  ```
134
123
 
135
- Open a client, inspect its record, and copy an action into your agent to continue. The dashboard is a read-only snapshot; repeat the command after updating your records to refresh it.
136
-
137
- **Want to see the whole loop first?** `npx fdeops demo` runs fictional notes through review and prints a sample fieldbook path to open. It writes and resets its own folder under `~/fde-engagements/.demo/`, needs no AI model, and can be removed with `npx fdeops demo --clean`.
138
-
139
- ⭐ If FDEOps makes your client work easier, star the repo.
140
-
141
- ---
142
-
143
- <a name="from-the-first-meeting-to-handover"></a>
144
-
145
- ## Commands
146
-
147
- Describe the situation to `@fde`. It selects the relevant skill. The Claude Code plugin also provides these stage commands; other hosts use the same method through `@fde`.
148
-
149
- | What you're doing | Command | Stage |
150
- |-------------------|---------|-------|
151
- | First days. Get the brief. Name who signs. | `/brief` | Land |
152
- | Check the brief is the real job. | `/discover` | Discover |
153
- | Sequence from done, not from the ticket. | `/plan` | Plan |
154
- | Prove it on their staging, then go live. | `/ship` | Ship |
155
- | What you promised, measured, and who accepted. | `/outcome` | Outcome |
156
- | Hand it over. They run it without you. | `/close` | Close |
157
-
158
- Claude Code shortcuts for the moments between stages: `/debrief` (notes into the record), `/prep` (one page before you walk in), `/trust` (process gap, or they stopped trusting you), `/receipts` (find what was recorded and where it came from), `/readout` (Friday page for the sponsor; not a seventh stage).
159
-
160
- You can also just say it: “Prep me for the sponsor meeting,” “What did we agree about scope?” or “Help me hand this over.”
161
-
162
- ---
163
-
164
- ## Engagement workflows
165
-
166
- Thirty-four workflows, grouped by stage. Each skill gives the agent steps to follow, a record or report to produce, and a checkpoint with you. You describe the work; `@fde` finds the skill.
124
+ Open a customer's record and copy an action into your agent to continue. Run the command again after updates to refresh the view.
167
125
 
168
- Full detail: [docs/skills-reference.md](docs/skills-reference.md).
126
+ **Try a fictional example first:** `npx fdeops demo` runs sample meeting notes through review and produces a fieldbook without using an AI model. It creates or resets its demo folder under `~/fde-engagements/.demo/`. Remove that example with `npx fdeops demo --clean`.
169
127
 
170
- ### Land
128
+ ## Fit it to the project
171
129
 
172
- | Skill | What it does | Use when |
173
- |--------|--------------|----------|
174
- | [land](skills/fde/references/land.md) | Interrogate the brief | New client, first meeting, just got the brief |
175
- | [audit](skills/fde/references/audit.md) | Verify inherited claims | Taking over, previous consultant left |
176
- | [who-decides](skills/fde/references/who-decides.md) | Map decision rights | Need to know who matters |
177
- | [earn-trust](skills/fde/references/earn-trust.md) | Earn access | Need access or credibility |
178
- | [hold-scope](skills/fde/references/hold-scope.md) | Hold scope | "Also can you…", timeline unchanged |
130
+ For a small task, use the supplied notes or code and return the result. For an ongoing project, use the customer record. For enterprise work, include the relevant teams, access rules, release checks and operating responsibilities in the plan.
179
131
 
180
- ### Discover
132
+ The pack includes implementation, integration, debugging and QA instructions. It uses the repository's existing tools. It does not supply customer credentials, infrastructure, specialist approvals or production authority.
181
133
 
182
- | Skill | What it does | Use when |
183
- |--------|--------------|----------|
184
- | [discover](skills/fde/references/discover.md) | Frame the problem | Brief feels wrong, shadow processes |
185
- | [test-assumptions](skills/fde/references/test-assumptions.md) | Test assumptions | Brief feels too neat |
186
- | [score-use-cases](skills/fde/references/score-use-cases.md) | Score use cases | Everything is P0 |
187
- | [poc](skills/fde/references/poc.md) | Validate the solution | POC, spike, need to de-risk |
134
+ Optional setup:
188
135
 
189
- ### Plan
136
+ - **Personal preferences:** `npx fdeops setup` records how you work and what to mask before sharing context.
137
+ - **Repository reconnaissance:** `npx fdeops scan` reads local files and returns an initial assessment and questions. It does not change the repository.
138
+ - **Other agent hosts:** [Adapters](adapters/README.md) add a pointer to the coordinator in your workspace.
139
+ - **External sources:** [Connection recipes](mcp/recipes/) explain how to pull permitted material from tools you already use.
190
140
 
191
- | Skill | What it does | Use when |
192
- |--------|--------------|----------|
193
- | [plan](skills/fde/references/plan.md) | Sequence the work | What order, what is done |
194
- | [business-case](skills/fde/references/business-case.md) | Build the business case | Defend budget or timeline |
195
- | [three-options](skills/fde/references/three-options.md) | Generate options | "What should we do?" |
196
- | [pick-three](skills/fde/references/pick-three.md) | Prioritize three | Everything is urgent |
197
-
198
- ### Ship
199
-
200
- | Skill | What it does | Use when |
201
- |--------|--------------|----------|
202
- | [build](skills/fde/references/build.md) | Implement the increment | A scoped change in their repository |
203
- | [integrate](skills/fde/references/integrate.md) | Prove the system boundary | APIs, imports and write-back |
204
- | [debug](skills/fde/references/debug.md) | Reproduce and repair a failure | Unexpected behavior or a regression |
205
- | [qa](skills/fde/references/qa.md) | Exercise the delivered journey | Functional acceptance or browser QA |
206
- | [ship](skills/fde/references/ship.md) | Release with evidence | Ready for an authorized rollout |
207
- | [what-breaks](skills/fde/references/what-breaks.md) | Assess impact | Touching shared infrastructure |
208
- | [rescue](skills/fde/references/rescue.md) | Resolve the incident | Down, or they went quiet |
209
- | [review](skills/fde/references/review.md) | Review the change | Before merge, scope creep |
210
- | [rollback](skills/fde/references/rollback.md) | Rehearse rollback | "We can always revert" |
211
-
212
- ### Outcome
213
-
214
- | Skill | What it does | Use when |
215
- |--------|--------------|----------|
216
- | [readout](skills/fde/references/readout.md) | Report the outcome | Friday, sponsor update |
217
- | [demo-prep](skills/fde/references/demo-prep.md) | Prepare the demo | Demo or exec walkthrough |
218
- | [debrief](skills/fde/references/debrief.md) | Capture the meeting | Just left a meeting |
219
- | [board-memo](skills/fde/references/board-memo.md) | Brief the board | Justify continued investment |
220
- | [dashboard](skills/fde/references/dashboard.md) | Open the fieldbook | This customer, or all of them |
221
- | [ingest](skills/fde/references/ingest.md) | Ingest sources | Transcript, Notion, Slack |
222
- | [connect](skills/fde/references/connect.md) | Connect a source | Connect Granola |
223
-
224
- ### Close
225
-
226
- | Skill | What it does | Use when |
227
- |--------|--------------|----------|
228
- | [close](skills/fde/references/close.md) | Transfer operations | Wrapping up |
229
- | [runbook](skills/fde/references/runbook.md) | Write the runbook | They must operate without you |
230
- | [switch-clients](skills/fde/references/switch-clients.md) | Switch engagements | 2+ clients |
231
- | [encode-pattern](skills/fde/references/encode-pattern.md) | Encode the pattern | It will apply again |
232
- | [red-team](skills/fde/references/red-team.md) | Challenge the plan | "Poke holes in this" |
233
-
234
- Overlays (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).
235
-
236
- Optional pull: you add the source MCP; we **pull** on request. [mcp/recipes/](mcp/recipes/)
237
-
238
- ---
239
-
240
- <a name="use-the-cli-directly"></a>
241
-
242
- ## How Skills Work
243
-
244
- One `@fde`. One file per situation. One folder per client.
245
-
246
- Tell the agent what is happening. It reads the client record, opens the relevant skill, and works through the situation with you. After a meeting, it proposes the decisions, open questions, and next action. You correct what it misunderstood and confirm the update.
247
-
248
- A request stays a request until agreed. A staging result stays separate from production. Recording a result does not mean the customer accepted it.
249
-
250
- At the next session, FDEOps supplies a short summary instead of the whole history. Older detail stays on disk; `recall` finds relevant records when needed. The default summary is capped at 16 KiB, which limits FDEOps output rather than everything your agent loads.
251
-
252
- Before a sponsor meeting, `npx fdeops defend` separates recorded acceptance from claims and missing evidence. For a successor, `npx fdeops handoff --out successor.md` creates a portable summary with risks and sources.
253
-
254
- For free-form notes, start with `@fde`. The CLI's `debrief --smart` recognizes common phrases; it can miss details that your agent needs to help interpret. [Follow the notes → review → apply walkthrough](docs/USAGE.md#new-here-5-minutes).
255
-
256
- ---
257
-
258
- ## Engagement memory (`.fde/`)
259
-
260
- One folder per client. Plain markdown. Grep it, copy it, take it into a meeting.
261
-
262
- | File | Holds |
263
- |------|-------|
264
- | `context.md` | Where you are |
265
- | `brief.md` / `success.md` | What they asked; what “done” is and who signs |
266
- | `reality.md` / `terrain.md` | The real problem; the map |
267
- | `stakeholders.md` | `[signal:green\|amber\|red]` - worst active signal wins; empty is **new**, not green |
268
- | `trust-profile.md` | Sacred data, AI policy, approval chain |
269
- | `decisions.md` / `risks.md` / `delivery.md` | Dated choices; live risks; what shipped, evidence, rollback, acceptance |
270
-
271
- Schema: [docs/schema.md](docs/schema.md). Fieldbook: `npx fdeops dashboard --open` (bound) or `--all --open` (portfolio).
272
-
273
- ---
274
-
275
- ## Who this is for
276
-
277
- Forward deployed engineers, independent consultants, and small agencies working with customer teams. You need to carry the brief, decisions, delivery evidence, and handover across meetings, repositories, and sometimes several clients.
278
-
279
- If your work has no client commitments or operating handover to track, a simpler project note may be enough.
141
+ Use the [installation guide](docs/install.md) for the full pack, Claude Code hooks, offline setup and upgrading from earlier versions.
280
142
 
281
143
  <a name="your-records-your-control"></a>
282
144
 
283
145
  ## Your data stays yours
284
146
 
285
- The CLI works with local files and Git, without network calls or telemetry. Client records remain readable Markdown if you stop using FDEOps.
147
+ The CLI reads local files and Git, with no network calls or telemetry. Installation through `npx` may download packages. Your AI host may send material it reads to its configured model.
286
148
 
287
- Your AI host may send the material it reads to its configured model. CLI context and smart proposals mask common email, phone, SSN-shaped, and credential patterns locally; this is not complete PII detection. FDEOps redacts `<private>` blocks from CLI, dashboard, and hook outputs; do not load those raw blocks through the agent's file tools. Review reports before sharing client information.
149
+ FDEOps masks common sensitive patterns and excludes `<private>` blocks from CLI, dashboard and hook outputs. This is not complete sensitive-data detection. Do not ask the agent to read private blocks directly, and use only material allowed by the customer's AI policy.
288
150
 
289
- You review proposed decisions. Enabled session hooks can save where the session left off automatically; direct CLI write commands update records when you run them.
151
+ You review proposed decisions. Enabled session hooks can save mechanical session progress automatically; direct CLI write commands update records when you run them.
290
152
 
291
- The CLI and dashboard need no model. AI-assisted local use needs an agent with file and command access. Our small local-model tests produced wrong or incomplete answers, so check the [verification results](docs/verification.md) before relying on one for client work.
153
+ [Privacy](PRIVACY.md) · [Security](SECURITY.md) · [What has been tested and its limits](docs/verification.md)
292
154
 
293
- [Privacy](PRIVACY.md) · [Security](SECURITY.md)
294
-
295
- ## Principles
296
-
297
- - **Who signs** - name who can accept the work.
298
- - **Brief vs real job** - check what happens on the floor, not only the slide.
299
- - **Back from done** - agree how you will test success before planning the build.
300
- - **Their staging, then live** - prove the change and agree the release and rollback.
301
- - **Promised, measured, accepted** - keep each separate, with its evidence.
302
- - **They run it** - hand over the knowledge and ownership, not just the code.
303
- - **The kit says what to check. You still decide.**
304
-
305
- ---
155
+ ## Who this is for
306
156
 
307
- <a name="find-your-way-around"></a>
157
+ Forward deployed engineers, consultants and small delivery teams working with customers across meetings, codebases and operating environments. The pack supports the engineering and customer work together. Its checks help expose missing evidence; they do not replace professional judgment or prove every deployment safe.
308
158
 
309
- ## Project Structure
159
+ ## Find your way around
310
160
 
311
161
  | You want to… | Start here |
312
162
  |---|---|
313
- | Install or use FDEOps | [docs/](docs/README.md) |
314
- | Understand or change a workflow | [skills/fde/](skills/fde/SKILL.md) and its `references/` |
315
- | Work on the CLI or fieldbook | [bin/](bin/) and [test/](test/) |
316
- | Walk through a client engagement | [examples/](examples/) |
317
- | Check what has been tested | [evals/](evals/) and [verification](docs/verification.md) |
318
-
319
- [Full repository map](docs/REPO_LAYOUT.md).
320
-
321
- ---
322
-
323
- <a name="contribute"></a>
324
-
325
- ## Contributing
326
-
327
- **[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)
163
+ | Install or upgrade | [Installation](docs/install.md) |
164
+ | Work through your first customer project | [Usage](docs/USAGE.md) and [examples](examples/) |
165
+ | Explore the instructions | [Skill reference](docs/skills-reference.md) |
166
+ | Understand the repository | [Repository layout](docs/REPO_LAYOUT.md) |
167
+ | Check the test evidence | [Verification](docs/verification.md) |
168
+ | Improve the pack | [Contributing](CONTRIBUTING.md) |
328
169
 
329
- Skills should be **specific** (actionable steps), **verifiable** (an artifact in `.fde/`), and **minimal**. The `fde` CLI stays local-only.
170
+ Built by [Subash Natarajan](https://www.linkedin.com/in/subashn/). [Issues](https://github.com/suboss87/fdeops/issues) · [Discussions](https://github.com/suboss87/fdeops/discussions)
330
171
 
331
172
  ## License
332
173
 
333
- MIT - use these skills on client work.
174
+ MIT. Use FDEOps in your customer work. See [LICENSE](LICENSE).
@@ -63,12 +63,12 @@ function generate(check = false, options = {}) {
63
63
  const items = options.catalog || catalog
64
64
  const wanted = new Map()
65
65
  for (const item of items) {
66
- if (!/^fde-[a-z-]+$/.test(item.name) || wanted.has(item.name)) throw new Error(`Invalid generated skill name: ${item.name}`)
66
+ if (!/^[a-z][a-z-]*$/.test(item.name) || item.name === 'fde' || item.name.startsWith('fde-') || wanted.has(item.name)) throw new Error(`Invalid generated skill name: ${item.name}`)
67
67
  wanted.set(item.name, expectedFiles(item, referenceRoot))
68
68
  }
69
69
  const rootStat = stat(skillRoot)
70
70
  if (rootStat && (!rootStat.isDirectory() || rootStat.isSymbolicLink())) throw new Error(`Unsafe skills root: ${skillRoot}`)
71
- const names = new Set([...wanted.keys(), ...(rootStat ? fs.readdirSync(skillRoot).filter(n => /^fde-[a-z-]+$/.test(n)) : [])])
71
+ const names = new Set([...wanted.keys(), ...(rootStat ? fs.readdirSync(skillRoot).filter(n => n !== 'fde' && /^[a-z][a-z-]*$/.test(n)) : [])])
72
72
  const errors = []
73
73
  const plans = []
74
74
  for (const name of names) {
package/bin/install.js CHANGED
@@ -10,6 +10,8 @@ const HOOKS_SRC = path.join(__dirname, '..', 'hooks')
10
10
  const CLAUDE_MD_SRC = path.join(__dirname, '..', 'CLAUDE.md.template')
11
11
  const FDE_TEMPLATES_SRC = path.join(__dirname, '..', 'templates', '.fde')
12
12
  const ADAPTERS_SRC = path.join(__dirname, '..', 'adapters')
13
+ const TASK_NAMES = new Set(require('./skill-catalog').map(item => item.name))
14
+ const RENAMED_SKILLS = new Set([...TASK_NAMES].map(name => `fde-${name}`))
13
15
  const LIB_SRC = path.join(__dirname, 'lib')
14
16
 
15
17
  const GLOBAL_SKILLS_DIR = path.join(os.homedir(), '.claude', 'skills')
@@ -115,7 +117,7 @@ function removeLegacySkills(opts = {}) {
115
117
  const skipped = []
116
118
  const links = []
117
119
  for (const dir of LEGACY_SKILL_DIRS) {
118
- if (fs.existsSync(path.join(SKILLS_SRC, dir, 'SKILL.md'))) continue
120
+ if (RENAMED_SKILLS.has(dir) || fs.existsSync(path.join(SKILLS_SRC, dir, 'SKILL.md'))) continue
119
121
  const p = path.join(GLOBAL_SKILLS_DIR, dir)
120
122
  if (isLink(p)) { links.push(dir); continue }
121
123
  if (!fs.existsSync(path.join(p, 'SKILL.md'))) continue
@@ -129,6 +131,29 @@ function removeLegacySkills(opts = {}) {
129
131
  return { removed, skipped, links }
130
132
  }
131
133
 
134
+ // Archive the complete previous package only after its replacement is installed.
135
+ // Keep edits and additions outside the discovery directory, without guessing which
136
+ // individual files are personal. Unmarked third-party installs require manual cleanup.
137
+ function archiveRenamedSkill(name) {
138
+ if (!TASK_NAMES.has(name)) return
139
+ const oldName = `fde-${name}`
140
+ const old = path.join(GLOBAL_SKILLS_DIR, oldName)
141
+ checkPath(old)
142
+ if (!fs.existsSync(old)) return
143
+ if (!isManaged(old)) {
144
+ installIncomplete = true
145
+ console.log(` keep ~/.claude/skills/${oldName} (ownership unknown; move it outside skills manually after reviewing ${name})`)
146
+ return
147
+ }
148
+ checkTree(old, old)
149
+ const archiveRoot = path.join(os.homedir(), '.claude', 'fdeops', 'skill-backups')
150
+ mkdir(archiveRoot)
151
+ const archive = fs.mkdtempSync(path.join(archiveRoot, `${oldName}-`))
152
+ try { fs.renameSync(old, path.join(archive, oldName)) }
153
+ catch (error) { fs.rmdirSync(archive); throw error }
154
+ console.log(` archive ~/.claude/skills/${oldName} → ${path.join(archive, oldName)} (all previous content preserved)`)
155
+ }
156
+
132
157
  // Copy each skill in, but never over a directory fdeops did not create.
133
158
  function installSkillDirs(opts = {}) {
134
159
  const skipped = []
@@ -146,8 +171,10 @@ function installSkillDirs(opts = {}) {
146
171
  if (fs.existsSync(dest) && !isManaged(dest) && !opts.force) {
147
172
  // Installs predating the marker are still ours: adopt a same-named dir
148
173
  // whose SKILL.md is recognizably fdeops', so upgrades keep working.
149
- if (!wasInstalledByUs(dest)) {
174
+ // Newly generic task names require an explicit marker, never a fingerprint.
175
+ if (TASK_NAMES.has(entry.name) || !wasInstalledByUs(dest)) {
150
176
  skipped.push(entry.name)
177
+ if (TASK_NAMES.has(entry.name)) installIncomplete = true
151
178
  continue
152
179
  }
153
180
  console.log(` adopt ~/.claude/skills/${entry.name} (earlier fdeops install)`)
@@ -156,6 +183,7 @@ function installSkillDirs(opts = {}) {
156
183
  // say it in human terms, place the rest, and exit non-zero at the end.
157
184
  copyDir(src, dest)
158
185
  markManaged(dest)
186
+ archiveRenamedSkill(entry.name)
159
187
  } catch (e) {
160
188
  failed.push({ name: entry.name, code: e.code || 'error', path: destPathFor(e.path, src, dest) })
161
189
  }
@@ -1,17 +1,17 @@
1
1
  // Public entry points. Methods remain authored once in skills/fde/references/.
2
2
  module.exports = [
3
- ['fde-discover', 'discover', 'Trace a customer workflow and identify the problem, baseline and evidence gaps. Use for discovery or an unclear customer brief, before choosing a solution.'],
4
- ['fde-scope', 'hold-scope', 'Assess a new customer request against agreed scope, trade-offs and ownership. Use when an engagement expands or a custom feature needs a commitment decision.'],
5
- ['fde-options', 'three-options', 'Compare feasible approaches to a customer problem and recommend a path with costs, constraints and evidence. Use for an architecture or delivery decision, not implementation.'],
6
- ['fde-poc', 'poc', 'Run a bounded customer proof of concept to test a consequential uncertainty. Use for a spike or pilot with a question and decision deadline, not a full rollout.'],
7
- ['fde-build', 'build', 'Implement a scoped customer-facing software change in the existing repository and verify its behavior. Use for delivery work with an understood outcome, not incident response.'],
8
- ['fde-integrate', 'integrate', 'Build or change a customer-system integration with explicit data mapping, permissions, retries and reconciliation. Use for connectors, imports, write-back and upstream APIs.'],
9
- ['fde-debug', 'debug', 'Investigate and repair a reproducible failure in a customer integration or application. Use for diagnosis and regression prevention; follow incident authority for live mitigation.'],
10
- ['fde-review', 'review', 'Review a proposed customer code change against its intended outcome and operational risks. Use for a diff or PR review; report evidence and actionable findings.'],
11
- ['fde-evaluate', 'eval-pack', 'Evaluate an AI workflow against representative cases and its permitted actions. Use for model, retrieval or agent evaluation; tests do not grant release authority.'],
12
- ['fde-qa', 'qa', 'Exercise the delivered customer journey using real runtime or browser evidence. Use for functional acceptance testing after implementation, including failure paths.'],
13
- ['fde-ship', 'ship', 'Prepare or execute an authorized controlled release with verified checks, recovery and an operating owner. Use when a customer increment is ready for deployment.'],
14
- ['fde-readout', 'readout', 'Prepare a sponsor update separating promised outcomes, measured results and customer acceptance. Use for progress readouts or defending a delivery claim.'],
15
- ['fde-handoff', 'close', 'Transfer operation of a customer deployment with ownership, evidence and a tested support path. Use for handoff or an engineer rotation, not merely code delivery.'],
16
- ['fde-feedback', 'encode-pattern', 'Assess a field lesson for reuse or product feedback without exposing customer context. Use for recurring deployment lessons; distinguish a hypothesis from a validated pattern.'],
3
+ ['discover', 'discover', 'Trace a customer workflow and identify the problem, baseline and evidence gaps. Use for discovery or an unclear customer brief, before choosing a solution.'],
4
+ ['scope', 'hold-scope', 'Assess a new customer request against agreed scope, trade-offs and ownership. Use when an engagement expands or a custom feature needs a commitment decision.'],
5
+ ['options', 'three-options', 'Compare feasible approaches to a customer problem and recommend a path with costs, constraints and evidence. Use for an architecture or delivery decision, not implementation.'],
6
+ ['poc', 'poc', 'Run a bounded customer proof of concept to test a consequential uncertainty. Use for a spike or pilot with a question and decision deadline, not a full rollout.'],
7
+ ['build', 'build', 'Implement a scoped customer-facing software change in the existing repository and verify its behavior. Use for delivery work with an understood outcome, not incident response.'],
8
+ ['integrate', 'integrate', 'Build or change a customer-system integration with explicit data mapping, permissions, retries and reconciliation. Use for connectors, imports, write-back and upstream APIs.'],
9
+ ['debug', 'debug', 'Investigate and repair a reproducible failure in a customer integration or application. Use for diagnosis and regression prevention; follow incident authority for live mitigation.'],
10
+ ['review', 'review', 'Review a proposed customer code change against its intended outcome and operational risks. Use for a diff or PR review; report evidence and actionable findings.'],
11
+ ['evaluate', 'eval-pack', 'Evaluate an AI workflow against representative cases and its permitted actions. Use for model, retrieval or agent evaluation; tests do not grant release authority.'],
12
+ ['qa', 'qa', 'Exercise the delivered customer journey using real runtime or browser evidence. Use for functional acceptance testing after implementation, including failure paths.'],
13
+ ['ship', 'ship', 'Prepare or execute an authorized controlled release with verified checks, recovery and an operating owner. Use when a customer increment is ready for deployment.'],
14
+ ['readout', 'readout', 'Prepare a sponsor update separating promised outcomes, measured results and customer acceptance. Use for progress readouts or defending a delivery claim.'],
15
+ ['handoff', 'close', 'Transfer operation of a customer deployment with ownership, evidence and a tested support path. Use for handoff or an engineer rotation, not merely code delivery.'],
16
+ ['feedback', 'encode-pattern', 'Assess a field lesson for reuse or product feedback without exposing customer context. Use for recurring deployment lessons; distinguish a hypothesis from a validated pattern.'],
17
17
  ].map(([name, method, description]) => ({ name, method, description }))
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fdeops-ingest-mcp",
3
- "version": "4.1.1",
3
+ "version": "5.0.0",
4
4
  "private": true,
5
5
  "description": "Thin stdio MCP sink for FDEOps ingest (stage \u2192 propose \u2192 apply). Zero runtime dependencies.",
6
6
  "bin": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fdeops",
3
- "version": "4.1.1",
3
+ "version": "5.0.0",
4
4
  "description": "Forward deployed engineering skills for AI coding agents. Use focused task skills or @fde for discovery, implementation, verification and handoff, with local engagement records.",
5
5
  "bin": {
6
6
  "fdeops": "bin/install.js",
package/plugin.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
3
3
  "name": "fdeops",
4
- "version": "4.1.1",
4
+ "version": "5.0.0",
5
5
  "description": "Forward deployed engineering skills for AI coding agents. Use focused task skills or @fde for discovery, implementation, verification and handoff, with local engagement records.",
6
6
  "author": {
7
7
  "name": "Subash Natarajan",
@@ -2,7 +2,7 @@
2
2
  "generator": "bin/generate-skills.js",
3
3
  "version": 1,
4
4
  "files": {
5
- "SKILL.md": "958f58e8ee13d187fe92a0c9d17e0499d8918a7f19b7f321378977038c103556",
5
+ "SKILL.md": "19f32ecae72b96ee19cb87658ddd998cce96ec2e3960255d13fcc2906c6d0b6b",
6
6
  "references/build.md": "3dfeed619eeb1c8401f5cdf65e6f803fb209c70cb464dac4e60a1c890fd3a6f7",
7
7
  "references/debug.md": "c3bb344d38cc3552cb4e230c601a9be3fe173af2b2efb89aab6b7b04339f24f4",
8
8
  "references/eval-pack.md": "0590b85d3cae0903c6b1274540c92eaa2a4373047e8a0548d6942516ef0bb9e1",