archgen-skill 0.0.2 → 0.0.4
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.
- package/README.md +29 -3
- package/bin/archgen.mjs +146 -12
- package/lib/block.js +197 -8
- package/lib/config.js +96 -0
- package/lib/doctor.js +283 -0
- package/lib/init.js +130 -27
- package/lib/install.js +105 -14
- package/lib/migrate.js +88 -0
- package/lib/migrations/001-stamp-provenance.mjs +77 -0
- package/lib/migrations/index.mjs +170 -0
- package/lib/restore.js +239 -0
- package/lib/store.js +161 -0
- package/lib/uninstall-project.js +95 -0
- package/lib/version-stamp.js +47 -0
- package/lib/version.js +23 -0
- package/package.json +37 -9
- package/vendor/skills/archgen/SKILL.md +252 -73
- package/vendor/skills/archgen/archgen.config.json +16 -0
- package/vendor/skills/archgen/assets/skill-registry.json +4 -3
- package/vendor/skills/archgen/references/artifact-templates.md +251 -7
- package/vendor/skills/archgen/references/interview.md +180 -16
- package/vendor/skills/archgen/references/mcp-and-skills.md +88 -17
- package/vendor/skills/archgen/references/orchestration.md +102 -39
- package/vendor/skills/archgen/references/platforms.md +18 -14
- package/vendor/skills/archgen/scripts/doc-index.mjs +457 -0
- package/vendor/skills/archgen/scripts/impact.mjs +14 -1
- package/vendor/skills/archgen/scripts/lib/graph.mjs +82 -3
- package/vendor/skills/archgen/scripts/lib/scope.mjs +65 -0
- package/vendor/skills/archgen/scripts/lib/yaml.mjs +19 -3
- package/vendor/skills/archgen/scripts/plan-graph.mjs +329 -0
- package/vendor/skills/archgen/scripts/set-status.mjs +26 -6
- package/vendor/skills/archgen/scripts/update-agents.mjs +204 -0
- package/vendor/skills/archgen/scripts/validate.mjs +18 -1
- package/vendor/skills/archgen/scripts/verify-plan.mjs +8 -3
|
@@ -1,18 +1,20 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: archgen
|
|
3
|
-
description: Enterprise architecture generation and autonomous task execution for coding agents. Interviews stakeholders (or surveys an existing codebase), generates architecture artifacts (architecture.yaml, docs with Mermaid diagrams, ADRs) plus a dependency-ordered tasks.yaml inside a single .archgen/ folder, then executes tasks in topological waves via sub-agents
|
|
3
|
+
description: Enterprise architecture generation and autonomous task execution for coding agents. Interviews stakeholders (or surveys an existing codebase), generates architecture artifacts (PRD, architecture.yaml, docs with Mermaid diagrams, ADRs) plus a dependency-ordered tasks.yaml inside a single .archgen/ folder, verifies and plan-reviews the plan, then executes tasks in topological waves via the platform's native sub-agents under verifier, plan-review, and user gates — loading required capability skills (ui-skills for any UI/design/frontend work) before planning and dispatch. Use when the user asks to design a system, generate architecture, plan a feature, add a feature to an existing codebase, investigate recurring post-implementation issues, or says things like "start work", "build the tasks", "generate architecture", "add feature X", "roll back changes", "install MCP server", or "fetch the design skill".
|
|
4
4
|
license: MIT
|
|
5
5
|
compatibility: Requires Node.js >= 18 (zero npm dependencies). Works on any agent harness that can read files and run shell commands.
|
|
6
6
|
metadata:
|
|
7
|
-
version:
|
|
7
|
+
version: 0.0.4
|
|
8
8
|
repo: https://github.com/akashmaurya99/archgen
|
|
9
9
|
---
|
|
10
10
|
|
|
11
11
|
# archgen — architecture generation & wave execution
|
|
12
12
|
|
|
13
|
-
You are the ORCHESTRATOR. You
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
You are the ORCHESTRATOR. You gather requirements (or survey code), generate
|
|
14
|
+
the plan and artifacts, get them verified and reviewed, then dispatch work in
|
|
15
|
+
dependency-safe waves — through the platform's NATIVE sub-agent mechanism or,
|
|
16
|
+
when no sub-agent functions, by executing tasks yourself
|
|
17
|
+
(references/orchestration.md §dispatch).
|
|
16
18
|
|
|
17
19
|
Deterministic logic lives in `scripts/` — invoke them and branch on their JSON
|
|
18
20
|
output. Your job is orchestration, conversation, judgment, and dispatch.
|
|
@@ -25,6 +27,7 @@ Load when the user's prompt mentions any of:
|
|
|
25
27
|
- "start work", "run tasks", "execute the plan", "next task"
|
|
26
28
|
- "add feature", "implement feature", "new feature" (brownfield mode)
|
|
27
29
|
- "roll back", "revert task", "undo change"
|
|
30
|
+
- "investigate", "root cause", "keeps failing" (post-wave defect protocol)
|
|
28
31
|
- "install mcp", "set up codegraph", "fetch skill", "design skill"
|
|
29
32
|
|
|
30
33
|
Do NOT load for plain bug fixes or one-line edits that need no planning.
|
|
@@ -33,21 +36,57 @@ Do NOT load for plain bug fixes or one-line edits that need no planning.
|
|
|
33
36
|
|
|
34
37
|
1. **Everything you generate goes inside `.archgen/<project-slug>/`** at the
|
|
35
38
|
target repo root. NEVER write generated artifacts anywhere else. The only
|
|
36
|
-
files you may touch outside `.archgen/` are source-code edits
|
|
37
|
-
worker sub-agents
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
39
|
+
files you may touch outside `.archgen/` are source-code edits for approved
|
|
40
|
+
tasks — performed by worker sub-agents, or by you when self-executing per
|
|
41
|
+
references/orchestration.md §dispatch — and the `AGENTS.md` features
|
|
42
|
+
registry, maintained exclusively via `scripts/update-agents.mjs`.
|
|
43
|
+
2. **Three stages before execution**: (a) the VERIFIER sub-agent must return
|
|
44
|
+
APPROVE on plan+tasks, then (b) the PLAN-REVIEW stage must reach zero
|
|
45
|
+
findings (or an explicit user waiver), then (c) the USER must approve.
|
|
46
|
+
Never skip any stage.
|
|
47
|
+
3. **Right-size every generation — the depth ladder.** Classify scope BEFORE
|
|
48
|
+
creating files; depth scales with the intent class references/interview.md
|
|
49
|
+
assigns (GREENFIELD-SYSTEM vs BROWNFIELD-FEATURE vs …):
|
|
50
|
+
- SMALL (one tweak/feature): lean plan-note + tasks entries — paths still
|
|
51
|
+
verbatim. No Context section, no diagrams, no PRD.
|
|
52
|
+
- MEDIUM: plan with Context / per-task Approach + Edge cases (min 3 per
|
|
53
|
+
task) / Verification steps + tasks.yaml (+ architecture update ONLY if
|
|
54
|
+
structure changes).
|
|
55
|
+
- LARGE / greenfield-from-scratch: FULL professional stack — PRD
|
|
56
|
+
(`docs/prd.md`), `architecture.yaml` with naming_conventions /
|
|
57
|
+
data_contracts / api_contracts / environment_matrix, per-module Mermaid
|
|
58
|
+
diagrams, edge-case matrices mapped to acceptance criteria.
|
|
59
|
+
Token balance: bullet-dense over prose, diagrams ≤15 nodes, no boilerplate
|
|
60
|
+
inflation — quality floor without waste. Never regenerate an existing
|
|
61
|
+
artifact unless the change requires it.
|
|
62
|
+
4. **Self-containment.** Artifacts must survive context summarization alone:
|
|
63
|
+
any session reading ONLY `.archgen/<slug>/` executes correctly with zero
|
|
64
|
+
chat history. Every task carries complete repo-root paths taken VERBATIM
|
|
65
|
+
from architecture.yaml/tasks.yaml; workers never reconstruct paths from
|
|
66
|
+
memory. Forbidden phrases: "as discussed", "see chat", "same as before"
|
|
67
|
+
(full rules: references/artifact-templates.md).
|
|
68
|
+
5. **Completeness.** No partially implemented feature ships as done.
|
|
69
|
+
Acceptance criteria must be objectively verifiable AND cover full behavior
|
|
70
|
+
(edge-matrix rows included). Stubs, TODO placeholders, and mock-only paths
|
|
71
|
+
are FAILED tasks even when tests pass. The final report carries an
|
|
72
|
+
explicit completeness checklist per feature.
|
|
73
|
+
6. **Status discipline — NON-NEGOTIABLE.** After EVERY individual task
|
|
74
|
+
completes, in the SAME turn and before anything else, ensure ALL THREE:
|
|
75
|
+
(1) tasks.yaml status written via
|
|
76
|
+
`node <skill>/scripts/set-status.mjs .archgen/<slug>/tasks.yaml <id> done|failed`
|
|
77
|
+
— the worker usually does this; you VERIFY it landed, never assume;
|
|
78
|
+
(2) the corresponding system/todo tracker item marked completed;
|
|
79
|
+
(3) the AGENTS.md features registry refreshed via
|
|
80
|
+
`node <skill>/scripts/update-agents.mjs <repo-root>` so the Updated column
|
|
81
|
+
carries the current date. Batch-updating statuses at session end is
|
|
82
|
+
FORBIDDEN. Dispatching the next wave while any completed task's status or
|
|
83
|
+
todos lag is FORBIDDEN. This survives compaction because it is per-turn,
|
|
84
|
+
not per-session.
|
|
85
|
+
7. **Platform awareness.** Detect the harness before touching configs or
|
|
47
86
|
spawning agents — see references/platforms.md. If the platform is unknown,
|
|
48
87
|
use your WEB SEARCH tool to find its official docs for skill/MCP config
|
|
49
88
|
locations, propose what you found, and get user approval before writing.
|
|
50
|
-
|
|
89
|
+
8. **Code quality is contractual.** Workers follow references/code-standards.md:
|
|
51
90
|
no `any`, no unhandled `undefined`, files < 1000 LOC, professional folder
|
|
52
91
|
trees and file names, why-comments. The verifier rejects violations.
|
|
53
92
|
|
|
@@ -60,10 +99,31 @@ Identify the running harness by probing, in order:
|
|
|
60
99
|
`.github/copilot-instructions.md` (Copilot), `~/.codex` (Codex),
|
|
61
100
|
`.gemini/` (Gemini CLI/Antigravity), `.kiro/` (Kiro), `.trae/` (Trae).
|
|
62
101
|
2. First match wins → load that row of references/platforms.md for: skill
|
|
63
|
-
install paths, MCP config file + shape, sub-agent mechanism
|
|
102
|
+
install paths, MCP config file + shape, sub-agent mechanism.
|
|
64
103
|
3. No match → WEB SEARCH `<platform name> MCP configuration official docs`
|
|
65
104
|
and `<platform> agent skills install`. Summarize findings to the user,
|
|
66
105
|
get approval, then proceed using discovered facts.
|
|
106
|
+
4. **Codegraph offer (once per project).** Beginning ANY archgen work in a
|
|
107
|
+
repo with NO `.codegraph/` directory, on a harness that provides codegraph
|
|
108
|
+
tooling → propose installing + indexing once, reusing the INSTALL-MCP
|
|
109
|
+
approval pattern (show exactly what gets written and indexed; wait for
|
|
110
|
+
explicit approval). Discover the CURRENT install method via web search
|
|
111
|
+
when not known with confidence — never a memorized command — and state
|
|
112
|
+
the chosen scope (this harness's config vs a global npx/npm entry) before
|
|
113
|
+
proposing. Brownfield surveys prefer it once present. Scope note: current
|
|
114
|
+
mainstream codegraph indexers extract SOURCE symbols only
|
|
115
|
+
(functions/classes/imports) — they do not index markdown headings, and YAML
|
|
116
|
+
support ranges from absent to file-level config tracking; none can graph
|
|
117
|
+
tasks.yaml dependencies (audited 8 codegraph-family tools Aug 2026; local
|
|
118
|
+
binary v1.0.1 empirically confirms). Generic code indexers verifiably do
|
|
119
|
+
not extract markdown headings or YAML task semantics, so archgen ships its
|
|
120
|
+
own deterministic graph tools: source navigation uses codegraph when
|
|
121
|
+
configured, YAML plan graphs come exclusively from
|
|
122
|
+
`scripts/plan-graph.mjs`, and markdown artifact navigation comes from
|
|
123
|
+
`scripts/doc-index.mjs`. If the harness exposes a markdown-heading indexer
|
|
124
|
+
(e.g. a `codegraph_index_markdown`-style tool), prefer it for general repo
|
|
125
|
+
docs but still use `doc-index.mjs` inside `.archgen/` — it understands
|
|
126
|
+
TASK/FR reference semantics.
|
|
67
127
|
|
|
68
128
|
## Step 1 — Route the mode
|
|
69
129
|
|
|
@@ -76,8 +136,9 @@ Pick ONE mode from the user's intent and follow its section below:
|
|
|
76
136
|
| "start work" / execute pending tasks | **START-WORK** |
|
|
77
137
|
| Change requirements mid-flight | **UPDATE** |
|
|
78
138
|
| Undo completed work | **ROLLBACK** |
|
|
139
|
+
| Recurring issues after completed waves | **INVESTIGATE** |
|
|
79
140
|
| Need an MCP server not yet configured | **INSTALL-MCP** |
|
|
80
|
-
|
|
|
141
|
+
| Work touches a registry capability domain — loading is mandatory | **FETCH-SKILL** |
|
|
81
142
|
|
|
82
143
|
---
|
|
83
144
|
|
|
@@ -85,43 +146,76 @@ Pick ONE mode from the user's intent and follow its section below:
|
|
|
85
146
|
|
|
86
147
|
1. **Acknowledge + confirm scope class.** One sentence stating what you'll do
|
|
87
148
|
and whether this looks SMALL/MEDIUM/LARGE. Ask to proceed. [wait for user]
|
|
88
|
-
2. **Interview.** Follow references/interview.md:
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
3.
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
-
|
|
97
|
-
|
|
98
|
-
|
|
149
|
+
2. **Interview.** Follow references/interview.md: round-0 calibration, then
|
|
150
|
+
classify ONE intent class (GREENFIELD-SYSTEM / GREENFIELD-MODULE /
|
|
151
|
+
BROWNFIELD-FEATURE / BROWNFIELD-CHANGE) and record it as `intent_class` in
|
|
152
|
+
answers.yaml. Respect the round caps (GREENFIELD-SYSTEM ≤6 rounds, every
|
|
153
|
+
other class ≤3). Batch questions, never interrogate one-per-message.
|
|
154
|
+
[wait for user per round]
|
|
155
|
+
3. **Generate artifacts** into `.archgen/<slug>/` (slug = project short name)
|
|
156
|
+
at the depth Hard rule 3 demands for the class:
|
|
157
|
+
- LARGE / greenfield-from-scratch: `docs/prd.md` (PRD) FIRST, then
|
|
158
|
+
`architecture.yaml` (naming_conventions, data_contracts, api_contracts,
|
|
159
|
+
environment_matrix; modules carry depends_on_modules + key_interfaces),
|
|
160
|
+
per-module Mermaid diagrams (≤15 nodes each), per-task edge-case
|
|
161
|
+
matrices mapped to acceptance rows, ADRs in `decisions/`,
|
|
162
|
+
`plans/<feature>.md`, `tasks.yaml`.
|
|
163
|
+
- MEDIUM: `plans/<feature>.md` (Context / per-task Approach + Edge cases /
|
|
164
|
+
Verification) + `tasks.yaml`.
|
|
165
|
+
- SMALL: lean plan-note + tasks entries (paths verbatim).
|
|
166
|
+
Use templates from references/artifact-templates.md; Hard rule 4
|
|
167
|
+
(self-containment) governs every path and phrase. Every task needs:
|
|
99
168
|
id, title, depends_on (prerequisite ids), file_ownership (disjoint globs!),
|
|
100
169
|
acceptance criteria, and status left unset (resolver derives readiness).
|
|
101
|
-
|
|
170
|
+
**FETCH-SKILL pre-planning scan**: BEFORE finalizing the plan, test every
|
|
171
|
+
task's title/summary/file_ownership against assets/skill-registry.json
|
|
172
|
+
`matches` patterns and fetch any matched skill now
|
|
173
|
+
(references/mcp-and-skills.md § FETCH-SKILL procedure).
|
|
174
|
+
If `<slug>` already exists under `.archgen/`, pick `<slug>-2`, `<slug>-3`, …
|
|
175
|
+
— NEVER overwrite or merge into an existing feature folder.
|
|
176
|
+
4. **Self-check + registry:** run
|
|
102
177
|
`node <skill>/scripts/validate.mjs .archgen/<slug>/tasks.yaml`
|
|
103
|
-
Fix until exit 0.
|
|
178
|
+
Fix until exit 0. Then refresh the AGENTS.md features registry:
|
|
179
|
+
`node <skill>/scripts/update-agents.mjs <repo-root> --slug <slug> --status planned`.
|
|
180
|
+
Re-run it after ANY later artifact update so AGENTS.md never goes stale.
|
|
104
181
|
5. **VERIFIER GATE.** Dispatch a verifier sub-agent (brief in
|
|
105
182
|
references/orchestration.md §verifier). It must also run
|
|
106
183
|
`node <skill>/scripts/verify-plan.mjs .archgen/<slug>/tasks.yaml --plan .archgen/<slug>/plans`
|
|
107
|
-
and return APPROVE or an issues list
|
|
108
|
-
|
|
184
|
+
and return APPROVE or an issues list; when markdown artifacts exist under
|
|
185
|
+
`.archgen/<slug>/`, it additionally runs
|
|
186
|
+
`node <skill>/scripts/doc-index.mjs .archgen/<slug> --validate` — zero
|
|
187
|
+
broken references is required alongside verify-plan APPROVE. It may consult
|
|
188
|
+
`plan-graph.mjs --node <id>` neighborhoods when judging ordering sanity.
|
|
189
|
+
Fix issues and re-verify until APPROVE.
|
|
190
|
+
6. **PLAN-REVIEW.** After verifier APPROVE, dispatch reviewer sub-agent(s)
|
|
191
|
+
sized by scope class (references/orchestration.md §plan-review: SMALL —
|
|
192
|
+
main-agent self-review acceptable; MEDIUM — 1 reviewer; LARGE — 2–3 split
|
|
193
|
+
by concern). Attach `plan-graph.mjs --mermaid --status` output plus
|
|
194
|
+
`doc-index.mjs .archgen/<slug> --validate` results to the reviewer package
|
|
195
|
+
(the mermaid doubles as your wave-progress render). Reviewers are
|
|
196
|
+
read-only; YOU fix the artifacts, then re-run validate + the verifier gate
|
|
197
|
+
after every change. Iterate until zero findings or an explicit user waiver.
|
|
198
|
+
7. **USER GATE.** Present: artifact list, wave summary
|
|
109
199
|
(`node scripts/next-tasks.mjs .archgen/<slug>/tasks.yaml`), and the
|
|
110
200
|
ownership map. Ask: "Approve to start work?" [wait for user]
|
|
111
|
-
|
|
201
|
+
8. On approval → continue into START-WORK.
|
|
112
202
|
|
|
113
203
|
## BROWNFIELD (existing codebase)
|
|
114
204
|
|
|
115
205
|
1. Acknowledge + state that you'll survey before planning. [wait for user]
|
|
116
206
|
2. **SURVEY.** Dispatch survey sub-agent(s) (brief in
|
|
117
207
|
references/orchestration.md §survey). They analyze the current code —
|
|
118
|
-
prefer the codegraph MCP (`codegraph_explore`) when configured
|
|
119
|
-
structured grep/glob — and write
|
|
120
|
-
structure, modules, conventions,
|
|
208
|
+
prefer the codegraph MCP (`codegraph_explore`) when configured (offered at
|
|
209
|
+
Step 0 when absent), else structured grep/glob — and write
|
|
210
|
+
`.archgen/<slug>/codebase-map.md`: structure, modules, conventions,
|
|
211
|
+
affected surfaces for the requested feature.
|
|
121
212
|
3. Plan against the map: same artifact rules as GENERATE steps 3–4, but every
|
|
122
213
|
new task's file_ownership must be checked against the map so workers edit
|
|
123
214
|
real paths. New tasks integrate with any existing unfinished tasks.yaml.
|
|
124
|
-
|
|
215
|
+
Intent class is BROWNFIELD-FEATURE or BROWNFIELD-CHANGE
|
|
216
|
+
(references/interview.md): survey FIRST, ask only survey gaps.
|
|
217
|
+
4. Continue with GENERATE steps 4–8 (verifier gate → plan-review → user gate
|
|
218
|
+
→ start).
|
|
125
219
|
|
|
126
220
|
## START-WORK (wave execution loop)
|
|
127
221
|
|
|
@@ -132,22 +226,39 @@ Run from the target repo root where `.archgen/<slug>/` exists.
|
|
|
132
226
|
- Exit 2 (cycle) or 3 (ownership clash): fix tasks.yaml, re-run.
|
|
133
227
|
- `blockedByFailure` non-empty: report those tasks to the user; they stay
|
|
134
228
|
excluded until re-planned.
|
|
135
|
-
- Empty waves + nothing blocked: report completion, go to step
|
|
229
|
+
- Empty waves + nothing blocked: report completion, go to step 7.
|
|
136
230
|
2. Mark the wave running: for each task in wave 1,
|
|
137
231
|
`node scripts/set-status.mjs <tasks.yaml> <id> running`.
|
|
138
232
|
3. **Dispatch** per references/orchestration.md §dispatch:
|
|
139
|
-
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
233
|
+
- Use THIS platform's NATIVE sub-agent mechanism (Claude Code: background
|
|
234
|
+
Agent tool + worktree isolation; Cursor: background subagents;
|
|
235
|
+
Antigravity: invoke_subagent — full table in references/platforms.md).
|
|
236
|
+
- Mechanism missing, spawn failed, or sub-agent lacks tool permissions →
|
|
237
|
+
the MAIN AGENT EXECUTES THE TASK ITSELF, sequentially, respecting waves
|
|
238
|
+
and ownership globs. No user permission needed to self-execute.
|
|
239
|
+
- Switching to another harness/platform happens ONLY after telling the
|
|
240
|
+
user the concrete problem and getting explicit approval. NEVER
|
|
241
|
+
auto-spawn other CLIs or harnesses.
|
|
242
|
+
- One worker per task. The worker prompt is the FULL contract in
|
|
243
|
+
references/orchestration.md §dispatch ("Worker prompt contract") —
|
|
244
|
+
including running `plan-graph.mjs --node <id>` before writing code,
|
|
245
|
+
taking every path VERBATIM from tasks.yaml/architecture.yaml, and MAY
|
|
246
|
+
query `doc-index.mjs .archgen/<slug> --refs-to <their-task-id>` to find
|
|
247
|
+
the docs constraining their work. For
|
|
248
|
+
FETCH-SKILL-matched tasks, embed the follow-instruction sentence and
|
|
249
|
+
require the one-line `Skill compliance:` audit in the completion report
|
|
250
|
+
(references/mcp-and-skills.md § FETCH-SKILL procedure).
|
|
251
|
+
4. **Per-task closeout (Hard rule 6).** The moment EACH task finishes — same
|
|
252
|
+
turn: verify its `set-status done|failed` landed, mark its tracker/todo
|
|
253
|
+
item completed, refresh AGENTS.md via update-agents.mjs. Never let these
|
|
254
|
+
lag into the next dispatch.
|
|
255
|
+
5. After the wave settles: re-run next-tasks. Failed tasks are NOT retried
|
|
147
256
|
automatically — surface them, propose a fix task, [wait for user].
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
follow-ups
|
|
257
|
+
6. Repeat until no actionable tasks remain.
|
|
258
|
+
7. Final report: tasks done/failed/blocked, commits produced, suggested
|
|
259
|
+
follow-ups, and the per-feature completeness checklist (Hard rule 5),
|
|
260
|
+
which must include a clean `doc-index.mjs .archgen/<slug> --validate` run.
|
|
261
|
+
Update `.archgen/<slug>/plans/*.md` checkboxes if present.
|
|
151
262
|
|
|
152
263
|
## UPDATE (requirements changed mid-flight)
|
|
153
264
|
|
|
@@ -155,8 +266,12 @@ Run from the target repo root where `.archgen/<slug>/` exists.
|
|
|
155
266
|
`node scripts/impact.mjs <tasks.yaml> <taskId-or-path>`.
|
|
156
267
|
2. Apply the right-sizing rule again: edit only affected artifacts. New
|
|
157
268
|
requirements → new tasks appended with correct depends_on; obsolete pending
|
|
158
|
-
tasks → remove (never remove done tasks — history lives in git).
|
|
159
|
-
|
|
269
|
+
tasks → remove (never remove done tasks — history lives in git). Run the
|
|
270
|
+
FETCH-SKILL domain scan over new/changed tasks
|
|
271
|
+
(references/mcp-and-skills.md § FETCH-SKILL procedure).
|
|
272
|
+
3. Re-run validate + VERIFIER GATE on the changed set, then PLAN-REVIEW
|
|
273
|
+
(references/orchestration.md §plan-review, sized to the changed scope),
|
|
274
|
+
then USER GATE.
|
|
160
275
|
|
|
161
276
|
## ROLLBACK
|
|
162
277
|
|
|
@@ -166,6 +281,23 @@ Run from the target repo root where `.archgen/<slug>/` exists.
|
|
|
166
281
|
dependency order, plus status rewinds via set-status --force.
|
|
167
282
|
3. USER GATE (mandatory — destructive). Execute, mark statuses, verify build.
|
|
168
283
|
|
|
284
|
+
## INVESTIGATE (recurring issues after waves)
|
|
285
|
+
|
|
286
|
+
Trigger: the USER reports repetitive/recurring issues AFTER implementation
|
|
287
|
+
waves completed. Do NOT patch-fix. Follow references/orchestration.md
|
|
288
|
+
§investigate:
|
|
289
|
+
|
|
290
|
+
1. Size by complexity: SMALL scope → the main agent investigates directly;
|
|
291
|
+
larger → 1–3 investigator sub-agents split by suspected subsystem.
|
|
292
|
+
2. Investigators produce ALL FOUR: root-cause statement (one sentence),
|
|
293
|
+
evidence (files/lines/repro steps), blast radius (affected
|
|
294
|
+
tasks/artifacts), remediation plan. Token balance: read narrowly around
|
|
295
|
+
evidence — no whole-repo sweeps.
|
|
296
|
+
3. Remediation routes through the NORMAL gates as fresh fix tasks (new ids
|
|
297
|
+
inheriting the affected task's ownership globs): verifier → plan-review →
|
|
298
|
+
user. Patch-fixes without a root-cause statement are forbidden under this
|
|
299
|
+
protocol.
|
|
300
|
+
|
|
169
301
|
## INSTALL-MCP
|
|
170
302
|
|
|
171
303
|
When a needed MCP (e.g. codegraph, context7) is not configured:
|
|
@@ -173,32 +305,68 @@ When a needed MCP (e.g. codegraph, context7) is not configured:
|
|
|
173
305
|
1. Look up the CURRENT platform's MCP config in references/platforms.md
|
|
174
306
|
(config file, top-level key, field quirks — e.g. VS Code uses `servers`,
|
|
175
307
|
OpenCode uses `mcp` with array commands, Antigravity requires `serverUrl`).
|
|
176
|
-
2.
|
|
308
|
+
2. **Discover, don't recall.** If the correct CURRENT install command or
|
|
309
|
+
config shape for this harness is not known with confidence, WEB SEARCH the
|
|
310
|
+
official docs FIRST and act on what they say — memorized commands and
|
|
311
|
+
config shapes go stale (same discipline as the unknown-platform
|
|
312
|
+
procedure, Hard rule 7).
|
|
313
|
+
3. **Scope the install deliberately:** apply the discovered method at the
|
|
314
|
+
right scope — write into THAT detected harness's config shape, or perform
|
|
315
|
+
a GLOBAL install when the server type makes it appropriate (npx/npm-based
|
|
316
|
+
servers are global entries usable across harnesses). State the chosen
|
|
317
|
+
scope explicitly to the user BEFORE writing anything.
|
|
318
|
+
4. Prefer the platform CLI if listed (claude/codex/gemini/copilot mcp add …).
|
|
177
319
|
Otherwise draft the exact config diff and SHOW IT. [wait for user approval]
|
|
178
|
-
|
|
179
|
-
|
|
320
|
+
5. Write config only after approval. Note restart semantics from the table.
|
|
321
|
+
6. Verify: check the tool appears in your available tools after reload; if
|
|
180
322
|
not, report the failure mode honestly.
|
|
181
323
|
|
|
182
|
-
Unknown platform → web-search
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
324
|
+
Unknown platform → web-search procedure (Hard rule 7). The Step-0 codegraph
|
|
325
|
+
proposal reuses this exact approval pattern.
|
|
326
|
+
|
|
327
|
+
## FETCH-SKILL (mandatory capability loading)
|
|
328
|
+
|
|
329
|
+
Capability-skill loading is REQUIRED, not opportunistic — full procedure in
|
|
330
|
+
references/mcp-and-skills.md § FETCH-SKILL procedure. It runs TWICE per
|
|
331
|
+
matched task:
|
|
332
|
+
|
|
333
|
+
1. **Pre-planning scan.** While planning (GENERATE / BROWNFIELD / UPDATE),
|
|
334
|
+
test every task's title, summary, and file_ownership against the
|
|
335
|
+
`matches` patterns in assets/skill-registry.json (case-insensitive
|
|
336
|
+
substring). One hit = loading is mandatory for that task.
|
|
337
|
+
UI/design/frontend/animation/component/landing-page work REQUIRES
|
|
338
|
+
ui-skills (`policy: "required"`).
|
|
339
|
+
2. **Install once per project.** Resolve the CURRENT platform's skill dir
|
|
340
|
+
from references/platforms.md § Skill install paths. Already present →
|
|
341
|
+
skip reinstall (cache hit). Absent → run the entry's `install` command
|
|
342
|
+
(e.g. `npx skills add ibelick/ui-skills`) and VERIFY presence. Registry
|
|
343
|
+
keys are exactly name/purpose/repo/install/direct_fetch/browse/
|
|
344
|
+
mcp_endpoint/matches/policy.
|
|
345
|
+
3. **Pre-dispatch verification.** Immediately before dispatching each
|
|
346
|
+
matching worker: re-verify the match and that the skill is still present;
|
|
347
|
+
install first if missing. Dispatch does not proceed otherwise.
|
|
348
|
+
4. **Integrate + audit.** Inject the follow-instruction sentence from
|
|
349
|
+
references/mcp-and-skills.md into every affected worker prompt and require
|
|
350
|
+
a one-line `Skill compliance:` statement in its completion report.
|
|
351
|
+
5. **Missing capability.** Unmatched-but-obvious domain: web-search reputable
|
|
352
|
+
skill repos, propose to the user, add to the registry ONLY on explicit
|
|
353
|
+
approval.
|
|
196
354
|
|
|
197
355
|
## Things you must NOT do
|
|
198
356
|
|
|
199
357
|
- Do NOT write artifacts outside `.archgen/<slug>/`.
|
|
200
|
-
- Do NOT
|
|
201
|
-
|
|
358
|
+
- Do NOT reuse or overwrite an existing `.archgen/<slug>/` folder — suffix
|
|
359
|
+
`-2`, `-3`, … instead (multi-feature repos must stay isolated).
|
|
360
|
+
- Do NOT skip the verifier gate, the plan-review stage, or the user gate —
|
|
361
|
+
ever, even for SMALL scopes.
|
|
362
|
+
- Do NOT batch status updates at session end or dispatch a wave while any
|
|
363
|
+
completed task's status/todos lag (Hard rule 6).
|
|
364
|
+
- Do NOT auto-spawn another harness/CLI when sub-agents misbehave — execute
|
|
365
|
+
the task yourself, or ask the user first (references/orchestration.md
|
|
366
|
+
§dispatch).
|
|
367
|
+
- Do NOT implement features yourself while a functioning sub-agent mechanism
|
|
368
|
+
exists — dispatch workers. Self-execution is the default ONLY when the
|
|
369
|
+
mechanism is missing/failing (§dispatch).
|
|
202
370
|
- Do NOT put two same-wave tasks on overlapping file_ownership globs.
|
|
203
371
|
- Do NOT retry failed tasks without user consent.
|
|
204
372
|
- Do NOT modify MCP/skill configs silently — always show the diff first.
|
|
@@ -217,7 +385,8 @@ When a task domain matches an entry in `assets/skill-registry.json`
|
|
|
217
385
|
| Worker finishes but acceptance unmet | Mark failed, do NOT cascade, propose fix task |
|
|
218
386
|
| User interrupts mid-wave | Let running workers finish; stop before next wave |
|
|
219
387
|
| No Node ≥18 available | State requirement; offer npx-based alternative if present |
|
|
220
|
-
|
|
|
388
|
+
| Sub-agent mechanism missing/fails/lacks permissions | Main agent executes the task itself; cross-harness switch only after telling the user the concrete problem and getting explicit approval (references/orchestration.md §dispatch) |
|
|
389
|
+
| Recurring defects after waves completed | Switch to INVESTIGATE — root cause first, no patch-fixes |
|
|
221
390
|
|
|
222
391
|
## Scripts quick reference
|
|
223
392
|
|
|
@@ -225,6 +394,16 @@ When a task domain matches an entry in `assets/skill-registry.json`
|
|
|
225
394
|
scripts/next-tasks.mjs <tasks.yaml> # waves JSON
|
|
226
395
|
scripts/validate.mjs <tasks.yaml> [--plan <dir>] # exit 0/1
|
|
227
396
|
scripts/set-status.mjs <tasks.yaml> <id> <status> [--force]
|
|
397
|
+
scripts/update-agents.mjs <projectRoot> [--slug <s>] [--status <s>] [--prune]
|
|
398
|
+
# AGENTS.md features registry
|
|
228
399
|
scripts/impact.mjs <tasks.yaml> <id-or-artifactPath> # ripple JSON
|
|
229
400
|
scripts/verify-plan.mjs <tasks.yaml> --plan <dir> # APPROVE|ISSUES
|
|
401
|
+
scripts/plan-graph.mjs <slug-dir-or-tasks.yaml> [--node <id>] [--mermaid [--status]] [--module <name>]
|
|
402
|
+
# task-DAG queries: --node neighborhood, --mermaid graph,
|
|
403
|
+
# --module filter — generic code indexers do not extract YAML task graphs.
|
|
404
|
+
# Scope-hardened to .archgen/<slug>/ only; dedup-guaranteed output
|
|
405
|
+
scripts/doc-index.mjs <slug> [--validate|--refs-to <id>|--stale|--diagrams]
|
|
406
|
+
# markdown artifact map: heading tree, backlinks,
|
|
407
|
+
# broken-reference gate, staleness, diagram inventory.
|
|
408
|
+
# Same .archgen/<slug>/ scope lock; unique-ref counting, dup-definition checks
|
|
230
409
|
```
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "0.0.4",
|
|
3
|
+
"skillName": "archgen",
|
|
4
|
+
"markers": {
|
|
5
|
+
"start": "<!-- archgen:start (managed block - do not edit between markers) -->",
|
|
6
|
+
"end": "<!-- archgen:end -->",
|
|
7
|
+
"featuresStart": "<!-- archgen:features:start -->",
|
|
8
|
+
"featuresEnd": "<!-- archgen:features:end -->"
|
|
9
|
+
},
|
|
10
|
+
"files": {
|
|
11
|
+
"stamp": ".archgen-version",
|
|
12
|
+
"projectManifest": ".install-manifest.json",
|
|
13
|
+
"globalManifest": ".archgen-install-manifest.list",
|
|
14
|
+
"backupDir": ".backup"
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
{
|
|
2
|
-
"$schema": "./registry-schema-note.md",
|
|
3
2
|
"version": 1,
|
|
4
3
|
"skills": [
|
|
5
4
|
{
|
|
@@ -10,14 +9,16 @@
|
|
|
10
9
|
"direct_fetch": "npx ui-skills get <skill-name>",
|
|
11
10
|
"browse": "npx ui-skills list --category <category>",
|
|
12
11
|
"mcp_endpoint": "https://www.ui-skills.com/mcp",
|
|
13
|
-
"matches": ["frontend", "ui", "ux", "design", "component", "animation", "motion", "landing page"]
|
|
12
|
+
"matches": ["frontend", "ui", "ux", "design", "component", "animation", "motion", "landing page"],
|
|
13
|
+
"policy": "required"
|
|
14
14
|
},
|
|
15
15
|
{
|
|
16
16
|
"name": "vercel-skills-installer",
|
|
17
17
|
"purpose": "Canonical cross-harness skill installer (75+ agents) - use when a registry entry lacks a direct command",
|
|
18
18
|
"repo": "vercel-labs/skills",
|
|
19
19
|
"install": "npx skills add <owner>/<repo> [-a <agent>] [-g] [--copy]",
|
|
20
|
-
"matches": ["*installer*"]
|
|
20
|
+
"matches": ["*installer*"],
|
|
21
|
+
"policy": "on-demand"
|
|
21
22
|
}
|
|
22
23
|
]
|
|
23
24
|
}
|