agentvibes 2.0.21 → 2.0.22

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 (134) hide show
  1. package/.bmad-core/agent-teams/team-all.yaml +15 -0
  2. package/.bmad-core/agent-teams/team-fullstack.yaml +19 -0
  3. package/.bmad-core/agent-teams/team-ide-minimal.yaml +11 -0
  4. package/.bmad-core/agent-teams/team-no-ui.yaml +14 -0
  5. package/.bmad-core/agents/analyst.md +84 -0
  6. package/.bmad-core/agents/architect.md +85 -0
  7. package/.bmad-core/agents/bmad-master.md +110 -0
  8. package/.bmad-core/agents/bmad-orchestrator.md +147 -0
  9. package/.bmad-core/agents/dev.md +81 -0
  10. package/.bmad-core/agents/pm.md +84 -0
  11. package/.bmad-core/agents/po.md +79 -0
  12. package/.bmad-core/agents/qa.md +87 -0
  13. package/.bmad-core/agents/sm.md +65 -0
  14. package/.bmad-core/agents/ux-expert.md +69 -0
  15. package/.bmad-core/checklists/architect-checklist.md +440 -0
  16. package/.bmad-core/checklists/change-checklist.md +184 -0
  17. package/.bmad-core/checklists/pm-checklist.md +372 -0
  18. package/.bmad-core/checklists/po-master-checklist.md +434 -0
  19. package/.bmad-core/checklists/story-dod-checklist.md +96 -0
  20. package/.bmad-core/checklists/story-draft-checklist.md +155 -0
  21. package/.bmad-core/core-config.yaml +22 -0
  22. package/.bmad-core/data/bmad-kb.md +809 -0
  23. package/.bmad-core/data/brainstorming-techniques.md +38 -0
  24. package/.bmad-core/data/elicitation-methods.md +156 -0
  25. package/.bmad-core/data/technical-preferences.md +5 -0
  26. package/.bmad-core/data/test-levels-framework.md +148 -0
  27. package/.bmad-core/data/test-priorities-matrix.md +174 -0
  28. package/.bmad-core/enhanced-ide-development-workflow.md +248 -0
  29. package/.bmad-core/install-manifest.yaml +230 -0
  30. package/.bmad-core/tasks/advanced-elicitation.md +119 -0
  31. package/.bmad-core/tasks/apply-qa-fixes.md +150 -0
  32. package/.bmad-core/tasks/brownfield-create-epic.md +162 -0
  33. package/.bmad-core/tasks/brownfield-create-story.md +149 -0
  34. package/.bmad-core/tasks/correct-course.md +72 -0
  35. package/.bmad-core/tasks/create-brownfield-story.md +314 -0
  36. package/.bmad-core/tasks/create-deep-research-prompt.md +280 -0
  37. package/.bmad-core/tasks/create-doc.md +103 -0
  38. package/.bmad-core/tasks/create-next-story.md +114 -0
  39. package/.bmad-core/tasks/document-project.md +345 -0
  40. package/.bmad-core/tasks/execute-checklist.md +88 -0
  41. package/.bmad-core/tasks/facilitate-brainstorming-session.md +138 -0
  42. package/.bmad-core/tasks/generate-ai-frontend-prompt.md +53 -0
  43. package/.bmad-core/tasks/index-docs.md +175 -0
  44. package/.bmad-core/tasks/kb-mode-interaction.md +77 -0
  45. package/.bmad-core/tasks/nfr-assess.md +345 -0
  46. package/.bmad-core/tasks/qa-gate.md +163 -0
  47. package/.bmad-core/tasks/review-story.md +316 -0
  48. package/.bmad-core/tasks/risk-profile.md +355 -0
  49. package/.bmad-core/tasks/shard-doc.md +187 -0
  50. package/.bmad-core/tasks/test-design.md +176 -0
  51. package/.bmad-core/tasks/trace-requirements.md +266 -0
  52. package/.bmad-core/tasks/validate-next-story.md +136 -0
  53. package/.bmad-core/templates/architecture-tmpl.yaml +651 -0
  54. package/.bmad-core/templates/brainstorming-output-tmpl.yaml +156 -0
  55. package/.bmad-core/templates/brownfield-architecture-tmpl.yaml +477 -0
  56. package/.bmad-core/templates/brownfield-prd-tmpl.yaml +281 -0
  57. package/.bmad-core/templates/competitor-analysis-tmpl.yaml +307 -0
  58. package/.bmad-core/templates/front-end-architecture-tmpl.yaml +219 -0
  59. package/.bmad-core/templates/front-end-spec-tmpl.yaml +350 -0
  60. package/.bmad-core/templates/fullstack-architecture-tmpl.yaml +824 -0
  61. package/.bmad-core/templates/market-research-tmpl.yaml +253 -0
  62. package/.bmad-core/templates/prd-tmpl.yaml +203 -0
  63. package/.bmad-core/templates/project-brief-tmpl.yaml +222 -0
  64. package/.bmad-core/templates/qa-gate-tmpl.yaml +103 -0
  65. package/.bmad-core/templates/story-tmpl.yaml +138 -0
  66. package/.bmad-core/user-guide.md +577 -0
  67. package/.bmad-core/utils/bmad-doc-template.md +327 -0
  68. package/.bmad-core/utils/workflow-management.md +71 -0
  69. package/.bmad-core/workflows/brownfield-fullstack.yaml +298 -0
  70. package/.bmad-core/workflows/brownfield-service.yaml +188 -0
  71. package/.bmad-core/workflows/brownfield-ui.yaml +198 -0
  72. package/.bmad-core/workflows/greenfield-fullstack.yaml +241 -0
  73. package/.bmad-core/workflows/greenfield-service.yaml +207 -0
  74. package/.bmad-core/workflows/greenfield-ui.yaml +236 -0
  75. package/.bmad-core/working-in-the-brownfield.md +606 -0
  76. package/.claude/agents/health-coach.md +154 -0
  77. package/.claude/agents/motivator.md +171 -0
  78. package/.claude/agents/negotiator.md +97 -0
  79. package/.claude/commands/BMad/agents/analyst.md +88 -0
  80. package/.claude/commands/BMad/agents/architect.md +89 -0
  81. package/.claude/commands/BMad/agents/bmad-master.md +114 -0
  82. package/.claude/commands/BMad/agents/bmad-orchestrator.md +151 -0
  83. package/.claude/commands/BMad/agents/dev.md +85 -0
  84. package/.claude/commands/BMad/agents/pm.md +88 -0
  85. package/.claude/commands/BMad/agents/po.md +83 -0
  86. package/.claude/commands/BMad/agents/qa.md +91 -0
  87. package/.claude/commands/BMad/agents/sm.md +69 -0
  88. package/.claude/commands/BMad/agents/ux-expert.md +73 -0
  89. package/.claude/commands/BMad/tasks/advanced-elicitation.md +123 -0
  90. package/.claude/commands/BMad/tasks/apply-qa-fixes.md +154 -0
  91. package/.claude/commands/BMad/tasks/brownfield-create-epic.md +166 -0
  92. package/.claude/commands/BMad/tasks/brownfield-create-story.md +153 -0
  93. package/.claude/commands/BMad/tasks/correct-course.md +76 -0
  94. package/.claude/commands/BMad/tasks/create-brownfield-story.md +318 -0
  95. package/.claude/commands/BMad/tasks/create-deep-research-prompt.md +284 -0
  96. package/.claude/commands/BMad/tasks/create-doc.md +107 -0
  97. package/.claude/commands/BMad/tasks/create-next-story.md +118 -0
  98. package/.claude/commands/BMad/tasks/document-project.md +349 -0
  99. package/.claude/commands/BMad/tasks/execute-checklist.md +92 -0
  100. package/.claude/commands/BMad/tasks/facilitate-brainstorming-session.md +142 -0
  101. package/.claude/commands/BMad/tasks/generate-ai-frontend-prompt.md +57 -0
  102. package/.claude/commands/BMad/tasks/index-docs.md +179 -0
  103. package/.claude/commands/BMad/tasks/kb-mode-interaction.md +81 -0
  104. package/.claude/commands/BMad/tasks/nfr-assess.md +349 -0
  105. package/.claude/commands/BMad/tasks/qa-gate.md +167 -0
  106. package/.claude/commands/BMad/tasks/review-story.md +320 -0
  107. package/.claude/commands/BMad/tasks/risk-profile.md +359 -0
  108. package/.claude/commands/BMad/tasks/shard-doc.md +191 -0
  109. package/.claude/commands/BMad/tasks/test-design.md +180 -0
  110. package/.claude/commands/BMad/tasks/trace-requirements.md +270 -0
  111. package/.claude/commands/BMad/tasks/validate-next-story.md +140 -0
  112. package/.claude/commands/agent-vibes/agent-health-coach.md +15 -0
  113. package/.claude/commands/agent-vibes/agent-motivator.md +15 -0
  114. package/.claude/commands/agent-vibes/agent-negotiator.md +15 -0
  115. package/.claude/commands/agent-vibes/agent.md +79 -0
  116. package/README.md +2 -2
  117. package/docs/agents.md +485 -0
  118. package/fix-vscode-colors.sh +88 -0
  119. package/fixcolors +88 -0
  120. package/generate-all-agent-voices.sh +174 -0
  121. package/generate-new-voices.sh +108 -0
  122. package/generate-piper-agent-intros.sh +85 -0
  123. package/generate-provider-and-agent-intros.sh +136 -0
  124. package/linkedin/vibe-coding-and-pulseaudio.md +121 -0
  125. package/logo/fav_icon_128x128.png +0 -0
  126. package/logo/fav_icon_128x128.png:Zone.Identifier +4 -0
  127. package/logo/logo1.webp +0 -0
  128. package/logo/logo1.webp:Zone.Identifier +4 -0
  129. package/logo/social.png +0 -0
  130. package/logo/social.png:Zone.Identifier +4 -0
  131. package/mcp-server/agentvibes.db +0 -0
  132. package/package.json +1 -1
  133. package/regenerate-agent-voices.sh +79 -0
  134. package/scripts/audio-tunnel.config +17 -0
