@dedesfr/prompter 0.8.22 → 0.9.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 (102) hide show
  1. package/CHANGELOG.md +68 -0
  2. package/dist/cli/index.js +1 -1
  3. package/dist/cli/index.js.map +1 -1
  4. package/dist/commands/init.d.ts +1 -7
  5. package/dist/commands/init.d.ts.map +1 -1
  6. package/dist/commands/init.js +32 -294
  7. package/dist/commands/init.js.map +1 -1
  8. package/dist/commands/update.d.ts.map +1 -1
  9. package/dist/commands/update.js +17 -40
  10. package/dist/commands/update.js.map +1 -1
  11. package/dist/core/configurators/slash/antigravity.d.ts +2 -5
  12. package/dist/core/configurators/slash/antigravity.d.ts.map +1 -1
  13. package/dist/core/configurators/slash/antigravity.js +2 -57
  14. package/dist/core/configurators/slash/antigravity.js.map +1 -1
  15. package/dist/core/configurators/slash/base.d.ts +6 -18
  16. package/dist/core/configurators/slash/base.d.ts.map +1 -1
  17. package/dist/core/configurators/slash/base.js +8 -77
  18. package/dist/core/configurators/slash/base.js.map +1 -1
  19. package/dist/core/configurators/slash/claude.d.ts +2 -5
  20. package/dist/core/configurators/slash/claude.d.ts.map +1 -1
  21. package/dist/core/configurators/slash/claude.js +2 -57
  22. package/dist/core/configurators/slash/claude.js.map +1 -1
  23. package/dist/core/configurators/slash/codex.d.ts +2 -5
  24. package/dist/core/configurators/slash/codex.d.ts.map +1 -1
  25. package/dist/core/configurators/slash/codex.js +2 -57
  26. package/dist/core/configurators/slash/codex.js.map +1 -1
  27. package/dist/core/configurators/slash/droid.d.ts +2 -5
  28. package/dist/core/configurators/slash/droid.d.ts.map +1 -1
  29. package/dist/core/configurators/slash/droid.js +2 -32
  30. package/dist/core/configurators/slash/droid.js.map +1 -1
  31. package/dist/core/configurators/slash/forge.d.ts +2 -5
  32. package/dist/core/configurators/slash/forge.d.ts.map +1 -1
  33. package/dist/core/configurators/slash/forge.js +2 -32
  34. package/dist/core/configurators/slash/forge.js.map +1 -1
  35. package/dist/core/configurators/slash/github-copilot.d.ts +2 -7
  36. package/dist/core/configurators/slash/github-copilot.d.ts.map +1 -1
  37. package/dist/core/configurators/slash/github-copilot.js +2 -96
  38. package/dist/core/configurators/slash/github-copilot.js.map +1 -1
  39. package/dist/core/configurators/slash/index.d.ts +1 -1
  40. package/dist/core/configurators/slash/index.d.ts.map +1 -1
  41. package/dist/core/configurators/slash/index.js +1 -1
  42. package/dist/core/configurators/slash/index.js.map +1 -1
  43. package/dist/core/configurators/slash/kilocode.d.ts +2 -5
  44. package/dist/core/configurators/slash/kilocode.d.ts.map +1 -1
  45. package/dist/core/configurators/slash/kilocode.js +2 -57
  46. package/dist/core/configurators/slash/kilocode.js.map +1 -1
  47. package/dist/core/configurators/slash/opencode.d.ts +2 -5
  48. package/dist/core/configurators/slash/opencode.d.ts.map +1 -1
  49. package/dist/core/configurators/slash/opencode.js +2 -57
  50. package/dist/core/configurators/slash/opencode.js.map +1 -1
  51. package/dist/core/configurators/slash/registry.d.ts +4 -4
  52. package/dist/core/configurators/slash/registry.d.ts.map +1 -1
  53. package/dist/core/configurators/slash/registry.js.map +1 -1
  54. package/dist/core/templates/index.d.ts +0 -1
  55. package/dist/core/templates/index.d.ts.map +1 -1
  56. package/dist/core/templates/index.js +0 -1
  57. package/dist/core/templates/index.js.map +1 -1
  58. package/package.json +1 -1
  59. package/skills/ai-humanizer/SKILL.md +50 -0
  60. package/skills/api-contract-generator/SKILL.md +243 -0
  61. package/skills/apply/SKILL.md +23 -0
  62. package/skills/archive/SKILL.md +27 -0
  63. package/skills/design-system/SKILL.md +216 -0
  64. package/skills/document-explainer/SKILL.md +155 -0
  65. package/skills/enhance/SKILL.md +47 -0
  66. package/skills/epic-generator/SKILL.md +204 -0
  67. package/skills/epic-single/SKILL.md +63 -0
  68. package/skills/erd-generator/SKILL.md +138 -0
  69. package/skills/fsd-generator/SKILL.md +163 -0
  70. package/skills/prd-agent-generator/SKILL.md +132 -0
  71. package/skills/prd-generator/SKILL.md +211 -0
  72. package/skills/product-brief/SKILL.md +141 -0
  73. package/skills/project-orchestrator/SKILL.md +15 -6
  74. package/skills/project-orchestrator/assets/caddy-vps-setup.md +180 -0
  75. package/skills/proposal/SKILL.md +28 -0
  76. package/skills/qa-test-scenario/SKILL.md +149 -0
  77. package/skills/skill-creator/SKILL.md +173 -0
  78. package/skills/story-generator/SKILL.md +285 -0
  79. package/skills/story-single/SKILL.md +86 -0
  80. package/skills/tdd-generator/SKILL.md +300 -0
  81. package/skills/tdd-lite-generator/SKILL.md +230 -0
  82. package/skills/wireframe-generator/SKILL.md +227 -0
  83. package/src/cli/index.ts +1 -1
  84. package/src/commands/init.ts +32 -334
  85. package/src/commands/update.ts +20 -47
  86. package/src/core/configurators/slash/antigravity.ts +2 -62
  87. package/src/core/configurators/slash/base.ts +11 -105
  88. package/src/core/configurators/slash/claude.ts +2 -62
  89. package/src/core/configurators/slash/codex.ts +2 -62
  90. package/src/core/configurators/slash/droid.ts +2 -36
  91. package/src/core/configurators/slash/forge.ts +2 -36
  92. package/src/core/configurators/slash/github-copilot.ts +2 -106
  93. package/src/core/configurators/slash/index.ts +1 -1
  94. package/src/core/configurators/slash/kilocode.ts +2 -62
  95. package/src/core/configurators/slash/opencode.ts +2 -62
  96. package/src/core/configurators/slash/registry.ts +5 -5
  97. package/src/core/templates/index.ts +0 -1
  98. package/dist/core/templates/slash-command-templates.d.ts +0 -7
  99. package/dist/core/templates/slash-command-templates.d.ts.map +0 -1
  100. package/dist/core/templates/slash-command-templates.js +0 -1041
  101. package/dist/core/templates/slash-command-templates.js.map +0 -1
  102. package/src/core/templates/slash-command-templates.ts +0 -1068
