arcane-cli 0.14.0 → 0.15.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/LICENSE +21 -21
- package/README.md +253 -253
- package/dist/assets/.arcane/agents/agent-policies-template.md +414 -414
- package/dist/assets/.arcane/governance/agent-policies.md +414 -414
- package/dist/assets/.arcane/governance/agent-work-queue-model.md +61 -61
- package/dist/assets/.arcane/governance/cicd-standards.md +227 -227
- package/dist/assets/.arcane/governance/development-methodology.md +384 -384
- package/dist/assets/.arcane/governance/git-conventions.md +759 -759
- package/dist/assets/.arcane/governance/naming-conventions.md +142 -142
- package/dist/assets/.arcane/governance/new-business-setup.md +182 -182
- package/dist/assets/.arcane/governance/portable-bootstrap.md +101 -101
- package/dist/assets/.arcane/governance/product-excellence-standards.md +211 -211
- package/dist/assets/.arcane/governance/testing-standards.md +158 -158
- package/dist/assets/.arcane/governance/universal-agent-rules.md +108 -108
- package/dist/assets/.arcane/image-prompts/adelaide-image-prompt.md +140 -140
- package/dist/assets/.arcane/image-prompts/alexander-image-prompt.md +138 -138
- package/dist/assets/.arcane/image-prompts/bess-image-prompt.md +139 -139
- package/dist/assets/.arcane/image-prompts/circe-image-prompt.md +143 -143
- package/dist/assets/.arcane/image-prompts/custodio-image-prompt.md +140 -140
- package/dist/assets/.arcane/image-prompts/iris-image-prompt.md +139 -139
- package/dist/assets/.arcane/image-prompts/kellar-image-prompt.md +141 -141
- package/dist/assets/.arcane/image-prompts/lafayette-image-prompt.md +140 -140
- package/dist/assets/.arcane/image-prompts/lince-image-prompt.md +142 -142
- package/dist/assets/.arcane/image-prompts/mercurio-image-prompt.md +140 -140
- package/dist/assets/.arcane/image-prompts/merlin-image-prompt.md +139 -139
- package/dist/assets/.arcane/image-prompts/prospero-image-prompt.md +141 -141
- package/dist/assets/.claude/commands/spell-enchant.md +9 -9
- package/dist/assets/.github/agents/adelaide.agent.md +44 -44
- package/dist/assets/.github/agents/alexander.agent.md +43 -43
- package/dist/assets/.github/agents/bess.agent.md +42 -42
- package/dist/assets/.github/agents/circe.agent.md +43 -43
- package/dist/assets/.github/agents/custodio.agent.md +44 -44
- package/dist/assets/.github/agents/iris.agent.md +43 -43
- package/dist/assets/.github/agents/kellar.agent.md +43 -43
- package/dist/assets/.github/agents/lafayette.agent.md +42 -42
- package/dist/assets/.github/agents/lince.agent.md +43 -43
- package/dist/assets/.github/agents/mercurio.agent.md +43 -43
- package/dist/assets/.github/agents/merlin.agent.md +44 -44
- package/dist/assets/.github/agents/prospero.agent.md +43 -43
- package/dist/assets/.github/prompts/spell-close-session.prompt.md +17 -5
- package/dist/assets/.github/prompts/spell-commit-work.prompt.md +24 -6
- package/dist/assets/.github/prompts/spell-create-pull-request.prompt.md +12 -3
- package/dist/assets/.github/prompts/spell-enchant.prompt.md +385 -385
- package/dist/assets/.github/prompts/spell-feedback.prompt.md +113 -113
- package/dist/assets/.github/prompts/spell-full-cycle.prompt.md +202 -201
- package/dist/assets/.github/prompts/spell-implement.prompt.md +101 -101
- package/dist/assets/.github/prompts/spell-open-session.prompt.md +20 -5
- package/dist/assets/.github/prompts/spell-scope.prompt.md +263 -263
- package/dist/assets/agents/architecture-lead.yaml +61 -61
- package/dist/assets/agents/collaborator.yaml +59 -59
- package/dist/assets/agents/devops.yaml +60 -60
- package/dist/assets/agents/frontend-dev.yaml +60 -60
- package/dist/assets/agents/fullstack-dev.yaml +59 -59
- package/dist/assets/agents/marketing-strategist.yaml +60 -60
- package/dist/assets/agents/mobile-dev.yaml +59 -59
- package/dist/assets/agents/operations-comms.yaml +58 -58
- package/dist/assets/agents/orchestrator.yaml +60 -60
- package/dist/assets/agents/qa-lead.yaml +60 -60
- package/dist/assets/agents/research-analyst.yaml +59 -59
- package/dist/assets/agents/security-ops.yaml +61 -61
- package/dist/index.js +323 -7
- package/dist/index.js.map +1 -1
- package/package.json +72 -72
- package/dist/assets/.claude/commands/spell-eas-ios-deploy.md +0 -9
- package/dist/assets/.github/prompts/spell-eas-ios-deploy.prompt.md +0 -183
|
@@ -1,385 +1,385 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: Spell — Enchant
|
|
3
|
-
description: "Enchant a PRD from functional to exceptional — proactively enhance features, UX, accessibility, security, and performance using a research lens and a marketing/brand lens"
|
|
4
|
-
argument-hint: "Path to PRD, pasted PRD content, or tracker work item ID (e.g., 'Enchant PRD.md for {BUSINESS_NAME} <feature> dashboard')"
|
|
5
|
-
agent: agent
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
## Executive Summary
|
|
9
|
-
|
|
10
|
-
- This spell takes an existing PRD and enchants it to production-grade quality.
|
|
11
|
-
- It proactively identifies missing features, UX gaps, accessibility issues, performance targets, and security requirements that the original PRD didn't specify.
|
|
12
|
-
- 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](../../agents/agent-policies.md) / [naming-conventions](../../governance/naming-conventions.md).
|
|
13
|
-
- Output: Enhanced PRD with `[ENCHANTED]`-tagged additions, before/after quality scorecard, and research summaries.
|
|
14
|
-
- 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`).
|
|
15
|
-
|
|
16
|
-
---
|
|
17
|
-
|
|
18
|
-
Enchant the provided PRD to exceptional quality.
|
|
19
|
-
|
|
20
|
-
Use these files for context. All are optional — if a file is absent, fall back as noted and continue rather than aborting:
|
|
21
|
-
|
|
22
|
-
- [governance/product-excellence-standards.md](../../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.
|
|
23
|
-
- [governance/development-methodology.md](../../governance/development-methodology.md) — Spell Loop methodology, story sizing rules. **If missing:** treat story sizing as advisory and proceed.
|
|
24
|
-
- [governance/testing-standards.md](../../governance/testing-standards.md) — Testing frameworks and coverage thresholds. **If missing:** omit framework-specific coverage targets from acceptance criteria.
|
|
25
|
-
- [security/threat-model.md](../../security/threat-model.md) — Active threat model. **If missing:** apply generic OWASP-style security baselines for the Security dimension.
|
|
26
|
-
- [agents/agent-policies.md](../../agents/agent-policies.md) / [governance/naming-conventions.md](../../governance/naming-conventions.md) — Agent roster and persona naming. **If missing:** apply the two lenses (research, marketing/brand) without naming personas.
|
|
27
|
-
- [DECISIONS.md](../../DECISIONS.md) — Existing ADRs to respect. **If missing:** assume no binding ADR constraints.
|
|
28
|
-
- [project.md](../../project.md) — Project goals and business context. **If missing:** infer business context from the PRD itself and flag any assumptions.
|
|
29
|
-
|
|
30
|
-
---
|
|
31
|
-
|
|
32
|
-
## Workflow
|
|
33
|
-
|
|
34
|
-
### 1. PRD Intake
|
|
35
|
-
|
|
36
|
-
Accept the PRD from one of these input sources:
|
|
37
|
-
|
|
38
|
-
| Source | Format | How to fetch |
|
|
39
|
-
|--------|--------|--------------|
|
|
40
|
-
| **File path** | `PRD.md` or any markdown file | Read the file directly |
|
|
41
|
-
| **Pasted content** | Inline text in the prompt | Use as-is |
|
|
42
|
-
| **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 |
|
|
43
|
-
|
|
44
|
-
If the input is a tracker work item ID:
|
|
45
|
-
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](../../governance/development-methodology.md) — follow them rather than hard-coding a single provider.
|
|
46
|
-
- 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.
|
|
47
|
-
- For other providers (e.g. a GitHub issue), use the provider's equivalent fetch and map title / body / acceptance-criteria fields accordingly.
|
|
48
|
-
2. If the work item has child items, fetch those too — they may contain additional requirements.
|
|
49
|
-
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.
|
|
50
|
-
4. Combine all content into a single PRD view before proceeding.
|
|
51
|
-
|
|
52
|
-
Read the full PRD. Identify:
|
|
53
|
-
- **Feature name** and business context
|
|
54
|
-
- **Target repo** and tech stack
|
|
55
|
-
- **Current requirement count** and acceptance criteria count
|
|
56
|
-
- **What quality dimensions are already addressed vs missing**
|
|
57
|
-
|
|
58
|
-
**Quality Profile Selection:** Ask the user which quality profile to target (see `governance/product-excellence-standards.md § Quality Profiles`):
|
|
59
|
-
|
|
60
|
-
| Profile | Best For | Default? |
|
|
61
|
-
|---------|----------|----------|
|
|
62
|
-
| **Internal Tool** | Dashboards, CLIs, admin panels, single-user tools | |
|
|
63
|
-
| **Public MVP** | First public launch, market validation, early users | ✅ Default |
|
|
64
|
-
| **Production SaaS** | Revenue-generating, public-facing, scaled products | |
|
|
65
|
-
| **Custom** | User picks target tier per dimension | |
|
|
66
|
-
|
|
67
|
-
If the user doesn't specify, use **Public MVP**. State the selected profile before proceeding.
|
|
68
|
-
|
|
69
|
-
### 2. Quality Audit (Scorecard)
|
|
70
|
-
|
|
71
|
-
Score the PRD against every dimension in `governance/product-excellence-standards.md`.
|
|
72
|
-
|
|
73
|
-
Use the selected quality profile's target matrix to determine the **gap** for each dimension:
|
|
74
|
-
|
|
75
|
-
```markdown
|
|
76
|
-
## Quality Scorecard — Before Enchantment
|
|
77
|
-
|
|
78
|
-
**Profile:** [selected profile]
|
|
79
|
-
|
|
80
|
-
| Dimension | Current | Target | Gap | Notes |
|
|
81
|
-
|-----------|---------|--------|-----|-------|
|
|
82
|
-
| Requirements Completeness | 🥉 / 🥈 / 🥇 | [from profile] | [tiers to close] | [specific gaps] |
|
|
83
|
-
| User Experience (UX) | 🥉 / 🥈 / 🥇 | [from profile] | | [specific gaps] |
|
|
84
|
-
| Accessibility | 🥉 / 🥈 / 🥇 | [from profile] | | [specific gaps] |
|
|
85
|
-
| Performance | 🥉 / 🥈 / 🥇 | [from profile] | | [specific gaps] |
|
|
86
|
-
| Security | 🥉 / 🥈 / 🥇 | [from profile] | | [specific gaps] |
|
|
87
|
-
| Responsive Design | 🥉 / 🥈 / 🥇 | [from profile] | | [specific gaps] |
|
|
88
|
-
| Competitive Differentiation | 🥉 / 🥈 / 🥇 | [from profile] | | [specific gaps] |
|
|
89
|
-
| **Overall** | **🥉 / 🥈 / 🥇** | | | |
|
|
90
|
-
```
|
|
91
|
-
|
|
92
|
-
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).
|
|
93
|
-
|
|
94
|
-
### 3. Research Phase (Research Lens)
|
|
95
|
-
|
|
96
|
-
Apply the **research lens** (in the default Arcane roster this is the Alexander / Research & Backlog Analyst persona — see [agent-policies](../../agents/agent-policies.md) / [naming-conventions](../../governance/naming-conventions.md); other orgs map their own analyst). Conduct a thorough analysis:
|
|
97
|
-
|
|
98
|
-
#### 3a. Competitive Analysis
|
|
99
|
-
- Identify the top 3 alternatives/competitors for this type of app
|
|
100
|
-
- What do they do well that this PRD doesn't specify?
|
|
101
|
-
- What are their weaknesses that this app can capitalize on?
|
|
102
|
-
- What features do users of these alternatives consistently request?
|
|
103
|
-
|
|
104
|
-
#### 3b. Industry UX Patterns
|
|
105
|
-
- What are the established UX patterns for this category of app?
|
|
106
|
-
- Are there design system conventions this PRD should follow (Material, Fluent, etc.)?
|
|
107
|
-
- What interaction patterns do users expect as standard?
|
|
108
|
-
|
|
109
|
-
#### 3c. Accessibility Audit
|
|
110
|
-
- What WCAG 2.1 AA requirements are missing from the PRD?
|
|
111
|
-
- Are there accessibility features specific to this app category (e.g., data tables need row headers)?
|
|
112
|
-
- What assistive technology considerations apply?
|
|
113
|
-
|
|
114
|
-
#### 3d. Technology Trends
|
|
115
|
-
- Are there modern approaches or frameworks that would improve the implementation?
|
|
116
|
-
- Are there emerging standards the PRD should adopt early?
|
|
117
|
-
- Are there performance optimization techniques specific to this stack?
|
|
118
|
-
|
|
119
|
-
#### 3e. User Expectations
|
|
120
|
-
- What do users of similar apps consider table-stakes features?
|
|
121
|
-
- What are common frustrations with alternative apps that this PRD could address?
|
|
122
|
-
- What would a power user expect that a casual user wouldn't think to request?
|
|
123
|
-
|
|
124
|
-
Document findings as (the persona name below reflects the default roster; substitute your org's analyst):
|
|
125
|
-
```markdown
|
|
126
|
-
## Research Summary (Research Lens — default: Alexander)
|
|
127
|
-
|
|
128
|
-
### Competitive Landscape
|
|
129
|
-
[findings]
|
|
130
|
-
|
|
131
|
-
### UX Pattern Analysis
|
|
132
|
-
[findings]
|
|
133
|
-
|
|
134
|
-
### Accessibility Gaps
|
|
135
|
-
[findings]
|
|
136
|
-
|
|
137
|
-
### Technology Recommendations
|
|
138
|
-
[findings]
|
|
139
|
-
|
|
140
|
-
### User Expectations
|
|
141
|
-
[findings]
|
|
142
|
-
```
|
|
143
|
-
|
|
144
|
-
### 4. Marketing & Brand Review (Marketing/Brand Lens)
|
|
145
|
-
|
|
146
|
-
Apply the **marketing/brand lens** (in the default Arcane roster this is the Circe / Marketing Strategist persona — see [agent-policies](../../agents/agent-policies.md) / [naming-conventions](../../governance/naming-conventions.md); other orgs map their own strategist). Evaluate the PRD from a brand and user-perception perspective:
|
|
147
|
-
|
|
148
|
-
#### 4a. First Impressions
|
|
149
|
-
- If a user saw this app for the first time with zero context, what would they think?
|
|
150
|
-
- Is the value proposition immediately clear?
|
|
151
|
-
- Does the UI convey quality and trustworthiness?
|
|
152
|
-
|
|
153
|
-
#### 4b. Value Proposition Clarity
|
|
154
|
-
- Can the app's purpose be explained in one sentence?
|
|
155
|
-
- Does the PRD define a "signature feature" that makes the app memorable?
|
|
156
|
-
- Is there a clear differentiator from alternatives?
|
|
157
|
-
|
|
158
|
-
#### 4c. Brand Consistency
|
|
159
|
-
- Does the planned UX align with the business's brand identity?
|
|
160
|
-
- Is the tone, terminology, and visual language consistent?
|
|
161
|
-
- Would this app feel like it belongs in the same family as the business's other products?
|
|
162
|
-
|
|
163
|
-
#### 4d. User Onboarding
|
|
164
|
-
- Is there a clear path from first launch to first value delivered?
|
|
165
|
-
- Does the PRD define what "activation" means (the moment the user gets value)?
|
|
166
|
-
- Are there engagement hooks that encourage return visits?
|
|
167
|
-
|
|
168
|
-
#### 4e. Delight Opportunities
|
|
169
|
-
- Where can the app surprise users with thoughtful touches?
|
|
170
|
-
- Are there moments where exceeding expectations is easy but impactful?
|
|
171
|
-
- What would make users want to recommend this app to others?
|
|
172
|
-
|
|
173
|
-
Document findings as (the persona name below reflects the default roster; substitute your org's strategist):
|
|
174
|
-
```markdown
|
|
175
|
-
## Marketing Review (Marketing/Brand Lens — default: Circe)
|
|
176
|
-
|
|
177
|
-
### First Impression Assessment
|
|
178
|
-
[findings]
|
|
179
|
-
|
|
180
|
-
### Value Proposition
|
|
181
|
-
[findings]
|
|
182
|
-
|
|
183
|
-
### Brand Alignment
|
|
184
|
-
[findings]
|
|
185
|
-
|
|
186
|
-
### Onboarding Path
|
|
187
|
-
[findings]
|
|
188
|
-
|
|
189
|
-
### Delight Opportunities
|
|
190
|
-
[findings]
|
|
191
|
-
```
|
|
192
|
-
|
|
193
|
-
### 5. Generate Enhancement Suggestions
|
|
194
|
-
|
|
195
|
-
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.
|
|
196
|
-
|
|
197
|
-
Tier assignment is driven by the profile's target matrix (see `governance/product-excellence-standards.md § How Profiles Drive Enhancement Tiers`):
|
|
198
|
-
|
|
199
|
-
| Tier | Rule |
|
|
200
|
-
|------|------|
|
|
201
|
-
| Must-Add | Current score is **below** the profile's target for that dimension |
|
|
202
|
-
| Should-Add | Current score **matches** the target; enhancement lifts one tier above |
|
|
203
|
-
| Could-Add | Current score **meets or exceeds** target; enhancement is aspirational |
|
|
204
|
-
| Won't-Add | Explicitly excluded regardless of profile |
|
|
205
|
-
|
|
206
|
-
**Override:** Security Bronze is always Must-Add. Accessibility gaps are always at least Should-Add.
|
|
207
|
-
|
|
208
|
-
#### Must-Add (Below Target — Must Close Gap)
|
|
209
|
-
Enhancements required to reach the profile's target tier for each dimension. These aren't optional — the profile demands them.
|
|
210
|
-
|
|
211
|
-
*Example (Public MVP): UX is Bronze but target is Gold → loading states, error states, empty states, onboarding are all Must-Add.*
|
|
212
|
-
|
|
213
|
-
#### Should-Add (At Target — Stretch One Tier)
|
|
214
|
-
Enhancements that lift a dimension one tier above the profile's target. Not blocking the profile's quality bar but enchanting toward the ceiling.
|
|
215
|
-
|
|
216
|
-
*Example (Internal Tool): UX is Silver (matches target) → dark mode, micro-interactions become Should-Add.*
|
|
217
|
-
|
|
218
|
-
#### Could-Add (Above Target — Aspirational)
|
|
219
|
-
Enhancements for dimensions already meeting or exceeding the target. Premium polish that creates delight.
|
|
220
|
-
|
|
221
|
-
*Example (Internal Tool): Requirements already at Silver (target) → traceability matrix, open questions tracking become Could-Add.*
|
|
222
|
-
|
|
223
|
-
#### Won't-Add (Explicitly Excluded)
|
|
224
|
-
Items considered but rejected, with clear rationale. This prevents future scope creep around "should we add X?"
|
|
225
|
-
|
|
226
|
-
*Example: Offline mode (not applicable for real-time dashboard), multi-language support (single market for now).*
|
|
227
|
-
|
|
228
|
-
For each enhancement:
|
|
229
|
-
```markdown
|
|
230
|
-
- **[ENCHANTED]** [Enhancement title]
|
|
231
|
-
- **Rationale:** [Why this matters — reference research or standards]
|
|
232
|
-
- **Source:** Research lens / Marketing-brand lens / Quality scorecard gap / Industry standard
|
|
233
|
-
- **Impact on scope:** Minimal / Moderate / Significant
|
|
234
|
-
- **Acceptance criteria:** [Testable criterion]
|
|
235
|
-
```
|
|
236
|
-
|
|
237
|
-
### 6. Scope Budget Check
|
|
238
|
-
|
|
239
|
-
⚠️ **Critical guard against scope creep.**
|
|
240
|
-
|
|
241
|
-
After generating all enhancements, calculate:
|
|
242
|
-
- **Original PRD scope:** [N requirements, estimated M stories]
|
|
243
|
-
- **Enchantd PRD scope:** [N+X requirements, estimated M+Y stories]
|
|
244
|
-
- **Scope increase ratio:** [percentage or multiplier]
|
|
245
|
-
|
|
246
|
-
**If enchanted scope exceeds 2× the original:**
|
|
247
|
-
1. Flag this prominently to the user
|
|
248
|
-
2. Force prioritization — the user must choose which enhancements to keep
|
|
249
|
-
3. Recommend splitting Must-Add into the current cycle and Should-Add/Could-Add into future iterations
|
|
250
|
-
4. Never silently double the project scope
|
|
251
|
-
|
|
252
|
-
Present as:
|
|
253
|
-
```markdown
|
|
254
|
-
## Scope Impact Assessment
|
|
255
|
-
|
|
256
|
-
| Metric | Original | Enchantd | Change |
|
|
257
|
-
|--------|----------|----------|--------|
|
|
258
|
-
| Requirements | N | N+X | +X |
|
|
259
|
-
| Estimated stories | M | M+Y | +Y |
|
|
260
|
-
| Scope multiplier | — | — | X.Xx |
|
|
261
|
-
|
|
262
|
-
⚠️ [Warning if > 2x, or ✅ within budget if ≤ 2x]
|
|
263
|
-
```
|
|
264
|
-
|
|
265
|
-
### 7. Produce Enhanced PRD
|
|
266
|
-
|
|
267
|
-
Generate the enchanted PRD with these characteristics:
|
|
268
|
-
|
|
269
|
-
1. **All original requirements preserved** — never remove or weaken what was already specified
|
|
270
|
-
2. **New requirements tagged `[ENCHANTED]`** — clearly distinguishable from original content
|
|
271
|
-
3. **Enhanced acceptance criteria** — original criteria enriched with edge cases
|
|
272
|
-
4. **Quality scorecard (after)** — re-scored with all enhancements included
|
|
273
|
-
5. **Research and marketing summaries** — appended as reference sections
|
|
274
|
-
6. **Scope impact assessment** — included for transparency
|
|
275
|
-
|
|
276
|
-
Structure:
|
|
277
|
-
```markdown
|
|
278
|
-
# PRD: [Feature Name] — Enchantd
|
|
279
|
-
|
|
280
|
-
## Enchantment Summary
|
|
281
|
-
- **Quality profile:** [Internal Tool / Public MVP / Production SaaS / Custom]
|
|
282
|
-
- **Original score:** [Before]
|
|
283
|
-
- **Enchantd score:** [After]
|
|
284
|
-
- **Enhancements added:** [count by tier]
|
|
285
|
-
- **Scope impact:** [multiplier]
|
|
286
|
-
|
|
287
|
-
## Problem Statement
|
|
288
|
-
[Original, enhanced if needed]
|
|
289
|
-
|
|
290
|
-
## Target Users
|
|
291
|
-
[Original, enhanced with persona details if missing]
|
|
292
|
-
|
|
293
|
-
## Requirements
|
|
294
|
-
|
|
295
|
-
### Must Have
|
|
296
|
-
- [Original requirement 1]
|
|
297
|
-
- [Original requirement 2]
|
|
298
|
-
- **[ENCHANTED]** [New must-have from enchantment]
|
|
299
|
-
|
|
300
|
-
### Should Have
|
|
301
|
-
- [Original should-haves]
|
|
302
|
-
- **[ENCHANTED]** [New should-haves from enchantment]
|
|
303
|
-
|
|
304
|
-
### Won't Have (this iteration)
|
|
305
|
-
- [Original exclusions]
|
|
306
|
-
- **[ENCHANTED]** [New explicit exclusions from enchantment]
|
|
307
|
-
|
|
308
|
-
## User Experience Requirements
|
|
309
|
-
**[ENCHANTED section if not in original]**
|
|
310
|
-
- Loading states: [specification]
|
|
311
|
-
- Error states: [specification]
|
|
312
|
-
- Empty states: [specification]
|
|
313
|
-
- Onboarding: [specification]
|
|
314
|
-
|
|
315
|
-
## Accessibility Requirements
|
|
316
|
-
**[ENCHANTED section if not in original]**
|
|
317
|
-
- [WCAG 2.1 AA requirements per product-excellence-standards]
|
|
318
|
-
|
|
319
|
-
## Performance Requirements
|
|
320
|
-
**[ENCHANTED section if not in original]**
|
|
321
|
-
- [Targets per product-excellence-standards]
|
|
322
|
-
|
|
323
|
-
## Security Requirements
|
|
324
|
-
**[ENCHANTED section if not in original]**
|
|
325
|
-
- [Requirements per product-excellence-standards]
|
|
326
|
-
|
|
327
|
-
## Responsive Design Requirements
|
|
328
|
-
**[ENCHANTED section if not in original]**
|
|
329
|
-
- [Breakpoints and adaptation rules]
|
|
330
|
-
|
|
331
|
-
## Acceptance Criteria
|
|
332
|
-
- [ ] [Original criteria — preserved]
|
|
333
|
-
- [ ] **[ENCHANTED]** [New criteria from enchantment]
|
|
334
|
-
|
|
335
|
-
## Dependencies
|
|
336
|
-
[Original + any new dependencies from enchanted requirements]
|
|
337
|
-
|
|
338
|
-
## Open Questions
|
|
339
|
-
[Original + any new questions raised by enchantment]
|
|
340
|
-
|
|
341
|
-
## Quality Scorecard
|
|
342
|
-
|
|
343
|
-
| Dimension | Before | After |
|
|
344
|
-
|-----------|--------|-------|
|
|
345
|
-
| Requirements | 🥉 | 🥇 |
|
|
346
|
-
| UX | 🥉 | 🥇 |
|
|
347
|
-
| ... | ... | ... |
|
|
348
|
-
| **Overall** | **🥉** | **🥇** |
|
|
349
|
-
|
|
350
|
-
## Research Summary (Research Lens — default: Alexander)
|
|
351
|
-
[Condensed from Step 3]
|
|
352
|
-
|
|
353
|
-
## Marketing Review (Marketing/Brand Lens — default: Circe)
|
|
354
|
-
[Condensed from Step 4]
|
|
355
|
-
```
|
|
356
|
-
|
|
357
|
-
### 8. Present for Review
|
|
358
|
-
|
|
359
|
-
Present the enchanted PRD to the user with:
|
|
360
|
-
|
|
361
|
-
1. **Side-by-side quality score** — before and after across all dimensions
|
|
362
|
-
2. **Summary of all additions** — grouped by tier (Must-Add / Should-Add / Could-Add / Won't-Add) with rationale
|
|
363
|
-
3. **Scope impact** — clear multiplier and warning if > 2×
|
|
364
|
-
4. **Explicit ask:** "Do you want to proceed with the enchanted PRD, adjust any enhancements, or revert to the original?"
|
|
365
|
-
|
|
366
|
-
Wait for user approval before the enchanted PRD replaces the original. The user may:
|
|
367
|
-
- **Accept all** — proceed with the full enchanted PRD
|
|
368
|
-
- **Accept with cuts** — remove specific enhancements; re-run scorecard
|
|
369
|
-
- **Defer enhancements** — keep the original PRD for this cycle; log enhancements as future work items
|
|
370
|
-
- **Reject** — keep the original PRD unchanged
|
|
371
|
-
|
|
372
|
-
---
|
|
373
|
-
|
|
374
|
-
## Rules
|
|
375
|
-
|
|
376
|
-
- **Never remove or weaken original requirements.** Only enhance and add. The user wrote those requirements for a reason.
|
|
377
|
-
- **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."
|
|
378
|
-
- **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.
|
|
379
|
-
- **Flag scope impact honestly.** If enhancements double the project, say so clearly. Don't bury scope creep in a long list.
|
|
380
|
-
- **Respect existing ADRs.** If an enhancement contradicts an established ADR, flag the conflict rather than silently adding it.
|
|
381
|
-
- **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.
|
|
382
|
-
- **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.
|
|
383
|
-
- **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.
|
|
384
|
-
- **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.
|
|
385
|
-
- **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.
|
|
1
|
+
---
|
|
2
|
+
name: Spell — Enchant
|
|
3
|
+
description: "Enchant a PRD from functional to exceptional — proactively enhance features, UX, accessibility, security, and performance using a research lens and a marketing/brand lens"
|
|
4
|
+
argument-hint: "Path to PRD, pasted PRD content, or tracker work item ID (e.g., 'Enchant PRD.md for {BUSINESS_NAME} <feature> dashboard')"
|
|
5
|
+
agent: agent
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Executive Summary
|
|
9
|
+
|
|
10
|
+
- This spell takes an existing PRD and enchants it to production-grade quality.
|
|
11
|
+
- It proactively identifies missing features, UX gaps, accessibility issues, performance targets, and security requirements that the original PRD didn't specify.
|
|
12
|
+
- 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](../../agents/agent-policies.md) / [naming-conventions](../../governance/naming-conventions.md).
|
|
13
|
+
- Output: Enhanced PRD with `[ENCHANTED]`-tagged additions, before/after quality scorecard, and research summaries.
|
|
14
|
+
- 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`).
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
Enchant the provided PRD to exceptional quality.
|
|
19
|
+
|
|
20
|
+
Use these files for context. All are optional — if a file is absent, fall back as noted and continue rather than aborting:
|
|
21
|
+
|
|
22
|
+
- [governance/product-excellence-standards.md](../../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.
|
|
23
|
+
- [governance/development-methodology.md](../../governance/development-methodology.md) — Spell Loop methodology, story sizing rules. **If missing:** treat story sizing as advisory and proceed.
|
|
24
|
+
- [governance/testing-standards.md](../../governance/testing-standards.md) — Testing frameworks and coverage thresholds. **If missing:** omit framework-specific coverage targets from acceptance criteria.
|
|
25
|
+
- [security/threat-model.md](../../security/threat-model.md) — Active threat model. **If missing:** apply generic OWASP-style security baselines for the Security dimension.
|
|
26
|
+
- [agents/agent-policies.md](../../agents/agent-policies.md) / [governance/naming-conventions.md](../../governance/naming-conventions.md) — Agent roster and persona naming. **If missing:** apply the two lenses (research, marketing/brand) without naming personas.
|
|
27
|
+
- [DECISIONS.md](../../DECISIONS.md) — Existing ADRs to respect. **If missing:** assume no binding ADR constraints.
|
|
28
|
+
- [project.md](../../project.md) — Project goals and business context. **If missing:** infer business context from the PRD itself and flag any assumptions.
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## Workflow
|
|
33
|
+
|
|
34
|
+
### 1. PRD Intake
|
|
35
|
+
|
|
36
|
+
Accept the PRD from one of these input sources:
|
|
37
|
+
|
|
38
|
+
| Source | Format | How to fetch |
|
|
39
|
+
|--------|--------|--------------|
|
|
40
|
+
| **File path** | `PRD.md` or any markdown file | Read the file directly |
|
|
41
|
+
| **Pasted content** | Inline text in the prompt | Use as-is |
|
|
42
|
+
| **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 |
|
|
43
|
+
|
|
44
|
+
If the input is a tracker work item ID:
|
|
45
|
+
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](../../governance/development-methodology.md) — follow them rather than hard-coding a single provider.
|
|
46
|
+
- 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.
|
|
47
|
+
- For other providers (e.g. a GitHub issue), use the provider's equivalent fetch and map title / body / acceptance-criteria fields accordingly.
|
|
48
|
+
2. If the work item has child items, fetch those too — they may contain additional requirements.
|
|
49
|
+
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.
|
|
50
|
+
4. Combine all content into a single PRD view before proceeding.
|
|
51
|
+
|
|
52
|
+
Read the full PRD. Identify:
|
|
53
|
+
- **Feature name** and business context
|
|
54
|
+
- **Target repo** and tech stack
|
|
55
|
+
- **Current requirement count** and acceptance criteria count
|
|
56
|
+
- **What quality dimensions are already addressed vs missing**
|
|
57
|
+
|
|
58
|
+
**Quality Profile Selection:** Ask the user which quality profile to target (see `governance/product-excellence-standards.md § Quality Profiles`):
|
|
59
|
+
|
|
60
|
+
| Profile | Best For | Default? |
|
|
61
|
+
|---------|----------|----------|
|
|
62
|
+
| **Internal Tool** | Dashboards, CLIs, admin panels, single-user tools | |
|
|
63
|
+
| **Public MVP** | First public launch, market validation, early users | ✅ Default |
|
|
64
|
+
| **Production SaaS** | Revenue-generating, public-facing, scaled products | |
|
|
65
|
+
| **Custom** | User picks target tier per dimension | |
|
|
66
|
+
|
|
67
|
+
If the user doesn't specify, use **Public MVP**. State the selected profile before proceeding.
|
|
68
|
+
|
|
69
|
+
### 2. Quality Audit (Scorecard)
|
|
70
|
+
|
|
71
|
+
Score the PRD against every dimension in `governance/product-excellence-standards.md`.
|
|
72
|
+
|
|
73
|
+
Use the selected quality profile's target matrix to determine the **gap** for each dimension:
|
|
74
|
+
|
|
75
|
+
```markdown
|
|
76
|
+
## Quality Scorecard — Before Enchantment
|
|
77
|
+
|
|
78
|
+
**Profile:** [selected profile]
|
|
79
|
+
|
|
80
|
+
| Dimension | Current | Target | Gap | Notes |
|
|
81
|
+
|-----------|---------|--------|-----|-------|
|
|
82
|
+
| Requirements Completeness | 🥉 / 🥈 / 🥇 | [from profile] | [tiers to close] | [specific gaps] |
|
|
83
|
+
| User Experience (UX) | 🥉 / 🥈 / 🥇 | [from profile] | | [specific gaps] |
|
|
84
|
+
| Accessibility | 🥉 / 🥈 / 🥇 | [from profile] | | [specific gaps] |
|
|
85
|
+
| Performance | 🥉 / 🥈 / 🥇 | [from profile] | | [specific gaps] |
|
|
86
|
+
| Security | 🥉 / 🥈 / 🥇 | [from profile] | | [specific gaps] |
|
|
87
|
+
| Responsive Design | 🥉 / 🥈 / 🥇 | [from profile] | | [specific gaps] |
|
|
88
|
+
| Competitive Differentiation | 🥉 / 🥈 / 🥇 | [from profile] | | [specific gaps] |
|
|
89
|
+
| **Overall** | **🥉 / 🥈 / 🥇** | | | |
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
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).
|
|
93
|
+
|
|
94
|
+
### 3. Research Phase (Research Lens)
|
|
95
|
+
|
|
96
|
+
Apply the **research lens** (in the default Arcane roster this is the Alexander / Research & Backlog Analyst persona — see [agent-policies](../../agents/agent-policies.md) / [naming-conventions](../../governance/naming-conventions.md); other orgs map their own analyst). Conduct a thorough analysis:
|
|
97
|
+
|
|
98
|
+
#### 3a. Competitive Analysis
|
|
99
|
+
- Identify the top 3 alternatives/competitors for this type of app
|
|
100
|
+
- What do they do well that this PRD doesn't specify?
|
|
101
|
+
- What are their weaknesses that this app can capitalize on?
|
|
102
|
+
- What features do users of these alternatives consistently request?
|
|
103
|
+
|
|
104
|
+
#### 3b. Industry UX Patterns
|
|
105
|
+
- What are the established UX patterns for this category of app?
|
|
106
|
+
- Are there design system conventions this PRD should follow (Material, Fluent, etc.)?
|
|
107
|
+
- What interaction patterns do users expect as standard?
|
|
108
|
+
|
|
109
|
+
#### 3c. Accessibility Audit
|
|
110
|
+
- What WCAG 2.1 AA requirements are missing from the PRD?
|
|
111
|
+
- Are there accessibility features specific to this app category (e.g., data tables need row headers)?
|
|
112
|
+
- What assistive technology considerations apply?
|
|
113
|
+
|
|
114
|
+
#### 3d. Technology Trends
|
|
115
|
+
- Are there modern approaches or frameworks that would improve the implementation?
|
|
116
|
+
- Are there emerging standards the PRD should adopt early?
|
|
117
|
+
- Are there performance optimization techniques specific to this stack?
|
|
118
|
+
|
|
119
|
+
#### 3e. User Expectations
|
|
120
|
+
- What do users of similar apps consider table-stakes features?
|
|
121
|
+
- What are common frustrations with alternative apps that this PRD could address?
|
|
122
|
+
- What would a power user expect that a casual user wouldn't think to request?
|
|
123
|
+
|
|
124
|
+
Document findings as (the persona name below reflects the default roster; substitute your org's analyst):
|
|
125
|
+
```markdown
|
|
126
|
+
## Research Summary (Research Lens — default: Alexander)
|
|
127
|
+
|
|
128
|
+
### Competitive Landscape
|
|
129
|
+
[findings]
|
|
130
|
+
|
|
131
|
+
### UX Pattern Analysis
|
|
132
|
+
[findings]
|
|
133
|
+
|
|
134
|
+
### Accessibility Gaps
|
|
135
|
+
[findings]
|
|
136
|
+
|
|
137
|
+
### Technology Recommendations
|
|
138
|
+
[findings]
|
|
139
|
+
|
|
140
|
+
### User Expectations
|
|
141
|
+
[findings]
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
### 4. Marketing & Brand Review (Marketing/Brand Lens)
|
|
145
|
+
|
|
146
|
+
Apply the **marketing/brand lens** (in the default Arcane roster this is the Circe / Marketing Strategist persona — see [agent-policies](../../agents/agent-policies.md) / [naming-conventions](../../governance/naming-conventions.md); other orgs map their own strategist). Evaluate the PRD from a brand and user-perception perspective:
|
|
147
|
+
|
|
148
|
+
#### 4a. First Impressions
|
|
149
|
+
- If a user saw this app for the first time with zero context, what would they think?
|
|
150
|
+
- Is the value proposition immediately clear?
|
|
151
|
+
- Does the UI convey quality and trustworthiness?
|
|
152
|
+
|
|
153
|
+
#### 4b. Value Proposition Clarity
|
|
154
|
+
- Can the app's purpose be explained in one sentence?
|
|
155
|
+
- Does the PRD define a "signature feature" that makes the app memorable?
|
|
156
|
+
- Is there a clear differentiator from alternatives?
|
|
157
|
+
|
|
158
|
+
#### 4c. Brand Consistency
|
|
159
|
+
- Does the planned UX align with the business's brand identity?
|
|
160
|
+
- Is the tone, terminology, and visual language consistent?
|
|
161
|
+
- Would this app feel like it belongs in the same family as the business's other products?
|
|
162
|
+
|
|
163
|
+
#### 4d. User Onboarding
|
|
164
|
+
- Is there a clear path from first launch to first value delivered?
|
|
165
|
+
- Does the PRD define what "activation" means (the moment the user gets value)?
|
|
166
|
+
- Are there engagement hooks that encourage return visits?
|
|
167
|
+
|
|
168
|
+
#### 4e. Delight Opportunities
|
|
169
|
+
- Where can the app surprise users with thoughtful touches?
|
|
170
|
+
- Are there moments where exceeding expectations is easy but impactful?
|
|
171
|
+
- What would make users want to recommend this app to others?
|
|
172
|
+
|
|
173
|
+
Document findings as (the persona name below reflects the default roster; substitute your org's strategist):
|
|
174
|
+
```markdown
|
|
175
|
+
## Marketing Review (Marketing/Brand Lens — default: Circe)
|
|
176
|
+
|
|
177
|
+
### First Impression Assessment
|
|
178
|
+
[findings]
|
|
179
|
+
|
|
180
|
+
### Value Proposition
|
|
181
|
+
[findings]
|
|
182
|
+
|
|
183
|
+
### Brand Alignment
|
|
184
|
+
[findings]
|
|
185
|
+
|
|
186
|
+
### Onboarding Path
|
|
187
|
+
[findings]
|
|
188
|
+
|
|
189
|
+
### Delight Opportunities
|
|
190
|
+
[findings]
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
### 5. Generate Enhancement Suggestions
|
|
194
|
+
|
|
195
|
+
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.
|
|
196
|
+
|
|
197
|
+
Tier assignment is driven by the profile's target matrix (see `governance/product-excellence-standards.md § How Profiles Drive Enhancement Tiers`):
|
|
198
|
+
|
|
199
|
+
| Tier | Rule |
|
|
200
|
+
|------|------|
|
|
201
|
+
| Must-Add | Current score is **below** the profile's target for that dimension |
|
|
202
|
+
| Should-Add | Current score **matches** the target; enhancement lifts one tier above |
|
|
203
|
+
| Could-Add | Current score **meets or exceeds** target; enhancement is aspirational |
|
|
204
|
+
| Won't-Add | Explicitly excluded regardless of profile |
|
|
205
|
+
|
|
206
|
+
**Override:** Security Bronze is always Must-Add. Accessibility gaps are always at least Should-Add.
|
|
207
|
+
|
|
208
|
+
#### Must-Add (Below Target — Must Close Gap)
|
|
209
|
+
Enhancements required to reach the profile's target tier for each dimension. These aren't optional — the profile demands them.
|
|
210
|
+
|
|
211
|
+
*Example (Public MVP): UX is Bronze but target is Gold → loading states, error states, empty states, onboarding are all Must-Add.*
|
|
212
|
+
|
|
213
|
+
#### Should-Add (At Target — Stretch One Tier)
|
|
214
|
+
Enhancements that lift a dimension one tier above the profile's target. Not blocking the profile's quality bar but enchanting toward the ceiling.
|
|
215
|
+
|
|
216
|
+
*Example (Internal Tool): UX is Silver (matches target) → dark mode, micro-interactions become Should-Add.*
|
|
217
|
+
|
|
218
|
+
#### Could-Add (Above Target — Aspirational)
|
|
219
|
+
Enhancements for dimensions already meeting or exceeding the target. Premium polish that creates delight.
|
|
220
|
+
|
|
221
|
+
*Example (Internal Tool): Requirements already at Silver (target) → traceability matrix, open questions tracking become Could-Add.*
|
|
222
|
+
|
|
223
|
+
#### Won't-Add (Explicitly Excluded)
|
|
224
|
+
Items considered but rejected, with clear rationale. This prevents future scope creep around "should we add X?"
|
|
225
|
+
|
|
226
|
+
*Example: Offline mode (not applicable for real-time dashboard), multi-language support (single market for now).*
|
|
227
|
+
|
|
228
|
+
For each enhancement:
|
|
229
|
+
```markdown
|
|
230
|
+
- **[ENCHANTED]** [Enhancement title]
|
|
231
|
+
- **Rationale:** [Why this matters — reference research or standards]
|
|
232
|
+
- **Source:** Research lens / Marketing-brand lens / Quality scorecard gap / Industry standard
|
|
233
|
+
- **Impact on scope:** Minimal / Moderate / Significant
|
|
234
|
+
- **Acceptance criteria:** [Testable criterion]
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
### 6. Scope Budget Check
|
|
238
|
+
|
|
239
|
+
⚠️ **Critical guard against scope creep.**
|
|
240
|
+
|
|
241
|
+
After generating all enhancements, calculate:
|
|
242
|
+
- **Original PRD scope:** [N requirements, estimated M stories]
|
|
243
|
+
- **Enchantd PRD scope:** [N+X requirements, estimated M+Y stories]
|
|
244
|
+
- **Scope increase ratio:** [percentage or multiplier]
|
|
245
|
+
|
|
246
|
+
**If enchanted scope exceeds 2× the original:**
|
|
247
|
+
1. Flag this prominently to the user
|
|
248
|
+
2. Force prioritization — the user must choose which enhancements to keep
|
|
249
|
+
3. Recommend splitting Must-Add into the current cycle and Should-Add/Could-Add into future iterations
|
|
250
|
+
4. Never silently double the project scope
|
|
251
|
+
|
|
252
|
+
Present as:
|
|
253
|
+
```markdown
|
|
254
|
+
## Scope Impact Assessment
|
|
255
|
+
|
|
256
|
+
| Metric | Original | Enchantd | Change |
|
|
257
|
+
|--------|----------|----------|--------|
|
|
258
|
+
| Requirements | N | N+X | +X |
|
|
259
|
+
| Estimated stories | M | M+Y | +Y |
|
|
260
|
+
| Scope multiplier | — | — | X.Xx |
|
|
261
|
+
|
|
262
|
+
⚠️ [Warning if > 2x, or ✅ within budget if ≤ 2x]
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
### 7. Produce Enhanced PRD
|
|
266
|
+
|
|
267
|
+
Generate the enchanted PRD with these characteristics:
|
|
268
|
+
|
|
269
|
+
1. **All original requirements preserved** — never remove or weaken what was already specified
|
|
270
|
+
2. **New requirements tagged `[ENCHANTED]`** — clearly distinguishable from original content
|
|
271
|
+
3. **Enhanced acceptance criteria** — original criteria enriched with edge cases
|
|
272
|
+
4. **Quality scorecard (after)** — re-scored with all enhancements included
|
|
273
|
+
5. **Research and marketing summaries** — appended as reference sections
|
|
274
|
+
6. **Scope impact assessment** — included for transparency
|
|
275
|
+
|
|
276
|
+
Structure:
|
|
277
|
+
```markdown
|
|
278
|
+
# PRD: [Feature Name] — Enchantd
|
|
279
|
+
|
|
280
|
+
## Enchantment Summary
|
|
281
|
+
- **Quality profile:** [Internal Tool / Public MVP / Production SaaS / Custom]
|
|
282
|
+
- **Original score:** [Before]
|
|
283
|
+
- **Enchantd score:** [After]
|
|
284
|
+
- **Enhancements added:** [count by tier]
|
|
285
|
+
- **Scope impact:** [multiplier]
|
|
286
|
+
|
|
287
|
+
## Problem Statement
|
|
288
|
+
[Original, enhanced if needed]
|
|
289
|
+
|
|
290
|
+
## Target Users
|
|
291
|
+
[Original, enhanced with persona details if missing]
|
|
292
|
+
|
|
293
|
+
## Requirements
|
|
294
|
+
|
|
295
|
+
### Must Have
|
|
296
|
+
- [Original requirement 1]
|
|
297
|
+
- [Original requirement 2]
|
|
298
|
+
- **[ENCHANTED]** [New must-have from enchantment]
|
|
299
|
+
|
|
300
|
+
### Should Have
|
|
301
|
+
- [Original should-haves]
|
|
302
|
+
- **[ENCHANTED]** [New should-haves from enchantment]
|
|
303
|
+
|
|
304
|
+
### Won't Have (this iteration)
|
|
305
|
+
- [Original exclusions]
|
|
306
|
+
- **[ENCHANTED]** [New explicit exclusions from enchantment]
|
|
307
|
+
|
|
308
|
+
## User Experience Requirements
|
|
309
|
+
**[ENCHANTED section if not in original]**
|
|
310
|
+
- Loading states: [specification]
|
|
311
|
+
- Error states: [specification]
|
|
312
|
+
- Empty states: [specification]
|
|
313
|
+
- Onboarding: [specification]
|
|
314
|
+
|
|
315
|
+
## Accessibility Requirements
|
|
316
|
+
**[ENCHANTED section if not in original]**
|
|
317
|
+
- [WCAG 2.1 AA requirements per product-excellence-standards]
|
|
318
|
+
|
|
319
|
+
## Performance Requirements
|
|
320
|
+
**[ENCHANTED section if not in original]**
|
|
321
|
+
- [Targets per product-excellence-standards]
|
|
322
|
+
|
|
323
|
+
## Security Requirements
|
|
324
|
+
**[ENCHANTED section if not in original]**
|
|
325
|
+
- [Requirements per product-excellence-standards]
|
|
326
|
+
|
|
327
|
+
## Responsive Design Requirements
|
|
328
|
+
**[ENCHANTED section if not in original]**
|
|
329
|
+
- [Breakpoints and adaptation rules]
|
|
330
|
+
|
|
331
|
+
## Acceptance Criteria
|
|
332
|
+
- [ ] [Original criteria — preserved]
|
|
333
|
+
- [ ] **[ENCHANTED]** [New criteria from enchantment]
|
|
334
|
+
|
|
335
|
+
## Dependencies
|
|
336
|
+
[Original + any new dependencies from enchanted requirements]
|
|
337
|
+
|
|
338
|
+
## Open Questions
|
|
339
|
+
[Original + any new questions raised by enchantment]
|
|
340
|
+
|
|
341
|
+
## Quality Scorecard
|
|
342
|
+
|
|
343
|
+
| Dimension | Before | After |
|
|
344
|
+
|-----------|--------|-------|
|
|
345
|
+
| Requirements | 🥉 | 🥇 |
|
|
346
|
+
| UX | 🥉 | 🥇 |
|
|
347
|
+
| ... | ... | ... |
|
|
348
|
+
| **Overall** | **🥉** | **🥇** |
|
|
349
|
+
|
|
350
|
+
## Research Summary (Research Lens — default: Alexander)
|
|
351
|
+
[Condensed from Step 3]
|
|
352
|
+
|
|
353
|
+
## Marketing Review (Marketing/Brand Lens — default: Circe)
|
|
354
|
+
[Condensed from Step 4]
|
|
355
|
+
```
|
|
356
|
+
|
|
357
|
+
### 8. Present for Review
|
|
358
|
+
|
|
359
|
+
Present the enchanted PRD to the user with:
|
|
360
|
+
|
|
361
|
+
1. **Side-by-side quality score** — before and after across all dimensions
|
|
362
|
+
2. **Summary of all additions** — grouped by tier (Must-Add / Should-Add / Could-Add / Won't-Add) with rationale
|
|
363
|
+
3. **Scope impact** — clear multiplier and warning if > 2×
|
|
364
|
+
4. **Explicit ask:** "Do you want to proceed with the enchanted PRD, adjust any enhancements, or revert to the original?"
|
|
365
|
+
|
|
366
|
+
Wait for user approval before the enchanted PRD replaces the original. The user may:
|
|
367
|
+
- **Accept all** — proceed with the full enchanted PRD
|
|
368
|
+
- **Accept with cuts** — remove specific enhancements; re-run scorecard
|
|
369
|
+
- **Defer enhancements** — keep the original PRD for this cycle; log enhancements as future work items
|
|
370
|
+
- **Reject** — keep the original PRD unchanged
|
|
371
|
+
|
|
372
|
+
---
|
|
373
|
+
|
|
374
|
+
## Rules
|
|
375
|
+
|
|
376
|
+
- **Never remove or weaken original requirements.** Only enhance and add. The user wrote those requirements for a reason.
|
|
377
|
+
- **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."
|
|
378
|
+
- **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.
|
|
379
|
+
- **Flag scope impact honestly.** If enhancements double the project, say so clearly. Don't bury scope creep in a long list.
|
|
380
|
+
- **Respect existing ADRs.** If an enhancement contradicts an established ADR, flag the conflict rather than silently adding it.
|
|
381
|
+
- **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.
|
|
382
|
+
- **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.
|
|
383
|
+
- **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.
|
|
384
|
+
- **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.
|
|
385
|
+
- **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.
|