@ikon85/agent-workflow-kit 0.34.5 → 0.35.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/ask-matt/SKILL.md +8 -0
- package/.agents/skills/audit-skills/SKILL.md +8 -0
- package/.agents/skills/board-to-waves/SKILL.md +8 -0
- package/.agents/skills/census-update/SKILL.md +8 -0
- package/.agents/skills/code-review/SKILL.md +8 -0
- package/.agents/skills/codebase-design/SKILL.md +8 -0
- package/.agents/skills/codex-adapter-sync/SKILL.md +8 -0
- package/.agents/skills/decision-gate/SKILL.md +8 -0
- package/.agents/skills/diagnose/SKILL.md +8 -0
- package/.agents/skills/domain-modeling/SKILL.md +8 -0
- package/.agents/skills/git-worktree-recover/SKILL.md +8 -0
- package/.agents/skills/grill-me/SKILL.md +8 -0
- package/.agents/skills/grill-with-docs/SKILL.md +8 -0
- package/.agents/skills/implement/SKILL.md +8 -0
- package/.agents/skills/improve-codebase-architecture/SKILL.md +8 -0
- package/.agents/skills/kit-release/SKILL.md +37 -21
- package/.agents/skills/kit-update/SKILL.md +18 -4
- package/.agents/skills/local-ci/SKILL.md +8 -0
- package/.agents/skills/memory-lifecycle/SKILL.md +8 -0
- package/.agents/skills/orchestrate-wave/SKILL.md +2 -2
- package/.agents/skills/project-release/SKILL.md +8 -0
- package/.agents/skills/prototype/SKILL.md +8 -0
- package/.agents/skills/research/SKILL.md +8 -0
- package/.agents/skills/resolving-merge-conflicts/SKILL.md +8 -0
- package/.agents/skills/retro/SKILL.md +8 -0
- package/.agents/skills/scale-check/SKILL.md +8 -0
- package/.agents/skills/security-audit/SKILL.md +8 -0
- package/.agents/skills/setup-workflow/SKILL.md +30 -0
- package/.agents/skills/setup-workflow/orchestrate-wave-seed.md +1 -0
- package/.agents/skills/setup-workflow/spec-self-critique-seed.md +1 -0
- package/.agents/skills/spec-self-critique/SKILL.md +8 -0
- package/.agents/skills/tdd/SKILL.md +8 -0
- package/.agents/skills/to-issues/SKILL.md +8 -0
- package/.agents/skills/to-prd/SKILL.md +8 -0
- package/.agents/skills/to-waves/SKILL.md +8 -0
- package/.agents/skills/triage/SKILL.md +8 -0
- package/.agents/skills/verify-spike/SKILL.md +8 -0
- package/.agents/skills/wayfinder/SKILL.md +8 -0
- package/.agents/skills/wrapup/SKILL.md +8 -0
- package/.claude/skills/ask-matt/SKILL.md +8 -0
- package/.claude/skills/audit-skills/SKILL.md +8 -0
- package/.claude/skills/board-to-waves/SKILL.md +8 -0
- package/.claude/skills/census-update/SKILL.md +8 -0
- package/.claude/skills/code-review/SKILL.md +8 -0
- package/.claude/skills/codebase-design/SKILL.md +8 -0
- package/.claude/skills/codex-build/SKILL.md +8 -0
- package/.claude/skills/codex-review/SKILL.md +8 -0
- package/.claude/skills/decision-gate/SKILL.md +8 -0
- package/.claude/skills/diagnose/SKILL.md +8 -0
- package/.claude/skills/domain-modeling/SKILL.md +8 -0
- package/.claude/skills/git-guardrails-claude-code/SKILL.md +8 -0
- package/.claude/skills/git-worktree-recover/SKILL.md +8 -0
- package/.claude/skills/grill-me/SKILL.md +8 -0
- package/.claude/skills/grill-me-codex/SKILL.md +8 -0
- package/.claude/skills/grill-with-docs/SKILL.md +8 -0
- package/.claude/skills/grill-with-docs-codex/SKILL.md +8 -0
- package/.claude/skills/implement/SKILL.md +8 -0
- package/.claude/skills/improve-codebase-architecture/SKILL.md +8 -0
- package/.claude/skills/kit-release/SKILL.md +37 -21
- package/.claude/skills/kit-update/SKILL.md +18 -4
- package/.claude/skills/local-ci/SKILL.md +8 -0
- package/.claude/skills/memory-lifecycle/SKILL.md +8 -0
- package/.claude/skills/orchestrate-wave/SKILL.md +2 -2
- package/.claude/skills/project-release/SKILL.md +8 -0
- package/.claude/skills/prototype/SKILL.md +8 -0
- package/.claude/skills/research/SKILL.md +8 -0
- package/.claude/skills/resolving-merge-conflicts/SKILL.md +8 -0
- package/.claude/skills/retro/SKILL.md +8 -0
- package/.claude/skills/scale-check/SKILL.md +8 -0
- package/.claude/skills/security-audit/SKILL.md +8 -0
- package/.claude/skills/setup-pre-commit/SKILL.md +8 -0
- package/.claude/skills/setup-workflow/SKILL.md +30 -0
- package/.claude/skills/setup-workflow/orchestrate-wave-seed.md +1 -0
- package/.claude/skills/setup-workflow/spec-self-critique-seed.md +1 -0
- package/.claude/skills/spec-self-critique/SKILL.md +8 -0
- package/.claude/skills/tdd/SKILL.md +8 -0
- package/.claude/skills/to-issues/SKILL.md +8 -0
- package/.claude/skills/to-prd/SKILL.md +8 -0
- package/.claude/skills/to-waves/SKILL.md +8 -0
- package/.claude/skills/triage/SKILL.md +8 -0
- package/.claude/skills/verify-spike/SKILL.md +8 -0
- package/.claude/skills/wayfinder/SKILL.md +8 -0
- package/.claude/skills/wrapup/SKILL.md +8 -0
- package/.claude/skills/write-a-skill/SKILL.md +8 -0
- package/README.md +123 -4
- package/agent-workflow-kit.package.json +127 -87
- package/docs/adr/0004-release-intent-is-a-version-tag.md +18 -5
- package/docs/agents/skills/local-ci.md +1 -0
- package/docs/agents/skills/orchestrate-wave.md +1 -1
- package/docs/agents/skills/spec-self-critique.md +1 -1
- package/package.json +1 -1
- package/scripts/kit-release.test.mjs +10 -4
- package/scripts/project-skill-extension.mjs +37 -0
- package/scripts/readiness.mjs +2 -1
- package/scripts/test_release_authorization_contract.py +101 -0
- package/scripts/test_skill_publish_audit.py +9 -1
- package/src/cli.mjs +29 -12
- package/src/commands/init.mjs +24 -0
- package/src/commands/own.mjs +4 -3
- package/src/commands/update.mjs +86 -21
- package/src/lib/bundle.mjs +5 -0
- package/src/lib/manifest.mjs +13 -2
- package/src/lib/ownershipClassifier.mjs +54 -0
- package/src/lib/projectSkillExtension.mjs +60 -0
- package/src/lib/skillRegistry.mjs +167 -0
- package/src/lib/updateCandidate.mjs +105 -4
- package/src/lib/updateDecisions.mjs +5 -0
- package/src/lib/updateReconcile.mjs +64 -8
- package/src/lib/verifyUpdateCandidate.mjs +13 -1
- package/src/lib/verifyUpdateCandidateProtocol.mjs +2 -0
- package/src/lib/verifyUpdateCandidateTransaction.mjs +9 -3
|
@@ -3,6 +3,14 @@ name: tdd
|
|
|
3
3
|
description: "Test-driven development with red-green-refactor loop. Use when user wants to build features or fix bugs using TDD, mentions \"red-green-refactor\", wants integration tests, or asks for test-first development."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
+
<!-- project-extension:protocol-v1:start -->
|
|
7
|
+
## Project extension
|
|
8
|
+
|
|
9
|
+
Before applying this Core skill, run `node scripts/project-skill-extension.mjs inspect --skill tdd --json` from the Project root. When it returns `active`, read the returned `path` and apply it as additive Project instructions. When it returns `inactive`, continue with Core only. When it returns `blocked`, stop and report its diagnostic.
|
|
10
|
+
|
|
11
|
+
Project extensions may specialize Project details, but cannot weaken Core user gates, safety, ownership, or validation. A contradiction blocks and requires an Explicit fork.
|
|
12
|
+
<!-- project-extension:protocol-v1:end -->
|
|
13
|
+
|
|
6
14
|
# Test-Driven Development
|
|
7
15
|
|
|
8
16
|
## Philosophy
|
|
@@ -3,6 +3,14 @@ name: to-issues
|
|
|
3
3
|
description: "Break a Feature or Program plan, spec, or PRD into independently-grabbable issues on the project issue tracker. This is the single public Planning facade: explicit Feature identity uses tracer-bullet decomposition; explicit Program identity delegates to the internal graph engine."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
+
<!-- project-extension:protocol-v1:start -->
|
|
7
|
+
## Project extension
|
|
8
|
+
|
|
9
|
+
Before applying this Core skill, run `node scripts/project-skill-extension.mjs inspect --skill to-issues --json` from the Project root. When it returns `active`, read the returned `path` and apply it as additive Project instructions. When it returns `inactive`, continue with Core only. When it returns `blocked`, stop and report its diagnostic.
|
|
10
|
+
|
|
11
|
+
Project extensions may specialize Project details, but cannot weaken Core user gates, safety, ownership, or validation. A contradiction blocks and requires an Explicit fork.
|
|
12
|
+
<!-- project-extension:protocol-v1:end -->
|
|
13
|
+
|
|
6
14
|
# To Issues
|
|
7
15
|
|
|
8
16
|
> **Skill identity (don't get confused):** the folder `to-issues` + invocation `/to-issues` map to Matt Pocock's upstream skill **`to-tickets`**. Upstream merged `to-issues` + the short-lived `to-plan` into `to-tickets` (v1.1.0); we deliberately keep the folder name `to-issues` (invocation stability, and issues are this workflow's vocabulary). Content remains our fork, compared against upstream `to-tickets` @ `d574778`. Provenance/rename ledger: `docs/agents/provenance.md` (§Re-Sync-Log), at the project root.
|
|
@@ -4,6 +4,14 @@ disable-model-invocation: true
|
|
|
4
4
|
description: "Turn a locked plan (PLAN.md in the worktree, conversation context, or an externally-authored spec) into a Draft-PRD issue on the project board, then run spec-self-critique. Use after a grill (grill-me / grill-with-docs / their -codex variants) when you want to publish the PRD. Three modes — create fresh, reuse an existing cluster/Wave-less issue, or auto-detect a Program-PRD from a plan's Wellenplan chapter. Does NOT decompose into slices (that is to-issues) and does NOT set type:cluster / Wave (that is to-issues promotion)."
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
+
<!-- project-extension:protocol-v1:start -->
|
|
8
|
+
## Project extension
|
|
9
|
+
|
|
10
|
+
Before applying this Core skill, run `node scripts/project-skill-extension.mjs inspect --skill to-prd --json` from the Project root. When it returns `active`, read the returned `path` and apply it as additive Project instructions. When it returns `inactive`, continue with Core only. When it returns `blocked`, stop and report its diagnostic.
|
|
11
|
+
|
|
12
|
+
Project extensions may specialize Project details, but cannot weaken Core user gates, safety, ownership, or validation. A contradiction blocks and requires an Explicit fork.
|
|
13
|
+
<!-- project-extension:protocol-v1:end -->
|
|
14
|
+
|
|
7
15
|
# to-prd — Draft PRD to the Board
|
|
8
16
|
|
|
9
17
|
> **Skill identity (don't get confused):** the folder `to-prd` + invocation `/to-prd` map to Matt Pocock's upstream skill **`to-spec`**. Upstream renamed `to-prd` → `to-spec` (v1.1.0); we deliberately keep the folder name `to-prd` (invocation stability, and PRD is this workflow's vocabulary). Content remains our fork, compared against upstream `to-spec` @ `d574778`. Provenance/rename ledger: `docs/agents/provenance.md` (§Re-Sync-Log), at the project root.
|
|
@@ -4,6 +4,14 @@ disable-model-invocation: true
|
|
|
4
4
|
description: "Internal Program graph engine behind the public to-issues Planning facade. Turns an explicitly identified Program-PRD into execute-ready wave anchors and slice leaves after one complete chat preview. Kept as a disabled compatibility entrypoint for existing explicit invocations; normal routing always selects to-issues."
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
+
<!-- project-extension:protocol-v1:start -->
|
|
8
|
+
## Project extension
|
|
9
|
+
|
|
10
|
+
Before applying this Core skill, run `node scripts/project-skill-extension.mjs inspect --skill to-waves --json` from the Project root. When it returns `active`, read the returned `path` and apply it as additive Project instructions. When it returns `inactive`, continue with Core only. When it returns `blocked`, stop and report its diagnostic.
|
|
11
|
+
|
|
12
|
+
Project extensions may specialize Project details, but cannot weaken Core user gates, safety, ownership, or validation. A contradiction blocks and requires an Explicit fork.
|
|
13
|
+
<!-- project-extension:protocol-v1:end -->
|
|
14
|
+
|
|
7
15
|
# to-waves — Internal Program graph engine
|
|
8
16
|
|
|
9
17
|
This skill is an **Internal Program graph engine**, selected by `to-issues` only
|
|
@@ -4,6 +4,14 @@ disable-model-invocation: true
|
|
|
4
4
|
description: "Triage issues through the project board workflow. Use when user wants to triage issues, review incoming bugs or feature requests, prepare issues for an AFK agent, or manage issue workflow."
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
+
<!-- project-extension:protocol-v1:start -->
|
|
8
|
+
## Project extension
|
|
9
|
+
|
|
10
|
+
Before applying this Core skill, run `node scripts/project-skill-extension.mjs inspect --skill triage --json` from the Project root. When it returns `active`, read the returned `path` and apply it as additive Project instructions. When it returns `inactive`, continue with Core only. When it returns `blocked`, stop and report its diagnostic.
|
|
11
|
+
|
|
12
|
+
Project extensions may specialize Project details, but cannot weaken Core user gates, safety, ownership, or validation. A contradiction blocks and requires an Explicit fork.
|
|
13
|
+
<!-- project-extension:protocol-v1:end -->
|
|
14
|
+
|
|
7
15
|
# Triage
|
|
8
16
|
|
|
9
17
|
Move issues on the project issue tracker through the board-driven workflow.
|
|
@@ -3,6 +3,14 @@ name: verify-spike
|
|
|
3
3
|
"description": "Answer a single yes/no factual question about reality with a minimal throwaway, read-only harness and output-proof. Use when a plan, ADR, or implementation hinges on an empirically-checkable fact — does a library API exist / behave this way on this version, does the runtime / DB / platform actually have this capability, does an external assumption hold — and you need a proven verdict before locking the decision. NOT for design exploration (prototype), bug root-cause (diagnose), or building a feature (tdd)."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
+
<!-- project-extension:protocol-v1:start -->
|
|
7
|
+
## Project extension
|
|
8
|
+
|
|
9
|
+
Before applying this Core skill, run `node scripts/project-skill-extension.mjs inspect --skill verify-spike --json` from the Project root. When it returns `active`, read the returned `path` and apply it as additive Project instructions. When it returns `inactive`, continue with Core only. When it returns `blocked`, stop and report its diagnostic.
|
|
10
|
+
|
|
11
|
+
Project extensions may specialize Project details, but cannot weaken Core user gates, safety, ownership, or validation. A contradiction blocks and requires an Explicit fork.
|
|
12
|
+
<!-- project-extension:protocol-v1:end -->
|
|
13
|
+
|
|
6
14
|
# Verify Spike
|
|
7
15
|
|
|
8
16
|
A verify-spike is **throwaway, read-only code that proves a yes/no fact about reality.** The question is binary; the spike makes the answer empirical instead of assumed.
|
|
@@ -4,6 +4,14 @@ description: "Plan a huge chunk of work — more than one agent session can hold
|
|
|
4
4
|
disable-model-invocation: true
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
+
<!-- project-extension:protocol-v1:start -->
|
|
8
|
+
## Project extension
|
|
9
|
+
|
|
10
|
+
Before applying this Core skill, run `node scripts/project-skill-extension.mjs inspect --skill wayfinder --json` from the Project root. When it returns `active`, read the returned `path` and apply it as additive Project instructions. When it returns `inactive`, continue with Core only. When it returns `blocked`, stop and report its diagnostic.
|
|
11
|
+
|
|
12
|
+
Project extensions may specialize Project details, but cannot weaken Core user gates, safety, ownership, or validation. A contradiction blocks and requires an Explicit fork.
|
|
13
|
+
<!-- project-extension:protocol-v1:end -->
|
|
14
|
+
|
|
7
15
|
A loose idea has arrived — too big for one agent session, and wrapped in fog: the way from here to the **destination** isn't visible yet. Wayfinding is about finding that way, not charging at the destination. This skill charts the way as a **shared map** on the repo's issue tracker, then works its tickets one at a time until the route is clear.
|
|
8
16
|
|
|
9
17
|
The destination varies per effort, and naming it is the first act of charting — it shapes every ticket. It might be a spec to hand off and iterate on, a decision to lock before planning starts, or a change made in place like a data-structure migration. The map is domain-agnostic — engineering work, course content, whatever fits the shape.
|
|
@@ -4,6 +4,14 @@ disable-model-invocation: true
|
|
|
4
4
|
"description": "Use ONLY when the user types /wrapup. Session-end \"land & clean\" for a finished feature/fix worktree — merges the open PR, kills the worktree dev server, removes the worktree + local branch, and fast-forwards the main checkout so main is current again, then sweeps merged-branch leftovers (local + stale remote whose PR is merged). If the slice isn't landed yet, it first makes it landable (Step 0): commits a dirty tree (after an .env/secret check), pushes, and opens the PR — reusing one if it already exists. User-triggered only (never auto-invoke, never hook). Aborts hard only on: not in a feature worktree, a detected .env/secret, a rejected push, a conflicting PR, or red (FAILURE) checks."
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
+
<!-- project-extension:protocol-v1:start -->
|
|
8
|
+
## Project extension
|
|
9
|
+
|
|
10
|
+
Before applying this Core skill, run `node scripts/project-skill-extension.mjs inspect --skill wrapup --json` from the Project root. When it returns `active`, read the returned `path` and apply it as additive Project instructions. When it returns `inactive`, continue with Core only. When it returns `blocked`, stop and report its diagnostic.
|
|
11
|
+
|
|
12
|
+
Project extensions may specialize Project details, but cannot weaken Core user gates, safety, ownership, or validation. A contradiction blocks and requires an Explicit fork.
|
|
13
|
+
<!-- project-extension:protocol-v1:end -->
|
|
14
|
+
|
|
7
15
|
# wrapup — land PR & tear down worktree
|
|
8
16
|
|
|
9
17
|
Trigger: user types `/wrapup` (optionally with a PR number). **Manual only** — `disable-model-invocation: true`, no hook, no auto-invoke.
|
|
@@ -4,6 +4,14 @@ description: Ask which skill or flow fits your situation. A router over the skil
|
|
|
4
4
|
disable-model-invocation: true
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
+
<!-- project-extension:protocol-v1:start -->
|
|
8
|
+
## Project extension
|
|
9
|
+
|
|
10
|
+
Before applying this Core skill, run `node scripts/project-skill-extension.mjs inspect --skill ask-matt --json` from the Project root. When it returns `active`, read the returned `path` and apply it as additive Project instructions. When it returns `inactive`, continue with Core only. When it returns `blocked`, stop and report its diagnostic.
|
|
11
|
+
|
|
12
|
+
Project extensions may specialize Project details, but cannot weaken Core user gates, safety, ownership, or validation. A contradiction blocks and requires an Explicit fork.
|
|
13
|
+
<!-- project-extension:protocol-v1:end -->
|
|
14
|
+
|
|
7
15
|
# Ask Matt
|
|
8
16
|
|
|
9
17
|
> **Homage + Router.** Adopted from Matt Pocock's `ask-matt` (MIT, github.com/mattpocock/skills @ `7a83a3a`) — the name stays as a nod to upstream, the content is adapted to *this* repo's skill set (the plan→execute→land→learn line plus our gates, cross-model review, and land/learn skills). Provenance: `docs/agents/provenance.md`. Folder↔upstream-name note: `/diagnose` = upstream `diagnosing-bugs`, `/write-a-skill` = upstream `writing-great-skills` (renamed upstream, local names kept).
|
|
@@ -4,6 +4,14 @@ disable-model-invocation: true
|
|
|
4
4
|
description: Audit the project's own skills for drift from code/doc reality and fix it — the anti-drift "learn" step of the plan → execute → land → learn line. Run it at retro, periodically, or when a SessionStart drift-hint warns that a skill's declared source moved since its last touch. Fans out one read-only research subagent per skill over every concrete claim in the SKILL.md, re-verifies each reported drift empirically before editing (the auditor produces false positives), then fixes by content type. Triggers — "audit the skills", "skill drift", "stale skill", "this skill points at a dead path / renamed symbol", "skill-freshness warning". NOT for rewriting a domain skill's content on demand (that is the skill itself) and NOT for auditing application code (that is a code review or a diagnosis).
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
+
<!-- project-extension:protocol-v1:start -->
|
|
8
|
+
## Project extension
|
|
9
|
+
|
|
10
|
+
Before applying this Core skill, run `node scripts/project-skill-extension.mjs inspect --skill audit-skills --json` from the Project root. When it returns `active`, read the returned `path` and apply it as additive Project instructions. When it returns `inactive`, continue with Core only. When it returns `blocked`, stop and report its diagnostic.
|
|
11
|
+
|
|
12
|
+
Project extensions may specialize Project details, but cannot weaken Core user gates, safety, ownership, or validation. A contradiction blocks and requires an Explicit fork.
|
|
13
|
+
<!-- project-extension:protocol-v1:end -->
|
|
14
|
+
|
|
7
15
|
# audit-skills — Skill freshness audit (anti-drift)
|
|
8
16
|
|
|
9
17
|
A reusable recipe for checking the project's own skills against code/doc reality
|
|
@@ -17,6 +17,14 @@ description: >-
|
|
|
17
17
|
code-reading.
|
|
18
18
|
---
|
|
19
19
|
|
|
20
|
+
<!-- project-extension:protocol-v1:start -->
|
|
21
|
+
## Project extension
|
|
22
|
+
|
|
23
|
+
Before applying this Core skill, run `node scripts/project-skill-extension.mjs inspect --skill board-to-waves --json` from the Project root. When it returns `active`, read the returned `path` and apply it as additive Project instructions. When it returns `inactive`, continue with Core only. When it returns `blocked`, stop and report its diagnostic.
|
|
24
|
+
|
|
25
|
+
Project extensions may specialize Project details, but cannot weaken Core user gates, safety, ownership, or validation. A contradiction blocks and requires an Explicit fork.
|
|
26
|
+
<!-- project-extension:protocol-v1:end -->
|
|
27
|
+
|
|
20
28
|
# board-to-waves
|
|
21
29
|
|
|
22
30
|
**Survey the board → cluster open issues by theme → anchor stub issues.** Systematizes how Welle F came about: first look at what's open and what fits together, then form thematic waves. Result lands durably as an anchor issue on the board (GitHub = SSOT), not as a chat list.
|
|
@@ -3,6 +3,14 @@ name: census-update
|
|
|
3
3
|
description: "Build, refresh, or check an optional project-local census. Use when a user invokes census-update, asks to establish a counted surface census, or needs to reconcile census drift; scan facts in the current repository, guide only ambiguous decisions, and activate a verified candidate transactionally."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
+
<!-- project-extension:protocol-v1:start -->
|
|
7
|
+
## Project extension
|
|
8
|
+
|
|
9
|
+
Before applying this Core skill, run `node scripts/project-skill-extension.mjs inspect --skill census-update --json` from the Project root. When it returns `active`, read the returned `path` and apply it as additive Project instructions. When it returns `inactive`, continue with Core only. When it returns `blocked`, stop and report its diagnostic.
|
|
10
|
+
|
|
11
|
+
Project extensions may specialize Project details, but cannot weaken Core user gates, safety, ownership, or validation. A contradiction blocks and requires an Explicit fork.
|
|
12
|
+
<!-- project-extension:protocol-v1:end -->
|
|
13
|
+
|
|
6
14
|
# Census Update
|
|
7
15
|
|
|
8
16
|
Build and maintain the current repository's consumer-owned census through the
|
|
@@ -3,6 +3,14 @@ name: code-review
|
|
|
3
3
|
description: Review a diff, branch, or PR against two separate axes — Standards (this repo's own conventions plus a Fowler-smell baseline) and Spec (does the diff faithfully implement the originating issue/PRD) — reported side by side, never merged or re-ranked. Runs a three-dot merge-base preflight before either axis starts. Use when asked to review a diff/branch/PR, or when a review needs to answer both "does this follow our standards" and "does this match the spec" without one masking the other. NOT for a pre-code plan review (that reviews a plan before any code exists), NOT for root-causing a known bug (`diagnose`), and NOT a pure reuse/simplification/efficiency pass (narrower, no bug-hunting).
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
+
<!-- project-extension:protocol-v1:start -->
|
|
7
|
+
## Project extension
|
|
8
|
+
|
|
9
|
+
Before applying this Core skill, run `node scripts/project-skill-extension.mjs inspect --skill code-review --json` from the Project root. When it returns `active`, read the returned `path` and apply it as additive Project instructions. When it returns `inactive`, continue with Core only. When it returns `blocked`, stop and report its diagnostic.
|
|
10
|
+
|
|
11
|
+
Project extensions may specialize Project details, but cannot weaken Core user gates, safety, ownership, or validation. A contradiction blocks and requires an Explicit fork.
|
|
12
|
+
<!-- project-extension:protocol-v1:end -->
|
|
13
|
+
|
|
6
14
|
# Code Review
|
|
7
15
|
|
|
8
16
|
A code-review compares one diff against **two independent axes** — Standards and Spec — and reports them **separately**. A diff can pass one axis and fail the other: code that satisfies every convention but builds the wrong thing is a Standards-pass/Spec-fail; code that nails the issue but breaks conventions is a Spec-pass/Standards-fail. Merge or re-rank the two and one axis silently masks the other — that is the exact failure mode this method exists to prevent.
|
|
@@ -3,6 +3,14 @@ name: codebase-design
|
|
|
3
3
|
description: Shared vocabulary for designing deep modules. Use when the user wants to design or improve a module's interface, find deepening opportunities, decide where a seam goes, make code more testable or AI-navigable, or when another skill needs the deep-module vocabulary.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
+
<!-- project-extension:protocol-v1:start -->
|
|
7
|
+
## Project extension
|
|
8
|
+
|
|
9
|
+
Before applying this Core skill, run `node scripts/project-skill-extension.mjs inspect --skill codebase-design --json` from the Project root. When it returns `active`, read the returned `path` and apply it as additive Project instructions. When it returns `inactive`, continue with Core only. When it returns `blocked`, stop and report its diagnostic.
|
|
10
|
+
|
|
11
|
+
Project extensions may specialize Project details, but cannot weaken Core user gates, safety, ownership, or validation. A contradiction blocks and requires an Explicit fork.
|
|
12
|
+
<!-- project-extension:protocol-v1:end -->
|
|
13
|
+
|
|
6
14
|
# Codebase Design
|
|
7
15
|
|
|
8
16
|
Design **deep modules**: a lot of behaviour behind a small interface, placed at a clean seam, testable through that interface. Use this language and these principles wherever code is being designed or restructured. The aim is leverage for callers, locality for maintainers, and testability for everyone.
|
|
@@ -3,6 +3,14 @@ name: codex-build
|
|
|
3
3
|
description: Hand a frozen spec (PLAN.md or any locked plan) to OpenAI Codex to IMPLEMENT inside a bounded workspace-write sandbox, while Claude stays the spec-writer and reviewer — the exact role-flip of /codex-review. Codex builds from the spec against a declared allowed-write set, Claude reads the full diff like a contributor PR, runs the proof test, and iterates fixes via the SAME Codex session up to MAX_FIX_ROUNDS before taking over. Human approves the diff before any commit. Use when the user says "/codex-build", "have codex build this", "codex implement the plan", "hand the plan to codex", "delegate the build to codex", or right after a plan survives /grill-me-codex, /grill-with-docs-codex, or /codex-review and they choose Codex for implementation (Act 3). Also for standalone delegation — refactors, mechanical migrations, bug fixes with a known repro, test/coverage writing — anything that reads as a work order. NOT for tiny edits (~<20 lines — delegation overhead loses), NOT for design work (if writing the spec forces decisions, that's /grill-me-codex first), NOT for reviewing existing code (/codex:review), and NOT for anything needing Claude-session tools (MCP, secrets, browser).
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
+
<!-- project-extension:protocol-v1:start -->
|
|
7
|
+
## Project extension
|
|
8
|
+
|
|
9
|
+
Before applying this Core skill, run `node scripts/project-skill-extension.mjs inspect --skill codex-build --json` from the Project root. When it returns `active`, read the returned `path` and apply it as additive Project instructions. When it returns `inactive`, continue with Core only. When it returns `blocked`, stop and report its diagnostic.
|
|
10
|
+
|
|
11
|
+
Project extensions may specialize Project details, but cannot weaken Core user gates, safety, ownership, or validation. A contradiction blocks and requires an Explicit fork.
|
|
12
|
+
<!-- project-extension:protocol-v1:end -->
|
|
13
|
+
|
|
6
14
|
# Codex-Build — Codex Types, Claude Verifies
|
|
7
15
|
|
|
8
16
|
> **Local adaptation note:** adapted from Chase AI's `codex-build` (which itself adapts Peter Steinberger's `codex-first` pattern). Upstream runs Codex with `--yolo` / full access; this fork deliberately does NOT — Codex writes inside a **workspace-write sandbox** against a **declared allowed-write set**, never `danger-full-access`, and the approval policy is never weakened. See `THIRD-PARTY-NOTICES.md`.
|
|
@@ -3,6 +3,14 @@ name: codex-review
|
|
|
3
3
|
description: A standalone adversarial PLAN-review loop where Claude Code (builder) and OpenAI Codex (read-only critic) tag-team an implementation plan before any code is written. Use this when you ALREADY have a plan or a clear idea and just want the cross-model stress-test — no requirements interview first. Claude drafts/loads the plan into PLAN.md, Codex reviews it in a read-only sandbox and returns VERDICT:APPROVED or VERDICT:REVISE, Claude revises and re-submits to the SAME Codex session (context preserved) until APPROVED or a configurable MAX_ROUNDS cap is hit. Human approves the converged plan before code. Use when the user says "/codex-review", "codex review my plan", "have Codex review my plan", "argue this plan with Codex", "adversarial plan review", "make Claude and Codex argue/fight over the plan", or is about to build something high-stakes (auth, schema, concurrency, migrations, payments) and wants a second-model sanity check on the PLAN before implementation. For a guided requirements interview BEFORE the review, use /grill-me-codex instead. NOT for reviewing already-written CODE (that is the Codex plugin's /codex:review) and NOT for trivial changes.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
+
<!-- project-extension:protocol-v1:start -->
|
|
7
|
+
## Project extension
|
|
8
|
+
|
|
9
|
+
Before applying this Core skill, run `node scripts/project-skill-extension.mjs inspect --skill codex-review --json` from the Project root. When it returns `active`, read the returned `path` and apply it as additive Project instructions. When it returns `inactive`, continue with Core only. When it returns `blocked`, stop and report its diagnostic.
|
|
10
|
+
|
|
11
|
+
Project extensions may specialize Project details, but cannot weaken Core user gates, safety, ownership, or validation. A contradiction blocks and requires an Explicit fork.
|
|
12
|
+
<!-- project-extension:protocol-v1:end -->
|
|
13
|
+
|
|
6
14
|
# Codex-Review — Adversarial Plan-Review Loop
|
|
7
15
|
|
|
8
16
|
Two models, one plan, a bounded argument. **Claude is the builder and orchestrator. Codex is a read-only critic** that can read the repo and the plan but cannot touch a single file. They communicate strictly through `PLAN.md` + a Codex session that persists across rounds. The human enters at exactly two points: kickoff and final sign-off.
|
|
@@ -3,6 +3,14 @@ name: decision-gate
|
|
|
3
3
|
description: Resolve a bounded trade-off choice or a targeted research gap with read-only investigation, a documented weigh-up, and a reasoned decision. Use when a plan or slice hinges on a concrete "which option" choice or a "need to research this first" gap that is above a binary yes/no fact (verify-spike) but below a high-stakes, hard-to-reverse, ADR-worthy decision (grill-with-docs-codex). Output is a trade-off table plus a justified pick sunk into an ADR/issue/comment. NOT for binary fact-checks (verify-spike), open-ended design feel (prototype), or bug root-cause (diagnose).
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
+
<!-- project-extension:protocol-v1:start -->
|
|
7
|
+
## Project extension
|
|
8
|
+
|
|
9
|
+
Before applying this Core skill, run `node scripts/project-skill-extension.mjs inspect --skill decision-gate --json` from the Project root. When it returns `active`, read the returned `path` and apply it as additive Project instructions. When it returns `inactive`, continue with Core only. When it returns `blocked`, stop and report its diagnostic.
|
|
10
|
+
|
|
11
|
+
Project extensions may specialize Project details, but cannot weaken Core user gates, safety, ownership, or validation. A contradiction blocks and requires an Explicit fork.
|
|
12
|
+
<!-- project-extension:protocol-v1:end -->
|
|
13
|
+
|
|
6
14
|
# Decision Gate
|
|
7
15
|
|
|
8
16
|
A decision-gate resolves **a bounded "which option" choice — or a targeted research gap — with evidence, not a hunch.** You have two or more candidate approaches (or one approach you cannot yet commit to), the call is small enough that a full design-grill is overkill, but it is more than a single yes/no fact. The gate makes the choice **documented and defensible** instead of decided in your head.
|
|
@@ -3,6 +3,14 @@ name: diagnose
|
|
|
3
3
|
description: Disciplined diagnosis loop for hard bugs and performance regressions. Reproduce → minimise → hypothesise → instrument → fix → regression-test. Use when user says "diagnose this" / "debug this", reports a bug, says something is broken/throwing/failing, or describes a performance regression.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
+
<!-- project-extension:protocol-v1:start -->
|
|
7
|
+
## Project extension
|
|
8
|
+
|
|
9
|
+
Before applying this Core skill, run `node scripts/project-skill-extension.mjs inspect --skill diagnose --json` from the Project root. When it returns `active`, read the returned `path` and apply it as additive Project instructions. When it returns `inactive`, continue with Core only. When it returns `blocked`, stop and report its diagnostic.
|
|
10
|
+
|
|
11
|
+
Project extensions may specialize Project details, but cannot weaken Core user gates, safety, ownership, or validation. A contradiction blocks and requires an Explicit fork.
|
|
12
|
+
<!-- project-extension:protocol-v1:end -->
|
|
13
|
+
|
|
6
14
|
# Diagnose
|
|
7
15
|
|
|
8
16
|
> **Skill identity (don't get confused):** the folder `diagnose` + invocation `/diagnose` map to Matt Pocock's upstream skill **`diagnosing-bugs`**. Upstream renamed `diagnose` → `diagnosing-bugs`; we deliberately keep the folder name `diagnose` (invocation stability `/diagnose`). Content = upstream `diagnosing-bugs` @ `7a83a3a`, locally adapted (description kept with full trigger coverage). Provenance/rename ledger: `docs/agents/provenance.md` (§Re-Sync-Log), at the project root.
|
|
@@ -3,6 +3,14 @@ name: domain-modeling
|
|
|
3
3
|
description: Build and sharpen a project's domain model. Use when the user wants to pin down domain terminology or a ubiquitous language, record an architectural decision, or when another skill needs to maintain the domain model.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
+
<!-- project-extension:protocol-v1:start -->
|
|
7
|
+
## Project extension
|
|
8
|
+
|
|
9
|
+
Before applying this Core skill, run `node scripts/project-skill-extension.mjs inspect --skill domain-modeling --json` from the Project root. When it returns `active`, read the returned `path` and apply it as additive Project instructions. When it returns `inactive`, continue with Core only. When it returns `blocked`, stop and report its diagnostic.
|
|
10
|
+
|
|
11
|
+
Project extensions may specialize Project details, but cannot weaken Core user gates, safety, ownership, or validation. A contradiction blocks and requires an Explicit fork.
|
|
12
|
+
<!-- project-extension:protocol-v1:end -->
|
|
13
|
+
|
|
6
14
|
# Domain Modeling
|
|
7
15
|
|
|
8
16
|
> **In this repo (if present):** `CONTEXT.md` + `docs/adr/` already exist (lazily created via `/grill-with-docs`). The **ADR conventions are SSOT in `docs/adr/README.md`** (project root; status lifecycle, template, numbering) — use that convention when creating an ADR, don't shadow it with the generic [ADR-FORMAT.md](./ADR-FORMAT.md). `/grill-with-docs`(-codex) maintains CONTEXT.md + ADRs in operation; this skill is the vocabulary underneath. Provenance: `docs/agents/provenance.md`.
|
|
@@ -4,6 +4,14 @@ disable-model-invocation: true
|
|
|
4
4
|
description: Set up Claude Code hooks to block dangerous git commands (push, reset --hard, clean, branch -D, etc.) before they execute. Use when user wants to prevent destructive git operations, add git safety hooks, or block git push/reset in Claude Code.
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
+
<!-- project-extension:protocol-v1:start -->
|
|
8
|
+
## Project extension
|
|
9
|
+
|
|
10
|
+
Before applying this Core skill, run `node scripts/project-skill-extension.mjs inspect --skill git-guardrails-claude-code --json` from the Project root. When it returns `active`, read the returned `path` and apply it as additive Project instructions. When it returns `inactive`, continue with Core only. When it returns `blocked`, stop and report its diagnostic.
|
|
11
|
+
|
|
12
|
+
Project extensions may specialize Project details, but cannot weaken Core user gates, safety, ownership, or validation. A contradiction blocks and requires an Explicit fork.
|
|
13
|
+
<!-- project-extension:protocol-v1:end -->
|
|
14
|
+
|
|
7
15
|
# Setup Git Guardrails
|
|
8
16
|
|
|
9
17
|
Sets up a PreToolUse hook that intercepts and blocks dangerous git commands before Claude executes them.
|
|
@@ -9,6 +9,14 @@ description: >-
|
|
|
9
9
|
here", "my work is gone", "I committed to main by accident".
|
|
10
10
|
---
|
|
11
11
|
|
|
12
|
+
<!-- project-extension:protocol-v1:start -->
|
|
13
|
+
## Project extension
|
|
14
|
+
|
|
15
|
+
Before applying this Core skill, run `node scripts/project-skill-extension.mjs inspect --skill git-worktree-recover --json` from the Project root. When it returns `active`, read the returned `path` and apply it as additive Project instructions. When it returns `inactive`, continue with Core only. When it returns `blocked`, stop and report its diagnostic.
|
|
16
|
+
|
|
17
|
+
Project extensions may specialize Project details, but cannot weaken Core user gates, safety, ownership, or validation. A contradiction blocks and requires an Explicit fork.
|
|
18
|
+
<!-- project-extension:protocol-v1:end -->
|
|
19
|
+
|
|
12
20
|
# git-worktree-recover
|
|
13
21
|
|
|
14
22
|
Recovery skill for branch mix-ups. When two processes share one checkout's global
|
|
@@ -4,6 +4,14 @@ disable-model-invocation: true
|
|
|
4
4
|
description: Interview the user relentlessly about a plan or design until reaching shared understanding, resolving each branch of the decision tree. Use when user wants to stress-test a plan, get grilled on their design, or mentions "grill me".
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
+
<!-- project-extension:protocol-v1:start -->
|
|
8
|
+
## Project extension
|
|
9
|
+
|
|
10
|
+
Before applying this Core skill, run `node scripts/project-skill-extension.mjs inspect --skill grill-me --json` from the Project root. When it returns `active`, read the returned `path` and apply it as additive Project instructions. When it returns `inactive`, continue with Core only. When it returns `blocked`, stop and report its diagnostic.
|
|
11
|
+
|
|
12
|
+
Project extensions may specialize Project details, but cannot weaken Core user gates, safety, ownership, or validation. A contradiction blocks and requires an Explicit fork.
|
|
13
|
+
<!-- project-extension:protocol-v1:end -->
|
|
14
|
+
|
|
7
15
|
Interview me relentlessly about every aspect of this plan until we reach a shared understanding. Walk down each branch of the design tree, resolving dependencies between decisions one-by-one. For each question, provide your recommended answer.
|
|
8
16
|
|
|
9
17
|
Ask the questions one at a time.
|
|
@@ -3,6 +3,14 @@ name: grill-me-codex
|
|
|
3
3
|
description: Two-act plan hardening. ACT 1 (you ↔ Claude) — Claude interviews you relentlessly about a plan or design, one question at a time, recommending an answer for each and exploring the codebase when it can answer itself, until every branch of the decision tree is resolved. ACT 2 (Claude ↔ Codex) — Claude writes the locked plan to PLAN.md and OpenAI Codex adversarially reviews it in a read-only sandbox (VERDICT:APPROVED/REVISE), Claude revises and re-submits to the SAME Codex session until APPROVED or a MAX_ROUNDS cap, then you sign off before any code. Use when the user says "/grill-me-codex", "grill me then have codex review", "grill me and stress-test the plan", "interview me about this plan then get a second model on it", or is about to build something high-stakes (auth, schema, concurrency, migrations, payments) and wants both alignment AND a cross-model sanity check before implementation. Builds on Matt Pocock's grill-me (MIT). For the docs-aware variant use /grill-with-docs-codex; if you already have a plan and want only the Codex review use /codex-review. NOT for reviewing already-written code (use /codex:review) and NOT for trivial changes.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
+
<!-- project-extension:protocol-v1:start -->
|
|
7
|
+
## Project extension
|
|
8
|
+
|
|
9
|
+
Before applying this Core skill, run `node scripts/project-skill-extension.mjs inspect --skill grill-me-codex --json` from the Project root. When it returns `active`, read the returned `path` and apply it as additive Project instructions. When it returns `inactive`, continue with Core only. When it returns `blocked`, stop and report its diagnostic.
|
|
10
|
+
|
|
11
|
+
Project extensions may specialize Project details, but cannot weaken Core user gates, safety, ownership, or validation. A contradiction blocks and requires an Explicit fork.
|
|
12
|
+
<!-- project-extension:protocol-v1:end -->
|
|
13
|
+
|
|
6
14
|
# Grill-Me-Codex — Get Grilled, Then Get Reviewed
|
|
7
15
|
|
|
8
16
|
Two acts, two different jobs:
|
|
@@ -4,6 +4,14 @@ disable-model-invocation: true
|
|
|
4
4
|
description: Grilling session that challenges your plan against the existing domain model, sharpens terminology, and updates documentation (CONTEXT.md, ADRs) inline as decisions crystallise. Use when user wants to stress-test a plan against their project's language and documented decisions.
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
+
<!-- project-extension:protocol-v1:start -->
|
|
8
|
+
## Project extension
|
|
9
|
+
|
|
10
|
+
Before applying this Core skill, run `node scripts/project-skill-extension.mjs inspect --skill grill-with-docs --json` from the Project root. When it returns `active`, read the returned `path` and apply it as additive Project instructions. When it returns `inactive`, continue with Core only. When it returns `blocked`, stop and report its diagnostic.
|
|
11
|
+
|
|
12
|
+
Project extensions may specialize Project details, but cannot weaken Core user gates, safety, ownership, or validation. A contradiction blocks and requires an Explicit fork.
|
|
13
|
+
<!-- project-extension:protocol-v1:end -->
|
|
14
|
+
|
|
7
15
|
<what-to-do>
|
|
8
16
|
|
|
9
17
|
Interview me relentlessly about every aspect of this plan until we reach a shared understanding. Walk down each branch of the design tree, resolving dependencies between decisions one-by-one. For each question, provide your recommended answer.
|
|
@@ -3,6 +3,14 @@ name: grill-with-docs-codex
|
|
|
3
3
|
description: Two-act plan hardening with living documentation. ACT 1 (you ↔ Claude) — Claude interviews you relentlessly about a plan, one question at a time, challenging it against your project's existing domain model and glossary (CONTEXT.md), sharpening fuzzy terms, stress-testing with concrete scenarios, cross-referencing code, and updating CONTEXT.md + ADRs inline as decisions crystallise. ACT 2 (Claude ↔ Codex) — Claude writes the locked plan to PLAN.md and OpenAI Codex adversarially reviews it in a read-only sandbox (VERDICT:APPROVED/REVISE), Claude revises and re-submits to the SAME Codex session until APPROVED or a MAX_ROUNDS cap, then you sign off before any code. Use when the user says "/grill-with-docs-codex", "grill me against the docs then have codex review", "stress-test this against our domain model then get a second model on it", or is about to build something high-stakes in a project with established terminology/ADRs and wants alignment, documentation, AND a cross-model sanity check. Builds on Matt Pocock's grill-with-docs (MIT). NOT for reviewing already-written code (use /codex:review) and NOT for trivial changes.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
+
<!-- project-extension:protocol-v1:start -->
|
|
7
|
+
## Project extension
|
|
8
|
+
|
|
9
|
+
Before applying this Core skill, run `node scripts/project-skill-extension.mjs inspect --skill grill-with-docs-codex --json` from the Project root. When it returns `active`, read the returned `path` and apply it as additive Project instructions. When it returns `inactive`, continue with Core only. When it returns `blocked`, stop and report its diagnostic.
|
|
10
|
+
|
|
11
|
+
Project extensions may specialize Project details, but cannot weaken Core user gates, safety, ownership, or validation. A contradiction blocks and requires an Explicit fork.
|
|
12
|
+
<!-- project-extension:protocol-v1:end -->
|
|
13
|
+
|
|
6
14
|
# Grill-with-Docs-Codex — Grill Against Your Domain, Then Get Reviewed
|
|
7
15
|
|
|
8
16
|
Two acts. Act 1 aligns intent *and* keeps your living docs honest; Act 2 has a different model attack the result.
|
|
@@ -4,6 +4,14 @@ description: "Implement a piece of work based on a PRD or set of issues."
|
|
|
4
4
|
disable-model-invocation: true
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
+
<!-- project-extension:protocol-v1:start -->
|
|
8
|
+
## Project extension
|
|
9
|
+
|
|
10
|
+
Before applying this Core skill, run `node scripts/project-skill-extension.mjs inspect --skill implement --json` from the Project root. When it returns `active`, read the returned `path` and apply it as additive Project instructions. When it returns `inactive`, continue with Core only. When it returns `blocked`, stop and report its diagnostic.
|
|
11
|
+
|
|
12
|
+
Project extensions may specialize Project details, but cannot weaken Core user gates, safety, ownership, or validation. A contradiction blocks and requires an Explicit fork.
|
|
13
|
+
<!-- project-extension:protocol-v1:end -->
|
|
14
|
+
|
|
7
15
|
Implement the work described by the user in the PRD or issues.
|
|
8
16
|
|
|
9
17
|
## Pickup — claim the issue first
|
|
@@ -4,6 +4,14 @@ disable-model-invocation: true
|
|
|
4
4
|
description: Find deepening opportunities in a codebase, informed by the domain language in CONTEXT.md and the decisions in docs/adr/. Use when the user wants to improve architecture, find refactoring opportunities, consolidate tightly-coupled modules, or make a codebase more testable and AI-navigable.
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
+
<!-- project-extension:protocol-v1:start -->
|
|
8
|
+
## Project extension
|
|
9
|
+
|
|
10
|
+
Before applying this Core skill, run `node scripts/project-skill-extension.mjs inspect --skill improve-codebase-architecture --json` from the Project root. When it returns `active`, read the returned `path` and apply it as additive Project instructions. When it returns `inactive`, continue with Core only. When it returns `blocked`, stop and report its diagnostic.
|
|
11
|
+
|
|
12
|
+
Project extensions may specialize Project details, but cannot weaken Core user gates, safety, ownership, or validation. A contradiction blocks and requires an Explicit fork.
|
|
13
|
+
<!-- project-extension:protocol-v1:end -->
|
|
14
|
+
|
|
7
15
|
# Improve Codebase Architecture
|
|
8
16
|
|
|
9
17
|
Surface architectural friction and propose **deepening opportunities** — refactors that turn shallow modules into deep ones. The aim is testability and AI-navigability.
|
|
@@ -1,14 +1,26 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: kit-release
|
|
3
|
-
description: "Prepare and
|
|
3
|
+
description: "Prepare, integrate and publish a verified agent-workflow-kit release: one confirmed Semver authorizes the annotated version tag, then monitor npm/GitHub parity to released."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
+
<!-- project-extension:protocol-v1:start -->
|
|
7
|
+
## Project extension
|
|
8
|
+
|
|
9
|
+
Before applying this Core skill, run `node scripts/project-skill-extension.mjs inspect --skill kit-release --json` from the Project root. When it returns `active`, read the returned `path` and apply it as additive Project instructions. When it returns `inactive`, continue with Core only. When it returns `blocked`, stop and report its diagnostic.
|
|
10
|
+
|
|
11
|
+
Project extensions may specialize Project details, but cannot weaken Core user gates, safety, ownership, or validation. A contradiction blocks and requires an Explicit fork.
|
|
12
|
+
<!-- project-extension:protocol-v1:end -->
|
|
13
|
+
|
|
6
14
|
# Kit Release
|
|
7
15
|
|
|
8
16
|
Prepare a release deterministically. This skill owns the shipped-delta decision,
|
|
9
|
-
metadata preparation, verification, and the
|
|
10
|
-
|
|
11
|
-
|
|
17
|
+
metadata preparation, verification, and the post-merge publication intent. It
|
|
18
|
+
delegates commit, branch push, PR, merge, and cleanup to wrapup. It never
|
|
19
|
+
publishes to a registry or creates a GitHub release by hand — it records intent
|
|
20
|
+
with the annotated tag and lets the trusted workflow publish.
|
|
21
|
+
|
|
22
|
+
The release has **one** human gate: the confirmed Semver in step 2. Everything
|
|
23
|
+
after it — merge, tag, publish, parity check — is the agent's to carry out.
|
|
12
24
|
|
|
13
25
|
## Workflow
|
|
14
26
|
|
|
@@ -33,8 +45,8 @@ never publishes to a registry or creates a GitHub release directly.
|
|
|
33
45
|
Do not turn a narrower build-only or single-action request into this
|
|
34
46
|
authority.
|
|
35
47
|
|
|
36
|
-
|
|
37
|
-
|
|
48
|
+
Either route authorizes exactly one target — and that authorization carries
|
|
49
|
+
through to its tag and publish. This is the release's single human gate.
|
|
38
50
|
|
|
39
51
|
3. Prepare that authorized exact version:
|
|
40
52
|
|
|
@@ -52,21 +64,25 @@ never publishes to a registry or creates a GitHub release directly.
|
|
|
52
64
|
`scripts/wrapup-land.py` exclusively own commit, push, PR creation, merge,
|
|
53
65
|
and cleanup. Do not reproduce those operations here.
|
|
54
66
|
|
|
55
|
-
5.
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
67
|
+
5. Publish. Merging integrates the prepared release; only the annotated tag
|
|
68
|
+
starts publication. Verify that the package version on current `origin/main`
|
|
69
|
+
is exactly `<version>`, then create and push the matching annotated
|
|
70
|
+
`v<version>` tag — **the confirmed Semver authorizes the whole release,
|
|
71
|
+
through tag and publish, so do this without asking again**. The target was
|
|
72
|
+
chosen once, at step 2; nothing between there and here produces information
|
|
73
|
+
a second gate could act on. Report the integrated commit as you tag it, not
|
|
74
|
+
as a question.
|
|
75
|
+
|
|
76
|
+
Publication is **irreversible** — npm versions cannot be reused, and the
|
|
77
|
+
unpublish window is narrow and breaks consumers. The safety lives in gates
|
|
78
|
+
that already ran, not in a prompt: `release:guard`, `kit:staleness`, the full
|
|
79
|
+
suite and `npm pack --dry-run` before merge, then the workflow's own tag
|
|
80
|
+
identity, package version, main ancestry and artifact checks after it. A
|
|
81
|
+
lightweight tag, a mismatching version, or a commit outside canonical `main`
|
|
82
|
+
is invalid release intent. Never infer a tag target, move an existing tag, or
|
|
83
|
+
tag an unmerged commit.
|
|
84
|
+
|
|
85
|
+
6. Monitor the tag-triggered `release.yml` workflow and inspect its externally
|
|
70
86
|
reconstructable state:
|
|
71
87
|
|
|
72
88
|
```sh
|
|
@@ -3,6 +3,14 @@ name: kit-update
|
|
|
3
3
|
description: "Preview and transactionally apply a parity-verified agent-workflow-kit release without overwriting local modifications or auto-resolving conflicts."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
+
<!-- project-extension:protocol-v1:start -->
|
|
7
|
+
## Project extension
|
|
8
|
+
|
|
9
|
+
Before applying this Core skill, run `node scripts/project-skill-extension.mjs inspect --skill kit-update --json` from the Project root. When it returns `active`, read the returned `path` and apply it as additive Project instructions. When it returns `inactive`, continue with Core only. When it returns `blocked`, stop and report its diagnostic.
|
|
10
|
+
|
|
11
|
+
Project extensions may specialize Project details, but cannot weaken Core user gates, safety, ownership, or validation. A contradiction blocks and requires an Explicit fork.
|
|
12
|
+
<!-- project-extension:protocol-v1:end -->
|
|
13
|
+
|
|
6
14
|
# Kit Update
|
|
7
15
|
|
|
8
16
|
Update an installed consumer only from the public scoped package
|
|
@@ -84,8 +92,13 @@ release contain the same artifact.
|
|
|
84
92
|
core, and still unresolved capability states. Missing readiness for genuinely
|
|
85
93
|
new behavior does not block a compatible kit update; only that behavior stays
|
|
86
94
|
unavailable. A compatible update must stop if it would make previously
|
|
87
|
-
available skill core unavailable. `--yes` answers only
|
|
88
|
-
|
|
95
|
+
available skill core unavailable. `--yes` answers only actions whose
|
|
96
|
+
interpretation is already known and never supplies a readiness or ownership
|
|
97
|
+
decision. An untracked destination at a new Kit path remains
|
|
98
|
+
`ambiguous-collision` under `--yes`; interactive and automated runs must
|
|
99
|
+
explicitly choose Project extension, Contribution Bridge, Explicit fork, or
|
|
100
|
+
clean Core. Diagnostics name only path, ledger/package/extension evidence,
|
|
101
|
+
and safe routes—never file content. Automated update pull
|
|
89
102
|
requests carry the same availability summary and remain manual-merge only.
|
|
90
103
|
|
|
91
104
|
For each conflicted kit-shipped file, always ask the user whether the local
|
|
@@ -97,8 +110,9 @@ release contain the same artifact.
|
|
|
97
110
|
of the exact title and body with consumer identifiers and secrets stripped,
|
|
98
111
|
then require the user's explicit approval. The consumer user does not need
|
|
99
112
|
to be a kit maintainer. For a project-specific edit, recommend
|
|
100
|
-
`npx @ikon85/agent-workflow-kit@latest own <path
|
|
101
|
-
that path as
|
|
113
|
+
`npx @ikon85/agent-workflow-kit@latest own <path> --as=explicit-fork` so
|
|
114
|
+
future updates treat that path as an independent fork. A generic experiment
|
|
115
|
+
retained only until it returns upstream uses `--as=contribution-bridge`.
|
|
102
116
|
|
|
103
117
|
4. If a candidate is interrupted, discard its reported stage directory or
|
|
104
118
|
resume the transaction through the update API's `resumeFrom` option. Do not
|
|
@@ -3,6 +3,14 @@ name: local-ci
|
|
|
3
3
|
description: Run the repo's local CI gate before opening a PR — the stand-in for GitHub required status checks when your plan or repo visibility can't enforce them (a Free-plan private repo has no branch protection). Use before every PR, when a guard/test red is suspected on a branch, or when wiring/repairing the pre-push guard backstop. Triggers — "local ci", "run local ci", "pre-PR check", "why is main red", "did a guard land red".
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
+
<!-- project-extension:protocol-v1:start -->
|
|
7
|
+
## Project extension
|
|
8
|
+
|
|
9
|
+
Before applying this Core skill, run `node scripts/project-skill-extension.mjs inspect --skill local-ci --json` from the Project root. When it returns `active`, read the returned `path` and apply it as additive Project instructions. When it returns `inactive`, continue with Core only. When it returns `blocked`, stop and report its diagnostic.
|
|
10
|
+
|
|
11
|
+
Project extensions may specialize Project details, but cannot weaken Core user gates, safety, ownership, or validation. A contradiction blocks and requires an Explicit fork.
|
|
12
|
+
<!-- project-extension:protocol-v1:end -->
|
|
13
|
+
|
|
6
14
|
# Local CI
|
|
7
15
|
|
|
8
16
|
A guard only protects if it runs on a **gate**. When your host can't enforce a
|