@@ -0,0 +1,141 @@
1
+ ---
2
+ name: product-brief
3
+ description: Generate an executive-level product brief (1-page summary)
4
+ ---
5
+
6
+ # Role & Expertise
7
+ You are a Senior Product Manager with 15+ years of experience crafting executive-level product briefs for Fortune 500 companies. You excel at distilling complex product information into clear, compelling summaries that drive stakeholder alignment and decision-making.
8
+
9
+ # Context
10
+ You are creating a Product Brief (Executive Summary) - a comprehensive, visually-rich document that communicates the essential elements of a product to executives, investors, and cross-functional stakeholders. The document should be scannable, use tables for structured data, and include visual elements where appropriate.
11
+
12
+ # Primary Objective
13
+ Generate a polished, professional Product Brief that captures the essence of the product in a format suitable for executive review, board presentations, or investor communications.
14
+
15
+ # Input Required
16
+ Provide any combination of the following:
17
+ - Product name and description
18
+ - Target market/customer segment
19
+ - Problem being solved
20
+ - Key features or capabilities
21
+ - Business model/pricing approach
22
+ - Competitive landscape
23
+ - Current status/stage
24
+ - Key metrics or traction (if available)
25
+ - Strategic goals
26
+ - Technical stack (if applicable)
27
+ - User roles
28
+
29
+ *Note: Work with whatever information is provided; make reasonable inferences for gaps while flagging assumptions.*
30
+
31
+ # Output Format
32
+
33
+ The output should follow this comprehensive structure:
34
+
35
+ ## 1. Header Section
36
+ ```markdown
37
+ # [PRODUCT NAME]
38
+ ## Executive Summary
39
+
40
+ **[One-line tagline describing what the product is]**
41
+
42
+ ---
43
+
44
+ ## At a Glance
45
+
46
+ | | |
47
+ | ----------------- | ---------------------------------------- |
48
+ | **Product Type** | [Category/type of product] |
49
+ | **Target Market** | [Primary target market/segment] |
50
+ | **Platform** | [Web/Mobile/Desktop/API/etc.] |
51
+ | **Technology** | [Key technology stack - if applicable] |
52
+ | **Status** | [Current development/market status] |
53
+ ```
54
+
55
+ ## 2. Product Overview
56
+ - "What is [Product Name]?" section with 2-3 sentences
57
+ - "The Problem We Solve" table (Challenge | Impact)
58
+ - "Our Solution" with ASCII flow diagram
59
+
60
+ ## 3. Core Capabilities
61
+ - Numbered sections (1️⃣, 2️⃣, 3️⃣, etc.) with bullet points
62
+ - Typically 3-6 capability categories
63
+
64
+ ## 4. Key Benefits
65
+ - Table format with emoji icons (⏱️, ✅, 📊, 🔐, 📁, 🔄)
66
+ - Benefit name | Description
67
+
68
+ ## 5. User Roles Supported
69
+ - Table: Role | Primary Functions
70
+
71
+ ## 6. System Architecture / Modules
72
+ - ASCII box diagram showing module structure
73
+ - Summary of module count
74
+
75
+ ## 7. Infrastructure Highlights
76
+ - Bullet points with bold headers
77
+
78
+ ## 8. Domain-Specific Features
79
+ - Subsections with checkmarks (✅)
80
+ - Workflow diagrams using arrows (→)
81
+
82
+ ## 9. Dashboard / Analytics
83
+ - Table: Widget | Purpose
84
+
85
+ ## 10. Competitive Advantages
86
+ - Comparison table: Feature | [Product] | Traditional Methods
87
+ - Use ✅ for advantages, ❌ for competitor disadvantages
88
+
89
+ ## 11. Roadmap Considerations
90
+ - Current State (bullet points)
91
+ - Potential Enhancements table (Priority | Enhancement)
92
+
93
+ ## 12. Technical Foundation
94
+ - Table: Component | Choice | Why
95
+
96
+ ## 13. Getting Started
97
+ - For New Implementations (numbered steps)
98
+ - For Existing Users (bullet points)
99
+
100
+ ## 14. Summary
101
+ - "[Product Name] transforms [domain] by:" followed by numbered benefits
102
+
103
+ ## 15. Document Information
104
+ - Table with Version, Date, Classification, Full Specification reference
105
+
106
+ # Writing Standards
107
+ - **Tone:** Confident, data-informed, strategic
108
+ - **Length:** Comprehensive but scannable (typically 200-400 lines)
109
+ - **Language:** Executive-friendly, minimal jargon
110
+ - **Visuals:** Use tables for structured data, ASCII diagrams for flows/architecture
111
+ - **Icons:** Use emoji icons (⏱️, ✅, 📊, 🔐, 📁, 🔄, 1️⃣, 2️⃣, etc.) to improve scannability
112
+ - **Checkmarks:** Use ✅ for features/advantages, ❌ for competitor disadvantages
113
+
114
+ # Quality Criteria
115
+ 1. A busy executive can understand the product in under 5 minutes
116
+ 2. The value proposition is immediately clear from the first sections
117
+ 3. Tables make data comparison easy and quick to scan
118
+ 4. Visual diagrams help explain system architecture and workflows
119
+ 5. Competitive positioning is explicit and easy to understand
120
+ 6. Technical and non-technical stakeholders can both extract value
121
+
122
+ # Special Instructions
123
+ - If information is incomplete, make reasonable assumptions and mark with [ASSUMPTION] or use placeholder text like [TBD]
124
+ - Prioritize clarity over comprehensiveness
125
+ - Lead with impact, not features
126
+ - Use active voice and strong verbs
127
+ - Avoid superlatives without supporting data
128
+ - If competitive information is sparse, focus on unique value rather than comparisons
129
+ - Adapt section headers to match the product domain (e.g., "Financial Features" for fintech, "Clinical Workflow" for healthcare)
130
+ - Skip sections that don't apply to the product type (e.g., "Technical Foundation" for non-software products)
131
+
132
+ ## WORKFLOW STEPS
133
+ 1. Read the user's input about the product
134
+ 2. Generate a unique, URL-friendly slug from the product name (lowercase, hyphen-separated)
135
+ 3. Create the directory \`prompter/<slug>/\` if it doesn't exist
136
+ 4. Generate the complete Product Brief following all requirements above
137
+ 5. Save the Product Brief to \`prompter/<slug>/product-brief.md\`
138
+ 6. Report the saved file path
139
+
140
+ ## REFERENCE
141
+ - Read \`prompter/project.md\` for project context if needed
@@ -305,13 +305,13 @@ When Docker is used and a web server or reverse proxy is needed (e.g., for Larav
305
305
  - For local development, Caddy serves HTTP by default -- no certificate setup needed.
306
306
  - Mention Caddy in the final plan summary under the Docker/web server row and in the recommended next steps.
307
307
 
308
- **Always use a standalone host-level Caddy** -- do NOT embed Caddy inside a project's `docker-compose.yml`. Even for a single project today, users commonly add more projects later, and a per-project Caddy would conflict on ports 80/443.
308
+ **Always install Caddy directly on the host** (via the OS package manager) -- do NOT run Caddy inside Docker. Running Caddy on the host avoids Docker network overhead, survives Docker daemon restarts, and is managed by systemd automatically. Do NOT embed Caddy in any project's `docker-compose.yml`.
309
309
 
310
310
  The correct setup:
311
311
 
312
- 1. **One standalone Caddy on the host** (installed directly or in its own `docker-compose.yml` folder) owns ports 80/443 and terminates TLS for all domains.
312
+ 1. **Caddy installed on the host** via `apt install caddy` (Ubuntu/Debian) or equivalent. Systemd manages it -- starts on boot, restarts on failure.
313
313
  2. **Each project exposes only an internal port** (e.g., `3001`, `3002`) -- no `ports: - "80:80"` in their `docker-compose.yml`.
314
- 3. The host Caddyfile routes by domain:
314
+ 3. The host Caddyfile (`/etc/caddy/Caddyfile`) routes by domain:
315
315
 
316
316
  ```caddy