@@ -0,0 +1,179 @@
1
+ # /index-docs Task
2
+
3
+ When this command is used, execute the following task:
4
+
5
+ <!-- Powered by BMAD™ Core -->
6
+
7
+ # Index Documentation Task
8
+
9
+ ## Purpose
10
+
11
+ This task maintains the integrity and completeness of the `docs/index.md` file by scanning all documentation files and ensuring they are properly indexed with descriptions. It handles both root-level documents and documents within subfolders, organizing them hierarchically.
12
+
13
+ ## Task Instructions
14
+
15
+ You are now operating as a Documentation Indexer. Your goal is to ensure all documentation files are properly cataloged in the central index with proper organization for subfolders.
16
+
17
+ ### Required Steps
18
+
19
+ 1. First, locate and scan:
20
+ - The `docs/` directory and all subdirectories
21
+ - The existing `docs/index.md` file (create if absent)
22
+ - All markdown (`.md`) and text (`.txt`) files in the documentation structure
23
+ - Note the folder structure for hierarchical organization
24
+
25
+ 2. For the existing `docs/index.md`:
26
+ - Parse current entries
27
+ - Note existing file references and descriptions
28
+ - Identify any broken links or missing files
29
+ - Keep track of already-indexed content
30
+ - Preserve existing folder sections
31
+
32
+ 3. For each documentation file found:
33
+ - Extract the title (from first heading or filename)
34
+ - Generate a brief description by analyzing the content
35
+ - Create a relative markdown link to the file
36
+ - Check if it's already in the index
37
+ - Note which folder it belongs to (if in a subfolder)
38
+ - If missing or outdated, prepare an update
39
+
40
+ 4. For any missing or non-existent files found in index:
41
+ - Present a list of all entries that reference non-existent files
42
+ - For each entry:
43
+ - Show the full entry details (title, path, description)
44
+ - Ask for explicit confirmation before removal
45
+ - Provide option to update the path if file was moved
46
+ - Log the decision (remove/update/keep) for final report
47
+
48
+ 5. Update `docs/index.md`:
49
+ - Maintain existing structure and organization
50
+ - Create level 2 sections (`##`) for each subfolder
51
+ - List root-level documents first
52
+ - Add missing entries with descriptions
53
+ - Update outdated entries
54
+ - Remove only entries that were confirmed for removal
55
+ - Ensure consistent formatting throughout
56
+
57
+ ### Index Structure Format
58
+
59
+ The index should be organized as follows:
60
+
61
+ ```markdown
62
+ # Documentation Index
63
+
64
+ ## Root Documents
65
+
66
+ ### [Document Title](./document.md)
67
+
68
+ Brief description of the document's purpose and contents.
69
+
70
+ ### [Another Document](./another.md)
71
+
72
+ Description here.
73
+
74
+ ## Folder Name
75
+
76
+ Documents within the `folder-name/` directory:
77
+
78
+ ### [Document in Folder](./folder-name/document.md)
79
+
80
+ Description of this document.
81
+
82
+ ### [Another in Folder](./folder-name/another.md)
83
+
84
+ Description here.
85
+
86
+ ## Another Folder
87
+
88
+ Documents within the `another-folder/` directory:
89
+
90
+ ### [Nested Document](./another-folder/document.md)
91
+
92
+ Description of nested document.
93
+ ```
94
+
95
+ ### Index Entry Format
96
+
97
+ Each entry should follow this format:
98
+
99
+ ```markdown
100
+ ### [Document Title](relative/path/to/file.md)
101
+
102
+ Brief description of the document's purpose and contents.
103
+ ```
104
+
105
+ ### Rules of Operation
106
+
107
+ 1. NEVER modify the content of indexed files
108
+ 2. Preserve existing descriptions in index.md when they are adequate
109
+ 3. Maintain any existing categorization or grouping in the index
110
+ 4. Use relative paths for all links (starting with `./`)
111
+ 5. Ensure descriptions are concise but informative
112
+ 6. NEVER remove entries without explicit confirmation
113
+ 7. Report any broken links or inconsistencies found
114
+ 8. Allow path updates for moved files before considering removal
115
+ 9. Create folder sections using level 2 headings (`##`)
116
+ 10. Sort folders alphabetically, with root documents listed first
117
+ 11. Within each section, sort documents alphabetically by title
118
+
119
+ ### Process Output
120
+
121
+ The task will provide:
122
+
123
+ 1. A summary of changes made to index.md
124
+ 2. List of newly indexed files (organized by folder)
125
+ 3. List of updated entries
126
+ 4. List of entries presented for removal and their status:
127
+ - Confirmed removals
128
+ - Updated paths
129
+ - Kept despite missing file
130
+ 5. Any new folders discovered
131
+ 6. Any other issues or inconsistencies found
132
+
133
+ ### Handling Missing Files
134
+
135
+ For each file referenced in the index but not found in the filesystem:
136
+
137
+ 1. Present the entry:
138
+
139
+ ```markdown
140
+ Missing file detected:
141
+ Title: [Document Title]
142
+ Path: relative/path/to/file.md
143
+ Description: Existing description
144
+ Section: [Root Documents | Folder Name]
145
+
146
+ Options:
147
+
148
+ 1. Remove this entry
149
+ 2. Update the file path
150
+ 3. Keep entry (mark as temporarily unavailable)
151
+
152
+ Please choose an option (1/2/3):
153
+ ```
154
+
155
+ 2. Wait for user confirmation before taking any action
156
+ 3. Log the decision for the final report
157
+
158
+ ### Special Cases
159
+
160
+ 1. **Sharded Documents**: If a folder contains an `index.md` file, treat it as a sharded document:
161
+ - Use the folder's `index.md` title as the section title
162
+ - List the folder's documents as subsections
163
+ - Note in the description that this is a multi-part document
164
+
165
+ 2. **README files**: Convert `README.md` to more descriptive titles based on content
166
+
167
+ 3. **Nested Subfolders**: For deeply nested folders, maintain the hierarchy but limit to 2 levels in the main index. Deeper structures should have their own index files.
168
+
169
+ ## Required Input
170
+
171
+ Please provide:
172
+
173
+ 1. Location of the `docs/` directory (default: `./docs`)
174
+ 2. Confirmation of write access to `docs/index.md`
175
+ 3. Any specific categorization preferences
176
+ 4. Any files or directories to exclude from indexing (e.g., `.git`, `node_modules`)
177
+ 5. Whether to include hidden files/folders (starting with `.`)
178
+
179
+ Would you like to proceed with documentation indexing? Please provide the required input above.
@@ -0,0 +1,81 @@
1
+ # /kb-mode-interaction Task
2
+
3
+ When this command is used, execute the following task:
4
+
5
+ <!-- Powered by BMAD™ Core -->
6
+
7
+ # KB Mode Interaction Task
8
+
9
+ ## Purpose
10
+
11
+ Provide a user-friendly interface to the BMad knowledge base without overwhelming users with information upfront.
12
+
13
+ ## Instructions
14
+
15
+ When entering KB mode (\*kb-mode), follow these steps:
16
+
17
+ ### 1. Welcome and Guide
18
+
19
+ Announce entering KB mode with a brief, friendly introduction.
20
+
21
+ ### 2. Present Topic Areas
22
+
23
+ Offer a concise list of main topic areas the user might want to explore:
24
+
25
+ **What would you like to know more about?**
26
+
27
+ 1. **Setup & Installation** - Getting started with BMad
28
+ 2. **Workflows** - Choosing the right workflow for your project
29
+ 3. **Web vs IDE** - When to use each environment
30
+ 4. **Agents** - Understanding specialized agents and their roles
31
+ 5. **Documents** - PRDs, Architecture, Stories, and more
32
+ 6. **Agile Process** - How BMad implements Agile methodologies
33
+ 7. **Configuration** - Customizing BMad for your needs
34
+ 8. **Best Practices** - Tips for effective BMad usage
35
+
36
+ Or ask me about anything else related to BMad-Method!
37
+
38
+ ### 3. Respond Contextually
39
+
40
+ - Wait for user's specific question or topic selection
41
+ - Provide focused, relevant information from the knowledge base
42
+ - Offer to dive deeper or explore related topics
43
+ - Keep responses concise unless user asks for detailed explanations
44
+
45
+ ### 4. Interactive Exploration
46
+
47
+ - After answering, suggest related topics they might find helpful
48
+ - Maintain conversational flow rather than data dumping
49
+ - Use examples when appropriate
50
+ - Reference specific documentation sections when relevant
51
+
52
+ ### 5. Exit Gracefully
53
+
54
+ When user is done or wants to exit KB mode:
55
+
56
+ - Summarize key points discussed if helpful
57
+ - Remind them they can return to KB mode anytime with \*kb-mode
58
+ - Suggest next steps based on what was discussed
59
+
60
+ ## Example Interaction
61
+
62
+ **User**: \*kb-mode
63
+
64
+ **Assistant**: I've entered KB mode and have access to the full BMad knowledge base. I can help you with detailed information about any aspect of BMad-Method.
65
+
66
+ **What would you like to know more about?**
67
+
68
+ 1. **Setup & Installation** - Getting started with BMad
69
+ 2. **Workflows** - Choosing the right workflow for your project
70
+ 3. **Web vs IDE** - When to use each environment
71
+ 4. **Agents** - Understanding specialized agents and their roles
72
+ 5. **Documents** - PRDs, Architecture, Stories, and more
73
+ 6. **Agile Process** - How BMad implements Agile methodologies
74
+ 7. **Configuration** - Customizing BMad for your needs
75
+ 8. **Best Practices** - Tips for effective BMad usage
76
+
77
+ Or ask me about anything else related to BMad-Method!
78
+
79
+ **User**: Tell me about workflows
80
+
81
+ **Assistant**: [Provides focused information about workflows from the KB, then offers to explore specific workflow types or related topics]
@@ -0,0 +1,349 @@
1
+ # /nfr-assess Task
2
+
3
+ When this command is used, execute the following task:
4
+
5
+ <!-- Powered by BMAD™ Core -->
6
+
7
+ # nfr-assess
8
+
9
+ Quick NFR validation focused on the core four: security, performance, reliability, maintainability.
10
+
11
+ ## Inputs
12
+
13
+ ```yaml
14
+ required:
15
+ - story_id: '{epic}.{story}' # e.g., "1.3"
16
+ - story_path: `.bmad-core/core-config.yaml` for the `devStoryLocation`
17
+
18
+ optional:
19
+ - architecture_refs: `.bmad-core/core-config.yaml` for the `architecture.architectureFile`
20
+ - technical_preferences: `.bmad-core/core-config.yaml` for the `technicalPreferences`
21
+ - acceptance_criteria: From story file
22
+ ```
23
+
24
+ ## Purpose
25
+
26
+ Assess non-functional requirements for a story and generate:
27
+
28
+ 1. YAML block for the gate file's `nfr_validation` section
29
+ 2. Brief markdown assessment saved to `qa.qaLocation/assessments/{epic}.{story}-nfr-{YYYYMMDD}.md`
30
+
31
+ ## Process
32
+
33
+ ### 0. Fail-safe for Missing Inputs
34
+
35
+ If story_path or story file can't be found:
36
+
37
+ - Still create assessment file with note: "Source story not found"
38
+ - Set all selected NFRs to CONCERNS with notes: "Target unknown / evidence missing"
39
+ - Continue with assessment to provide value
40
+
41
+ ### 1. Elicit Scope
42
+
43
+ **Interactive mode:** Ask which NFRs to assess
44
+ **Non-interactive mode:** Default to core four (security, performance, reliability, maintainability)
45
+
46
+ ```text
47
+ Which NFRs should I assess? (Enter numbers or press Enter for default)
48
+ [1] Security (default)
49
+ [2] Performance (default)
50
+ [3] Reliability (default)
51
+ [4] Maintainability (default)
52
+ [5] Usability
53
+ [6] Compatibility
54
+ [7] Portability
55
+ [8] Functional Suitability
56
+
57
+ > [Enter for 1-4]
58
+ ```
59
+
60
+ ### 2. Check for Thresholds
61
+
62
+ Look for NFR requirements in:
63
+
64
+ - Story acceptance criteria
65
+ - `docs/architecture/*.md` files
66
+ - `docs/technical-preferences.md`
67
+
68
+ **Interactive mode:** Ask for missing thresholds
69
+ **Non-interactive mode:** Mark as CONCERNS with "Target unknown"
70
+
71
+ ```text
72
+ No performance requirements found. What's your target response time?
73
+ > 200ms for API calls
74
+
75
+ No security requirements found. Required auth method?
76
+ > JWT with refresh tokens
77
+ ```
78
+
79
+ **Unknown targets policy:** If a target is missing and not provided, mark status as CONCERNS with notes: "Target unknown"
80
+
81
+ ### 3. Quick Assessment
82
+
83
+ For each selected NFR, check:
84
+
85
+ - Is there evidence it's implemented?
86
+ - Can we validate it?
87
+ - Are there obvious gaps?
88
+
89
+ ### 4. Generate Outputs
90
+
91
+ ## Output 1: Gate YAML Block
92
+
93
+ Generate ONLY for NFRs actually assessed (no placeholders):
94
+
95
+ ```yaml
96
+ # Gate YAML (copy/paste):
97
+ nfr_validation:
98
+ _assessed: [security, performance, reliability, maintainability]
99
+ security:
100
+ status: CONCERNS
101
+ notes: 'No rate limiting on auth endpoints'
102
+ performance:
103
+ status: PASS
104
+ notes: 'Response times < 200ms verified'
105
+ reliability:
106
+ status: PASS
107
+ notes: 'Error handling and retries implemented'
108
+ maintainability:
109
+ status: CONCERNS
110
+ notes: 'Test coverage at 65%, target is 80%'
111
+ ```
112
+
113
+ ## Deterministic Status Rules
114
+
115
+ - **FAIL**: Any selected NFR has critical gap or target clearly not met
116
+ - **CONCERNS**: No FAILs, but any NFR is unknown/partial/missing evidence
117
+ - **PASS**: All selected NFRs meet targets with evidence
118
+
119
+ ## Quality Score Calculation
120
+
121
+ ```
122
+ quality_score = 100
123
+ - 20 for each FAIL attribute
124
+ - 10 for each CONCERNS attribute
125
+ Floor at 0, ceiling at 100
126
+ ```
127
+
128
+ If `technical-preferences.md` defines custom weights, use those instead.
129
+
130
+ ## Output 2: Brief Assessment Report
131
+
132
+ **ALWAYS save to:** `qa.qaLocation/assessments/{epic}.{story}-nfr-{YYYYMMDD}.md`
133
+
134
+ ```markdown
135
+ # NFR Assessment: {epic}.{story}
136
+
137
+ Date: {date}
138
+ Reviewer: Quinn
139
+
140
+ <!-- Note: Source story not found (if applicable) -->
141
+
142
+ ## Summary
143
+
144
+ - Security: CONCERNS - Missing rate limiting
145
+ - Performance: PASS - Meets <200ms requirement
146
+ - Reliability: PASS - Proper error handling
147
+ - Maintainability: CONCERNS - Test coverage below target
148
+
149
+ ## Critical Issues
150
+
151
+ 1. **No rate limiting** (Security)
152
+ - Risk: Brute force attacks possible
153
+ - Fix: Add rate limiting middleware to auth endpoints
154
+
155
+ 2. **Test coverage 65%** (Maintainability)
156
+ - Risk: Untested code paths
157
+ - Fix: Add tests for uncovered branches
158
+
159
+ ## Quick Wins
160
+
161
+ - Add rate limiting: ~2 hours
162
+ - Increase test coverage: ~4 hours
163
+ - Add performance monitoring: ~1 hour
164
+ ```
165
+
166
+ ## Output 3: Story Update Line
167
+
168
+ **End with this line for the review task to quote:**
169
+
170
+ ```
171
+ NFR assessment: qa.qaLocation/assessments/{epic}.{story}-nfr-{YYYYMMDD}.md
172
+ ```
173
+
174
+ ## Output 4: Gate Integration Line
175
+
176
+ **Always print at the end:**
177
+
178
+ ```
179
+ Gate NFR block ready → paste into qa.qaLocation/gates/{epic}.{story}-{slug}.yml under nfr_validation
180
+ ```
181
+
182
+ ## Assessment Criteria
183
+
184
+ ### Security
185
+
186
+ **PASS if:**
187
+
188
+ - Authentication implemented
189
+ - Authorization enforced
190
+ - Input validation present
191
+ - No hardcoded secrets
192
+
193
+ **CONCERNS if:**
194
+
195
+ - Missing rate limiting
196
+ - Weak encryption
197
+ - Incomplete authorization
198
+
199
+ **FAIL if:**
200
+
201
+ - No authentication
202
+ - Hardcoded credentials
203
+ - SQL injection vulnerabilities
204
+
205
+ ### Performance
206
+
207
+ **PASS if:**
208
+
209
+ - Meets response time targets
210
+ - No obvious bottlenecks
211
+ - Reasonable resource usage
212
+
213
+ **CONCERNS if:**
214
+
215
+ - Close to limits
216
+ - Missing indexes
217
+ - No caching strategy
218
+
219
+ **FAIL if:**
220
+
221
+ - Exceeds response time limits
222
+ - Memory leaks
223
+ - Unoptimized queries
224
+
225
+ ### Reliability
226
+
227
+ **PASS if:**
228
+
229
+ - Error handling present
230
+ - Graceful degradation
231
+ - Retry logic where needed
232
+
233
+ **CONCERNS if:**
234
+
235
+ - Some error cases unhandled
236
+ - No circuit breakers
237
+ - Missing health checks
238
+
239
+ **FAIL if:**
240
+
241
+ - No error handling
242
+ - Crashes on errors
243
+ - No recovery mechanisms
244
+
245
+ ### Maintainability
246
+
247
+ **PASS if:**
248
+
249
+ - Test coverage meets target
250
+ - Code well-structured
251
+ - Documentation present
252
+
253
+ **CONCERNS if:**
254
+
255
+ - Test coverage below target
256
+ - Some code duplication
257
+ - Missing documentation
258
+
259
+ **FAIL if:**
260
+
261
+ - No tests
262
+ - Highly coupled code
263
+ - No documentation
264
+
265
+ ## Quick Reference
266
+
267
+ ### What to Check
268
+
269
+ ```yaml
270
+ security:
271
+ - Authentication mechanism
272
+ - Authorization checks
273
+ - Input validation
274
+ - Secret management
275
+ - Rate limiting
276
+
277
+ performance:
278
+ - Response times
279
+ - Database queries
280
+ - Caching usage
281
+ - Resource consumption
282
+
283
+ reliability:
284
+ - Error handling
285
+ - Retry logic
286
+ - Circuit breakers
287
+ - Health checks
288
+ - Logging
289
+
290
+ maintainability:
291
+ - Test coverage
292
+ - Code structure
293
+ - Documentation
294
+ - Dependencies
295
+ ```
296
+
297
+ ## Key Principles
298
+
299
+ - Focus on the core four NFRs by default
300
+ - Quick assessment, not deep analysis
301
+ - Gate-ready output format
302
+ - Brief, actionable findings
303
+ - Skip what doesn't apply
304
+ - Deterministic status rules for consistency
305
+ - Unknown targets → CONCERNS, not guesses
306
+
307
+ ---
308
+
309
+ ## Appendix: ISO 25010 Reference
310
+
311
+ <details>
312
+ <summary>Full ISO 25010 Quality Model (click to expand)</summary>
313
+
314
+ ### All 8 Quality Characteristics
315
+
316
+ 1. **Functional Suitability**: Completeness, correctness, appropriateness
317
+ 2. **Performance Efficiency**: Time behavior, resource use, capacity
318
+ 3. **Compatibility**: Co-existence, interoperability
319
+ 4. **Usability**: Learnability, operability, accessibility
320
+ 5. **Reliability**: Maturity, availability, fault tolerance
321
+ 6. **Security**: Confidentiality, integrity, authenticity
322
+ 7. **Maintainability**: Modularity, reusability, testability
323
+ 8. **Portability**: Adaptability, installability
324
+
325
+ Use these when assessing beyond the core four.
326
+
327
+ </details>
328
+
329
+ <details>
330
+ <summary>Example: Deep Performance Analysis (click to expand)</summary>
331
+
332
+ ```yaml
333
+ performance_deep_dive:
334
+ response_times:
335
+ p50: 45ms
336
+ p95: 180ms
337
+ p99: 350ms
338
+ database:
339
+ slow_queries: 2
340
+ missing_indexes: ['users.email', 'orders.user_id']
341
+ caching:
342
+ hit_rate: 0%
343
+ recommendation: 'Add Redis for session data'
344
+ load_test:
345
+ max_rps: 150
346
+ breaking_point: 200 rps
347
+ ```
348
+
349
+ </details>