@ikon85/agent-workflow-kit 0.29.0 → 0.30.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.
- package/.agents/skills/codex-adapter-sync/SKILL.md +134 -72
- package/.claude/skills/skill-manifest.json +46 -0
- package/README.md +13 -0
- package/agent-workflow-kit.package.json +42 -2
- package/package.json +1 -1
- package/scripts/readiness.mjs +215 -0
- package/scripts/release-state.test.mjs +53 -1
- package/scripts/test_codex_adapter_sync_contract.py +154 -0
- package/scripts/test_skill_portability_lint.py +57 -18
- package/scripts/test_skill_readiness_contract.py +139 -0
- package/src/commands/init.mjs +3 -1
- package/src/commands/uninstall.mjs +5 -1
- package/src/lib/bundle.mjs +7 -0
- package/src/lib/manifest.mjs +26 -2
- package/src/lib/updateReconcile.mjs +3 -1
|
@@ -9,50 +9,128 @@ Use this skill when the user asks for a Codex adapter sync, Codex drift check,
|
|
|
9
9
|
Claude-to-Codex migration check, or when changes to Claude-facing project
|
|
10
10
|
knowledge may need to be reflected in Codex-facing files.
|
|
11
11
|
|
|
12
|
+
## Audit mode (default)
|
|
13
|
+
|
|
14
|
+
Audit is a read-only diagnosis from the current checkout. Inventory and compare
|
|
15
|
+
the source and adapter surfaces, then report the exact proposed changes. Do not
|
|
16
|
+
create or switch branches or worktrees, edit files, or change external state.
|
|
17
|
+
|
|
18
|
+
## Apply mode
|
|
19
|
+
|
|
20
|
+
Apply only when the user asked to update or fix the adapter. Create or reuse the
|
|
21
|
+
correct issue or slice worktree before the first edit. Never apply adapter
|
|
22
|
+
changes on `main`; move any accidental main-checkout diff into the worktree and
|
|
23
|
+
leave the main checkout clean.
|
|
24
|
+
|
|
25
|
+
## Model routing
|
|
26
|
+
|
|
27
|
+
Default to inherited parent model configuration. Do not pin a model merely
|
|
28
|
+
because the source workflow delegates, and do not invent model or role fields
|
|
29
|
+
on a spawn call. The supported built-in agent names are `default`, `worker`, and
|
|
30
|
+
`explorer`; custom agents declare overrides in their TOML files.
|
|
31
|
+
|
|
32
|
+
When an explicit custom-agent model is genuinely justified, route by task
|
|
33
|
+
shape:
|
|
34
|
+
|
|
35
|
+
- `gpt-5.6-sol` for complex, open-ended judgment work.
|
|
36
|
+
- `gpt-5.6-terra` for everyday tool-using development.
|
|
37
|
+
- `gpt-5.6-luna` for clear, repeatable, high-volume work.
|
|
38
|
+
|
|
39
|
+
Use `model_reasoning_effort` for a supported reasoning override. The family
|
|
40
|
+
name `gpt-5.6` describes the family and is not a fourth concrete variant in
|
|
41
|
+
this routing table. Keep user gates, security judgment, and approval decisions
|
|
42
|
+
in the main thread.
|
|
43
|
+
|
|
12
44
|
## Scope
|
|
13
45
|
|
|
14
46
|
Source side:
|
|
15
|
-
-
|
|
16
|
-
- `frontend/CLAUDE.md`
|
|
17
|
-
- `backend/CLAUDE.md`
|
|
47
|
+
- every repository instruction file matched by `**/CLAUDE.md`
|
|
18
48
|
- `~/.claude/CLAUDE.md` when the user explicitly mentions global Claude
|
|
19
49
|
instruction drift or global Claude changes
|
|
20
50
|
- `.claude/skills/`
|
|
21
51
|
- `.claude/agents/`
|
|
52
|
+
- Claude hook declarations and implementations
|
|
22
53
|
- `.gitignore`
|
|
23
54
|
|
|
24
55
|
Codex adapter side:
|
|
25
|
-
-
|
|
56
|
+
- every repository instruction file matched by `**/AGENTS.md` or
|
|
57
|
+
`**/AGENTS.override.md`
|
|
26
58
|
- `.agents/skills/`
|
|
27
|
-
-
|
|
59
|
+
- every trusted project config layer matched by `**/.codex/config.toml`
|
|
28
60
|
- `.codex/agents/`
|
|
61
|
+
- Codex hook declarations
|
|
29
62
|
- `.gitignore`
|
|
30
63
|
|
|
64
|
+
## Inventory
|
|
65
|
+
|
|
66
|
+
Derive a fresh, counted inventory from the repository root; do not assume only
|
|
67
|
+
known package names or root-level files. Include:
|
|
68
|
+
|
|
69
|
+
- arbitrary nested `**/CLAUDE.md`, `**/AGENTS.md`, and
|
|
70
|
+
`**/AGENTS.override.md` instruction layers;
|
|
71
|
+
- every `**/.codex/config.toml`, noting that Codex loads project config and
|
|
72
|
+
hooks only from trusted project layers;
|
|
73
|
+
- `.claude/skills/**`, `.agents/skills/**`, `.claude/agents/**`, and
|
|
74
|
+
`.codex/agents/**`;
|
|
75
|
+
- Claude hook definitions in `.claude/settings*.json` and implementations in
|
|
76
|
+
`.claude/hooks/**` as adaptation candidates;
|
|
77
|
+
- Codex targets in `.codex/hooks.json` and inline `[hooks]` tables in each
|
|
78
|
+
active config layer; and
|
|
79
|
+
- ignore rules and every skill reference, asset, script, template, and other
|
|
80
|
+
distributed support file, regardless of extension.
|
|
81
|
+
|
|
82
|
+
For every relevant Claude hook behavior, record one explicit classification:
|
|
83
|
+
**Codex-adapted** with its target, or **intentionally Claude-only** with the
|
|
84
|
+
reason. Never port hooks blindly.
|
|
85
|
+
|
|
86
|
+
## Custom-agent validation
|
|
87
|
+
|
|
88
|
+
Codex custom-agent files are standalone TOML config layers. Parse every
|
|
89
|
+
`.codex/agents/*.toml` file and require non-empty string values for the required
|
|
90
|
+
`name`, `description`, and `developer_instructions` fields. Validate supported
|
|
91
|
+
optional `model` and `model_reasoning_effort` fields as strings when present,
|
|
92
|
+
then let strict Codex config validation reject unsupported keys or values.
|
|
93
|
+
Reject a file that is malformed, misses a required field, or uses the legacy
|
|
94
|
+
schema. A README or no-op note is not a custom-agent TOML file.
|
|
95
|
+
|
|
96
|
+
## Validation
|
|
97
|
+
|
|
98
|
+
Run validation from the repository root and keep the evidence in the report:
|
|
99
|
+
|
|
100
|
+
1. Run `codex --strict-config --version` from the root and from a representative
|
|
101
|
+
nested directory for every discovered project config layer. Any unknown
|
|
102
|
+
active key is a failure, not a warning to ignore.
|
|
103
|
+
2. Validate skill metadata and loading with the repository's strict
|
|
104
|
+
skill-frontmatter guard when one is available, then start a fresh Codex
|
|
105
|
+
session and check that every enabled skill is discoverable without load
|
|
106
|
+
warnings.
|
|
107
|
+
3. Parse and validate every custom-agent TOML file against the
|
|
108
|
+
Custom-agent validation section above; strict config validation must also
|
|
109
|
+
accept its supported optional fields.
|
|
110
|
+
4. Use `git check-ignore --no-index` on `.codex/config.toml`, every
|
|
111
|
+
`.codex/agents/*.toml`, `.agents/skills/**`, `.codex/hooks.json`, and any
|
|
112
|
+
adapted hook implementation. A checked-in adapter target being ignored is a
|
|
113
|
+
failure; local state and override files should remain ignored.
|
|
114
|
+
5. Resolve every path named by skill prose and verify that all references,
|
|
115
|
+
assets, scripts, templates, and other distributed support files exist. Run
|
|
116
|
+
the repository's all-file mirror-parity guard when available so non-Markdown
|
|
117
|
+
presence parity and Markdown body/`mirror-xform` parity are both checked.
|
|
118
|
+
6. Recompute the dual-surface skill denominator from the manifest, compare all
|
|
119
|
+
distributed files in both trees, and report the fresh result as **X of Y**
|
|
120
|
+
mirrored skills. Do not reuse a remembered count.
|
|
121
|
+
7. Enforce this repository's 1024-character description cap as a named
|
|
122
|
+
repository safeguard. It is not a Codex product limit; the local guard owns
|
|
123
|
+
the policy and must fail when a description exceeds it.
|
|
124
|
+
|
|
31
125
|
## Workflow
|
|
32
126
|
|
|
33
|
-
1.
|
|
34
|
-
the sync
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
a separate adapter branch or PR: a per-slice gate that demanded its own
|
|
41
|
-
worktree/PR would collide with the slice it is gating.
|
|
42
|
-
- **Dedicated adapter worktree.** Only when invoked standalone from the main
|
|
43
|
-
checkout (no active slice worktree): create or reuse a dedicated adapter
|
|
44
|
-
worktree before inventory or edits — your project's worktree helper (or
|
|
45
|
-
`git worktree add`) on an issue-anchored branch when an anchor exists, or a
|
|
46
|
-
`chore/codex-adapter-sync-<slug>` worktree for a deliberate no-issue chore
|
|
47
|
-
— and ship it through its own PR.
|
|
48
|
-
- Either way: never land adapter changes directly on `main`. Move any
|
|
49
|
-
accidental main-checkout adapter diff into the chosen worktree first, then
|
|
50
|
-
leave the main checkout clean.
|
|
51
|
-
2. Inventory the source side and adapter side from inside that worktree. If
|
|
52
|
-
global Claude instructions are in scope, read them from the main thread but
|
|
53
|
-
keep personal overrides, secrets, and machine-local state out of the repo
|
|
54
|
-
diff.
|
|
55
|
-
3. Compare project knowledge:
|
|
127
|
+
1. Select the mode from the user's request. Audit in the current checkout. For
|
|
128
|
+
Apply, reuse the active non-main slice worktree when the sync gates that
|
|
129
|
+
slice; otherwise create or reuse a dedicated issue-anchored adapter worktree.
|
|
130
|
+
2. Build the Inventory before proposing or making changes. If global Claude
|
|
131
|
+
instructions are in scope, inspect them without exposing personal overrides,
|
|
132
|
+
secrets, credentials, or machine-local state.
|
|
133
|
+
3. Compare project knowledge and instruction precedence:
|
|
56
134
|
- New or changed durable conventions in `CLAUDE.md` should be reflected in
|
|
57
135
|
`AGENTS.md` only as concise adapter guidance or references.
|
|
58
136
|
- Do not duplicate long `CLAUDE.md` sections into `AGENTS.md`.
|
|
@@ -62,26 +140,16 @@ Codex adapter side:
|
|
|
62
140
|
Codex-facing adapter rule in `AGENTS.md` or a minimal safe Codex config
|
|
63
141
|
change; do not copy personal style, identities, credentials, or long
|
|
64
142
|
global sections.
|
|
65
|
-
4. Compare
|
|
143
|
+
4. Compare every skill and distributed support file:
|
|
66
144
|
- Important repo/domain/workflow skills from `.claude/skills/` belong in
|
|
67
145
|
`.agents/skills/`.
|
|
68
146
|
- Keep each `SKILL.md` and its support files together.
|
|
69
147
|
- Do not copy skills into `.codex/skills/`.
|
|
70
148
|
- Leave clearly Claude-only setup, hook, or personal/meta skills out unless
|
|
71
149
|
the user explicitly wants them ported.
|
|
72
|
-
- Translate Claude-specific
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
`model: sonnet` should become Codex `spawn_agent` dispatches with the
|
|
76
|
-
appropriate `agent_type`; for mechanical coding/git work use a `worker`
|
|
77
|
-
subagent with `model: gpt-5.4-mini` and `reasoning_effort: low` unless the
|
|
78
|
-
source skill gives a stronger task-specific reason. Claude `opus` /
|
|
79
|
-
judgment-tier dispatches (subtle logic, review/verify verdicts) map to
|
|
80
|
-
`model: gpt-5.5` with `reasoning_effort: high` (verdicts never below
|
|
81
|
-
high). Translate Claude `effort:` params to the nearest
|
|
82
|
-
`reasoning_effort` value (`minimal|low|medium|high|xhigh`; Claude `max`
|
|
83
|
-
→ `xhigh`). Keep user gates, security judgment, and approval decisions
|
|
84
|
-
in the main thread.
|
|
150
|
+
- Translate Claude-specific delegation rather than copying it literally.
|
|
151
|
+
Apply the Model routing section above only when an explicit custom-agent
|
|
152
|
+
override is justified; otherwise preserve inherited parent configuration.
|
|
85
153
|
- Keep dual-surface generic/vendored skill bodies content-synced. When a
|
|
86
154
|
Codex mirror must intentionally differ from the Claude source, bracket the
|
|
87
155
|
source region and the Codex replacement with a matching transform marker
|
|
@@ -111,36 +179,30 @@ Codex adapter side:
|
|
|
111
179
|
`chaseai-yt/grill-me-codex`, `docs/agents/skills/grill-with-docs-codex.md`)
|
|
112
180
|
is not an escalation target and must NOT be rewritten — rewriting it would
|
|
113
181
|
break attribution/a real link.
|
|
114
|
-
5.
|
|
115
|
-
- `
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
- Keep
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
are not accidentally ignored.
|
|
139
|
-
10. Prepare the branch for review:
|
|
140
|
-
- Commit the adapter changes on the worktree branch after checking for
|
|
141
|
-
secrets and ignored files.
|
|
142
|
-
- Push the branch and create or update a PR.
|
|
143
|
-
- Report the PR URL, changed files, skipped items, and verification results.
|
|
182
|
+
5. Compare agents, hooks, config, and ignore rules:
|
|
183
|
+
- Claude agents are `.md`; Codex custom agents are `.toml` and must satisfy
|
|
184
|
+
Custom-agent validation.
|
|
185
|
+
- Classify each Claude hook behavior using the Inventory contract and check
|
|
186
|
+
Codex hook targets at every active trusted config layer.
|
|
187
|
+
- Keep `.codex/config.toml` minimal and safe. Never add secrets, provider
|
|
188
|
+
credentials, auth tokens, or local personal overrides.
|
|
189
|
+
- Ensure ignore rules exclude local Codex state and override files while
|
|
190
|
+
allowing checked-in config, agents, hooks, skills, and support files.
|
|
191
|
+
6. In Audit mode, run every read-only Validation step that the checkout
|
|
192
|
+
supports and report the proposed file changes without mutating anything.
|
|
193
|
+
7. In Apply mode, show the exact files to create or change before editing, make
|
|
194
|
+
only those changes, then run the complete Validation section. Prepare the
|
|
195
|
+
existing worktree branch for review: check for secrets and ignored files,
|
|
196
|
+
commit the adapter changes, push, and create or update its PR.
|
|
197
|
+
|
|
198
|
+
Codex skill frontmatter must also satisfy these repository rules:
|
|
199
|
+
|
|
200
|
+
- `name` and `description` are required.
|
|
201
|
+
- Quote `description` when it contains colons, arrows, commas, or other
|
|
202
|
+
YAML-sensitive punctuation.
|
|
203
|
+
- Enforce the Validation section's named description safeguard.
|
|
204
|
+
- Keep trigger detail in the body if the original Claude description is too
|
|
205
|
+
long.
|
|
144
206
|
|
|
145
207
|
## Output
|
|
146
208
|
|
|
@@ -1,8 +1,37 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schema_version": 1,
|
|
3
3
|
"description": "Public skill classification and publishing SSOT.",
|
|
4
|
+
"readiness": {
|
|
5
|
+
"contractVersion": 1,
|
|
6
|
+
"capabilities": {
|
|
7
|
+
"issueTracker": { "evidence": { "type": "sentinel", "paths": ["docs/agents/issue-tracker.md"], "allowLegacy": true } },
|
|
8
|
+
"triageLabels": { "evidence": { "type": "sentinel", "paths": ["docs/agents/triage-labels.md"], "allowLegacy": true } },
|
|
9
|
+
"managedBoard": { "allowNotApplicable": true, "evidence": { "type": "board-profile", "paths": ["docs/agents/board-sync.md"] } },
|
|
10
|
+
"specCompleteness": { "evidence": { "type": "sentinel", "paths": ["docs/conventions/spec-completeness.md"], "allowLegacy": true } },
|
|
11
|
+
"localCiRecipe": { "evidence": { "type": "sentinel", "paths": ["docs/agents/skills/local-ci.md"], "allowLegacy": true } },
|
|
12
|
+
"projectReleaseProfile": { "evidence": { "type": "json", "paths": ["docs/agents/workflow-capabilities.json"], "validator": "project-release" } },
|
|
13
|
+
"securityAuditRunbook": { "evidence": { "type": "runbook-reference", "paths": ["docs/agents/skills/security-audit.md"], "allowLegacy": true } },
|
|
14
|
+
"prodTarget": { "evidence": { "type": "prod-section", "paths": ["CLAUDE.md", "AGENTS.md"] } },
|
|
15
|
+
"orchestrateWaveRecipe": { "evidence": { "type": "sentinel", "paths": ["docs/agents/skills/orchestrate-wave.md"], "allowLegacy": true } },
|
|
16
|
+
"specCritiqueLayer": { "evidence": { "type": "sentinel", "paths": ["docs/agents/skills/spec-self-critique.md"], "allowLegacy": true } },
|
|
17
|
+
"codeReviewLayer": { "evidence": { "type": "sentinel", "paths": ["docs/agents/code-review.md"], "allowLegacy": true } },
|
|
18
|
+
"verifySpikeLayer": { "evidence": { "type": "sentinel", "paths": ["docs/agents/skills/verify-spike.md"], "allowLegacy": true } },
|
|
19
|
+
"auditSkillsLayer": { "evidence": { "type": "sentinel", "paths": ["docs/agents/skills/audit-skills.md"], "allowLegacy": true } },
|
|
20
|
+
"worktreeRecoveryLayer": { "evidence": { "type": "sentinel", "paths": ["docs/agents/skills/git-worktree-recover.md"], "allowLegacy": true } },
|
|
21
|
+
"domainDocs": { "evidence": { "type": "sentinel", "paths": ["docs/agents/domain.md"], "allowLegacy": true } },
|
|
22
|
+
"censusChoice": { "evidence": { "type": "json", "paths": ["docs/agents/workflow-capabilities.json"], "required": ["census"] } },
|
|
23
|
+
"memoryLifecycle": { "evidence": { "type": "json", "paths": ["docs/agents/workflow-capabilities.json"], "required": ["memoryLifecycle"] } },
|
|
24
|
+
"worktreeLifecycle": { "evidence": { "type": "json", "paths": ["docs/agents/workflow-capabilities.json"], "required": ["worktreeLifecycle"] } },
|
|
25
|
+
"workflowAdvisories": { "evidence": { "type": "json", "paths": ["docs/agents/workflow-capabilities.json"], "required": ["workflowAdvisories"] } },
|
|
26
|
+
"safetyGuardrails": { "evidence": { "type": "json", "paths": ["docs/agents/workflow-capabilities.json"], "required": ["safetyGuardrails"] } },
|
|
27
|
+
"workflowSummary": { "evidence": { "type": "nonempty", "paths": ["CLAUDE.md", "AGENTS.md"] } },
|
|
28
|
+
"locProfile": { "evidence": { "type": "json", "paths": ["docs/agents/max-lines-allowlist.json"] } },
|
|
29
|
+
"kitOriginHint": { "evidence": { "type": "json", "paths": ["docs/agents/workflow-capabilities.json"], "required": ["kitOriginHint"] } }
|
|
30
|
+
}
|
|
31
|
+
},
|
|
4
32
|
"skills": {
|
|
5
33
|
"to-prd": {
|
|
34
|
+
"readiness": { "required": ["issueTracker", "managedBoard"] },
|
|
6
35
|
"class": "generic",
|
|
7
36
|
"publish": true,
|
|
8
37
|
"entryPoint": true,
|
|
@@ -13,6 +42,7 @@
|
|
|
13
42
|
"provenance": "matt-pocock"
|
|
14
43
|
},
|
|
15
44
|
"to-issues": {
|
|
45
|
+
"readiness": { "required": ["issueTracker", "managedBoard", "specCompleteness"] },
|
|
16
46
|
"class": "generic",
|
|
17
47
|
"publish": true,
|
|
18
48
|
"entryPoint": true,
|
|
@@ -51,6 +81,7 @@
|
|
|
51
81
|
"provenance": "own"
|
|
52
82
|
},
|
|
53
83
|
"wrapup": {
|
|
84
|
+
"readiness": { "optionalBlocks": { "deployReport": "prodTarget" } },
|
|
54
85
|
"class": "generic",
|
|
55
86
|
"publish": true,
|
|
56
87
|
"entryPoint": true,
|
|
@@ -61,6 +92,7 @@
|
|
|
61
92
|
"provenance": "own"
|
|
62
93
|
},
|
|
63
94
|
"verify-spike": {
|
|
95
|
+
"readiness": { "optionalBlocks": { "projectPlacement": "verifySpikeLayer" } },
|
|
64
96
|
"class": "generic",
|
|
65
97
|
"publish": true,
|
|
66
98
|
"entryPoint": true,
|
|
@@ -81,6 +113,7 @@
|
|
|
81
113
|
"provenance": "own"
|
|
82
114
|
},
|
|
83
115
|
"spec-self-critique": {
|
|
116
|
+
"readiness": { "optionalBlocks": { "projectEnrichment": "specCritiqueLayer" } },
|
|
84
117
|
"class": "generic",
|
|
85
118
|
"publish": true,
|
|
86
119
|
"surfaces": [
|
|
@@ -90,6 +123,7 @@
|
|
|
90
123
|
"provenance": "own"
|
|
91
124
|
},
|
|
92
125
|
"code-review": {
|
|
126
|
+
"readiness": { "optionalBlocks": { "projectEnrichment": "codeReviewLayer" } },
|
|
93
127
|
"class": "generic",
|
|
94
128
|
"publish": true,
|
|
95
129
|
"surfaces": [
|
|
@@ -118,6 +152,7 @@
|
|
|
118
152
|
"provenance": "own"
|
|
119
153
|
},
|
|
120
154
|
"board-to-waves": {
|
|
155
|
+
"readiness": { "required": ["issueTracker", "managedBoard"] },
|
|
121
156
|
"class": "generic",
|
|
122
157
|
"publish": true,
|
|
123
158
|
"entryPoint": true,
|
|
@@ -138,6 +173,7 @@
|
|
|
138
173
|
"provenance": "own"
|
|
139
174
|
},
|
|
140
175
|
"to-waves": {
|
|
176
|
+
"readiness": { "required": ["issueTracker", "managedBoard", "specCompleteness"] },
|
|
141
177
|
"class": "generic",
|
|
142
178
|
"publish": true,
|
|
143
179
|
"entryPoint": true,
|
|
@@ -187,6 +223,7 @@
|
|
|
187
223
|
"provenance": "matt-pocock"
|
|
188
224
|
},
|
|
189
225
|
"triage": {
|
|
226
|
+
"readiness": { "required": ["issueTracker", "managedBoard", "triageLabels"] },
|
|
190
227
|
"class": "vendored",
|
|
191
228
|
"publish": true,
|
|
192
229
|
"entryPoint": true,
|
|
@@ -327,6 +364,7 @@
|
|
|
327
364
|
"provenance": "own"
|
|
328
365
|
},
|
|
329
366
|
"audit-skills": {
|
|
367
|
+
"readiness": { "optionalBlocks": { "projectChecks": "auditSkillsLayer" } },
|
|
330
368
|
"class": "generic",
|
|
331
369
|
"publish": true,
|
|
332
370
|
"entryPoint": false,
|
|
@@ -337,6 +375,7 @@
|
|
|
337
375
|
"provenance": "own"
|
|
338
376
|
},
|
|
339
377
|
"local-ci": {
|
|
378
|
+
"readiness": { "required": ["localCiRecipe"] },
|
|
340
379
|
"class": "generic",
|
|
341
380
|
"publish": true,
|
|
342
381
|
"entryPoint": false,
|
|
@@ -347,6 +386,10 @@
|
|
|
347
386
|
"provenance": "own"
|
|
348
387
|
},
|
|
349
388
|
"orchestrate-wave": {
|
|
389
|
+
"readiness": {
|
|
390
|
+
"required": ["issueTracker", "managedBoard"],
|
|
391
|
+
"optionalBlocks": { "projectRecipe": "orchestrateWaveRecipe" }
|
|
392
|
+
},
|
|
350
393
|
"class": "generic",
|
|
351
394
|
"publish": true,
|
|
352
395
|
"entryPoint": true,
|
|
@@ -357,6 +400,7 @@
|
|
|
357
400
|
"provenance": "own"
|
|
358
401
|
},
|
|
359
402
|
"git-worktree-recover": {
|
|
403
|
+
"readiness": { "optionalBlocks": { "projectRecovery": "worktreeRecoveryLayer" } },
|
|
360
404
|
"class": "generic",
|
|
361
405
|
"publish": true,
|
|
362
406
|
"entryPoint": false,
|
|
@@ -367,6 +411,7 @@
|
|
|
367
411
|
"provenance": "own"
|
|
368
412
|
},
|
|
369
413
|
"security-audit": {
|
|
414
|
+
"readiness": { "required": ["securityAuditRunbook"] },
|
|
370
415
|
"class": "generic",
|
|
371
416
|
"publish": true,
|
|
372
417
|
"entryPoint": false,
|
|
@@ -388,6 +433,7 @@
|
|
|
388
433
|
"provenance": "own"
|
|
389
434
|
},
|
|
390
435
|
"project-release": {
|
|
436
|
+
"readiness": { "required": ["projectReleaseProfile"] },
|
|
391
437
|
"class": "generic",
|
|
392
438
|
"publish": true,
|
|
393
439
|
"entryPoint": true,
|
package/README.md
CHANGED
|
@@ -348,6 +348,19 @@ concurrency-safe. Do not run manifest-mutating commands concurrently. Flags:
|
|
|
348
348
|
|
|
349
349
|
## Release notes
|
|
350
350
|
|
|
351
|
+
### 0.30.0
|
|
352
|
+
|
|
353
|
+
- added: `.claude/skills/skill-manifest.json`
|
|
354
|
+
- added: `scripts/readiness.mjs`
|
|
355
|
+
- added: `src/lib/atomicWrite.mjs`
|
|
356
|
+
- added: `src/lib/manifest.mjs`
|
|
357
|
+
- added: `src/lib/sentinel.mjs`
|
|
358
|
+
- changed: `.agents/skills/codex-adapter-sync/SKILL.md`
|
|
359
|
+
|
|
360
|
+
### 0.29.1
|
|
361
|
+
|
|
362
|
+
- Metadata-only release.
|
|
363
|
+
|
|
351
364
|
### 0.29.0
|
|
352
365
|
|
|
353
366
|
- added: `scripts/codex-exec.sh`
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"kitVersion": "0.
|
|
2
|
+
"kitVersion": "0.30.0",
|
|
3
3
|
"files": [
|
|
4
4
|
{
|
|
5
5
|
"path": ".agents/skills/ask-matt/SKILL.md",
|
|
@@ -107,7 +107,7 @@
|
|
|
107
107
|
"ownerSkill": "codex-adapter-sync",
|
|
108
108
|
"surface": "codex",
|
|
109
109
|
"installRole": "consumer",
|
|
110
|
-
"sha256": "
|
|
110
|
+
"sha256": "ae398e40308e6ad8d6091c418435e2dca8a4f67e526ab85efa88e8e57c0354c2",
|
|
111
111
|
"mode": 420,
|
|
112
112
|
"origin": "kit"
|
|
113
113
|
},
|
|
@@ -2023,6 +2023,14 @@
|
|
|
2023
2023
|
"mode": 420,
|
|
2024
2024
|
"origin": "kit"
|
|
2025
2025
|
},
|
|
2026
|
+
{
|
|
2027
|
+
"path": ".claude/skills/skill-manifest.json",
|
|
2028
|
+
"kind": "doc",
|
|
2029
|
+
"installRole": "consumer",
|
|
2030
|
+
"sha256": "290cc3e847a10cb10b4ecb17cf0d45be0f60f95e96b7a70417b3e8da0a32e23c",
|
|
2031
|
+
"mode": 420,
|
|
2032
|
+
"origin": "kit"
|
|
2033
|
+
},
|
|
2026
2034
|
{
|
|
2027
2035
|
"path": ".claude/skills/spec-self-critique/scenarios.md",
|
|
2028
2036
|
"kind": "skill",
|
|
@@ -2575,6 +2583,14 @@
|
|
|
2575
2583
|
"mode": 493,
|
|
2576
2584
|
"origin": "kit"
|
|
2577
2585
|
},
|
|
2586
|
+
{
|
|
2587
|
+
"path": "scripts/readiness.mjs",
|
|
2588
|
+
"kind": "script",
|
|
2589
|
+
"installRole": "consumer",
|
|
2590
|
+
"sha256": "f5e8bc2e724f72d1aa9f94c4f8d87b8f4d3f9843797cd6ae59f48e563dc7c7fb",
|
|
2591
|
+
"mode": 493,
|
|
2592
|
+
"origin": "kit"
|
|
2593
|
+
},
|
|
2578
2594
|
{
|
|
2579
2595
|
"path": "scripts/release-delta-guard.mjs",
|
|
2580
2596
|
"kind": "script",
|
|
@@ -2727,6 +2743,22 @@
|
|
|
2727
2743
|
"mode": 493,
|
|
2728
2744
|
"origin": "kit"
|
|
2729
2745
|
},
|
|
2746
|
+
{
|
|
2747
|
+
"path": "src/lib/atomicWrite.mjs",
|
|
2748
|
+
"kind": "script",
|
|
2749
|
+
"installRole": "consumer",
|
|
2750
|
+
"sha256": "dbb971617ae641127857341a02cc029f30633ab5ef0c6efff2bab27b95794a9f",
|
|
2751
|
+
"mode": 420,
|
|
2752
|
+
"origin": "kit"
|
|
2753
|
+
},
|
|
2754
|
+
{
|
|
2755
|
+
"path": "src/lib/manifest.mjs",
|
|
2756
|
+
"kind": "script",
|
|
2757
|
+
"installRole": "consumer",
|
|
2758
|
+
"sha256": "171eba2662054379c40c1c629110fa8e34353de72e136004b861b2ac6a4edc13",
|
|
2759
|
+
"mode": 420,
|
|
2760
|
+
"origin": "kit"
|
|
2761
|
+
},
|
|
2730
2762
|
{
|
|
2731
2763
|
"path": "src/lib/release-apply.mjs",
|
|
2732
2764
|
"kind": "script",
|
|
@@ -2750,6 +2782,14 @@
|
|
|
2750
2782
|
"sha256": "7d0a8da3740ed1eb79edb80f0eedb3cd1de47692d4886c6b119b39073a6468d1",
|
|
2751
2783
|
"mode": 420,
|
|
2752
2784
|
"origin": "kit"
|
|
2785
|
+
},
|
|
2786
|
+
{
|
|
2787
|
+
"path": "src/lib/sentinel.mjs",
|
|
2788
|
+
"kind": "script",
|
|
2789
|
+
"installRole": "consumer",
|
|
2790
|
+
"sha256": "f99d28d2053d55222650d2ca426509d3f56eec5ef70709bbf8c4a278bf80024e",
|
|
2791
|
+
"mode": 420,
|
|
2792
|
+
"origin": "kit"
|
|
2753
2793
|
}
|
|
2754
2794
|
]
|
|
2755
2795
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ikon85/agent-workflow-kit",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.30.0",
|
|
4
4
|
"description": "Portable AI-agent workflow skills (plan → execute → land → learn) for Claude Code & Codex — grilling, TDD, diagnosis, two-axis code review, cross-model Codex review, design & domain-modeling, plus a skill router (ask-matt). npx init/update/diff/uninstall.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|