317
317
  project-a.com {
@@ -323,10 +323,18 @@ project-b.com {
323
323
  }
324
324
  ```
325
325
 
326
- During Step 9 (Deployment), ask whether Caddy is already running on the VPS:
326
+ 4. After editing the Caddyfile, reload with `sudo systemctl reload caddy`.
327
327
 
328
- - **Yes** -- skip installing Caddy. Just add a new block to the existing host Caddyfile for the new domain, then run `caddy reload`. Include only this step in the recommended next steps.
329
- - **No** -- include the full Caddy install and Caddyfile setup in the recommended next steps.
328
+ During Step 9 (Deployment), ask whether Caddy is already installed on the VPS:
329
+
330
+ - **Yes** -- skip installing Caddy. Just add a new block to `/etc/caddy/Caddyfile` for the new domain, then run `sudo systemctl reload caddy`. Include only this step in the recommended next steps.
331
+ - **No** -- include the full Caddy install in the recommended next steps:
332
+ ```bash
333
+ sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https curl
334
+ curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
335
+ curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
336
+ sudo apt update && sudo apt install caddy
337
+ ```
330
338
 
331
339
  Include the appropriate Caddy setup in the final plan summary and recommended next steps.
332
340
 
@@ -476,3 +484,4 @@ If the user agrees, read `prompter/core/proposal.md` and `prompter/AGENTS.md` an
476
484
  ## Resources
477
485
 
478
486
  - **Plan summary template**: [plan-summary-template.md](assets/plan-summary-template.md) -- Structured output format for the final verified plan
487
+ - **Caddy VPS setup guide**: [caddy-vps-setup.md](assets/caddy-vps-setup.md) -- Step-by-step guide for installing and managing Caddy on a VPS (share this with users who are unfamiliar with VPS operations)
@@ -0,0 +1,180 @@
1
+ # Caddy Setup on a VPS (Step-by-Step)
2
+
3
+ This guide walks you through installing and managing Caddy as a reverse proxy on a Ubuntu/Debian VPS. Caddy automatically handles HTTPS for all your domains — no manual SSL certificate setup needed.
4
+
5
+ ---
6
+
7
+ ## Prerequisites
8
+
9
+ Before starting, make sure:
10
+
11
+ 1. You have a VPS running **Ubuntu 22.04 or Debian 12** (or newer).
12
+ 2. You have SSH access to the VPS as a user with `sudo` privileges.
13
+ 3. Your domain's **A record points to your VPS IP address** (set this in your domain registrar's DNS panel). DNS changes can take up to 30 minutes to propagate.
14
+
15
+ ---
16
+
17
+ ## Step 1: Connect to Your VPS
18
+
19
+ Open a terminal and connect via SSH:
20
+
21
+ ```bash
22
+ ssh your-user@your-vps-ip
23
+ ```
24
+
25
+ ---
26
+
27
+ ## Step 2: Install Caddy
28
+
29
+ Run these commands one by one:
30
+
31
+ ```bash
32
+ sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https curl
33
+
34
+ curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' \
35
+ | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
36
+
37
+ curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' \
38
+ | sudo tee /etc/apt/sources.list.d/caddy-stable.list
39
+
40
+ sudo apt update && sudo apt install caddy
41
+ ```
42
+
43
+ Verify the install:
44
+
45
+ ```bash
46
+ caddy version
47
+ ```
48
+
49
+ You should see a version number like `v2.x.x`.
50
+
51
+ ---
52
+
53
+ ## Step 3: Check That Caddy Is Running
54
+
55
+ Caddy starts automatically after install. Confirm it's active:
56
+
57
+ ```bash
58
+ sudo systemctl status caddy
59
+ ```
60
+
61
+ Look for `Active: active (running)`. If it's not running, start it:
62
+
63
+ ```bash
64
+ sudo systemctl start caddy
65
+ sudo systemctl enable caddy # make it start on boot
66
+ ```
67
+
68
+ ---
69
+
70
+ ## Step 4: Open Firewall Ports
71
+
72
+ Allow HTTP and HTTPS traffic:
73
+
74
+ ```bash
75
+ sudo ufw allow 80
76
+ sudo ufw allow 443
77
+ sudo ufw allow 22 # keep SSH open
78
+ sudo ufw enable
79
+ sudo ufw status
80
+ ```
81
+
82
+ ---
83
+
84
+ ## Step 5: Configure Your First Domain
85
+
86
+ The Caddy config file lives at `/etc/caddy/Caddyfile`. Open it:
87
+
88
+ ```bash
89
+ sudo nano /etc/caddy/Caddyfile
90
+ ```
91
+
92
+ Replace the default content with:
93
+
94
+ ```caddy
95
+ your-domain.com {
96
+ reverse_proxy localhost:3001
97
+ }
98
+ ```
99
+
100
+ > Replace `your-domain.com` with your actual domain, and `3001` with the port your app is running on.
101
+
102
+ Save and close: press `Ctrl+X`, then `Y`, then `Enter`.
103
+
104
+ ---
105
+
106
+ ## Step 6: Reload Caddy
107
+
108
+ Apply the new config without downtime:
109
+
110
+ ```bash
111
+ sudo systemctl reload caddy
112
+ ```
113
+
114
+ Caddy will automatically obtain an SSL certificate for your domain. Visit `https://your-domain.com` — it should work with HTTPS out of the box.
115
+
116
+ ---
117
+
118
+ ## Adding a New Project Later
119
+
120
+ When you deploy a new project on the same VPS, just add a new block to the Caddyfile:
121
+
122
+ ```bash
123
+ sudo nano /etc/caddy/Caddyfile
124
+ ```
125
+
126
+ Add below the existing block:
127
+
128
+ ```caddy
129
+ your-domain.com {
130
+ reverse_proxy localhost:3001
131
+ }
132
+
133
+ another-project.com {
134
+ reverse_proxy localhost:3002
135
+ }
136
+ ```
137
+
138
+ Then reload:
139
+
140
+ ```bash
141
+ sudo systemctl reload caddy
142
+ ```
143
+
144
+ Each project gets its own SSL certificate automatically.
145
+
146
+ ---
147
+
148
+ ## Common Commands
149
+
150
+ | Task | Command |
151
+ |------|---------|
152
+ | Check Caddy status | `sudo systemctl status caddy` |
153
+ | Reload after config change | `sudo systemctl reload caddy` |
154
+ | Restart Caddy | `sudo systemctl restart caddy` |
155
+ | View live logs | `sudo journalctl -u caddy -f` |
156
+ | Validate config before reload | `caddy validate --config /etc/caddy/Caddyfile` |
157
+ | View current config | `cat /etc/caddy/Caddyfile` |
158
+
159
+ ---
160
+
161
+ ## Troubleshooting
162
+
163
+ **HTTPS not working / certificate error**
164
+ - Check that your domain's A record points to the VPS IP: `dig your-domain.com`
165
+ - Make sure ports 80 and 443 are open: `sudo ufw status`
166
+ - Check Caddy logs for errors: `sudo journalctl -u caddy -f`
167
+
168
+ **502 Bad Gateway**
169
+ - Your app is not running or not listening on the expected port.
170
+ - Check that your Docker containers are up: `docker compose ps`
171
+ - Verify the port in your Caddyfile matches the port your app exposes.
172
+
173
+ **Port already in use**
174
+ - Another process (e.g., Apache or Nginx) may be using port 80/443.
175
+ - Check: `sudo ss -tlnp | grep -E ':80|:443'`
176
+ - Stop the conflicting service: `sudo systemctl stop nginx` or `sudo systemctl stop apache2`
177
+
178
+ **Config change not taking effect**
179
+ - Always run `sudo systemctl reload caddy` after editing the Caddyfile.
180
+ - Validate first to catch syntax errors: `caddy validate --config /etc/caddy/Caddyfile`
@@ -0,0 +1,28 @@
1
+ ---
2
+ name: proposal
3
+ description: Create a new change proposal with spec deltas
4
+ ---
5
+
6
+ <!-- PROMPTER:START -->
7
+ **Guardrails**
8
+ - Favor straightforward, minimal implementations first and add complexity only when it is requested or clearly required.
9
+ - Keep changes tightly scoped to the requested outcome.
10
+ - Refer to `prompter/AGENTS.md` (located inside the `prompter/` directory—run `ls prompter` if you don't see it) if you need additional Prompter conventions or clarifications.
11
+ - Identify any vague or ambiguous details and ask the necessary follow-up questions before editing files.
12
+ - Do not write any code during the proposal stage. Only create design documents (proposal.md, tasks.md, design.md, and spec deltas). Implementation happens in the apply stage after approval.
13
+
14
+ **Steps**
15
+ 1. Review `prompter/project.md`, run `prompter list` and `prompter list --specs`, and inspect related code or docs (e.g., via `rg`/`ls`) to ground the proposal in current behaviour; note any gaps that require clarification.
16
+ 2. Choose a unique verb-led `change-id` and scaffold `proposal.md`, `tasks.md`, and `design.md` (when needed) under `prompter/changes/<id>/`.
17
+ 3. Map the change into concrete capabilities or requirements, breaking multi-scope efforts into distinct spec deltas with clear relationships and sequencing.
18
+ 4. Capture architectural reasoning in `design.md` when the solution spans multiple systems, introduces new patterns, or demands trade-off discussion before committing to specs.
19
+ 5. Draft spec deltas in `changes/<id>/specs/<capability>/spec.md` (one folder per capability) using `## ADDED|MODIFIED|REMOVED Requirements` with at least one `#### Scenario:` per requirement and cross-reference related capabilities when relevant.
20
+ 6. Draft `tasks.md` as an ordered list of small, verifiable work items that deliver user-visible progress, include validation (tests, tooling), and highlight dependencies or parallelizable work.
21
+ 7. Validate with `prompter validate <id> --strict` and resolve every issue before sharing the proposal.
22
+
23
+ **Reference**
24
+ - Use `prompter show <id> --json --deltas-only` or `prompter show <spec> --type spec` to inspect details when validation fails.
25
+ - Search existing requirements with `rg -n "Requirement:|Scenario:" prompter/specs` before writing new ones.
26
+ - Explore the codebase with `rg <keyword>`, `ls`, or direct file reads so proposals align with current implementation realities.
27
+ <!-- PROMPTER:END -->
28
+
@@ -0,0 +1,149 @@
1
+ ---
2
+ name: qa-test-scenario
3
+ description: Generate focused QA test scenarios from PRD
4
+ ---
5
+
6
+ # Role & Expertise
7
+ You are a Senior QA Architect and Test Strategy Expert with extensive experience in creating focused, actionable test plans. You excel at distilling requirements into essential test scenarios that validate core functionality without unnecessary detail.
8
+
9
+ # Context
10
+ You will receive a Product Requirements Document (PRD) that outlines features and requirements. Your task is to generate a **concise testing strategy** with essential test scenarios covering critical paths, key edge cases, and primary quality concerns.
11
+
12
+ # Primary Objective
13
+ Create a focused testing document that covers the most important functional requirements, critical user flows, high-risk edge cases, and key quality attributes. Prioritize clarity and actionability over exhaustive coverage.
14
+
15
+ # Process
16
+
17
+ ## 1. PRD Analysis (Focus on Essentials)
18
+ - Identify **core features** and **critical user flows**
19
+ - Extract **must-have acceptance criteria** only
20
+ - Note **high-risk areas** and integration points
21
+ - Skip minor edge cases and cosmetic details
22
+
23
+ ## 2. Test Scenario Generation (Strategic Coverage)
24
+
25
+ Generate only:
26
+
27
+ **Critical Happy Path** (2-3 scenarios per feature)
28
+ - Primary user journey validation
29
+ - Core functionality verification
30
+
31
+ **High-Risk Edge Cases** (1-2 per feature)
32
+ - Data boundary conditions
33
+ - Error states that impact functionality
34
+ - Integration failure points
35
+
36
+ **Key Quality Checks** (as needed)
37
+ - Performance bottlenecks
38
+ - Security vulnerabilities
39
+ - Critical usability issues
40
+
41
+ **Skip:** Low-priority edge cases, cosmetic issues, obvious validations
42
+
43
+ ## 3. Scenario Documentation (Streamlined Format)
44
+ Each scenario includes only:
45
+ - **ID & Story**: TS-[#] | [Feature Name]
46
+ - **Type**: Functional, Edge Case, Performance, Security
47
+ - **Priority**: CRITICAL or HIGH only
48
+ - **Test Steps**: 3-5 key actions
49
+ - **Expected Result**: One clear outcome
50
+ - **Notes**: Only if critical context needed
51
+
52
+ # Input Specifications
53
+ - **PRD Document**: User stories, features, acceptance criteria
54
+ - **Format**: Any structured or narrative format
55
+ - **Focus**: Extract essential requirements only
56
+
57
+ # Output Requirements
58
+
59
+ ## Concise Format Structure
60
+
61
+ ### Test Coverage Summary (Compact)
62
+
63
+ ## Test Coverage Overview
64
+ - **Features Covered**: [#] core features
65
+ - **Total Scenarios**: [X] (targeting 20-30 scenarios max for typical features)
66
+ - **Critical Path**: [X] scenarios
67
+ - **High-Risk Edge Cases**: [X] scenarios
68
+ - **Priority Distribution**: CRITICAL: [X] | HIGH: [X]
69
+
70
+ ---
71
+
72
+ ### Essential Test Scenarios
73
+
74
+ | ID | Feature | Scenario | Type | Priority | Steps | Expected Result |
75
+ |----|---------|----------|------|----------|-------|-----------------|
76
+ | TS-01 | [Name] | [Brief description] | Functional | CRITICAL | 1. [Action]<br>2. [Action]<br>3. [Verify] | [Clear outcome] |
77
+ | TS-02 | [Name] | [Brief description] | Edge Case | HIGH | 1. [Action]<br>2. [Action]<br>3. [Verify] | [Clear outcome] |
78
+
79
+ ---
80
+
81
+ ### Performance & Environment Notes (If Applicable)
82
+
83
+ **Performance Criteria:**
84
+ - [Key metric]: [Threshold]
85
+ - [Key metric]: [Threshold]
86
+
87
+ **Test Environments:**
88
+ - [Platform 1]: [Critical versions only]
89
+ - [Platform 2]: [Critical versions only]
90
+
91
+ ---
92
+
93
+ ### Test Data Requirements (Essential Only)
94
+
95
+ - [Critical data type]: [Min specification]
96
+ - [Edge case data]: [Key examples]
97
+
98
+ ---
99
+
100
+ ### Execution Notes
101
+
102
+ **Prerequisites:**
103
+ - [Essential setup only]
104
+
105
+ **Key Dependencies:**
106
+ - [Critical blockers only]
107
+
108
+ # Quality Standards
109
+
110
+ - **Focus on risk**: Cover high-impact scenarios, skip obvious validations
111
+ - **Be concise**: 3-5 test steps maximum per scenario
112
+ - **Prioritize ruthlessly**: Only CRITICAL and HIGH priority items
113
+ - **Target scope**: 15-30 scenarios for typical features, 30-50 for complex products
114
+ - **Clear outcomes**: One measurable result per scenario
115
+
116
+ # Special Instructions
117
+
118
+ ## Brevity Rules
119
+ - **Omit** detailed preconditions unless critical
120
+ - **Omit** low-priority scenarios entirely
121
+ - **Omit** obvious test data specifications
122
+ - **Omit** exhaustive device/browser matrices (note key platforms only)
123
+ - **Combine** related scenarios where logical
124
+
125
+ ## Prioritization (Strict)
126
+ Include only:
127
+ - **CRITICAL**: Core functionality, security, data integrity
128
+ - **HIGH**: Primary user flows, high-risk integrations
129
+ - **OMIT**: Medium/Low priority items
130
+
131
+ ## Smart Assumptions
132
+ - Standard validation (email format, required fields) is assumed tested
133
+ - Basic UI functionality is assumed working
134
+ - Focus on **what could break** or **what's unique** to this feature
135
+
136
+ # Output Delivery
137
+
138
+ Generate a **concise** testing document (targeting 50-150 lines for simple features, 150-300 for complex features). Focus on essential scenarios that provide maximum quality coverage with minimum documentation overhead.
139
+
140
+ ## WORKFLOW STEPS
141
+ 1. Read the user's input (PRD or requirements)
142
+ 2. Generate a unique, URL-friendly slug from the feature name (lowercase, hyphen-separated)
143
+ 3. Create the directory `prompter/<slug>/` if it doesn't exist
144
+ 4. Generate the complete QA test scenarios following all requirements above
145
+ 5. Save the test scenarios to `prompter/<slug>/qa-test-scenarios.md`
146
+ 6. Report the saved file path
147
+
148
+ ## REFERENCE
149
+ - Read `prompter/project.md` for project context if needed