artifact-chain-assistant 0.8.0 → 0.8.2
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/.claude-plugin/plugin.json +18 -3
- package/.codex-plugin/plugin.json +4 -13
- package/AGENT-METHOD-REGISTRY.md +238 -0
- package/AGENT-METHOD-REGISTRY.zh-CN.md +229 -0
- package/CHANGELOG.md +29 -0
- package/CONTRIBUTING.md +6 -1
- package/EXTENDED-ARTIFACT-CATALOG.md +3 -0
- package/EXTENDED-ARTIFACT-CATALOG.zh-CN.md +3 -0
- package/INSTALL.md +30 -16
- package/README.md +59 -275
- package/README.zh-CN.md +24 -176
- package/adapters/claude/.claude-plugin/plugin.json +18 -3
- package/adapters/claude/EXTENDED-ARTIFACT-CATALOG.md +3 -0
- package/adapters/claude/EXTENDED-ARTIFACT-CATALOG.zh-CN.md +3 -0
- package/adapters/claude/INSTALL.md +33 -16
- package/adapters/claude/agent-methods/catalog.yaml +40 -4
- package/adapters/claude/compatibility.json +4 -4
- package/adapters/claude/scripts/lib/compatibility-policy.mjs +0 -65
- package/adapters/claude/skills/artifact-chain-bootstrap/SKILL.md +1 -1
- package/adapters/claude/skills/artifact-chain-maintainer/SKILL.md +1 -1
- package/adapters/claude/skills/artifact-review/SKILL.md +1 -1
- package/adapters/claude/skills/help/SKILL.md +96 -0
- package/adapters/claude/skills/prd-feature/author/references/compose.md +43 -0
- package/adapters/claude/skills/prd-feature/author/references/inspect.md +94 -0
- package/adapters/claude/skills/prd-feature/author/references/validate.md +65 -0
- package/adapters/claude/skills/prd-feature/review/references/compose.md +43 -0
- package/adapters/claude/skills/prd-feature/review/references/inspect.md +94 -0
- package/adapters/claude/skills/prd-feature/review/references/validate.md +65 -0
- package/adapters/claude/skills/quickstart/SKILL.md +113 -0
- package/adapters/claude/skills/scenario-script/author/references/compose.md +43 -0
- package/adapters/claude/skills/scenario-script/author/references/inspect.md +105 -0
- package/adapters/claude/skills/scenario-script/author/references/validate.md +72 -0
- package/adapters/claude/skills/scenario-script/review/references/compose.md +43 -0
- package/adapters/claude/skills/scenario-script/review/references/inspect.md +105 -0
- package/adapters/claude/skills/scenario-script/review/references/validate.md +72 -0
- package/adapters/claude/skills/setup/SKILL.md +118 -0
- package/adapters/claude/skills/where-am-i/SKILL.md +1 -1
- package/adapters/codex/.codex-plugin/plugin.json +3 -12
- package/adapters/codex/EXTENDED-ARTIFACT-CATALOG.md +3 -0
- package/adapters/codex/EXTENDED-ARTIFACT-CATALOG.zh-CN.md +3 -0
- package/adapters/codex/INSTALL.md +33 -16
- package/adapters/codex/agent-methods/catalog.yaml +40 -4
- package/adapters/codex/compatibility.json +4 -4
- package/adapters/codex/scripts/lib/compatibility-policy.mjs +0 -65
- package/adapters/codex/skills/artifact-chain-bootstrap/SKILL.md +1 -1
- package/adapters/codex/skills/artifact-chain-maintainer/SKILL.md +1 -1
- package/adapters/codex/skills/artifact-review/SKILL.md +1 -1
- package/adapters/codex/skills/help/SKILL.md +96 -0
- package/adapters/codex/skills/prd-feature/author/references/compose.md +43 -0
- package/adapters/codex/skills/prd-feature/author/references/inspect.md +94 -0
- package/adapters/codex/skills/prd-feature/author/references/validate.md +65 -0
- package/adapters/codex/skills/prd-feature/review/references/compose.md +43 -0
- package/adapters/codex/skills/prd-feature/review/references/inspect.md +94 -0
- package/adapters/codex/skills/prd-feature/review/references/validate.md +65 -0
- package/adapters/codex/skills/quickstart/SKILL.md +113 -0
- package/adapters/codex/skills/scenario-script/author/references/compose.md +43 -0
- package/adapters/codex/skills/scenario-script/author/references/inspect.md +105 -0
- package/adapters/codex/skills/scenario-script/author/references/validate.md +72 -0
- package/adapters/codex/skills/scenario-script/review/references/compose.md +43 -0
- package/adapters/codex/skills/scenario-script/review/references/inspect.md +105 -0
- package/adapters/codex/skills/scenario-script/review/references/validate.md +72 -0
- package/adapters/codex/skills/setup/SKILL.md +118 -0
- package/adapters/codex/skills/where-am-i/SKILL.md +1 -1
- package/agent-methods/catalog.yaml +40 -4
- package/compatibility.json +4 -4
- package/package.json +5 -3
- package/scripts/build-adapters.mjs +22 -20
- package/scripts/check-method-registry.mjs +8 -5
- package/scripts/lib/compatibility-policy.mjs +0 -65
- package/scripts/sync-skills.mjs +169 -1
- package/skills/artifact-audit/SKILL.md +80 -0
- package/skills/artifact-batch/SKILL.md +115 -0
- package/skills/artifact-chain-bootstrap/SKILL.md +343 -0
- package/skills/artifact-chain-maintainer/SKILL.md +167 -0
- package/skills/artifact-generate/SKILL.md +89 -0
- package/skills/artifact-repair/SKILL.md +124 -0
- package/skills/artifact-review/SKILL.md +122 -0
- package/skills/artifact-workflow-worker/SKILL.md +90 -0
- package/skills/help/SKILL.md +96 -0
- package/skills/prd-feature/SKILL.md +68 -0
- package/skills/prd-feature/author/SKILL.md +92 -0
- package/skills/prd-feature/author/references/compose.md +43 -0
- package/skills/prd-feature/author/references/inspect.md +94 -0
- package/skills/prd-feature/author/references/validate.md +65 -0
- package/skills/prd-feature/references/compose.md +43 -0
- package/skills/prd-feature/references/inspect.md +94 -0
- package/skills/prd-feature/references/validate.md +65 -0
- package/skills/prd-feature/repair/SKILL.md +135 -0
- package/skills/prd-feature/review/SKILL.md +134 -0
- package/skills/prd-feature/review/references/compose.md +43 -0
- package/skills/prd-feature/review/references/inspect.md +94 -0
- package/skills/prd-feature/review/references/validate.md +65 -0
- package/skills/quickstart/SKILL.md +113 -0
- package/skills/scenario-script/SKILL.md +76 -0
- package/skills/scenario-script/author/SKILL.md +111 -0
- package/skills/scenario-script/author/references/compose.md +43 -0
- package/skills/scenario-script/author/references/inspect.md +105 -0
- package/skills/scenario-script/author/references/validate.md +72 -0
- package/skills/scenario-script/references/compose.md +43 -0
- package/skills/scenario-script/references/inspect.md +105 -0
- package/skills/scenario-script/references/validate.md +72 -0
- package/skills/scenario-script/repair/SKILL.md +135 -0
- package/skills/scenario-script/review/SKILL.md +137 -0
- package/skills/scenario-script/review/references/compose.md +43 -0
- package/skills/scenario-script/review/references/inspect.md +105 -0
- package/skills/scenario-script/review/references/validate.md +72 -0
- package/skills/setup/SKILL.md +118 -0
- package/skills/where-am-i/SKILL.md +233 -0
- package/skills-src/artifact-chain-bootstrap/SKILL.md +1 -1
- package/skills-src/artifact-chain-maintainer/SKILL.md +1 -1
- package/skills-src/artifact-review/SKILL.md +1 -1
- package/skills-src/help/SKILL.md +96 -0
- package/skills-src/quickstart/SKILL.md +113 -0
- package/skills-src/setup/SKILL.md +118 -0
- package/skills-src/where-am-i/SKILL.md.tpl +1 -1
- package/templates/claude/plugin.json.tpl +17 -2
- package/templates/codex/plugin.json.tpl +2 -11
- package/.agents/plugins/marketplace.json +0 -20
- package/.claude-plugin/marketplace.json +0 -20
- package/templates/claude/marketplace.json.tpl +0 -20
- package/templates/codex/marketplace.json.tpl +0 -20
|
@@ -1,11 +1,26 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "artifact-chain-assistant",
|
|
3
|
-
"
|
|
4
|
-
"version": "0.8.0",
|
|
3
|
+
"version": "0.8.2",
|
|
5
4
|
"description": "Artifact-chain intake, review/repair/batch/audit workflows, diagnostics, hooks, and version-lock maintenance helpers.",
|
|
6
5
|
"author": {
|
|
7
6
|
"name": "Artifact Graph Maintainers"
|
|
8
7
|
},
|
|
9
8
|
"license": "Apache-2.0",
|
|
10
|
-
"keywords": ["artifact-graph", "traceability", "codex", "claude-code"]
|
|
9
|
+
"keywords": ["artifact-graph", "traceability", "codex", "claude-code"],
|
|
10
|
+
"skills": "./skills/",
|
|
11
|
+
"interface": {
|
|
12
|
+
"displayName": "Artifact Chain Assistant",
|
|
13
|
+
"shortDescription": "Artifact-chain context, review workflows, and version-lock maintenance.",
|
|
14
|
+
"longDescription": "Reusable skills for artifact-graph projects, including intake routing, generic artifact review/repair/batch/audit workflows, diagnostics, and version-lock refresh guidance.",
|
|
15
|
+
"developerName": "Artifact Graph Maintainers",
|
|
16
|
+
"category": "Productivity",
|
|
17
|
+
"capabilities": ["Write"],
|
|
18
|
+
"defaultPrompt": [
|
|
19
|
+
"Check where this artifact-chain task should start.",
|
|
20
|
+
"Review a design-spec artifact for traceability and completeness.",
|
|
21
|
+
"Run a batch review on multiple artifacts.",
|
|
22
|
+
"Refresh version locks for my staged changes.",
|
|
23
|
+
"Run artifact-chain doctor for this project."
|
|
24
|
+
]
|
|
25
|
+
}
|
|
11
26
|
}
|
|
@@ -1,27 +1,18 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "artifact-chain-assistant",
|
|
3
|
-
"
|
|
3
|
+
"displayName": "Artifact Chain Assistant",
|
|
4
|
+
"version": "0.8.2",
|
|
4
5
|
"description": "Artifact-chain intake, review/repair/batch/audit workflows, diagnostics, and version-lock maintenance helpers.",
|
|
5
6
|
"author": {
|
|
6
7
|
"name": "Artifact Graph Maintainers"
|
|
7
8
|
},
|
|
8
9
|
"license": "Apache-2.0",
|
|
9
10
|
"keywords": ["artifact-graph", "traceability", "codex", "claude-code"],
|
|
10
|
-
"skills": "./skills/",
|
|
11
|
+
"skills": "./adapters/codex/skills/",
|
|
11
12
|
"hooks": {},
|
|
12
13
|
"interface": {
|
|
13
14
|
"displayName": "Artifact Chain Assistant",
|
|
14
15
|
"shortDescription": "Artifact-chain context, review workflows, and version-lock maintenance.",
|
|
15
|
-
"
|
|
16
|
-
"developerName": "Artifact Graph Maintainers",
|
|
17
|
-
"category": "Productivity",
|
|
18
|
-
"capabilities": ["Write"],
|
|
19
|
-
"defaultPrompt": [
|
|
20
|
-
"Check where this artifact-chain task should start.",
|
|
21
|
-
"Review a design-spec artifact for traceability and completeness.",
|
|
22
|
-
"Run a batch review on multiple artifacts.",
|
|
23
|
-
"Refresh version locks for my staged changes.",
|
|
24
|
-
"Run artifact-chain doctor for this project."
|
|
25
|
-
]
|
|
16
|
+
"category": "Productivity"
|
|
26
17
|
}
|
|
27
18
|
}
|
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
# Agent Method Registry
|
|
2
|
+
|
|
3
|
+
[中文](AGENT-METHOD-REGISTRY.zh-CN.md)
|
|
4
|
+
|
|
5
|
+
The plugin bundles a deterministic agent-method-registry integration covering catalog resolution,
|
|
6
|
+
provider verification, and CLI diagnostics.
|
|
7
|
+
|
|
8
|
+
## Default Catalog
|
|
9
|
+
|
|
10
|
+
The default catalog is at `<plugin-root>/agent-methods/catalog.yaml` and registers **13 workflow
|
|
11
|
+
entries**: 8 specialized entries across the `prd-feature` and `scenario-script` families plus 5
|
|
12
|
+
generic review, repair, batch, audit, and generate entries. Generic entries exclude PRD/scenario
|
|
13
|
+
types, so every supported type+intent query remains unique.
|
|
14
|
+
|
|
15
|
+
The catalog also includes 3 `kind: operation` entries (`artifact.help`, `artifact.setup`,
|
|
16
|
+
`artifact.quickstart`) for read-only discovery and diagnostics; they are not workflow entries
|
|
17
|
+
and are omitted from the table below.
|
|
18
|
+
|
|
19
|
+
| Ref | Family | Entry |
|
|
20
|
+
|-----|--------|-------|
|
|
21
|
+
| `artifact.prd-feature.default` | prd-feature | Default routing entry |
|
|
22
|
+
| `artifact.prd-feature.author` | prd-feature | Author |
|
|
23
|
+
| `artifact.prd-feature.review` | prd-feature | Review |
|
|
24
|
+
| `artifact.prd-feature.repair` | prd-feature | Repair |
|
|
25
|
+
| `artifact.scenario-script.default` | scenario-script | Default routing entry |
|
|
26
|
+
| `artifact.scenario-script.author` | scenario-script | Author |
|
|
27
|
+
| `artifact.scenario-script.review` | scenario-script | Review |
|
|
28
|
+
| `artifact.scenario-script.repair` | scenario-script | Repair |
|
|
29
|
+
| `artifact.review` | artifact-review | Review |
|
|
30
|
+
| `artifact.repair` | artifact-repair | Repair |
|
|
31
|
+
| `artifact.batch` | artifact-batch | Batch |
|
|
32
|
+
| `artifact.audit` | artifact-audit | Audit / health |
|
|
33
|
+
| `artifact.generate` | artifact-generate | Generate |
|
|
34
|
+
|
|
35
|
+
## Standalone Install
|
|
36
|
+
|
|
37
|
+
Install `agent-method-registry@0.2.0` as a separate dependency if you only need the registry
|
|
38
|
+
capabilities:
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
npm install agent-method-registry@0.2.0
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
The CLI is available as `agent-method-registry` after installation.
|
|
45
|
+
|
|
46
|
+
## Building the Effective Index
|
|
47
|
+
|
|
48
|
+
The effective index is built from the catalog plus an optional project overlay. First, locate
|
|
49
|
+
the installed plugin root from the host CLI. Do **not** use `require.resolve` — marketplace
|
|
50
|
+
installations do not place the plugin into the target project's `node_modules`.
|
|
51
|
+
|
|
52
|
+
**Codex** — use `codex plugin list --json` and the `CODEX_HOME` cache layout:
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
export CODEX_HOME="${CODEX_HOME:-$HOME/.codex}"
|
|
56
|
+
PLUGIN_ROOT=$(codex plugin list --json 2>/dev/null \
|
|
57
|
+
| node -e "
|
|
58
|
+
let d='';process.stdin.on('data',c=>d+=c);process.stdin.on('end',()=>{
|
|
59
|
+
const data=JSON.parse(d);
|
|
60
|
+
const p=data.installed.find(x=>x.pluginId==='artifact-chain-assistant@artifact-skill-set');
|
|
61
|
+
if(!p||!p.installed||!p.enabled||!p.marketplaceName||!p.name||!p.version){process.stderr.write('artifact-chain-assistant record incomplete\n');process.exit(1);}
|
|
62
|
+
console.log(require('path').join(process.env.CODEX_HOME,'plugins','cache',p.marketplaceName,p.name,p.version));
|
|
63
|
+
});
|
|
64
|
+
")
|
|
65
|
+
[ -f "$PLUGIN_ROOT/agent-methods/catalog.yaml" ] || { echo "catalog not found at $PLUGIN_ROOT"; exit 1; }
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
**Claude Code** — use `claude plugin list --json` and `installPath` directly:
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
PLUGIN_ROOT=$(claude plugin list --json 2>/dev/null \
|
|
72
|
+
| node -e "
|
|
73
|
+
let d='';process.stdin.on('data',c=>d+=c);process.stdin.on('end',()=>{
|
|
74
|
+
const p=JSON.parse(d).find(x=>x.id==='artifact-chain-assistant@artifact-skill-set');
|
|
75
|
+
if(!p||!p.enabled||!p.installPath){process.stderr.write('artifact-chain-assistant not found, not enabled, or installPath missing\n');process.exit(1);}
|
|
76
|
+
console.log(p.installPath);
|
|
77
|
+
});
|
|
78
|
+
")
|
|
79
|
+
[ -f "$PLUGIN_ROOT/agent-methods/catalog.yaml" ] || { echo "catalog not found at $PLUGIN_ROOT"; exit 1; }
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
> For monorepo development only, the source checkout plugin root is `plugins/artifact-chain-assistant`.
|
|
83
|
+
> Marketplace users must use the host CLI discovery above.
|
|
84
|
+
|
|
85
|
+
After resolving `PLUGIN_ROOT`, verify the target project before running a generic workflow. This
|
|
86
|
+
check is read-only:
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
node "$PLUGIN_ROOT/scripts/check-workflow-profile.mjs" \
|
|
90
|
+
--root . --action review --domain design-spec --format json
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
Exit code 0 means the required project marker and worker mapping exist. Exit code 2 returns
|
|
94
|
+
`NEEDS_INPUT`; add the missing project profile or worker instead of claiming workflow success.
|
|
95
|
+
|
|
96
|
+
For batch operations, use the split and merge scripts from the same resolved plugin root:
|
|
97
|
+
|
|
98
|
+
```bash
|
|
99
|
+
# Split artifacts into batches (JSON array to stdout)
|
|
100
|
+
node "$PLUGIN_ROOT/scripts/batch-split.mjs" ./artifacts/design --batch-size 40000
|
|
101
|
+
|
|
102
|
+
# Merge batch results from a results directory (merged JSON to stdout)
|
|
103
|
+
node "$PLUGIN_ROOT/scripts/batch-merge.mjs" ./batch-results --run-id my-run
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
Then build the index:
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
# Catalog only (no project provider)
|
|
110
|
+
agent-method-registry index \
|
|
111
|
+
--catalog "$PLUGIN_ROOT/agent-methods/catalog.yaml" \
|
|
112
|
+
--out .agent-method-registry/effective-index.json
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
When no project provider file exists, the registry does **not** create an empty overlay file.
|
|
116
|
+
It builds the effective index from the catalog alone. The `--project` flag is only needed when
|
|
117
|
+
the project defines overrides or disables:
|
|
118
|
+
|
|
119
|
+
```bash
|
|
120
|
+
# Catalog + project overlay
|
|
121
|
+
agent-method-registry index \
|
|
122
|
+
--catalog "$PLUGIN_ROOT/agent-methods/catalog.yaml" \
|
|
123
|
+
--project agent-methods/project.yaml \
|
|
124
|
+
--out .agent-method-registry/effective-index.json
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
## Project-Level Override
|
|
128
|
+
|
|
129
|
+
When the target project defines its own complete entries, put an
|
|
130
|
+
`agent-methods/project.yaml` file in the project root. For example, to override the default
|
|
131
|
+
`prd-feature` routing entry with a project-local skill:
|
|
132
|
+
|
|
133
|
+
```yaml
|
|
134
|
+
schemaVersion: 1
|
|
135
|
+
overrides:
|
|
136
|
+
artifact.prd-feature.default:
|
|
137
|
+
provider:
|
|
138
|
+
scope: project
|
|
139
|
+
skill: prd-feature
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
The project overlay can also add new entries (via `entries`) and disable plugin entries
|
|
143
|
+
(via `disabled`).
|
|
144
|
+
|
|
145
|
+
## Effective Index Is a Generated Cache
|
|
146
|
+
|
|
147
|
+
`.agent-method-registry/effective-index.json` is a **generated build artifact**, not a source
|
|
148
|
+
of truth. It is derived from `catalog.yaml` plus the optional `project.yaml` overlay.
|
|
149
|
+
|
|
150
|
+
- Do not edit it manually.
|
|
151
|
+
- Rebuild it when the catalog or project overlay changes.
|
|
152
|
+
- Do not commit it to version control unless the project explicitly opts in.
|
|
153
|
+
|
|
154
|
+
## Compact Query for Planners
|
|
155
|
+
|
|
156
|
+
Use `--format compact` to get a minimal view for planning. Compact queries return only
|
|
157
|
+
`ref`, `kind`, and `summary` -- enough for the planner to select an entry without loading
|
|
158
|
+
full metadata. After selection, use `resolve` to get the provider path:
|
|
159
|
+
|
|
160
|
+
```bash
|
|
161
|
+
# Compact query: planner sees ref/kind/summary only
|
|
162
|
+
agent-method-registry query \
|
|
163
|
+
--index .agent-method-registry/effective-index.json \
|
|
164
|
+
--domain artifact --artifact-type prd-feature \
|
|
165
|
+
--kind workflow --format compact
|
|
166
|
+
|
|
167
|
+
# Resolve after selection: get full provider path
|
|
168
|
+
agent-method-registry resolve \
|
|
169
|
+
--index .agent-method-registry/effective-index.json \
|
|
170
|
+
--ref artifact.prd-feature.author \
|
|
171
|
+
--host claude-code \
|
|
172
|
+
--plugin-root "$PLUGIN_ROOT/skills"
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
## Closed-Loop Workflow Entries
|
|
176
|
+
|
|
177
|
+
All 8 specialized entries have `kind: workflow`. A `workflow` entry is a **closed-loop leaf** -- it
|
|
178
|
+
self-completes its own inspect, compose, review, validate, and repair cycle. The outer
|
|
179
|
+
planner should not schedule separate review or repair steps for a workflow entry.
|
|
180
|
+
|
|
181
|
+
## Registry Unavailable: Fallback Behavior
|
|
182
|
+
|
|
183
|
+
When `agent-method-registry` is not installed or the effective index does not exist,
|
|
184
|
+
`where-am-i` follows this behavior:
|
|
185
|
+
|
|
186
|
+
1. Outputs a `"registry unavailable"` diagnostic.
|
|
187
|
+
2. For contract-backed services, returns `NEEDS_INPUT` with registry unavailable message — **no fallback to builtin or config routing**.
|
|
188
|
+
3. For generic non-contract-backed entries, may fall back to existing project configuration and plugin routing logic.
|
|
189
|
+
4. Does **not** attempt to merge catalogs manually or create an empty effective index.
|
|
190
|
+
|
|
191
|
+
## Locating the Plugin Root
|
|
192
|
+
|
|
193
|
+
To find the installed plugin root, use your host CLI. Do **not** use `require.resolve` —
|
|
194
|
+
marketplace installations do not place the plugin into the target project's `node_modules`.
|
|
195
|
+
|
|
196
|
+
**Codex**:
|
|
197
|
+
|
|
198
|
+
```bash
|
|
199
|
+
export CODEX_HOME="${CODEX_HOME:-$HOME/.codex}"
|
|
200
|
+
PLUGIN_ROOT=$(codex plugin list --json 2>/dev/null \
|
|
201
|
+
| node -e "
|
|
202
|
+
let d='';process.stdin.on('data',c=>d+=c);process.stdin.on('end',()=>{
|
|
203
|
+
const data=JSON.parse(d);
|
|
204
|
+
const p=data.installed.find(x=>x.pluginId==='artifact-chain-assistant@artifact-skill-set');
|
|
205
|
+
if(!p||!p.installed||!p.enabled||!p.marketplaceName||!p.name||!p.version){process.stderr.write('plugin record incomplete\n');process.exit(1);}
|
|
206
|
+
console.log(require('path').join(process.env.CODEX_HOME,'plugins','cache',p.marketplaceName,p.name,p.version));
|
|
207
|
+
});
|
|
208
|
+
")
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
**Claude Code**:
|
|
212
|
+
|
|
213
|
+
```bash
|
|
214
|
+
PLUGIN_ROOT=$(claude plugin list --json 2>/dev/null \
|
|
215
|
+
| node -e "
|
|
216
|
+
let d='';process.stdin.on('data',c=>d+=c);process.stdin.on('end',()=>{
|
|
217
|
+
const p=JSON.parse(d).find(x=>x.id==='artifact-chain-assistant@artifact-skill-set');
|
|
218
|
+
if(!p||!p.enabled||!p.installPath){process.stderr.write('plugin not found, not enabled, or installPath missing\n');process.exit(1);}
|
|
219
|
+
console.log(p.installPath);
|
|
220
|
+
});
|
|
221
|
+
")
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
Then use it in resolve commands:
|
|
225
|
+
|
|
226
|
+
```bash
|
|
227
|
+
agent-method-registry resolve \
|
|
228
|
+
--index .agent-method-registry/effective-index.json \
|
|
229
|
+
--ref artifact.prd-feature.author \
|
|
230
|
+
--host codex \
|
|
231
|
+
--plugin-root "$PLUGIN_ROOT/skills"
|
|
232
|
+
|
|
233
|
+
agent-method-registry resolve \
|
|
234
|
+
--index .agent-method-registry/effective-index.json \
|
|
235
|
+
--ref artifact.prd-feature.author \
|
|
236
|
+
--host claude-code \
|
|
237
|
+
--plugin-root "$PLUGIN_ROOT/skills"
|
|
238
|
+
```
|
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
# Agent Method Registry(代理方法注册表)
|
|
2
|
+
|
|
3
|
+
[English](AGENT-METHOD-REGISTRY.md)
|
|
4
|
+
|
|
5
|
+
插件内置了确定性的 agent-method-registry 集成,提供目录解析、provider 验证和 CLI 诊断。
|
|
6
|
+
|
|
7
|
+
## 默认目录
|
|
8
|
+
|
|
9
|
+
默认目录位于 `<plugin-root>/agent-methods/catalog.yaml`,注册了 **13 个 workflow 入口**:
|
|
10
|
+
`prd-feature` 和 `scenario-script` 两个技能族的 8 个专业入口,加上 review、repair、
|
|
11
|
+
batch、audit、generate 五个通用入口。通用入口不含 PRD/场景类型,因此每个受支持的
|
|
12
|
+
type+intent 查询都唯一命中。
|
|
13
|
+
|
|
14
|
+
目录还包含 3 个 `kind: operation` 条目(`artifact.help`、`artifact.setup`、
|
|
15
|
+
`artifact.quickstart`),用于只读发现和诊断;它们不是 workflow 入口,下表省略。
|
|
16
|
+
|
|
17
|
+
| Ref | 技能族 | 入口 |
|
|
18
|
+
|-----|--------|------|
|
|
19
|
+
| `artifact.prd-feature.default` | prd-feature | 默认路由入口 |
|
|
20
|
+
| `artifact.prd-feature.author` | prd-feature | 编写 |
|
|
21
|
+
| `artifact.prd-feature.review` | prd-feature | 审阅 |
|
|
22
|
+
| `artifact.prd-feature.repair` | prd-feature | 修复 |
|
|
23
|
+
| `artifact.scenario-script.default` | scenario-script | 默认路由入口 |
|
|
24
|
+
| `artifact.scenario-script.author` | scenario-script | 编写 |
|
|
25
|
+
| `artifact.scenario-script.review` | scenario-script | 审阅 |
|
|
26
|
+
| `artifact.scenario-script.repair` | scenario-script | 修复 |
|
|
27
|
+
| `artifact.review` | artifact-review | 审阅 |
|
|
28
|
+
| `artifact.repair` | artifact-repair | 修复 |
|
|
29
|
+
| `artifact.batch` | artifact-batch | 批处理 |
|
|
30
|
+
| `artifact.audit` | artifact-audit | 审计 / health |
|
|
31
|
+
| `artifact.generate` | artifact-generate | 生成 |
|
|
32
|
+
|
|
33
|
+
## 单独安装
|
|
34
|
+
|
|
35
|
+
只需要注册表能力时,可以单独安装 `agent-method-registry@0.2.0`:
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
npm install agent-method-registry@0.2.0
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
安装后即可使用 `agent-method-registry` CLI。
|
|
42
|
+
|
|
43
|
+
## 构建有效索引
|
|
44
|
+
|
|
45
|
+
有效索引由目录加上可选的项目覆盖层构建。首先通过宿主 CLI 定位已安装的插件根目录。
|
|
46
|
+
**不要**使用 `require.resolve`——marketplace 安装不会把插件放进目标项目的 `node_modules`。
|
|
47
|
+
|
|
48
|
+
**Codex**——使用 `codex plugin list --json` 和 `CODEX_HOME` 缓存布局:
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
export CODEX_HOME="${CODEX_HOME:-$HOME/.codex}"
|
|
52
|
+
PLUGIN_ROOT=$(codex plugin list --json 2>/dev/null \
|
|
53
|
+
| node -e "
|
|
54
|
+
let d='';process.stdin.on('data',c=>d+=c);process.stdin.on('end',()=>{
|
|
55
|
+
const data=JSON.parse(d);
|
|
56
|
+
const p=data.installed.find(x=>x.pluginId==='artifact-chain-assistant@artifact-skill-set');
|
|
57
|
+
if(!p||!p.installed||!p.enabled||!p.marketplaceName||!p.name||!p.version){process.stderr.write('artifact-chain-assistant record incomplete\n');process.exit(1);}
|
|
58
|
+
console.log(require('path').join(process.env.CODEX_HOME,'plugins','cache',p.marketplaceName,p.name,p.version));
|
|
59
|
+
});
|
|
60
|
+
")
|
|
61
|
+
[ -f "$PLUGIN_ROOT/agent-methods/catalog.yaml" ] || { echo "catalog not found at $PLUGIN_ROOT"; exit 1; }
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
**Claude Code**——使用 `claude plugin list --json` 和 `installPath`:
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
PLUGIN_ROOT=$(claude plugin list --json 2>/dev/null \
|
|
68
|
+
| node -e "
|
|
69
|
+
let d='';process.stdin.on('data',c=>d+=c);process.stdin.on('end',()=>{
|
|
70
|
+
const p=JSON.parse(d).find(x=>x.id==='artifact-chain-assistant@artifact-skill-set');
|
|
71
|
+
if(!p||!p.enabled||!p.installPath){process.stderr.write('artifact-chain-assistant not found, not enabled, or installPath missing\n');process.exit(1);}
|
|
72
|
+
console.log(p.installPath);
|
|
73
|
+
});
|
|
74
|
+
")
|
|
75
|
+
[ -f "$PLUGIN_ROOT/agent-methods/catalog.yaml" ] || { echo "catalog not found at $PLUGIN_ROOT"; exit 1; }
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
> 仅限 monorepo 开发时,源码检出的插件根目录为 `plugins/artifact-chain-assistant`。
|
|
79
|
+
> 市场用户必须使用上述宿主 CLI 发现方式。
|
|
80
|
+
|
|
81
|
+
定位 `PLUGIN_ROOT` 后,运行通用工作流前先验证目标项目(只读):
|
|
82
|
+
|
|
83
|
+
```bash
|
|
84
|
+
node "$PLUGIN_ROOT/scripts/check-workflow-profile.mjs" \
|
|
85
|
+
--root . --action review --domain design-spec --format json
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
退出码 0 表示所需的项目标记和 worker 映射均存在。退出码 2 返回 `NEEDS_INPUT`;
|
|
89
|
+
请补充缺失的项目 profile 或 worker,而非声称工作流已成功。
|
|
90
|
+
|
|
91
|
+
批量操作使用同一插件根目录下的切分和合并脚本:
|
|
92
|
+
|
|
93
|
+
```bash
|
|
94
|
+
# 切分制品为批次(JSON 数组输出到 stdout)
|
|
95
|
+
node "$PLUGIN_ROOT/scripts/batch-split.mjs" ./artifacts/design --batch-size 40000
|
|
96
|
+
|
|
97
|
+
# 从结果目录合并批次结果(合并后的 JSON 输出到 stdout)
|
|
98
|
+
node "$PLUGIN_ROOT/scripts/batch-merge.mjs" ./batch-results --run-id my-run
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
然后构建索引:
|
|
102
|
+
|
|
103
|
+
```bash
|
|
104
|
+
# 仅目录(无项目 provider)
|
|
105
|
+
agent-method-registry index \
|
|
106
|
+
--catalog "$PLUGIN_ROOT/agent-methods/catalog.yaml" \
|
|
107
|
+
--out .agent-method-registry/effective-index.json
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
项目没有 provider 文件时,注册表**不会**创建空的覆盖层文件,只根据目录构建有效索引。
|
|
111
|
+
只有项目定义了覆盖或禁用项时才需要 `--project` 参数:
|
|
112
|
+
|
|
113
|
+
```bash
|
|
114
|
+
# 目录 + 项目覆盖层
|
|
115
|
+
agent-method-registry index \
|
|
116
|
+
--catalog "$PLUGIN_ROOT/agent-methods/catalog.yaml" \
|
|
117
|
+
--project agent-methods/project.yaml \
|
|
118
|
+
--out .agent-method-registry/effective-index.json
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
## 项目级覆盖
|
|
122
|
+
|
|
123
|
+
目标项目有自己的完整入口定义时,在项目根目录放置 `agent-methods/project.yaml`。
|
|
124
|
+
例如把默认的 `prd-feature` 路由入口覆盖为项目本地技能:
|
|
125
|
+
|
|
126
|
+
```yaml
|
|
127
|
+
schemaVersion: 1
|
|
128
|
+
overrides:
|
|
129
|
+
artifact.prd-feature.default:
|
|
130
|
+
provider:
|
|
131
|
+
scope: project
|
|
132
|
+
skill: prd-feature
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
项目覆盖层还可以通过 `entries` 添加新入口、通过 `disabled` 禁用插件入口。
|
|
136
|
+
|
|
137
|
+
## 有效索引是生成缓存
|
|
138
|
+
|
|
139
|
+
`.agent-method-registry/effective-index.json` 是**生成的构建产物**,不是事实来源,
|
|
140
|
+
由 `catalog.yaml` 加上可选的 `project.yaml` 覆盖层派生而来。
|
|
141
|
+
|
|
142
|
+
- 不要手工编辑。
|
|
143
|
+
- 目录或项目覆盖层变更后要重新构建。
|
|
144
|
+
- 除非项目明确选择提交,否则不要纳入版本控制。
|
|
145
|
+
|
|
146
|
+
## 面向规划器的紧凑查询
|
|
147
|
+
|
|
148
|
+
用 `--format compact` 获取规划所需的最小视图。紧凑查询只返回 `ref`、`kind` 和
|
|
149
|
+
`summary`,规划器据此选定入口即可,无需加载完整元数据;选定后再用 `resolve` 获取
|
|
150
|
+
provider 路径:
|
|
151
|
+
|
|
152
|
+
```bash
|
|
153
|
+
# 紧凑查询:规划器只看到 ref/kind/summary
|
|
154
|
+
agent-method-registry query \
|
|
155
|
+
--index .agent-method-registry/effective-index.json \
|
|
156
|
+
--domain artifact --artifact-type prd-feature \
|
|
157
|
+
--kind workflow --format compact
|
|
158
|
+
|
|
159
|
+
# 选定后解析:获取完整提供者路径
|
|
160
|
+
agent-method-registry resolve \
|
|
161
|
+
--index .agent-method-registry/effective-index.json \
|
|
162
|
+
--ref artifact.prd-feature.author \
|
|
163
|
+
--host claude-code \
|
|
164
|
+
--plugin-root "$PLUGIN_ROOT/skills"
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
## 闭环 workflow 入口
|
|
168
|
+
|
|
169
|
+
8 个专业入口的 `kind` 均为 `workflow`。`workflow` 入口是**闭环叶子**:进入后自行完成
|
|
170
|
+
inspect、compose、review、validate、repair 整个循环,外层规划器不要再为它安排独立的
|
|
171
|
+
review 或 repair 步骤。
|
|
172
|
+
|
|
173
|
+
## Registry 不可用时的 fallback 行为
|
|
174
|
+
|
|
175
|
+
`agent-method-registry` 未安装或有效索引不存在时,`where-am-i` 按以下方式回退:
|
|
176
|
+
|
|
177
|
+
1. 输出 `"registry unavailable"` 诊断信息。
|
|
178
|
+
2. 对于有契约支撑的服务,返回 `NEEDS_INPUT` 并附带 registry 不可用信息——**不会回落到内置或配置路由**。
|
|
179
|
+
3. 对于无契约支撑的通用条目,可回落到现有项目配置和插件路由逻辑。
|
|
180
|
+
4. **不会**尝试手工合并目录,也不会创建空的有效索引。
|
|
181
|
+
|
|
182
|
+
## 定位插件根目录
|
|
183
|
+
|
|
184
|
+
用宿主 CLI 查找已安装的插件根目录。**不要**使用 `require.resolve`——marketplace 安装
|
|
185
|
+
不会把插件放进目标项目的 `node_modules`。
|
|
186
|
+
|
|
187
|
+
**Codex**:
|
|
188
|
+
|
|
189
|
+
```bash
|
|
190
|
+
export CODEX_HOME="${CODEX_HOME:-$HOME/.codex}"
|
|
191
|
+
PLUGIN_ROOT=$(codex plugin list --json 2>/dev/null \
|
|
192
|
+
| node -e "
|
|
193
|
+
let d='';process.stdin.on('data',c=>d+=c);process.stdin.on('end',()=>{
|
|
194
|
+
const data=JSON.parse(d);
|
|
195
|
+
const p=data.installed.find(x=>x.pluginId==='artifact-chain-assistant@artifact-skill-set');
|
|
196
|
+
if(!p||!p.installed||!p.enabled||!p.marketplaceName||!p.name||!p.version){process.stderr.write('plugin record incomplete\n');process.exit(1);}
|
|
197
|
+
console.log(require('path').join(process.env.CODEX_HOME,'plugins','cache',p.marketplaceName,p.name,p.version));
|
|
198
|
+
});
|
|
199
|
+
")
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
**Claude Code**:
|
|
203
|
+
|
|
204
|
+
```bash
|
|
205
|
+
PLUGIN_ROOT=$(claude plugin list --json 2>/dev/null \
|
|
206
|
+
| node -e "
|
|
207
|
+
let d='';process.stdin.on('data',c=>d+=c);process.stdin.on('end',()=>{
|
|
208
|
+
const p=JSON.parse(d).find(x=>x.id==='artifact-chain-assistant@artifact-skill-set');
|
|
209
|
+
if(!p||!p.enabled||!p.installPath){process.stderr.write('plugin not found, not enabled, or installPath missing\n');process.exit(1);}
|
|
210
|
+
console.log(p.installPath);
|
|
211
|
+
});
|
|
212
|
+
")
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
然后在 resolve 命令中使用:
|
|
216
|
+
|
|
217
|
+
```bash
|
|
218
|
+
agent-method-registry resolve \
|
|
219
|
+
--index .agent-method-registry/effective-index.json \
|
|
220
|
+
--ref artifact.prd-feature.author \
|
|
221
|
+
--host codex \
|
|
222
|
+
--plugin-root "$PLUGIN_ROOT/skills"
|
|
223
|
+
|
|
224
|
+
agent-method-registry resolve \
|
|
225
|
+
--index .agent-method-registry/effective-index.json \
|
|
226
|
+
--ref artifact.prd-feature.author \
|
|
227
|
+
--host claude-code \
|
|
228
|
+
--plugin-root "$PLUGIN_ROOT/skills"
|
|
229
|
+
```
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,34 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.8.2
|
|
4
|
+
|
|
5
|
+
### Fixed
|
|
6
|
+
|
|
7
|
+
- **Nested `author/review` skill reference file projection**: `sync-skills.mjs` now correctly
|
|
8
|
+
projects family-level reference files (`references/{inspect,compose,validate}.md`) into nested
|
|
9
|
+
`author/review` skill directories for `prd-feature` and `scenario-script` families. Both Codex
|
|
10
|
+
and Claude Code adapter surfaces, as well as the root `skills/` tree, include the projected
|
|
11
|
+
reference files. Skills that do not consume reference files no longer receive stale copies.
|
|
12
|
+
|
|
13
|
+
### Changed
|
|
14
|
+
|
|
15
|
+
- **Runtime compatibility pinned to `artifact-graph@0.8.2`**: plugin and runtime compatibility,
|
|
16
|
+
marketplace manifests, and adapter manifests verify `artifact-graph@0.8.2` exactly.
|
|
17
|
+
|
|
18
|
+
## 0.8.1
|
|
19
|
+
|
|
20
|
+
### Breaking Changes
|
|
21
|
+
|
|
22
|
+
- **`artifact-chain-help` renamed to `help`**: the `artifact-chain-help` skill is now `help`. The old name is not preserved as an alias. Update any prompts or scripts that reference `artifact-chain-help`.
|
|
23
|
+
- **New entry skills `setup` and `quickstart`**: `setup` provides read-only environment diagnostics; `quickstart` routes user intent to the correct skill. Both are `kind: operation` in the agent-method catalog.
|
|
24
|
+
- **Self-marketplace removed**: the plugin no longer ships `.agents/plugins/marketplace.json` or `.claude-plugin/marketplace.json`. Installation now uses the external `ifoohoo/artifact-skill-set` marketplace. Root `.claude-plugin/plugin.json` and `.codex-plugin/plugin.json` are retained for external marketplace discovery.
|
|
25
|
+
|
|
26
|
+
### Changed
|
|
27
|
+
|
|
28
|
+
- **Deterministic release manifests clarified**: root plugin manifests now describe external marketplace
|
|
29
|
+
installation flow — the marketplace entry uses these root manifests to discover host-specific adapter
|
|
30
|
+
skills at `./adapters/claude` and `./adapters/codex`.
|
|
31
|
+
|
|
3
32
|
## 0.8.0
|
|
4
33
|
|
|
5
34
|
### Changed
|
package/CONTRIBUTING.md
CHANGED
|
@@ -2,6 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
Thanks for your interest in contributing.
|
|
4
4
|
|
|
5
|
+
> **This repository is a release snapshot.** Documentation (README, CHANGELOG, INSTALL,
|
|
6
|
+
> NOTICE) and shared files are rendered from a private workspace. Direct pull requests
|
|
7
|
+
> against these files will be overwritten by the next render — please open an issue
|
|
8
|
+
> instead, and the maintainers will make the change at the source.
|
|
9
|
+
|
|
5
10
|
## Development
|
|
6
11
|
|
|
7
12
|
Use Node.js `>=22.0.0`.
|
|
@@ -15,7 +20,7 @@ pnpm test
|
|
|
15
20
|
## Pull Requests
|
|
16
21
|
|
|
17
22
|
- Keep changes focused.
|
|
18
|
-
-
|
|
23
|
+
- Documentation changes should be proposed as issues (see above); code changes should update tests when behavior changes.
|
|
19
24
|
- Run the package validation commands before opening a pull request.
|
|
20
25
|
- Do not include private parent-repository artifacts or local machine paths.
|
|
21
26
|
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
# Extended Artifact Catalog
|
|
2
2
|
|
|
3
|
+
<!-- generated by scripts/render-public-docs.mjs from docs/public/** — do not edit directly -->
|
|
4
|
+
|
|
5
|
+
|
|
3
6
|
This document summarizes the extended artifact type catalog for `artifact-chain-assistant`. It
|
|
4
7
|
covers type classification, recommended paths and ID patterns, template adoption rules, and the
|
|
5
8
|
three-tier authority boundary between `artifact-graph`, the plugin, and target projects.
|