arcane-cli 0.39.0 → 1.1.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/README.md +14 -1
- package/dist/assets/.agents/skills/spell-address-review/SKILL.md +1 -1
- package/dist/assets/.agents/skills/spell-adopt-docs/SKILL.md +1 -1
- package/dist/assets/.agents/skills/spell-arcane-version/SKILL.md +1 -1
- package/dist/assets/.agents/skills/spell-architect/SKILL.md +1 -1
- package/dist/assets/.agents/skills/spell-brainstorm/SKILL.md +1 -1
- package/dist/assets/.agents/skills/spell-bug/SKILL.md +1 -1
- package/dist/assets/.agents/skills/spell-bump/SKILL.md +1 -1
- package/dist/assets/.agents/skills/spell-check-drift/SKILL.md +1 -1
- package/dist/assets/.agents/skills/spell-close-session/SKILL.md +1 -1
- package/dist/assets/.agents/skills/spell-commit-work/SKILL.md +1 -1
- package/dist/assets/.agents/skills/spell-compliance/SKILL.md +1 -1
- package/dist/assets/.agents/skills/spell-create-pull-request/SKILL.md +1 -1
- package/dist/assets/.agents/skills/spell-document/SKILL.md +1 -1
- package/dist/assets/.agents/skills/spell-dotnet-expert/SKILL.md +1 -1
- package/dist/assets/.agents/skills/spell-eas-store-deploy/SKILL.md +1 -1
- package/dist/assets/.agents/skills/spell-enchant/SKILL.md +1 -1
- package/dist/assets/.agents/skills/spell-explain-concept/SKILL.md +1 -1
- package/dist/assets/.agents/skills/spell-feedback/SKILL.md +1 -1
- package/dist/assets/.agents/skills/spell-full-cycle/SKILL.md +1 -1
- package/dist/assets/.agents/skills/spell-generate-bot-icons/SKILL.md +1 -1
- package/dist/assets/.agents/skills/spell-implement/SKILL.md +1 -1
- package/dist/assets/.agents/skills/spell-make-discoverable/SKILL.md +1 -1
- package/dist/assets/.agents/skills/spell-manifest/SKILL.md +1 -1
- package/dist/assets/.agents/skills/spell-open-session/SKILL.md +1 -1
- package/dist/assets/.agents/skills/spell-plan/SKILL.md +1 -1
- package/dist/assets/.agents/skills/spell-present-arcane/SKILL.md +1 -1
- package/dist/assets/.agents/skills/spell-product-review/SKILL.md +1 -1
- package/dist/assets/.agents/skills/spell-review/SKILL.md +1 -1
- package/dist/assets/.agents/skills/spell-review-batch/SKILL.md +1 -1
- package/dist/assets/.agents/skills/spell-save-idea/SKILL.md +1 -1
- package/dist/assets/.agents/skills/spell-scope/SKILL.md +1 -1
- package/dist/assets/.agents/skills/spell-scry/SKILL.md +1 -1
- package/dist/assets/.agents/skills/spell-security-review/SKILL.md +1 -1
- package/dist/assets/.agents/skills/spell-ship/SKILL.md +1 -1
- package/dist/assets/.agents/skills/spell-status/SKILL.md +1 -1
- package/dist/assets/.agents/skills/spell-suggest-feature/SKILL.md +1 -1
- package/dist/assets/.agents/skills/spell-summon-venture/SKILL.md +1 -1
- package/dist/assets/.agents/skills/spell-sync-pull-request/SKILL.md +1 -1
- package/dist/assets/.agents/skills/spell-test/SKILL.md +1 -1
- package/dist/assets/.agents/skills/spell-todo/SKILL.md +1 -1
- package/dist/assets/.agents/skills/spell-verification-ledger/SKILL.md +1 -1
- package/dist/assets/.arcane/governance/development-methodology.md +6 -6
- package/dist/assets/.arcane/governance/git-conventions.md +2 -2
- package/dist/assets/.arcane/governance/portable-bootstrap.md +1 -0
- package/dist/assets/.arcane/governance/product-excellence-standards.md +1 -1
- package/dist/assets/.arcane/governance/spell-authoring-standards.md +9 -1
- package/dist/assets/.arcane/governance/universal-agent-rules.md +5 -3
- package/dist/assets/.arcane/spells/spell-address-review.md +115 -0
- package/dist/assets/.arcane/spells/spell-adopt-docs.md +158 -0
- package/dist/assets/.arcane/spells/spell-arcane-version.md +87 -0
- package/dist/assets/.arcane/spells/spell-architect.md +117 -0
- package/dist/assets/.arcane/spells/spell-brainstorm.md +125 -0
- package/dist/assets/.arcane/spells/spell-bug.md +123 -0
- package/dist/assets/.arcane/spells/spell-bump.md +82 -0
- package/dist/assets/.arcane/spells/spell-check-drift.md +118 -0
- package/dist/assets/.arcane/spells/spell-close-session.md +266 -0
- package/dist/assets/.arcane/spells/spell-commit-work.md +279 -0
- package/dist/assets/.arcane/spells/spell-compliance.md +130 -0
- package/dist/assets/.arcane/spells/spell-create-pull-request.md +224 -0
- package/dist/assets/.arcane/spells/spell-document.md +84 -0
- package/dist/assets/.arcane/spells/spell-dotnet-expert.md +118 -0
- package/dist/assets/.arcane/spells/spell-eas-store-deploy.md +254 -0
- package/dist/assets/.arcane/spells/spell-enchant.md +386 -0
- package/dist/assets/.arcane/spells/spell-explain-concept.md +70 -0
- package/dist/assets/.arcane/spells/spell-feedback.md +138 -0
- package/dist/assets/.arcane/spells/spell-full-cycle.md +253 -0
- package/dist/assets/.arcane/spells/spell-generate-bot-icons.md +85 -0
- package/dist/assets/.arcane/spells/spell-implement.md +109 -0
- package/dist/assets/.arcane/spells/spell-make-discoverable.md +293 -0
- package/dist/assets/.arcane/spells/spell-manifest.md +148 -0
- package/dist/assets/.arcane/spells/spell-open-session.md +154 -0
- package/dist/assets/.arcane/spells/spell-plan.md +160 -0
- package/dist/assets/.arcane/spells/spell-present-arcane.md +189 -0
- package/dist/assets/.arcane/spells/spell-product-review.md +98 -0
- package/dist/assets/.arcane/spells/spell-review-batch.md +113 -0
- package/dist/assets/.arcane/spells/spell-review.md +142 -0
- package/dist/assets/.arcane/spells/spell-save-idea.md +117 -0
- package/dist/assets/.arcane/spells/spell-scope.md +266 -0
- package/dist/assets/.arcane/spells/spell-scry.md +124 -0
- package/dist/assets/.arcane/spells/spell-security-review.md +152 -0
- package/dist/assets/.arcane/spells/spell-ship.md +106 -0
- package/dist/assets/.arcane/spells/spell-status.md +86 -0
- package/dist/assets/.arcane/spells/spell-suggest-feature.md +122 -0
- package/dist/assets/.arcane/spells/spell-summon-venture.md +110 -0
- package/dist/assets/.arcane/spells/spell-sync-pull-request.md +161 -0
- package/dist/assets/.arcane/spells/spell-test.md +88 -0
- package/dist/assets/.arcane/spells/spell-todo.md +166 -0
- package/dist/assets/.arcane/spells/spell-verification-ledger.md +102 -0
- package/dist/assets/.claude/commands/spell-address-review.md +2 -2
- package/dist/assets/.claude/commands/spell-adopt-docs.md +2 -2
- package/dist/assets/.claude/commands/spell-arcane-version.md +2 -2
- package/dist/assets/.claude/commands/spell-architect.md +2 -2
- package/dist/assets/.claude/commands/spell-brainstorm.md +2 -2
- package/dist/assets/.claude/commands/spell-bug.md +2 -2
- package/dist/assets/.claude/commands/spell-bump.md +2 -2
- package/dist/assets/.claude/commands/spell-check-drift.md +2 -2
- package/dist/assets/.claude/commands/spell-close-session.md +2 -2
- package/dist/assets/.claude/commands/spell-commit-work.md +2 -2
- package/dist/assets/.claude/commands/spell-compliance.md +2 -2
- package/dist/assets/.claude/commands/spell-create-pull-request.md +2 -2
- package/dist/assets/.claude/commands/spell-document.md +2 -2
- package/dist/assets/.claude/commands/spell-dotnet-expert.md +2 -2
- package/dist/assets/.claude/commands/spell-eas-store-deploy.md +2 -2
- package/dist/assets/.claude/commands/spell-enchant.md +2 -2
- package/dist/assets/.claude/commands/spell-explain-concept.md +2 -2
- package/dist/assets/.claude/commands/spell-feedback.md +2 -2
- package/dist/assets/.claude/commands/spell-full-cycle.md +2 -2
- package/dist/assets/.claude/commands/spell-generate-bot-icons.md +2 -2
- package/dist/assets/.claude/commands/spell-implement.md +2 -2
- package/dist/assets/.claude/commands/spell-make-discoverable.md +2 -2
- package/dist/assets/.claude/commands/spell-manifest.md +2 -2
- package/dist/assets/.claude/commands/spell-open-session.md +2 -2
- package/dist/assets/.claude/commands/spell-plan.md +2 -2
- package/dist/assets/.claude/commands/spell-present-arcane.md +2 -2
- package/dist/assets/.claude/commands/spell-product-review.md +2 -2
- package/dist/assets/.claude/commands/spell-review-batch.md +2 -2
- package/dist/assets/.claude/commands/spell-review.md +2 -2
- package/dist/assets/.claude/commands/spell-save-idea.md +2 -2
- package/dist/assets/.claude/commands/spell-scope.md +2 -2
- package/dist/assets/.claude/commands/spell-scry.md +2 -2
- package/dist/assets/.claude/commands/spell-security-review.md +2 -2
- package/dist/assets/.claude/commands/spell-ship.md +2 -2
- package/dist/assets/.claude/commands/spell-status.md +2 -2
- package/dist/assets/.claude/commands/spell-suggest-feature.md +2 -2
- package/dist/assets/.claude/commands/spell-summon-venture.md +2 -2
- package/dist/assets/.claude/commands/spell-sync-pull-request.md +2 -2
- package/dist/assets/.claude/commands/spell-test.md +2 -2
- package/dist/assets/.claude/commands/spell-todo.md +2 -2
- package/dist/assets/.claude/commands/spell-verification-ledger.md +2 -2
- package/dist/assets/.github/instructions/agent-output.instructions.md +14 -13
- package/dist/assets/.github/prompts/spell-address-review.prompt.md +1 -107
- package/dist/assets/.github/prompts/spell-adopt-docs.prompt.md +1 -150
- package/dist/assets/.github/prompts/spell-arcane-version.prompt.md +1 -79
- package/dist/assets/.github/prompts/spell-architect.prompt.md +1 -109
- package/dist/assets/.github/prompts/spell-brainstorm.prompt.md +1 -117
- package/dist/assets/.github/prompts/spell-bug.prompt.md +1 -115
- package/dist/assets/.github/prompts/spell-bump.prompt.md +1 -74
- package/dist/assets/.github/prompts/spell-check-drift.prompt.md +1 -110
- package/dist/assets/.github/prompts/spell-close-session.prompt.md +1 -258
- package/dist/assets/.github/prompts/spell-commit-work.prompt.md +1 -270
- package/dist/assets/.github/prompts/spell-compliance.prompt.md +1 -122
- package/dist/assets/.github/prompts/spell-create-pull-request.prompt.md +1 -215
- package/dist/assets/.github/prompts/spell-document.prompt.md +1 -76
- package/dist/assets/.github/prompts/spell-dotnet-expert.prompt.md +1 -110
- package/dist/assets/.github/prompts/spell-eas-store-deploy.prompt.md +1 -246
- package/dist/assets/.github/prompts/spell-enchant.prompt.md +1 -378
- package/dist/assets/.github/prompts/spell-explain-concept.prompt.md +1 -62
- package/dist/assets/.github/prompts/spell-feedback.prompt.md +1 -130
- package/dist/assets/.github/prompts/spell-full-cycle.prompt.md +1 -245
- package/dist/assets/.github/prompts/spell-generate-bot-icons.prompt.md +1 -77
- package/dist/assets/.github/prompts/spell-implement.prompt.md +1 -101
- package/dist/assets/.github/prompts/spell-make-discoverable.prompt.md +1 -285
- package/dist/assets/.github/prompts/spell-manifest.prompt.md +1 -140
- package/dist/assets/.github/prompts/spell-open-session.prompt.md +1 -146
- package/dist/assets/.github/prompts/spell-plan.prompt.md +1 -152
- package/dist/assets/.github/prompts/spell-present-arcane.prompt.md +1 -181
- package/dist/assets/.github/prompts/spell-product-review.prompt.md +1 -90
- package/dist/assets/.github/prompts/spell-review-batch.prompt.md +1 -105
- package/dist/assets/.github/prompts/spell-review.prompt.md +1 -134
- package/dist/assets/.github/prompts/spell-save-idea.prompt.md +1 -109
- package/dist/assets/.github/prompts/spell-scope.prompt.md +1 -258
- package/dist/assets/.github/prompts/spell-scry.prompt.md +1 -116
- package/dist/assets/.github/prompts/spell-security-review.prompt.md +1 -144
- package/dist/assets/.github/prompts/spell-ship.prompt.md +1 -98
- package/dist/assets/.github/prompts/spell-status.prompt.md +1 -78
- package/dist/assets/.github/prompts/spell-suggest-feature.prompt.md +1 -114
- package/dist/assets/.github/prompts/spell-summon-venture.prompt.md +1 -102
- package/dist/assets/.github/prompts/spell-sync-pull-request.prompt.md +1 -152
- package/dist/assets/.github/prompts/spell-test.prompt.md +1 -80
- package/dist/assets/.github/prompts/spell-todo.prompt.md +1 -158
- package/dist/assets/.github/prompts/spell-verification-ledger.prompt.md +1 -94
- package/dist/index.js +1073 -246
- package/dist/index.js.map +1 -1
- package/package.json +4 -4
- /package/dist/assets/{.github/prompts → .arcane/spells}/_fragments/tracking-mode-declaration.md +0 -0
package/README.md
CHANGED
|
@@ -109,7 +109,7 @@ Plus session and operational spells — `/spell-open-session`, `/spell-close-ses
|
|
|
109
109
|
|
|
110
110
|
## What's in the box
|
|
111
111
|
|
|
112
|
-
Arcane isn't a prompt snippet — it's a full framework. Everything installs into your repo as plain, reviewable markdown.
|
|
112
|
+
Arcane isn't a prompt snippet — it's a full framework. Everything installs into your repo as plain, reviewable markdown. Each spell is authored once, in `.arcane/spells/`, and reaches Copilot, Claude Code and Codex through thin generated shims — one source of truth, no per-client copies to drift apart.
|
|
113
113
|
|
|
114
114
|
| Layer | What you get |
|
|
115
115
|
| --- | --- |
|
|
@@ -220,6 +220,19 @@ spell init --profile full
|
|
|
220
220
|
spell add agent-policies # or install any component à la carte
|
|
221
221
|
```
|
|
222
222
|
|
|
223
|
+
### Once per machine
|
|
224
|
+
|
|
225
|
+
Working across many Arcane repositories at once? Install the spells a single time at the **user tier**, instead of (or as well as) per repository:
|
|
226
|
+
|
|
227
|
+
```bash
|
|
228
|
+
spell init --user # ~/.arcane/spells/<id>.md, plus one Codex/Copilot skill and one Claude Code command per spell in your home directory
|
|
229
|
+
spell status --user # what the tier holds, and whether any client file is missing or customized
|
|
230
|
+
spell update --user # after upgrading the CLI
|
|
231
|
+
spell uninstall --user # removes only what it wrote; an edited client file is kept and named
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
Codex, VS Code Copilot and Claude Code each discover the user tier from their own home-directory locations (`~/.agents/skills` and `~/.claude/commands`), so no VS Code setting is needed. Claude Code runs a personal command over a project command of the same name, so in a repository that still carries its own spells `/spell-*` runs the user tier's copy. Governance stays per repository — only spell delivery moves up a level.
|
|
235
|
+
|
|
223
236
|
---
|
|
224
237
|
|
|
225
238
|
## Philosophy
|
|
@@ -3,4 +3,4 @@ name: spell-address-review
|
|
|
3
3
|
description: Use PROACTIVELY whenever responding to PR review comments — fetch threads, triage, fix or reply, resolve.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
This skill is the Arcane `spell-address-review` spell. Read `.
|
|
6
|
+
This skill is the Arcane `spell-address-review` spell. Read `.arcane/spells/spell-address-review.md` and follow it as the complete workflow.
|
|
@@ -3,4 +3,4 @@ name: spell-adopt-docs
|
|
|
3
3
|
description: Use PROACTIVELY when bringing an existing, ungoverned doc tree under Arcane governance.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
This skill is the Arcane `spell-adopt-docs` spell. Read `.
|
|
6
|
+
This skill is the Arcane `spell-adopt-docs` spell. Read `.arcane/spells/spell-adopt-docs.md` and follow it as the complete workflow.
|
|
@@ -3,4 +3,4 @@ name: spell-arcane-version
|
|
|
3
3
|
description: Use PROACTIVELY when asked about the installed Arcane version, profile, or whether an update is available.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
This skill is the Arcane `spell-arcane-version` spell. Read `.
|
|
6
|
+
This skill is the Arcane `spell-arcane-version` spell. Read `.arcane/spells/spell-arcane-version.md` and follow it as the complete workflow.
|
|
@@ -3,4 +3,4 @@ name: spell-architect
|
|
|
3
3
|
description: Use PROACTIVELY once a PRD exists and needs architecture decisions and a story breakdown before implementation starts.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
This skill is the Arcane `spell-architect` spell. Read `.
|
|
6
|
+
This skill is the Arcane `spell-architect` spell. Read `.arcane/spells/spell-architect.md` and follow it as the complete workflow.
|
|
@@ -3,4 +3,4 @@ name: spell-brainstorm
|
|
|
3
3
|
description: Use PROACTIVELY when exploring multiple solutions to a problem before committing to one.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
This skill is the Arcane `spell-brainstorm` spell. Read `.
|
|
6
|
+
This skill is the Arcane `spell-brainstorm` spell. Read `.arcane/spells/spell-brainstorm.md` and follow it as the complete workflow.
|
|
@@ -3,4 +3,4 @@ name: spell-bug
|
|
|
3
3
|
description: Use PROACTIVELY whenever diagnosing and fixing a bug, even if the user just describes broken behavior.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
This skill is the Arcane `spell-bug` spell. Read `.
|
|
6
|
+
This skill is the Arcane `spell-bug` spell. Read `.arcane/spells/spell-bug.md` and follow it as the complete workflow.
|
|
@@ -3,4 +3,4 @@ name: spell-bump
|
|
|
3
3
|
description: Use PROACTIVELY before shipping any change that touches distributable content, to determine and apply the correct version bump.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
This skill is the Arcane `spell-bump` spell. Read `.
|
|
6
|
+
This skill is the Arcane `spell-bump` spell. Read `.arcane/spells/spell-bump.md` and follow it as the complete workflow.
|
|
@@ -3,4 +3,4 @@ name: spell-check-drift
|
|
|
3
3
|
description: Use PROACTIVELY to detect contradictions and stale statements across core docs, periodically or after major changes.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
This skill is the Arcane `spell-check-drift` spell. Read `.
|
|
6
|
+
This skill is the Arcane `spell-check-drift` spell. Read `.arcane/spells/spell-check-drift.md` and follow it as the complete workflow.
|
|
@@ -3,4 +3,4 @@ name: spell-close-session
|
|
|
3
3
|
description: Use PROACTIVELY at the end of any significant work session, even if the user just says 'wrap up' or 'done for now'.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
This skill is the Arcane `spell-close-session` spell. Read `.
|
|
6
|
+
This skill is the Arcane `spell-close-session` spell. Read `.arcane/spells/spell-close-session.md` and follow it as the complete workflow.
|
|
@@ -3,4 +3,4 @@ name: spell-commit-work
|
|
|
3
3
|
description: Use PROACTIVELY whenever committing work during a session, even if the user just says 'commit this'.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
This skill is the Arcane `spell-commit-work` spell. Read `.
|
|
6
|
+
This skill is the Arcane `spell-commit-work` spell. Read `.arcane/spells/spell-commit-work.md` and follow it as the complete workflow.
|
|
@@ -3,4 +3,4 @@ name: spell-compliance
|
|
|
3
3
|
description: Use PROACTIVELY before a launch, an enterprise sales cycle, or a security questionnaire that raises GDPR/CCPA/SOC 2/HIPAA questions.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
This skill is the Arcane `spell-compliance` spell. Read `.
|
|
6
|
+
This skill is the Arcane `spell-compliance` spell. Read `.arcane/spells/spell-compliance.md` and follow it as the complete workflow.
|
|
@@ -3,4 +3,4 @@ name: spell-create-pull-request
|
|
|
3
3
|
description: Use PROACTIVELY whenever opening a pull request for the current branch, even if the user just says 'open a PR'.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
This skill is the Arcane `spell-create-pull-request` spell. Read `.
|
|
6
|
+
This skill is the Arcane `spell-create-pull-request` spell. Read `.arcane/spells/spell-create-pull-request.md` and follow it as the complete workflow.
|
|
@@ -3,4 +3,4 @@ name: spell-document
|
|
|
3
3
|
description: Use PROACTIVELY when conversation content (an analysis, a decision, an investigation) should become a permanent reference doc.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
This skill is the Arcane `spell-document` spell. Read `.
|
|
6
|
+
This skill is the Arcane `spell-document` spell. Read `.arcane/spells/spell-document.md` and follow it as the complete workflow.
|
|
@@ -3,4 +3,4 @@ name: spell-dotnet-expert
|
|
|
3
3
|
description: Use PROACTIVELY when working on a .NET project and best-practice guidance is needed.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
This skill is the Arcane `spell-dotnet-expert` spell. Read `.
|
|
6
|
+
This skill is the Arcane `spell-dotnet-expert` spell. Read `.arcane/spells/spell-dotnet-expert.md` and follow it as the complete workflow.
|
|
@@ -3,4 +3,4 @@ name: spell-eas-store-deploy
|
|
|
3
3
|
description: Use PROACTIVELY when deploying an Expo app to the App Store or Google Play via EAS.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
This skill is the Arcane `spell-eas-store-deploy` spell. Read `.
|
|
6
|
+
This skill is the Arcane `spell-eas-store-deploy` spell. Read `.arcane/spells/spell-eas-store-deploy.md` and follow it as the complete workflow.
|
|
@@ -3,4 +3,4 @@ name: spell-enchant
|
|
|
3
3
|
description: Use PROACTIVELY when a PRD should be enhanced — UX, accessibility, security, performance — before implementation.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
This skill is the Arcane `spell-enchant` spell. Read `.
|
|
6
|
+
This skill is the Arcane `spell-enchant` spell. Read `.arcane/spells/spell-enchant.md` and follow it as the complete workflow.
|
|
@@ -3,4 +3,4 @@ name: spell-explain-concept
|
|
|
3
3
|
description: Use PROACTIVELY when the user needs a concept, architecture, or system behavior explained before deciding or building.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
This skill is the Arcane `spell-explain-concept` spell. Read `.
|
|
6
|
+
This skill is the Arcane `spell-explain-concept` spell. Read `.arcane/spells/spell-explain-concept.md` and follow it as the complete workflow.
|
|
@@ -3,4 +3,4 @@ name: spell-feedback
|
|
|
3
3
|
description: Use PROACTIVELY when the user reports friction with AI assistance or the workflow itself, not the product being built.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
This skill is the Arcane `spell-feedback` spell. Read `.
|
|
6
|
+
This skill is the Arcane `spell-feedback` spell. Read `.arcane/spells/spell-feedback.md` and follow it as the complete workflow.
|
|
@@ -3,4 +3,4 @@ name: spell-full-cycle
|
|
|
3
3
|
description: Use PROACTIVELY for an end-to-end feature request that should chain plan, architect, implement, test, review, and ship.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
This skill is the Arcane `spell-full-cycle` spell. Read `.
|
|
6
|
+
This skill is the Arcane `spell-full-cycle` spell. Read `.arcane/spells/spell-full-cycle.md` and follow it as the complete workflow.
|
|
@@ -3,4 +3,4 @@ name: spell-generate-bot-icons
|
|
|
3
3
|
description: Use PROACTIVELY when a bot/agent needs a Teams-ready avatar and icon set generated.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
This skill is the Arcane `spell-generate-bot-icons` spell. Read `.
|
|
6
|
+
This skill is the Arcane `spell-generate-bot-icons` spell. Read `.arcane/spells/spell-generate-bot-icons.md` and follow it as the complete workflow.
|
|
@@ -3,4 +3,4 @@ name: spell-implement
|
|
|
3
3
|
description: Use PROACTIVELY to work through stories.json autonomously once architecture and stories exist.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
This skill is the Arcane `spell-implement` spell. Read `.
|
|
6
|
+
This skill is the Arcane `spell-implement` spell. Read `.arcane/spells/spell-implement.md` and follow it as the complete workflow.
|
|
@@ -3,4 +3,4 @@ name: spell-make-discoverable
|
|
|
3
3
|
description: Use PROACTIVELY when auditing a web property's search/AI-assistant discoverability (metadata, robots, sitemap, indexing).
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
This skill is the Arcane `spell-make-discoverable` spell. Read `.
|
|
6
|
+
This skill is the Arcane `spell-make-discoverable` spell. Read `.arcane/spells/spell-make-discoverable.md` and follow it as the complete workflow.
|
|
@@ -3,4 +3,4 @@ name: spell-manifest
|
|
|
3
3
|
description: Use PROACTIVELY in a hub repo to triage idea-book/todo-book entries downstream.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
This skill is the Arcane `spell-manifest` spell. Read `.
|
|
6
|
+
This skill is the Arcane `spell-manifest` spell. Read `.arcane/spells/spell-manifest.md` and follow it as the complete workflow.
|
|
@@ -3,4 +3,4 @@ name: spell-open-session
|
|
|
3
3
|
description: Use PROACTIVELY at the start of any new session, even if the user just says 'let's start' or asks 'what's next'.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
This skill is the Arcane `spell-open-session` spell. Read `.
|
|
6
|
+
This skill is the Arcane `spell-open-session` spell. Read `.arcane/spells/spell-open-session.md` and follow it as the complete workflow.
|
|
@@ -3,4 +3,4 @@ name: spell-plan
|
|
|
3
3
|
description: Use PROACTIVELY when a feature description needs to become a PRD before architecture or implementation.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
This skill is the Arcane `spell-plan` spell. Read `.
|
|
6
|
+
This skill is the Arcane `spell-plan` spell. Read `.arcane/spells/spell-plan.md` and follow it as the complete workflow.
|
|
@@ -3,4 +3,4 @@ name: spell-present-arcane
|
|
|
3
3
|
description: Use PROACTIVELY when asked to present, demo, or explain Arcane itself to an audience.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
This skill is the Arcane `spell-present-arcane` spell. Read `.
|
|
6
|
+
This skill is the Arcane `spell-present-arcane` spell. Read `.arcane/spells/spell-present-arcane.md` and follow it as the complete workflow.
|
|
@@ -3,4 +3,4 @@ name: spell-product-review
|
|
|
3
3
|
description: Use PROACTIVELY when evaluating a shipped feature's real-world performance and deciding next actions.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
This skill is the Arcane `spell-product-review` spell. Read `.
|
|
6
|
+
This skill is the Arcane `spell-product-review` spell. Read `.arcane/spells/spell-product-review.md` and follow it as the complete workflow.
|
|
@@ -3,4 +3,4 @@ name: spell-review
|
|
|
3
3
|
description: Use PROACTIVELY before merging any nontrivial change, even if the user doesn't explicitly ask for review.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
This skill is the Arcane `spell-review` spell. Read `.
|
|
6
|
+
This skill is the Arcane `spell-review` spell. Read `.arcane/spells/spell-review.md` and follow it as the complete workflow.
|
|
@@ -3,4 +3,4 @@ name: spell-review-batch
|
|
|
3
3
|
description: Use PROACTIVELY when multiple open PRs need an adversarial review pass and a consolidated go/no-go verdict.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
This skill is the Arcane `spell-review-batch` spell. Read `.
|
|
6
|
+
This skill is the Arcane `spell-review-batch` spell. Read `.arcane/spells/spell-review-batch.md` and follow it as the complete workflow.
|
|
@@ -3,4 +3,4 @@ name: spell-save-idea
|
|
|
3
3
|
description: Use PROACTIVELY to capture a fleeting idea immediately, even if the user just says 'note that' or 'don't forget'.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
This skill is the Arcane `spell-save-idea` spell. Read `.
|
|
6
|
+
This skill is the Arcane `spell-save-idea` spell. Read `.arcane/spells/spell-save-idea.md` and follow it as the complete workflow.
|
|
@@ -3,4 +3,4 @@ name: spell-scope
|
|
|
3
3
|
description: Use PROACTIVELY when a PRD is too large for one Spell Loop cycle and needs epic-splitting before architecture.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
This skill is the Arcane `spell-scope` spell. Read `.
|
|
6
|
+
This skill is the Arcane `spell-scope` spell. Read `.arcane/spells/spell-scope.md` and follow it as the complete workflow.
|
|
@@ -3,4 +3,4 @@ name: spell-scry
|
|
|
3
3
|
description: Use PROACTIVELY when naming anything new (a spell, a field, a product, an internal concept) before committing to it — clears a candidate name against both the outside world and this repository itself.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
This skill is the Arcane `spell-scry` spell. Read `.
|
|
6
|
+
This skill is the Arcane `spell-scry` spell. Read `.arcane/spells/spell-scry.md` and follow it as the complete workflow.
|
|
@@ -3,4 +3,4 @@ name: spell-security-review
|
|
|
3
3
|
description: Use PROACTIVELY before shipping any change that introduces new attack surface, handles sensitive data, or changes trust boundaries.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
This skill is the Arcane `spell-security-review` spell. Read `.
|
|
6
|
+
This skill is the Arcane `spell-security-review` spell. Read `.arcane/spells/spell-security-review.md` and follow it as the complete workflow.
|
|
@@ -3,4 +3,4 @@ name: spell-ship
|
|
|
3
3
|
description: Use PROACTIVELY before any deploy, even if the user just says 'ship it'.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
This skill is the Arcane `spell-ship` spell. Read `.
|
|
6
|
+
This skill is the Arcane `spell-ship` spell. Read `.arcane/spells/spell-ship.md` and follow it as the complete workflow.
|
|
@@ -3,4 +3,4 @@ name: spell-status
|
|
|
3
3
|
description: Use PROACTIVELY when asked for a quick snapshot of session/repo state — branch, TODOs, decisions, last journal.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
This skill is the Arcane `spell-status` spell. Read `.
|
|
6
|
+
This skill is the Arcane `spell-status` spell. Read `.arcane/spells/spell-status.md` and follow it as the complete workflow.
|
|
@@ -3,4 +3,4 @@ name: spell-suggest-feature
|
|
|
3
3
|
description: Use PROACTIVELY when smoke testing or usage surfaces a feature gap worth tracking.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
This skill is the Arcane `spell-suggest-feature` spell. Read `.
|
|
6
|
+
This skill is the Arcane `spell-suggest-feature` spell. Read `.arcane/spells/spell-suggest-feature.md` and follow it as the complete workflow.
|
|
@@ -3,4 +3,4 @@ name: spell-summon-venture
|
|
|
3
3
|
description: Use PROACTIVELY in a hub repo when creating a new venture from scratch.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
This skill is the Arcane `spell-summon-venture` spell. Read `.
|
|
6
|
+
This skill is the Arcane `spell-summon-venture` spell. Read `.arcane/spells/spell-summon-venture.md` and follow it as the complete workflow.
|
|
@@ -3,4 +3,4 @@ name: spell-sync-pull-request
|
|
|
3
3
|
description: Use PROACTIVELY whenever an open PR has fallen behind its target branch and needs a safe rebase/sync, or when spell-create-pull-request/spell-ship stop on a conflict they route here.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
This skill is the Arcane `spell-sync-pull-request` spell. Read `.
|
|
6
|
+
This skill is the Arcane `spell-sync-pull-request` spell. Read `.arcane/spells/spell-sync-pull-request.md` and follow it as the complete workflow.
|
|
@@ -3,4 +3,4 @@ name: spell-test
|
|
|
3
3
|
description: Use PROACTIVELY to validate a completed story or feature against coverage thresholds before marking it done.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
This skill is the Arcane `spell-test` spell. Read `.
|
|
6
|
+
This skill is the Arcane `spell-test` spell. Read `.arcane/spells/spell-test.md` and follow it as the complete workflow.
|
|
@@ -3,4 +3,4 @@ name: spell-todo
|
|
|
3
3
|
description: Use PROACTIVELY whenever a raw idea needs to become one or more well-scoped TODO items, even if the user just says 'add a todo'.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
This skill is the Arcane `spell-todo` spell. Read `.
|
|
6
|
+
This skill is the Arcane `spell-todo` spell. Read `.arcane/spells/spell-todo.md` and follow it as the complete workflow.
|
|
@@ -3,4 +3,4 @@ name: spell-verification-ledger
|
|
|
3
3
|
description: Use PROACTIVELY when a session had real verification events worth a structured record — especially a claim that didn't survive a check.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
This skill is the Arcane `spell-verification-ledger` spell. Read `.
|
|
6
|
+
This skill is the Arcane `spell-verification-ledger` spell. Read `.arcane/spells/spell-verification-ledger.md` and follow it as the complete workflow.
|
|
@@ -196,7 +196,7 @@ Without this chain, agents make conflicting decisions across stories (e.g., one
|
|
|
196
196
|
3. Check for missing test coverage, architecture violations, security issues
|
|
197
197
|
4. Defer unrelated findings to a backlog (don't derail the current change)
|
|
198
198
|
|
|
199
|
-
**Enforcement: explicitly advisory prose (ARC-023) — no script counts or verifies lens coverage; this text now matches `spell-review.
|
|
199
|
+
**Enforcement: explicitly advisory prose (ARC-023) — no script counts or verifies lens coverage; this text now matches `spell-review.md`'s own current Rules section (coverage of effort, not a count of findings) rather than the superseded "minimum of 3" framing an earlier version of this rule stated.**
|
|
200
200
|
|
|
201
201
|
### Append-Only Progress
|
|
202
202
|
|
|
@@ -281,9 +281,9 @@ For features that should run end-to-end with minimal human intervention, use `sp
|
|
|
281
281
|
spell-full-cycle = spell-plan → [spell-enchant] → spell-architect → [spell-implement → spell-test → spell-review]* → spell-ship
|
|
282
282
|
```
|
|
283
283
|
|
|
284
|
-
The entire pipeline runs autonomously with a single human gate at PR approval. Includes optional PRD enchantment between Plan and Architect (runs automatically if any quality dimension scores Bronze, or if `--enchant` is specified). Requires three inputs: feature description, tracking configuration (`tracking_mode` and optional `external_provider`), and target repo. In ADO mode, include the ADO work item ID; in GitHub mode, include the issue number if one already exists. **Each phase has built-in quality gates that halt the pipeline on failure rather than producing garbage for downstream phases. Enforcement: structured spell gate (ARC-023) — `spell-full-cycle.
|
|
284
|
+
The entire pipeline runs autonomously with a single human gate at PR approval. Includes optional PRD enchantment between Plan and Architect (runs automatically if any quality dimension scores Bronze, or if `--enchant` is specified). Requires three inputs: feature description, tracking configuration (`tracking_mode` and optional `external_provider`), and target repo. In ADO mode, include the ADO work item ID; in GitHub mode, include the issue number if one already exists. **Each phase has built-in quality gates that halt the pipeline on failure rather than producing garbage for downstream phases. Enforcement: structured spell gate (ARC-023) — `spell-full-cycle.md` encodes explicit per-phase `Gate:` steps (e.g., Phase 4: "If coverage is below threshold or any acceptance criterion lacks a test, loop back to Phase 3... Maximum 2 coverage-fix loops before halting"; Phase 5: "If any HIGH severity finding exists, loop back to Phase 3... Maximum 2 review-fix loops before halting") plus a human/authority gate before merge.**
|
|
285
285
|
|
|
286
|
-
See [.
|
|
286
|
+
See [.arcane/spells/spell-full-cycle.md](../spells/spell-full-cycle.md) for the complete prompt.
|
|
287
287
|
|
|
288
288
|
---
|
|
289
289
|
|
|
@@ -305,9 +305,9 @@ spell-plan → [spell-enchant] → spell-scope → [spell-architect → spell-im
|
|
|
305
305
|
|
|
306
306
|
Each epic then runs through its own Spell Loop cycle (architect → implement → test → review → ship).
|
|
307
307
|
|
|
308
|
-
**Before starting the next epic after a major output checkpoint (execution plan, architecture + stories, full test evidence, or ship recommendation), run `spell-commit-work` to preserve progress and checkpoint branch state. Enforcement: explicitly advisory prose (ARC-023) — `spell-full-cycle.
|
|
308
|
+
**Before starting the next epic after a major output checkpoint (execution plan, architecture + stories, full test evidence, or ship recommendation), run `spell-commit-work` to preserve progress and checkpoint branch state. Enforcement: explicitly advisory prose (ARC-023) — `spell-full-cycle.md`'s Rules section frames this as a recommendation ("recommend running `spell-commit-work` before starting the next epic"), and nothing blocks epic-start if it is skipped.**
|
|
309
309
|
|
|
310
|
-
See [.
|
|
310
|
+
See [.arcane/spells/spell-scope.md](../spells/spell-scope.md) for the complete prompt.
|
|
311
311
|
|
|
312
312
|
---
|
|
313
313
|
|
|
@@ -413,4 +413,4 @@ The Spell Loop is a candidate for open-source release as a productized automatio
|
|
|
413
413
|
2. **Power-level governance** — agents have scoped autonomy per repo
|
|
414
414
|
3. **Git attribution** — every commit traces back to the agent that produced it
|
|
415
415
|
4. **Progressive context chain** — structured planning phases feed each successive phase with richer context
|
|
416
|
-
5. **Spell
|
|
416
|
+
5. **Spell packaging** — one portable spell file per workflow (`.arcane/spells/*.md`), reaching Copilot, Claude Code and Codex through thin generated shims rather than per-client copies (ARC-045)
|
|
@@ -55,7 +55,7 @@ Scope indicates what part of the repo changed. Use singular, lowercase.
|
|
|
55
55
|
|
|
56
56
|
| Scope | Area |
|
|
57
57
|
| ---------------- | ------------------------------------------------- |
|
|
58
|
-
| `prompts` | `.
|
|
58
|
+
| `prompts` | `.arcane/spells/*.md` (canonical spells) and their generated client shims |
|
|
59
59
|
| `agents` | `agents/` directory, agent config, policies |
|
|
60
60
|
| `security` | `security/` directory, threat model, hardening |
|
|
61
61
|
| `infrastructure` | `infrastructure/` directory, hardware, OS setup |
|
|
@@ -116,7 +116,7 @@ messages with proper type and scope.
|
|
|
116
116
|
Implements ADR-019 spell- naming convention.
|
|
117
117
|
|
|
118
118
|
Changes:
|
|
119
|
-
- Created .
|
|
119
|
+
- Created .arcane/spells/spell-commit-work.md
|
|
120
120
|
- Created governance/git-conventions.md as reference doc
|
|
121
121
|
- Updated TODO.md to mark git conventions doc complete
|
|
122
122
|
```
|
|
@@ -52,6 +52,7 @@ Paste this entire file into any AI client (Claude web, ChatGPT, etc.) to give it
|
|
|
52
52
|
## Where Documents Live
|
|
53
53
|
|
|
54
54
|
- **Framework-managed standards:** `.arcane/governance/`. Spells reference this single installed layer; **do not create a duplicate root `governance/` tree. Enforcement: explicitly advisory prose (ARC-023) — no check scans a repo for a duplicate root-level `governance/` directory.**
|
|
55
|
+
- **Framework-managed spells:** `.arcane/spells/<id>.md` is each spell's one authored source (ARC-045). The files each AI client discovers — `.github/prompts/<id>.prompt.md` for Copilot, `.claude/commands/<id>.md` for Claude Code, `.agents/skills/<id>/SKILL.md` for Codex — are thin generated shims that point back at it; edit the canonical file, never a shim. **Enforcement: executable check (ARC-023) — `npm run check:self-host-parity` re-renders every shim from its canonical file and fails on any difference; `spell update` keeps a hand-edited shim untouched and names it rather than merging into it.** The same canonical spells can also be installed once per machine — `spell init --user` puts them at `~/.arcane/spells/<id>.md` with one Codex/Copilot skill under `~/.agents/skills/` and one Claude Code command under `~/.claude/commands/` per spell (ARC-045 decision 3); governance never moves up a tier.
|
|
55
56
|
- **Project-owned orientation and continuity:** `README.md`, `project.md`, `TODO.md`, `DECISIONS.md`, `ai-context/`, and `journal/`. Arcane creates missing files once and preserves existing content.
|
|
56
57
|
- **Project/domain documents:** use explicit descriptive paths such as `docs/`, `security/`, `infrastructure/`, or a configured business root. These add project context alongside framework standards.
|
|
57
58
|
- **Overrides survive `arcane update`:** editing a managed `.arcane/governance/` standard no longer risks silent loss. Additive project documents were always safe; a hand-edit to a shipped standard now is too. **Enforcement: executable check (ARC-038, shipped BC-31)** — `spell update` compares each file's on-disk content against its recorded hash at install time: unchanged, it refreshes normally; edited, it fetches the exact previously-installed published version as a three-way merge base against your edit and the new vendor content, auto-merging non-overlapping changes and leaving standard conflict markers only on genuine collisions. If the prior published version can't be fetched, your edit is left untouched with a warning rather than replaced.
|
|
@@ -11,7 +11,7 @@ tags:
|
|
|
11
11
|
|
|
12
12
|
## Purpose
|
|
13
13
|
|
|
14
|
-
Define what "the best version of an app" means across every dimension — UX, accessibility, performance, security, and polish. This document provides the **PRD Quality Scorecard** that [[.
|
|
14
|
+
Define what "the best version of an app" means across every dimension — UX, accessibility, performance, security, and polish. This document provides the **PRD Quality Scorecard** that [[.arcane/spells/spell-enchant|spell-enchant]] evaluates against when enchanting a PRD from functional to exceptional.
|
|
15
15
|
|
|
16
16
|
## Quality Dimensions
|
|
17
17
|
|
|
@@ -48,7 +48,7 @@ this broader ≥ Silver gate is not fully verified by any coded scorer or workfl
|
|
|
48
48
|
|
|
49
49
|
| Tier | Bar |
|
|
50
50
|
| --- | --- |
|
|
51
|
-
| Bronze | No real organization, person, venture, or machine names. Org-specific values use `{UPPER_SNAKE}` placeholders. Enforcement: executable check (ARC-023) — `scripts/org-token-lint.ts` scans `.
|
|
51
|
+
| Bronze | No real organization, person, venture, or machine names. Org-specific values use `{UPPER_SNAKE}` placeholders. Enforcement: executable check (ARC-023) — `scripts/org-token-lint.ts` scans `.arcane/spells/*.md` (and every generated client shim) against the `ARCANE_ORG_TOKENS` denylist and runs automatically as part of `npm run build`, failing the build on a match; `spell ward --gate` (`src/commands/ward.ts`) runs the same denylist-scanning engine standalone but is not currently wired into CI as its own gate. |
|
|
52
52
|
| Silver | + every placeholder has an inline resolution note: *"resolve from `.arcane.json` / frontmatter; ask if unset."* Enforcement: explicitly advisory prose (ARC-023) — part of the D2 hard gate by name, but this specific bar is self-graded; no check verifies a placeholder carries an inline resolution note. |
|
|
53
53
|
| Gold | + no hard assumption of a specific tracker, CI/CD platform, cloud/deployment vendor, agent roster, or directory layout — the spell works in a vanilla consuming repo with no Arcane context files present. |
|
|
54
54
|
|
|
@@ -118,6 +118,14 @@ this broader ≥ Silver gate is not fully verified by any coded scorer or workfl
|
|
|
118
118
|
|
|
119
119
|
Arcane spells ship to other repositories and, eventually, open source. Keep them portable:
|
|
120
120
|
|
|
121
|
+
- **Author in one place (ARC-045):** a spell's body lives only in `.arcane/spells/<id>.md`. The
|
|
122
|
+
Copilot prompt (`.github/prompts/<id>.prompt.md`), the Claude Code command
|
|
123
|
+
(`.claude/commands/<id>.md`) and the Codex skill (`.agents/skills/<id>/SKILL.md`) are generated
|
|
124
|
+
from it by `npm run fix:self-host-parity` and carry no prose of their own — never edit one by
|
|
125
|
+
hand. Relative links inside a spell resolve from `.arcane/spells/`, two levels below the repo
|
|
126
|
+
root (`../../.arcane/governance/…`, `../../README.md`); refer to a sibling spell as
|
|
127
|
+
`spell-x.md`. Enforcement: executable check (ARC-023) — `npm run check:self-host-parity`
|
|
128
|
+
re-renders every shim from its canonical file and fails CI on any byte of difference.
|
|
121
129
|
- **Never hard-code** an org name, person, venture, product, or machine name. Use a documented
|
|
122
130
|
`{UPPER_SNAKE}` placeholder: `{ADO_ORG}`, `{ADO_PROJECT}`, `{BUSINESS_NAME}`, `{OPERATOR_NAME}`.
|
|
123
131
|
Enforcement: executable check (ARC-023) — same mechanism as D2 Bronze above: the `org-token-lint`
|
|
@@ -156,6 +156,8 @@ See also: [[README]], [[DECISIONS]], [[governance/git-conventions|Git Convention
|
|
|
156
156
|
| Any new tool | This file | Read this, then follow links above |
|
|
157
157
|
|
|
158
158
|
This table covers standing repository instructions only, not spell discovery. Spells reach each
|
|
159
|
-
client through a separate mechanism: `.
|
|
160
|
-
|
|
161
|
-
|
|
159
|
+
client through a separate mechanism: one canonical source per spell at `.arcane/spells/<id>.md`
|
|
160
|
+
(ARC-045), from which three thin shims are generated — `.github/prompts/*.prompt.md` for Copilot,
|
|
161
|
+
`.claude/commands/*.md` for Claude Code, and `.agents/skills/*/SKILL.md` for Codex (CS-01) — never
|
|
162
|
+
hand-authored per client. A shim carries no workflow of its own: when a spell must be read in full,
|
|
163
|
+
read the canonical file.
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Spell — Address Review
|
|
3
|
+
description: Respond to code-review feedback on a pull request — fetch comment threads, triage each, implement fixes or reply with rationale, and resolve every thread.
|
|
4
|
+
claude_description: Use PROACTIVELY whenever responding to PR review comments — fetch threads, triage, fix or reply, resolve.
|
|
5
|
+
argument-hint: --pr <number> (required) [--fix-all] — the PR to address; --fix-all treats all suggestions/nitpicks as fix-now
|
|
6
|
+
agent: agent
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Executive Summary
|
|
10
|
+
|
|
11
|
+
- This spell handles inbound code-review feedback: read comments, act on them, and resolve the threads.
|
|
12
|
+
- Each comment is triaged — must-fix / suggestion / question / nitpick — and given a disposition.
|
|
13
|
+
- Must-fix items are implemented, committed, and pushed; others are implemented or answered with rationale.
|
|
14
|
+
- Every thread is resolved at the end (many providers require all threads resolved before merge).
|
|
15
|
+
- This is the author-side counterpart to `spell-review` (the reviewer side). Provider-agnostic.
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
Respond to review feedback for the specified pull request.
|
|
20
|
+
|
|
21
|
+
Context to consult:
|
|
22
|
+
|
|
23
|
+
- `.arcane/governance/git-conventions.md` — commit format, agent attribution trailers, PR policy, and the interactive-session commit gate.
|
|
24
|
+
- `.arcane/governance/development-methodology.md` — workflow phases.
|
|
25
|
+
|
|
26
|
+
Related spells:
|
|
27
|
+
|
|
28
|
+
- `spell-review` — the reviewer side. If review was run here, its findings carry stable IDs (`R1`, `R2`, …); reference those IDs when replying so each thread maps to the original finding.
|
|
29
|
+
- `spell-create-pull-request` — opens the PR this spell responds to. Run it first if no PR exists yet.
|
|
30
|
+
|
|
31
|
+
## Arguments
|
|
32
|
+
|
|
33
|
+
- `--pr <number>` — **required.** The PR to address. If omitted, check the current branch for an associated PR or ask the user.
|
|
34
|
+
- `--fix-all` — optional. Treat all suggestions and nitpicks as fix-now (no deferrals).
|
|
35
|
+
|
|
36
|
+
## Step 0 — Setup
|
|
37
|
+
|
|
38
|
+
1. **Resolve the PR.** If `--pr` is given, use it. If omitted, look up the PR for the current branch (`gh pr view --json number` / `az repos pr list --source-branch <branch>`). If still none, **stop** and ask the user for the PR number — do not guess.
|
|
39
|
+
2. **Working tree must be clean.** Run `git status`. If dirty, **stop** and ask the user to commit or stash first — never stash silently, since uncommitted work can get tangled into the review-fix commits below.
|
|
40
|
+
3. **Detect the provider** from the git remote:
|
|
41
|
+
|
|
42
|
+
| Remote URL contains | Provider |
|
|
43
|
+
| --- | --- |
|
|
44
|
+
| `github.com` | GitHub (`gh`) |
|
|
45
|
+
| `dev.azure.com` / `visualstudio.com` | Azure DevOps (`az repos`) |
|
|
46
|
+
| anything else | unknown — **stop** and ask the user |
|
|
47
|
+
|
|
48
|
+
4. **Fetch the PR plus all comment threads:**
|
|
49
|
+
- **GitHub:** `gh pr view <PR> --comments`
|
|
50
|
+
- **Azure DevOps:** `az repos pr thread list --id <PR>`
|
|
51
|
+
|
|
52
|
+
## Step 1 — Parse threads
|
|
53
|
+
|
|
54
|
+
For each thread extract: thread ID, author, file + line (if inline), comment text, status, existing replies. Keep only **active** threads; ignore already-resolved ones. If a comment references a `spell-review` finding ID (`R1`, …), carry it through so the reply can cite it.
|
|
55
|
+
|
|
56
|
+
**If zero active threads remain:** report "No active review threads to address — nothing to do" and stop. Do not create commits or push.
|
|
57
|
+
|
|
58
|
+
## Step 2 — Categorize each comment
|
|
59
|
+
|
|
60
|
+
| Category | Criteria | Action |
|
|
61
|
+
| --- | --- | --- |
|
|
62
|
+
| must-fix | bug, security issue, logic error, broken behavior, standards violation | implement, commit, push |
|
|
63
|
+
| suggestion | better approach, refactor, optional improvement | implement OR reply with rationale |
|
|
64
|
+
| question | clarification / "why did you…?" | answer in the thread |
|
|
65
|
+
| nitpick | minor style / naming preference | implement OR reply with rationale |
|
|
66
|
+
|
|
67
|
+
Heuristics: "must"/"should"/"required"/"blocking" → must-fix; ends with "?" or starts "why/how/what" → question; "nit"/"minor"/"optional"/"consider" → nitpick; alternative offered without requiring → suggestion. When unsure, escalate to suggestion (not nitpick).
|
|
68
|
+
|
|
69
|
+
## Step 3 — Disposition
|
|
70
|
+
|
|
71
|
+
| Disposition | When |
|
|
72
|
+
| --- | --- |
|
|
73
|
+
| Fix Now | all must-fix; suggestions/nitpicks < ~30 min effort AND within files the PR already touches |
|
|
74
|
+
| Defer | scope-expanding items: new features, infra/tooling, cross-file refactors, > ~1 hr effort |
|
|
75
|
+
| Decline | the current approach is intentional — reply with rationale |
|
|
76
|
+
|
|
77
|
+
`--fix-all` forces all suggestions/nitpicks to Fix Now. Deferred items get a `TODO.md` entry with a `(PR #<n> feedback)` note **and** a reply on the thread pointing to that TODO before the thread is resolved — never resolve a deferred thread silently, or the reviewer cannot tell it was tracked vs. ignored.
|
|
78
|
+
|
|
79
|
+
## Step 4 — Present the plan, then wait
|
|
80
|
+
|
|
81
|
+
Show a table (`# | category | disposition | author | file:line | summary | planned action`) plus counts. Wait for confirmation; let the user reclassify any item before proceeding.
|
|
82
|
+
|
|
83
|
+
## Step 5 — Execute
|
|
84
|
+
|
|
85
|
+
Commits in this spell follow `.arcane/governance/git-conventions.md`: Conventional Commits format, agent attribution (`--author` + required `Agent`/`Model`/`Model-Source`/`Provider` trailers, plus `Persona`/`Role` when a roster exists and one was assigned) when an agent authors the change, and — because this is an **interactive session** — present each proposed commit message and **wait for the human's approval before committing** (the Step 4 plan approval covers *what* to do, not the commit itself). Never squash.
|
|
86
|
+
|
|
87
|
+
For **must-fix** (one thread at a time): read the code → implement → run the relevant tests.
|
|
88
|
+
- **If tests pass:** commit (e.g. `fix(scope): address review — <desc>`) → reply `Fixed in <hash>. <what changed>` (cite the `R#` finding ID if one exists) → resolve the thread immediately.
|
|
89
|
+
- **If tests fail:** do **not** commit. Either fix the regression and re-run, or — if the fix is wrong or larger than expected — revert the change, reply on the thread explaining what blocked it, and reclassify to Defer (TODO + thread note). A broken must-fix must never land.
|
|
90
|
+
|
|
91
|
+
For **suggestions/nitpicks**: if implementing, make the change, run tests, and batch into one commit; reply and resolve. If declining, reply with specific, respectful rationale (reference an ADR or convention if relevant) and resolve as won't-fix.
|
|
92
|
+
|
|
93
|
+
For **questions**: answer clearly in the thread; if the question reveals a real issue, reclassify and handle it; resolve after answering.
|
|
94
|
+
|
|
95
|
+
Resolve threads via the provider:
|
|
96
|
+
- **GitHub:** resolve the review thread (`gh` / GitHub MCP resolve-thread).
|
|
97
|
+
- **Azure DevOps:** update the thread status (`Fixed` or `WontFix`).
|
|
98
|
+
- **If a thread cannot be auto-resolved** (provider API error, insufficient permissions, or the reviewer must resolve it themselves): leave the reply in place, list the thread in the Step 6 report under "needs manual resolution," and do not treat the sweep as complete.
|
|
99
|
+
|
|
100
|
+
## Step 6 — Sweep, push, report
|
|
101
|
+
|
|
102
|
+
1. Re-fetch threads; resolve any still-active ones (this is the merge gate on many providers). Any thread that genuinely cannot be auto-resolved (see Step 5) is reported as "needs manual resolution," not silently left open.
|
|
103
|
+
2. `git push` all commits.
|
|
104
|
+
3. Print a summary table of actions taken (category, file, action, commit), thread status (resolved / deferred-with-TODO / needs manual resolution), commits pushed, and next steps (CI, notify reviewer, ready for re-review).
|
|
105
|
+
4. Optionally post the summary back to the PR as a top-level comment for a durable record.
|
|
106
|
+
|
|
107
|
+
## Rules
|
|
108
|
+
|
|
109
|
+
- Always present the plan and wait for confirmation before changing code.
|
|
110
|
+
- This is an interactive session: get human approval for each commit message before committing (per git-conventions Commit Governance).
|
|
111
|
+
- Never commit a change whose tests fail — fix, revert, or defer instead.
|
|
112
|
+
- Resolve each thread immediately after addressing it — do not batch resolution to the very end (except the final sweep).
|
|
113
|
+
- Never dismiss feedback without reasoning, and never resolve a deferred thread without leaving a TODO pointer on it.
|
|
114
|
+
- Follow `.arcane/governance/git-conventions.md` for commit format and attribution; do not squash.
|
|
115
|
+
- Never include secrets or tokens in replies or commits.
|