arcane-cli 0.39.0 → 1.0.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.
Files changed (176) hide show
  1. package/README.md +1 -1
  2. package/dist/assets/.agents/skills/spell-address-review/SKILL.md +1 -1
  3. package/dist/assets/.agents/skills/spell-adopt-docs/SKILL.md +1 -1
  4. package/dist/assets/.agents/skills/spell-arcane-version/SKILL.md +1 -1
  5. package/dist/assets/.agents/skills/spell-architect/SKILL.md +1 -1
  6. package/dist/assets/.agents/skills/spell-brainstorm/SKILL.md +1 -1
  7. package/dist/assets/.agents/skills/spell-bug/SKILL.md +1 -1
  8. package/dist/assets/.agents/skills/spell-bump/SKILL.md +1 -1
  9. package/dist/assets/.agents/skills/spell-check-drift/SKILL.md +1 -1
  10. package/dist/assets/.agents/skills/spell-close-session/SKILL.md +1 -1
  11. package/dist/assets/.agents/skills/spell-commit-work/SKILL.md +1 -1
  12. package/dist/assets/.agents/skills/spell-compliance/SKILL.md +1 -1
  13. package/dist/assets/.agents/skills/spell-create-pull-request/SKILL.md +1 -1
  14. package/dist/assets/.agents/skills/spell-document/SKILL.md +1 -1
  15. package/dist/assets/.agents/skills/spell-dotnet-expert/SKILL.md +1 -1
  16. package/dist/assets/.agents/skills/spell-eas-store-deploy/SKILL.md +1 -1
  17. package/dist/assets/.agents/skills/spell-enchant/SKILL.md +1 -1
  18. package/dist/assets/.agents/skills/spell-explain-concept/SKILL.md +1 -1
  19. package/dist/assets/.agents/skills/spell-feedback/SKILL.md +1 -1
  20. package/dist/assets/.agents/skills/spell-full-cycle/SKILL.md +1 -1
  21. package/dist/assets/.agents/skills/spell-generate-bot-icons/SKILL.md +1 -1
  22. package/dist/assets/.agents/skills/spell-implement/SKILL.md +1 -1
  23. package/dist/assets/.agents/skills/spell-make-discoverable/SKILL.md +1 -1
  24. package/dist/assets/.agents/skills/spell-manifest/SKILL.md +1 -1
  25. package/dist/assets/.agents/skills/spell-open-session/SKILL.md +1 -1
  26. package/dist/assets/.agents/skills/spell-plan/SKILL.md +1 -1
  27. package/dist/assets/.agents/skills/spell-present-arcane/SKILL.md +1 -1
  28. package/dist/assets/.agents/skills/spell-product-review/SKILL.md +1 -1
  29. package/dist/assets/.agents/skills/spell-review/SKILL.md +1 -1
  30. package/dist/assets/.agents/skills/spell-review-batch/SKILL.md +1 -1
  31. package/dist/assets/.agents/skills/spell-save-idea/SKILL.md +1 -1
  32. package/dist/assets/.agents/skills/spell-scope/SKILL.md +1 -1
  33. package/dist/assets/.agents/skills/spell-scry/SKILL.md +1 -1
  34. package/dist/assets/.agents/skills/spell-security-review/SKILL.md +1 -1
  35. package/dist/assets/.agents/skills/spell-ship/SKILL.md +1 -1
  36. package/dist/assets/.agents/skills/spell-status/SKILL.md +1 -1
  37. package/dist/assets/.agents/skills/spell-suggest-feature/SKILL.md +1 -1
  38. package/dist/assets/.agents/skills/spell-summon-venture/SKILL.md +1 -1
  39. package/dist/assets/.agents/skills/spell-sync-pull-request/SKILL.md +1 -1
  40. package/dist/assets/.agents/skills/spell-test/SKILL.md +1 -1
  41. package/dist/assets/.agents/skills/spell-todo/SKILL.md +1 -1
  42. package/dist/assets/.agents/skills/spell-verification-ledger/SKILL.md +1 -1
  43. package/dist/assets/.arcane/governance/development-methodology.md +6 -6
  44. package/dist/assets/.arcane/governance/git-conventions.md +2 -2
  45. package/dist/assets/.arcane/governance/portable-bootstrap.md +1 -0
  46. package/dist/assets/.arcane/governance/product-excellence-standards.md +1 -1
  47. package/dist/assets/.arcane/governance/spell-authoring-standards.md +9 -1
  48. package/dist/assets/.arcane/governance/universal-agent-rules.md +5 -3
  49. package/dist/assets/.arcane/spells/spell-address-review.md +115 -0
  50. package/dist/assets/.arcane/spells/spell-adopt-docs.md +158 -0
  51. package/dist/assets/.arcane/spells/spell-arcane-version.md +87 -0
  52. package/dist/assets/.arcane/spells/spell-architect.md +117 -0
  53. package/dist/assets/.arcane/spells/spell-brainstorm.md +125 -0
  54. package/dist/assets/.arcane/spells/spell-bug.md +123 -0
  55. package/dist/assets/.arcane/spells/spell-bump.md +82 -0
  56. package/dist/assets/.arcane/spells/spell-check-drift.md +118 -0
  57. package/dist/assets/.arcane/spells/spell-close-session.md +266 -0
  58. package/dist/assets/.arcane/spells/spell-commit-work.md +279 -0
  59. package/dist/assets/.arcane/spells/spell-compliance.md +130 -0
  60. package/dist/assets/.arcane/spells/spell-create-pull-request.md +224 -0
  61. package/dist/assets/.arcane/spells/spell-document.md +84 -0
  62. package/dist/assets/.arcane/spells/spell-dotnet-expert.md +118 -0
  63. package/dist/assets/.arcane/spells/spell-eas-store-deploy.md +254 -0
  64. package/dist/assets/.arcane/spells/spell-enchant.md +386 -0
  65. package/dist/assets/.arcane/spells/spell-explain-concept.md +70 -0
  66. package/dist/assets/.arcane/spells/spell-feedback.md +138 -0
  67. package/dist/assets/.arcane/spells/spell-full-cycle.md +253 -0
  68. package/dist/assets/.arcane/spells/spell-generate-bot-icons.md +85 -0
  69. package/dist/assets/.arcane/spells/spell-implement.md +109 -0
  70. package/dist/assets/.arcane/spells/spell-make-discoverable.md +293 -0
  71. package/dist/assets/.arcane/spells/spell-manifest.md +148 -0
  72. package/dist/assets/.arcane/spells/spell-open-session.md +154 -0
  73. package/dist/assets/.arcane/spells/spell-plan.md +160 -0
  74. package/dist/assets/.arcane/spells/spell-present-arcane.md +189 -0
  75. package/dist/assets/.arcane/spells/spell-product-review.md +98 -0
  76. package/dist/assets/.arcane/spells/spell-review-batch.md +113 -0
  77. package/dist/assets/.arcane/spells/spell-review.md +142 -0
  78. package/dist/assets/.arcane/spells/spell-save-idea.md +117 -0
  79. package/dist/assets/.arcane/spells/spell-scope.md +266 -0
  80. package/dist/assets/.arcane/spells/spell-scry.md +124 -0
  81. package/dist/assets/.arcane/spells/spell-security-review.md +152 -0
  82. package/dist/assets/.arcane/spells/spell-ship.md +106 -0
  83. package/dist/assets/.arcane/spells/spell-status.md +86 -0
  84. package/dist/assets/.arcane/spells/spell-suggest-feature.md +122 -0
  85. package/dist/assets/.arcane/spells/spell-summon-venture.md +110 -0
  86. package/dist/assets/.arcane/spells/spell-sync-pull-request.md +161 -0
  87. package/dist/assets/.arcane/spells/spell-test.md +88 -0
  88. package/dist/assets/.arcane/spells/spell-todo.md +166 -0
  89. package/dist/assets/.arcane/spells/spell-verification-ledger.md +102 -0
  90. package/dist/assets/.claude/commands/spell-address-review.md +2 -2
  91. package/dist/assets/.claude/commands/spell-adopt-docs.md +2 -2
  92. package/dist/assets/.claude/commands/spell-arcane-version.md +2 -2
  93. package/dist/assets/.claude/commands/spell-architect.md +2 -2
  94. package/dist/assets/.claude/commands/spell-brainstorm.md +2 -2
  95. package/dist/assets/.claude/commands/spell-bug.md +2 -2
  96. package/dist/assets/.claude/commands/spell-bump.md +2 -2
  97. package/dist/assets/.claude/commands/spell-check-drift.md +2 -2
  98. package/dist/assets/.claude/commands/spell-close-session.md +2 -2
  99. package/dist/assets/.claude/commands/spell-commit-work.md +2 -2
  100. package/dist/assets/.claude/commands/spell-compliance.md +2 -2
  101. package/dist/assets/.claude/commands/spell-create-pull-request.md +2 -2
  102. package/dist/assets/.claude/commands/spell-document.md +2 -2
  103. package/dist/assets/.claude/commands/spell-dotnet-expert.md +2 -2
  104. package/dist/assets/.claude/commands/spell-eas-store-deploy.md +2 -2
  105. package/dist/assets/.claude/commands/spell-enchant.md +2 -2
  106. package/dist/assets/.claude/commands/spell-explain-concept.md +2 -2
  107. package/dist/assets/.claude/commands/spell-feedback.md +2 -2
  108. package/dist/assets/.claude/commands/spell-full-cycle.md +2 -2
  109. package/dist/assets/.claude/commands/spell-generate-bot-icons.md +2 -2
  110. package/dist/assets/.claude/commands/spell-implement.md +2 -2
  111. package/dist/assets/.claude/commands/spell-make-discoverable.md +2 -2
  112. package/dist/assets/.claude/commands/spell-manifest.md +2 -2
  113. package/dist/assets/.claude/commands/spell-open-session.md +2 -2
  114. package/dist/assets/.claude/commands/spell-plan.md +2 -2
  115. package/dist/assets/.claude/commands/spell-present-arcane.md +2 -2
  116. package/dist/assets/.claude/commands/spell-product-review.md +2 -2
  117. package/dist/assets/.claude/commands/spell-review-batch.md +2 -2
  118. package/dist/assets/.claude/commands/spell-review.md +2 -2
  119. package/dist/assets/.claude/commands/spell-save-idea.md +2 -2
  120. package/dist/assets/.claude/commands/spell-scope.md +2 -2
  121. package/dist/assets/.claude/commands/spell-scry.md +2 -2
  122. package/dist/assets/.claude/commands/spell-security-review.md +2 -2
  123. package/dist/assets/.claude/commands/spell-ship.md +2 -2
  124. package/dist/assets/.claude/commands/spell-status.md +2 -2
  125. package/dist/assets/.claude/commands/spell-suggest-feature.md +2 -2
  126. package/dist/assets/.claude/commands/spell-summon-venture.md +2 -2
  127. package/dist/assets/.claude/commands/spell-sync-pull-request.md +2 -2
  128. package/dist/assets/.claude/commands/spell-test.md +2 -2
  129. package/dist/assets/.claude/commands/spell-todo.md +2 -2
  130. package/dist/assets/.claude/commands/spell-verification-ledger.md +2 -2
  131. package/dist/assets/.github/instructions/agent-output.instructions.md +14 -13
  132. package/dist/assets/.github/prompts/spell-address-review.prompt.md +1 -107
  133. package/dist/assets/.github/prompts/spell-adopt-docs.prompt.md +1 -150
  134. package/dist/assets/.github/prompts/spell-arcane-version.prompt.md +1 -79
  135. package/dist/assets/.github/prompts/spell-architect.prompt.md +1 -109
  136. package/dist/assets/.github/prompts/spell-brainstorm.prompt.md +1 -117
  137. package/dist/assets/.github/prompts/spell-bug.prompt.md +1 -115
  138. package/dist/assets/.github/prompts/spell-bump.prompt.md +1 -74
  139. package/dist/assets/.github/prompts/spell-check-drift.prompt.md +1 -110
  140. package/dist/assets/.github/prompts/spell-close-session.prompt.md +1 -258
  141. package/dist/assets/.github/prompts/spell-commit-work.prompt.md +1 -270
  142. package/dist/assets/.github/prompts/spell-compliance.prompt.md +1 -122
  143. package/dist/assets/.github/prompts/spell-create-pull-request.prompt.md +1 -215
  144. package/dist/assets/.github/prompts/spell-document.prompt.md +1 -76
  145. package/dist/assets/.github/prompts/spell-dotnet-expert.prompt.md +1 -110
  146. package/dist/assets/.github/prompts/spell-eas-store-deploy.prompt.md +1 -246
  147. package/dist/assets/.github/prompts/spell-enchant.prompt.md +1 -378
  148. package/dist/assets/.github/prompts/spell-explain-concept.prompt.md +1 -62
  149. package/dist/assets/.github/prompts/spell-feedback.prompt.md +1 -130
  150. package/dist/assets/.github/prompts/spell-full-cycle.prompt.md +1 -245
  151. package/dist/assets/.github/prompts/spell-generate-bot-icons.prompt.md +1 -77
  152. package/dist/assets/.github/prompts/spell-implement.prompt.md +1 -101
  153. package/dist/assets/.github/prompts/spell-make-discoverable.prompt.md +1 -285
  154. package/dist/assets/.github/prompts/spell-manifest.prompt.md +1 -140
  155. package/dist/assets/.github/prompts/spell-open-session.prompt.md +1 -146
  156. package/dist/assets/.github/prompts/spell-plan.prompt.md +1 -152
  157. package/dist/assets/.github/prompts/spell-present-arcane.prompt.md +1 -181
  158. package/dist/assets/.github/prompts/spell-product-review.prompt.md +1 -90
  159. package/dist/assets/.github/prompts/spell-review-batch.prompt.md +1 -105
  160. package/dist/assets/.github/prompts/spell-review.prompt.md +1 -134
  161. package/dist/assets/.github/prompts/spell-save-idea.prompt.md +1 -109
  162. package/dist/assets/.github/prompts/spell-scope.prompt.md +1 -258
  163. package/dist/assets/.github/prompts/spell-scry.prompt.md +1 -116
  164. package/dist/assets/.github/prompts/spell-security-review.prompt.md +1 -144
  165. package/dist/assets/.github/prompts/spell-ship.prompt.md +1 -98
  166. package/dist/assets/.github/prompts/spell-status.prompt.md +1 -78
  167. package/dist/assets/.github/prompts/spell-suggest-feature.prompt.md +1 -114
  168. package/dist/assets/.github/prompts/spell-summon-venture.prompt.md +1 -102
  169. package/dist/assets/.github/prompts/spell-sync-pull-request.prompt.md +1 -152
  170. package/dist/assets/.github/prompts/spell-test.prompt.md +1 -80
  171. package/dist/assets/.github/prompts/spell-todo.prompt.md +1 -158
  172. package/dist/assets/.github/prompts/spell-verification-ledger.prompt.md +1 -94
  173. package/dist/index.js +143 -39
  174. package/dist/index.js.map +1 -1
  175. package/package.json +4 -4
  176. /package/dist/assets/{.github/prompts → .arcane/spells}/_fragments/tracking-mode-declaration.md +0 -0
@@ -6,381 +6,4 @@ argument-hint: "Path to PRD, pasted PRD content, or tracker work item ID (e.g.,
6
6
  agent: agent
7
7
  ---
8
8
 
9
- ## Executive Summary
10
-
11
- - This spell takes an existing PRD and enchants it to production-grade quality.
12
- - It proactively identifies missing features, UX gaps, accessibility issues, performance targets, and security requirements that the original PRD didn't specify.
13
- - Applies two analytical lenses: a **research lens** (competitive analysis, industry standards) and a **marketing/brand lens** (brand, UX, first-impression review). In the default Arcane roster these map to the Alexander and Circe personas; other orgs map their own — see [agent-policies](../../.arcane/governance/agent-policies.md) / [naming-conventions](../../.arcane/governance/naming-conventions.md).
14
- - Output: Enhanced PRD with `[ENCHANTED]`-tagged additions, before/after quality scorecard, and research summaries.
15
- - Use this between `spell-plan` and `spell-architect` (or `spell-scope` for large PRDs). It **consumes** a drafted PRD and **feeds** an architecture/scoping spell; it does not author a PRD from scratch (that is `spell-plan`) nor implement one (`spell-implement`).
16
-
17
- ---
18
-
19
- Enchant the provided PRD to exceptional quality.
20
-
21
- Use these files for context. All are optional — if a file is absent, fall back as noted and continue rather than aborting:
22
-
23
- - [governance/product-excellence-standards.md](../../.arcane/governance/product-excellence-standards.md) — Quality dimensions, PRD Quality Scorecard, scoring rubric (Bronze / Silver / Gold). **If missing:** warn the user that the canonical scorecard was not found, then proceed with the embedded dimension list (Requirements Completeness, UX, Accessibility, Performance, Security, Responsive Design, Competitive Differentiation) and default to the **Public MVP** profile.
24
- - [governance/development-methodology.md](../../.arcane/governance/development-methodology.md) — Spell Loop methodology, story sizing rules. **If missing:** treat story sizing as advisory and proceed.
25
- - [governance/testing-standards.md](../../.arcane/governance/testing-standards.md) — Testing frameworks and coverage thresholds. **If missing:** omit framework-specific coverage targets from acceptance criteria.
26
- - [security/threat-model.md](../../security/threat-model.md) — Active threat model. **If missing:** apply generic OWASP-style security baselines for the Security dimension.
27
- - [agents/agent-policies.md](../../.arcane/governance/agent-policies.md) / [governance/naming-conventions.md](../../.arcane/governance/naming-conventions.md) — Agent roster and persona naming. **If missing:** apply the two lenses (research, marketing/brand) without naming personas.
28
- - [DECISIONS.md](../../DECISIONS.md) — Existing ADRs to respect. **If missing:** assume no binding ADR constraints.
29
- - [project.md](../../project.md) — Project goals and business context. **If missing:** infer business context from the PRD itself and flag any assumptions.
30
-
31
- ---
32
-
33
- ## Workflow
34
-
35
- ### 1. PRD Intake
36
-
37
- Accept the PRD from one of these input sources:
38
-
39
- | Source | Format | How to fetch |
40
- |--------|--------|--------------|
41
- | **File path** | `PRD.md` or any markdown file | Read the file directly |
42
- | **Pasted content** | Inline text in the prompt | Use as-is |
43
- | **Tracker work item ID** | `#508` or `508` with a tracker reference | Respect `tracking_mode` and detect the provider (see below), then fetch the work item and extract its title, description, and acceptance criteria |
44
-
45
- If the input is a tracker work item ID:
46
- 1. **Determine tracking mode and provider.** Read `tracking_mode` (internal/external) from `.arcane.json` or PRD frontmatter, and detect the configured tracker provider rather than assuming one. The shared tracker-resolution rules live in [governance/development-methodology.md](../../.arcane/governance/development-methodology.md) — follow them rather than hard-coding a single provider.
47
- - For an **Azure DevOps** provider, fetch via `az boards work-item show --id {id} --org https://dev.azure.com/{ADO_ORG} --output json` and extract `System.Description`, `Microsoft.VSTS.Common.AcceptanceCriteria`, and `System.Title`. Resolve `{ADO_ORG}` (and `{ADO_PROJECT}` if needed) from `.arcane.json` or the PRD frontmatter; **if unset, ask the user** rather than assuming a default.
48
- - For other providers (e.g. a GitHub issue), use the provider's equivalent fetch and map title / body / acceptance-criteria fields accordingly.
49
- 2. If the work item has child items, fetch those too — they may contain additional requirements.
50
- 3. If the work item description contains a URL to an external PRD (e.g., a gist, wiki page, or shared document), fetch that content.
51
- 4. Combine all content into a single PRD view before proceeding.
52
-
53
- Read the full PRD. Identify:
54
- - **Feature name** and business context
55
- - **Target repo** and tech stack
56
- - **Current requirement count** and acceptance criteria count
57
- - **What quality dimensions are already addressed vs missing**
58
-
59
- **Quality Profile Selection:** Ask the user which quality profile to target (see `governance/product-excellence-standards.md § Quality Profiles`):
60
-
61
- | Profile | Best For | Default? |
62
- |---------|----------|----------|
63
- | **Internal Tool** | Dashboards, CLIs, admin panels, single-user tools | |
64
- | **Public MVP** | First public launch, market validation, early users | ✅ Default |
65
- | **Production SaaS** | Revenue-generating, public-facing, scaled products | |
66
- | **Custom** | User picks target tier per dimension | |
67
-
68
- If the user doesn't specify, use **Public MVP**. State the selected profile before proceeding.
69
-
70
- ### 2. Quality Audit (Scorecard)
71
-
72
- Score the PRD against every dimension in `governance/product-excellence-standards.md`.
73
-
74
- Use the selected quality profile's target matrix to determine the **gap** for each dimension:
75
-
76
- ```markdown
77
- ## Quality Scorecard — Before Enchantment
78
-
79
- **Profile:** [selected profile]
80
-
81
- | Dimension | Current | Target | Gap | Notes |
82
- |-----------|---------|--------|-----|-------|
83
- | Requirements Completeness | 🥉 / 🥈 / 🥇 | [from profile] | [tiers to close] | [specific gaps] |
84
- | User Experience (UX) | 🥉 / 🥈 / 🥇 | [from profile] | | [specific gaps] |
85
- | Accessibility | 🥉 / 🥈 / 🥇 | [from profile] | | [specific gaps] |
86
- | Performance | 🥉 / 🥈 / 🥇 | [from profile] | | [specific gaps] |
87
- | Security | 🥉 / 🥈 / 🥇 | [from profile] | | [specific gaps] |
88
- | Responsive Design | 🥉 / 🥈 / 🥇 | [from profile] | | [specific gaps] |
89
- | Competitive Differentiation | 🥉 / 🥈 / 🥇 | [from profile] | | [specific gaps] |
90
- | **Overall** | **🥉 / 🥈 / 🥇** | | | |
91
- ```
92
-
93
- For each dimension where the current score is **below the profile's target**, identify the **specific gaps** that must be closed. These gaps drive the Must-Add tier. For dimensions already at target, identify what would lift them one tier higher (Should-Add).
94
-
95
- ### 3. Research Phase (Research Lens)
96
-
97
- Apply the **research lens** (in the default Arcane roster this is the Alexander / Research & Backlog Analyst persona — see [agent-policies](../../.arcane/governance/agent-policies.md) / [naming-conventions](../../.arcane/governance/naming-conventions.md); other orgs map their own analyst). Conduct a thorough analysis:
98
-
99
- #### 3a. Competitive Analysis
100
- - Identify the top 3 alternatives/competitors for this type of app
101
- - What do they do well that this PRD doesn't specify?
102
- - What are their weaknesses that this app can capitalize on?
103
- - What features do users of these alternatives consistently request?
104
-
105
- #### 3b. Industry UX Patterns
106
- - What are the established UX patterns for this category of app?
107
- - Are there design system conventions this PRD should follow (Material, Fluent, etc.)?
108
- - What interaction patterns do users expect as standard?
109
-
110
- #### 3c. Accessibility Audit
111
- - What WCAG 2.1 AA requirements are missing from the PRD?
112
- - Are there accessibility features specific to this app category (e.g., data tables need row headers)?
113
- - What assistive technology considerations apply?
114
-
115
- #### 3d. Technology Trends
116
- - Are there modern approaches or frameworks that would improve the implementation?
117
- - Are there emerging standards the PRD should adopt early?
118
- - Are there performance optimization techniques specific to this stack?
119
-
120
- #### 3e. User Expectations
121
- - What do users of similar apps consider table-stakes features?
122
- - What are common frustrations with alternative apps that this PRD could address?
123
- - What would a power user expect that a casual user wouldn't think to request?
124
-
125
- Document findings as (the persona name below reflects the default roster; substitute your org's analyst):
126
- ```markdown
127
- ## Research Summary (Research Lens — default: Alexander)
128
-
129
- ### Competitive Landscape
130
- [findings]
131
-
132
- ### UX Pattern Analysis
133
- [findings]
134
-
135
- ### Accessibility Gaps
136
- [findings]
137
-
138
- ### Technology Recommendations
139
- [findings]
140
-
141
- ### User Expectations
142
- [findings]
143
- ```
144
-
145
- ### 4. Marketing & Brand Review (Marketing/Brand Lens)
146
-
147
- Apply the **marketing/brand lens** (in the default Arcane roster this is the Circe / Marketing Strategist persona — see [agent-policies](../../.arcane/governance/agent-policies.md) / [naming-conventions](../../.arcane/governance/naming-conventions.md); other orgs map their own strategist). Evaluate the PRD from a brand and user-perception perspective:
148
-
149
- #### 4a. First Impressions
150
- - If a user saw this app for the first time with zero context, what would they think?
151
- - Is the value proposition immediately clear?
152
- - Does the UI convey quality and trustworthiness?
153
-
154
- #### 4b. Value Proposition Clarity
155
- - Can the app's purpose be explained in one sentence?
156
- - Does the PRD define a "signature feature" that makes the app memorable?
157
- - Is there a clear differentiator from alternatives?
158
-
159
- #### 4c. Brand Consistency
160
- - Does the planned UX align with the business's brand identity?
161
- - Is the tone, terminology, and visual language consistent?
162
- - Would this app feel like it belongs in the same family as the business's other products?
163
-
164
- #### 4d. User Onboarding
165
- - Is there a clear path from first launch to first value delivered?
166
- - Does the PRD define what "activation" means (the moment the user gets value)?
167
- - Are there engagement hooks that encourage return visits?
168
-
169
- #### 4e. Delight Opportunities
170
- - Where can the app surprise users with thoughtful touches?
171
- - Are there moments where exceeding expectations is easy but impactful?
172
- - What would make users want to recommend this app to others?
173
-
174
- Document findings as (the persona name below reflects the default roster; substitute your org's strategist):
175
- ```markdown
176
- ## Marketing Review (Marketing/Brand Lens — default: Circe)
177
-
178
- ### First Impression Assessment
179
- [findings]
180
-
181
- ### Value Proposition
182
- [findings]
183
-
184
- ### Brand Alignment
185
- [findings]
186
-
187
- ### Onboarding Path
188
- [findings]
189
-
190
- ### Delight Opportunities
191
- [findings]
192
- ```
193
-
194
- ### 5. Generate Enhancement Suggestions
195
-
196
- Based on the quality audit, the research-lens analysis, the marketing/brand-lens review, **and the selected quality profile**, produce enhancement suggestions in four priority tiers.
197
-
198
- Tier assignment is driven by the profile's target matrix (see `governance/product-excellence-standards.md § How Profiles Drive Enhancement Tiers`):
199
-
200
- | Tier | Rule |
201
- |------|------|
202
- | Must-Add | Current score is **below** the profile's target for that dimension |
203
- | Should-Add | Current score **matches** the target; enhancement lifts one tier above |
204
- | Could-Add | Current score **meets or exceeds** target; enhancement is aspirational |
205
- | Won't-Add | Explicitly excluded regardless of profile |
206
-
207
- **Override:** Security Bronze is always Must-Add. Accessibility gaps are always at least Should-Add.
208
-
209
- #### Must-Add (Below Target — Must Close Gap)
210
- Enhancements required to reach the profile's target tier for each dimension. These aren't optional — the profile demands them.
211
-
212
- *Example (Public MVP): UX is Bronze but target is Gold → loading states, error states, empty states, onboarding are all Must-Add.*
213
-
214
- #### Should-Add (At Target — Stretch One Tier)
215
- Enhancements that lift a dimension one tier above the profile's target. Not blocking the profile's quality bar but enchanting toward the ceiling.
216
-
217
- *Example (Internal Tool): UX is Silver (matches target) → dark mode, micro-interactions become Should-Add.*
218
-
219
- #### Could-Add (Above Target — Aspirational)
220
- Enhancements for dimensions already meeting or exceeding the target. Premium polish that creates delight.
221
-
222
- *Example (Internal Tool): Requirements already at Silver (target) → traceability matrix, open questions tracking become Could-Add.*
223
-
224
- #### Won't-Add (Explicitly Excluded)
225
- Items considered but rejected, with clear rationale. This prevents future scope creep around "should we add X?"
226
-
227
- *Example: Offline mode (not applicable for real-time dashboard), multi-language support (single market for now).*
228
-
229
- For each enhancement:
230
- ```markdown
231
- - **[ENCHANTED]** [Enhancement title]
232
- - **Rationale:** [Why this matters — reference research or standards]
233
- - **Source:** Research lens / Marketing-brand lens / Quality scorecard gap / Industry standard
234
- - **Impact on scope:** Minimal / Moderate / Significant
235
- - **Acceptance criteria:** [Testable criterion]
236
- ```
237
-
238
- ### 6. Scope Budget Check
239
-
240
- ⚠️ **Critical guard against scope creep.**
241
-
242
- After generating all enhancements, calculate:
243
- - **Original PRD scope:** [N requirements, estimated M stories]
244
- - **Enchantd PRD scope:** [N+X requirements, estimated M+Y stories]
245
- - **Scope increase ratio:** [percentage or multiplier]
246
-
247
- **If enchanted scope exceeds 2× the original:**
248
- 1. Flag this prominently to the user
249
- 2. Force prioritization — the user must choose which enhancements to keep
250
- 3. Recommend splitting Must-Add into the current cycle and Should-Add/Could-Add into future iterations
251
- 4. Never silently double the project scope
252
-
253
- Present as:
254
- ```markdown
255
- ## Scope Impact Assessment
256
-
257
- | Metric | Original | Enchantd | Change |
258
- |--------|----------|----------|--------|
259
- | Requirements | N | N+X | +X |
260
- | Estimated stories | M | M+Y | +Y |
261
- | Scope multiplier | — | — | X.Xx |
262
-
263
- ⚠️ [Warning if > 2x, or ✅ within budget if ≤ 2x]
264
- ```
265
-
266
- ### 7. Produce Enhanced PRD
267
-
268
- Generate the enchanted PRD with these characteristics:
269
-
270
- 1. **All original requirements preserved** — never remove or weaken what was already specified
271
- 2. **New requirements tagged `[ENCHANTED]`** — clearly distinguishable from original content
272
- 3. **Enhanced acceptance criteria** — original criteria enriched with edge cases
273
- 4. **Quality scorecard (after)** — re-scored with all enhancements included
274
- 5. **Research and marketing summaries** — appended as reference sections
275
- 6. **Scope impact assessment** — included for transparency
276
-
277
- Structure:
278
- ```markdown
279
- # PRD: [Feature Name] — Enchantd
280
-
281
- ## Enchantment Summary
282
- - **Quality profile:** [Internal Tool / Public MVP / Production SaaS / Custom]
283
- - **Original score:** [Before]
284
- - **Enchantd score:** [After]
285
- - **Enhancements added:** [count by tier]
286
- - **Scope impact:** [multiplier]
287
-
288
- ## Problem Statement
289
- [Original, enhanced if needed]
290
-
291
- ## Target Users
292
- [Original, enhanced with persona details if missing]
293
-
294
- ## Requirements
295
-
296
- ### Must Have
297
- - [Original requirement 1]
298
- - [Original requirement 2]
299
- - **[ENCHANTED]** [New must-have from enchantment]
300
-
301
- ### Should Have
302
- - [Original should-haves]
303
- - **[ENCHANTED]** [New should-haves from enchantment]
304
-
305
- ### Won't Have (this iteration)
306
- - [Original exclusions]
307
- - **[ENCHANTED]** [New explicit exclusions from enchantment]
308
-
309
- ## User Experience Requirements
310
- **[ENCHANTED section if not in original]**
311
- - Loading states: [specification]
312
- - Error states: [specification]
313
- - Empty states: [specification]
314
- - Onboarding: [specification]
315
-
316
- ## Accessibility Requirements
317
- **[ENCHANTED section if not in original]**
318
- - [WCAG 2.1 AA requirements per product-excellence-standards]
319
-
320
- ## Performance Requirements
321
- **[ENCHANTED section if not in original]**
322
- - [Targets per product-excellence-standards]
323
-
324
- ## Security Requirements
325
- **[ENCHANTED section if not in original]**
326
- - [Requirements per product-excellence-standards]
327
-
328
- ## Responsive Design Requirements
329
- **[ENCHANTED section if not in original]**
330
- - [Breakpoints and adaptation rules]
331
-
332
- ## Acceptance Criteria
333
- - [ ] [Original criteria — preserved]
334
- - [ ] **[ENCHANTED]** [New criteria from enchantment]
335
-
336
- ## Dependencies
337
- [Original + any new dependencies from enchanted requirements]
338
-
339
- ## Open Questions
340
- [Original + any new questions raised by enchantment]
341
-
342
- ## Quality Scorecard
343
-
344
- | Dimension | Before | After |
345
- |-----------|--------|-------|
346
- | Requirements | 🥉 | 🥇 |
347
- | UX | 🥉 | 🥇 |
348
- | ... | ... | ... |
349
- | **Overall** | **🥉** | **🥇** |
350
-
351
- ## Research Summary (Research Lens — default: Alexander)
352
- [Condensed from Step 3]
353
-
354
- ## Marketing Review (Marketing/Brand Lens — default: Circe)
355
- [Condensed from Step 4]
356
- ```
357
-
358
- ### 8. Present for Review
359
-
360
- Present the enchanted PRD to the user with:
361
-
362
- 1. **Side-by-side quality score** — before and after across all dimensions
363
- 2. **Summary of all additions** — grouped by tier (Must-Add / Should-Add / Could-Add / Won't-Add) with rationale
364
- 3. **Scope impact** — clear multiplier and warning if > 2×
365
- 4. **Explicit ask:** "Do you want to proceed with the enchanted PRD, adjust any enhancements, or revert to the original?"
366
-
367
- Wait for user approval before the enchanted PRD replaces the original. The user may:
368
- - **Accept all** — proceed with the full enchanted PRD
369
- - **Accept with cuts** — remove specific enhancements; re-run scorecard
370
- - **Defer enhancements** — keep the original PRD for this cycle; log enhancements as future work items
371
- - **Reject** — keep the original PRD unchanged
372
-
373
- ---
374
-
375
- ## Rules
376
-
377
- - **Never remove or weaken original requirements.** Only enhance and add. The user wrote those requirements for a reason.
378
- - **Every enhancement must have a rationale** tied to research findings, competitive analysis, industry standards, or the quality scorecard. No enhancements "because it would be nice."
379
- - **User has final say on all additions.** This spell is a suggestions engine, not a mandate. If the user says "no dark mode," respect that.
380
- - **Flag scope impact honestly.** If enhancements double the project, say so clearly. Don't bury scope creep in a long list.
381
- - **Respect existing ADRs.** If an enhancement contradicts an established ADR, flag the conflict rather than silently adding it.
382
- - **Be honest about unknowns.** If competitive analysis requires actual market research that can't be done in this context, flag it as a research item for the research lens (default: Alexander) to investigate separately.
383
- - **Don't gold-plate for the sake of it.** If the PRD already meets the profile's targets across all dimensions, say so and move on. Not every PRD needs enchantment.
384
- - **Respect the quality profile.** The profile determines what's Must-Add vs Could-Add. An Internal Tool doesn't need Gold Accessibility unless the user says so. A Production SaaS needs Gold everywhere — no shortcuts.
385
- - **Security enhancement is non-negotiable.** Even if the user skips other enhancements, security gaps identified during enchantment must be flagged prominently. The user can still decide, but they must be aware. Security Bronze is always Must-Add regardless of profile.
386
- - **Accessibility is a requirement, not a feature.** Accessibility gaps are always at least Should-Add regardless of profile. WCAG 2.1 AA compliance should be treated as Must-Add for Public MVP and Production SaaS profiles.
9
+ This prompt is the Arcane `spell-enchant` spell. Read [`.arcane/spells/spell-enchant.md`](../../.arcane/spells/spell-enchant.md) and follow it as the complete workflow.
@@ -6,65 +6,4 @@ argument-hint: "Concept or question to explain (e.g., 'how does our auth middlew
6
6
  agent: agent
7
7
  ---
8
8
 
9
- ## Executive Summary
10
-
11
- - This prompt produces clear, structured explanations of technical concepts, architectures, or system behaviors.
12
- - It balances technical accuracy with accessibility — no dumbing down, no jargon walls.
13
- - Use this when you need to understand something before making a decision or planning implementation.
14
-
15
- ---
16
-
17
- Explain the concept, system, or behavior described in the user's prompt argument.
18
-
19
- ## Explanation Style
20
-
21
- Follow these rules strictly:
22
-
23
- 1. **Start with the one-sentence answer.** What is it, or why does it happen? No preamble.
24
- 2. **Use analogies from the user's world** — relate to tools, systems, or workflows they already use (their editor, their chat/notification tooling, their own agents, their own infrastructure). Check the workspace for context about the user's setup.
25
- 3. **Use diagrams per rule 8** (`.arcane/governance/universal-agent-rules.md`) — Mermaid sequence diagrams for flows, flowcharts for decision trees. Don't use diagrams for simple definitions.
26
- 4. **Show the "so what?"** — connect the explanation to what the user can *do* with this knowledge. What decisions does it unlock? What options does it create?
27
- 5. **Name the moving parts** with a summary table when there are multiple components, layers, or options to compare.
28
- 6. **Use real examples from their system** — reference actual agent names, actual config files, actual commands. Don't use generic placeholders when specific is available.
29
- 7. **Flag when your explanation hits a boundary** — if something requires verification, testing, or is based on source code reading vs official docs, say so.
30
-
31
- ## Tone Calibration
32
-
33
- - Technical jargon: **Use it, but define it inline** on first use. Example: "the dispatcher (the runtime component that routes a request to the right handler)..."
34
- - Depth: **Go deep enough that the user could explain it to someone else.** If they asked "what is X?", they should walk away knowing what X is, how X works, and when X matters.
35
- - Length: **Match the concept's complexity.** A simple definition gets 3-4 lines. An architecture explanation gets diagrams, tables, and flow breakdowns.
36
-
37
- ## Research First
38
-
39
- Before explaining:
40
- 1. Search the workspace for relevant docs, configs, and journal entries about the topic
41
- 2. If the concept involves a specific tool or framework, check its config files, source, and official docs as needed
42
- 3. If the concept involves infrastructure or deployment, check the relevant infra, config, and ops directories in the repo
43
- 4. Ground the explanation in what's actually deployed, not hypothetical setups
44
-
45
- ## Output Structure
46
-
47
- Adapt the structure to the concept — don't force every explanation into the same template. But generally:
48
-
49
- - **One-line answer** (always)
50
- - **How it works** (always — the core explanation)
51
- - **Diagram** (when architecture/flow matters)
52
- - **Comparison table** (when there are alternatives or multiple components)
53
- - **What this means for you** (always — connect to decisions or actions)
54
-
55
- ## Rules
56
-
57
- 1. **Validate the input is a concept to explain, not a task to perform.** This spell *explains* — it does not build, fix, plan, or change anything. If the argument is empty or too vague to identify a topic (e.g. "explain this" with no referent), ask the user what they want explained before proceeding.
58
- 2. **Redirect action requests.** If the argument is actually a request to *do* work rather than understand it, say so and point to the right spell instead of attempting the action:
59
- - "implement / build / add X" → suggest **`spell-implement`**.
60
- - "fix / debug X" → suggest **`spell-bug`**.
61
- - "plan / break down X" → suggest **`spell-plan`**.
62
- - "design / decide between X and Y (architecture)" → suggest **`spell-architect`**.
63
- - If the user genuinely wants *both* an explanation and then action, explain first, then hand off.
64
- 3. **Explain only — never modify.** Do not edit files, run mutating commands, or make external posts as part of an explanation. Reading and searching the workspace is expected; changing it is out of scope.
65
-
66
- ## Related Spells
67
-
68
- - **`spell-architect`** — when the concept is a *design choice* and the user needs a decision (trade-offs, ADR), explain the landscape here, then hand off to architect to decide.
69
- - **`spell-plan`** — once a concept is understood, plan turns that understanding into ordered, actionable steps.
70
- - **`spell-implement`** / **`spell-bug`** — the build/fix spells this one redirects to when the request is an action rather than a question.
9
+ This prompt is the Arcane `spell-explain-concept` spell. Read [`.arcane/spells/spell-explain-concept.md`](../../.arcane/spells/spell-explain-concept.md) and follow it as the complete workflow.
@@ -6,133 +6,4 @@ argument-hint: Optional focus area — e.g., "spell-implement loop", "review qua
6
6
  agent: agent
7
7
  ---
8
8
 
9
- ## Executive Summary
10
-
11
- - This spell captures post-session feedback on how well the spells and AI assistance worked.
12
- - It structures the feedback into actionable improvement items and appends them to `FEEDBACK.md` at the repo root.
13
- - Use it after any session where assistance felt notably effective or notably off — the record feeds `spell-enchant`.
14
- - **Framework-shaped items** (about a spell, template, governance doc, playbook, or CLI behavior — not this repo's own content) can additionally route upstream as a GitHub issue on `{ARCANE_UPSTREAM_REPO}` — the same public intake path any arcane user would use, genericized first and gated by an explicit disclosure confirm. This is the whole consumer→arcane feedback loop: arcane is the one thing every consumer repo may reference without violating sibling isolation, because it's the installed, publicly-homed dependency, not a sibling venture.
15
-
16
- ---
17
-
18
- Collect and record feedback to improve the Arcane workflow.
19
-
20
- ## Flush Mode (`--flush`)
21
-
22
- If the argument is `--flush`, skip Steps 1–5 entirely. Scan `FEEDBACK.md` for improvement items marked `<!-- upstream: queued -->`, and for each one run Step 6's filing flow (genericize, confirm, file or re-queue) without re-collecting feedback. Report how many were filed, re-queued, and how many remain.
23
-
24
- The user's input describes what to give feedback on. If no argument is provided, ask one question: _"What part of the workflow or AI assistance do you want to give feedback on?"_ and wait.
25
-
26
- ## Step 1 — Identify Scope
27
-
28
- From the input and recent context, determine:
29
-
30
- - **Target** — which spell, agent, or general experience is being rated.
31
- - **Session context** — the recent task/feature (check `TODO.md`, `DECISIONS.md`, latest `journal/` entry).
32
- - **Type** — output quality, workflow friction, or tooling/setup.
33
-
34
- Do not ask for anything you can infer from the conversation.
35
-
36
- ## Step 2 — Prompt for Structured Feedback
37
-
38
- Ask all of this at once (not one at a time):
39
-
40
- ```
41
- ## Feedback Form
42
-
43
- **Target:** [spell/agent/experience]
44
- **Session:** [topic or "general"]
45
-
46
- 1. Overall quality (1–5): how effective was the assistance?
47
- 2. Friction points: what slowed you down or felt wrong?
48
- 3. What worked well: what should stay exactly as-is?
49
- 4. Suggested improvement: the single change that would help most?
50
- 5. Would you use this again? (yes / yes-with-changes / no)
51
- ```
52
-
53
- If the user already covered some fields in their input, skip those and confirm what you inferred.
54
-
55
- ## Step 3 — Synthesize
56
-
57
- Extract:
58
-
59
- - **Improvement items** — specific, imperative, with a clear done-state ("Add…", "Fix…", "Remove…").
60
- - **Positive signals** — patterns to preserve.
61
- - **Blockers** — anything that prevented task completion (surface these under Friction Points).
62
-
63
- Mark an item **substantial** (TODO-worthy) if any apply: it requires editing a spell/governance/agent file, it blocked task completion, or it recurs across sessions. Trivial one-off nits stay in `FEEDBACK.md` only.
64
-
65
- For each substantial item, additionally classify **framework-shaped** vs **repo-local**: framework-shaped means the fix belongs in arcane itself (a spell prompt, template, governance doc, playbook, or CLI behavior this repo installed rather than authored); repo-local means it's specific to this repo's own content or configuration. Only framework-shaped items are offered upstream routing in Step 6.
66
-
67
- ## Step 4 — Show Proposal
68
-
69
- ```
70
- ## Feedback Summary
71
-
72
- **Target:** [...] **Date:** [YYYY-MM-DD] **Rating:** [N/5] **Would use again:** [yes / yes-with-changes / no]
73
-
74
- **Friction:** [...]
75
- **Worked well:** [...]
76
- **Improvement items:**
77
- - [ ] [item] [SUBSTANTIAL if TODO-worthy] [FRAMEWORK-SHAPED if upstream-eligible]
78
-
79
- Append to FEEDBACK.md? (yes / edit / skip)
80
- ```
81
-
82
- If the rating is ≤ 2, prepend a `⚠️ LOW RATING` line to this proposal so it is visible before the append decision — do not bury it.
83
-
84
- ## Step 5 — Apply (after approval)
85
-
86
- 1. Read `FEEDBACK.md` at the repo root (create with a `# Feedback Log` header if missing).
87
- 2. **Append** this block — never overwrite existing entries:
88
-
89
- ```markdown
90
- ---
91
-
92
- ## Feedback — [Target] ([YYYY-MM-DD])
93
-
94
- **Session:** [topic or "general"]
95
- **Rating:** [N/5] **Would use again:** [yes / yes-with-changes / no]
96
- **Submitted by:** [git config user.name if available, else "developer"]
97
-
98
- ### Friction Points
99
- - [point — include any blockers]
100
-
101
- ### What Worked
102
- - [strength]
103
-
104
- ### Improvement Items
105
- - [ ] [item]
106
-
107
- ### Raw Notes
108
- > [verbatim user input if useful]
109
- ```
110
-
111
- 3. For each item marked **substantial** in Step 3, offer to add it to `TODO.md` as a `[feedback]`-tagged item. If the user accepts, hand off to [`spell-todo`](spell-todo.prompt.md) rather than editing `TODO.md` directly — it picks the right section and avoids duplicates.
112
- 4. For each item additionally marked **framework-shaped**, run Step 6.
113
- 5. Do NOT commit — leave that to `spell-commit-work`.
114
- 6. Confirm what was appended and where, then point the user to [`spell-enchant`](spell-enchant.prompt.md) if the feedback suggests a spell or PRD is ready to be lifted to the next quality tier.
115
-
116
- ## Step 6 — Upstream Routing (Framework-Shaped Items)
117
-
118
- `{ARCANE_UPSTREAM_REPO}` is this install's own arcane framework repository (`owner/repo`) — resolve it from the installed `arcane-cli` package's `repository` field (e.g. `node_modules/arcane-cli/package.json`, or `npm view arcane-cli repository.url` if not vendored locally); ask the user if it cannot be determined. Never hardcode a specific org/repo here — a fork or downstream rename changes this value.
119
-
120
- For each framework-shaped item:
121
-
122
- 1. **Genericize.** Strip anything identifying this specific consumer: venture/business names, org tokens, machine names, hub or local paths. Write "a consumer repo session" instead of naming the actual venture, generalize file paths to their relative form. The finding must read the same whether it came from this repo or any other arcane user's.
123
- 2. **Check `gh`.** If unauthenticated or offline, skip straight to the fallback below.
124
- 3. **Disclosure confirm.** Print the exact issue title and body that will be filed publicly on `{ARCANE_UPSTREAM_REPO}`, and ask for the literal word `disclose` — same discipline as `spell-manifest`'s disclosure gate; this is the same kind of act (private observation → public issue). Anything else is a decline, not an error.
125
- 4. **File.** On `disclose`: `gh issue create --repo {ARCANE_UPSTREAM_REPO} --title "<title>" --body "<genericized body>"`. Report the issue URL.
126
- 5. **Fallback.** If `gh` is unavailable, offline, or the operator declines: append `<!-- upstream: queued -->` to that item's line in `FEEDBACK.md`. Never block the rest of the session on this — queuing is a complete, valid outcome. The next `spell-feedback` run (or `spell-feedback --flush`) re-offers every queued item.
127
-
128
- Maintainer side is unchanged: GitHub issues are arcane's normal public intake; triage into arcane's own `IDEAS.md`/`DECISIONS.md` happens in arcane sessions like any other issue. This spell never writes to a hub's venture books and never reads `ventures/registry.json` — framework feedback and venture ideas are different channels on purpose (venture ideas → hub books → `spell-manifest`; framework lessons → here → arcane's GitHub).
129
-
130
- ## Rules
131
-
132
- - Never overwrite existing feedback — always append.
133
- - Keep improvement items specific and actionable — no vague "improve quality".
134
- - If overall quality is ≤ 2, flag it with `⚠️ LOW RATING` in the Step 4 proposal (before the append decision) and offer `spell-todo` to capture a concrete fix.
135
- - After approval, write immediately — no further questions.
136
- - Never include secrets or tokens.
137
- - Never file an upstream issue without the literal `disclose` confirmation on that exact entry — batch approval of the local `FEEDBACK.md` append does not extend to Step 6.
138
- - Never write a venture name, hub path, or machine name into an upstream issue — genericize before showing the disclosure confirm, not after.
9
+ This prompt is the Arcane `spell-feedback` spell. Read [`.arcane/spells/spell-feedback.md`](../../.arcane/spells/spell-feedback.md) and follow it as the complete workflow.