skillstore-cli 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (231) hide show
  1. package/README.md +95 -0
  2. package/data/bundles/devflow-complete.json +19 -0
  3. package/data/free-skills/devflow-agile/manifest.json +19 -0
  4. package/data/free-skills/devflow-agile/plugin/commands/agile/retro.md +23 -0
  5. package/data/free-skills/devflow-agile/plugin/commands/agile/review.md +21 -0
  6. package/data/free-skills/devflow-agile/plugin/commands/agile/sprint.md +30 -0
  7. package/data/free-skills/devflow-agile/plugin/commands/agile/standup.md +20 -0
  8. package/data/free-skills/devflow-agile/plugin/commands/agile.md +35 -0
  9. package/data/free-skills/devflow-agile/plugin/commands/devflow.md +42 -0
  10. package/data/free-skills/devflow-agile/plugin/skills/developer/SKILL.md +93 -0
  11. package/data/free-skills/devflow-agile/plugin/skills/developer/assets/sample-output.md +182 -0
  12. package/data/free-skills/devflow-agile/plugin/skills/developer/references/clean-architecture.md +361 -0
  13. package/data/free-skills/devflow-agile/plugin/skills/developer/references/clean-code-guide.md +207 -0
  14. package/data/free-skills/devflow-agile/plugin/skills/developer/references/debugging-methodology.md +191 -0
  15. package/data/free-skills/devflow-agile/template/agents/agile-coach.md +76 -0
  16. package/data/free-skills/devflow-agile/template/workflows/agile-sprint-workflow.md +81 -0
  17. package/data/free-skills/devflow-bootstrap/manifest.json +8 -0
  18. package/data/free-skills/devflow-bootstrap/plugin/commands/bootstrap/auto.md +31 -0
  19. package/data/free-skills/devflow-bootstrap/plugin/commands/bootstrap.md +38 -0
  20. package/data/free-skills/devflow-bootstrap/plugin/commands/devflow.md +20 -0
  21. package/data/free-skills/devflow-bootstrap/plugin/skills/project-scaffold/SKILL.md +56 -0
  22. package/data/free-skills/devflow-bootstrap/plugin/skills/project-scaffold/assets/sample-output.md +216 -0
  23. package/data/free-skills/devflow-bootstrap/plugin/skills/project-scaffold/references/architecture-decisions.md +254 -0
  24. package/data/free-skills/devflow-bootstrap/plugin/skills/project-scaffold/references/stack-templates.md +400 -0
  25. package/data/free-skills/devflow-bootstrap/template/agents/bootstrap-specialist.md +56 -0
  26. package/data/free-skills/devflow-bootstrap/template/workflows/bootstrap-workflow.md +70 -0
  27. package/data/free-skills/devflow-docs/manifest.json +8 -0
  28. package/data/free-skills/devflow-docs/plugin/commands/devflow.md +20 -0
  29. package/data/free-skills/devflow-docs/plugin/commands/docs/generate.md +17 -0
  30. package/data/free-skills/devflow-docs/plugin/commands/docs/parse.md +19 -0
  31. package/data/free-skills/devflow-docs/plugin/commands/docs.md +26 -0
  32. package/data/free-skills/devflow-docs/plugin/skills/pdf-processor/SKILL.md +59 -0
  33. package/data/free-skills/devflow-docs/plugin/skills/pdf-processor/assets/sample-output.md +114 -0
  34. package/data/free-skills/devflow-docs/plugin/skills/pdf-processor/references/extraction-techniques.md +115 -0
  35. package/data/free-skills/devflow-docs/plugin/skills/pdf-processor/references/ocr-strategies.md +167 -0
  36. package/data/free-skills/devflow-docs/template/agents/docs-specialist.md +35 -0
  37. package/data/free-skills/devflow-docs/template/workflows/docs-workflow.md +70 -0
  38. package/data/free-skills/devflow-postproject/manifest.json +13 -0
  39. package/data/free-skills/devflow-postproject/plugin/commands/devflow.md +34 -0
  40. package/data/free-skills/devflow-postproject/plugin/commands/postproject/handover.md +21 -0
  41. package/data/free-skills/devflow-postproject/plugin/commands/postproject/retro.md +21 -0
  42. package/data/free-skills/devflow-postproject/plugin/commands/postproject/support.md +21 -0
  43. package/data/free-skills/devflow-postproject/plugin/commands/postproject.md +32 -0
  44. package/data/free-skills/devflow-postproject/plugin/skills/retrospective/SKILL.md +70 -0
  45. package/data/free-skills/devflow-postproject/plugin/skills/retrospective/assets/sample-output.md +79 -0
  46. package/data/free-skills/devflow-postproject/plugin/skills/retrospective/references/facilitation-techniques.md +178 -0
  47. package/data/free-skills/devflow-postproject/plugin/skills/retrospective/references/lessons-learned-template.md +118 -0
  48. package/data/free-skills/devflow-postproject/plugin/skills/retrospective/references/retro-techniques.md +100 -0
  49. package/data/free-skills/devflow-postproject/template/agents/transition-manager.md +71 -0
  50. package/data/free-skills/devflow-postproject/template/workflows/transition-workflow.md +72 -0
  51. package/data/free-skills/devflow-presale/manifest.json +15 -0
  52. package/data/free-skills/devflow-presale/plugin/commands/devflow.md +47 -0
  53. package/data/free-skills/devflow-presale/plugin/commands/presale/analyze.md +30 -0
  54. package/data/free-skills/devflow-presale/plugin/commands/presale/estimate.md +30 -0
  55. package/data/free-skills/devflow-presale/plugin/commands/presale/price.md +30 -0
  56. package/data/free-skills/devflow-presale/plugin/commands/presale/propose.md +30 -0
  57. package/data/free-skills/devflow-presale/plugin/commands/presale.md +42 -0
  58. package/data/free-skills/devflow-presale/plugin/skills/requirement-analysis/SKILL.md +63 -0
  59. package/data/free-skills/devflow-presale/plugin/skills/requirement-analysis/assets/sample-output.md +129 -0
  60. package/data/free-skills/devflow-presale/plugin/skills/requirement-analysis/references/extraction-framework.md +140 -0
  61. package/data/free-skills/devflow-presale/plugin/skills/requirement-analysis/references/output-template.md +132 -0
  62. package/data/free-skills/devflow-presale/template/agents/presale-lead.md +83 -0
  63. package/data/free-skills/devflow-presale/template/agents/proposal-reviewer.md +63 -0
  64. package/data/free-skills/devflow-presale/template/workflows/presale-workflow.md +70 -0
  65. package/data/registry/categories.json +7 -0
  66. package/data/registry/packages.json +184 -0
  67. package/data/shared/framework/agents/brainstormer.md +74 -0
  68. package/data/shared/framework/agents/code-reviewer.md +87 -0
  69. package/data/shared/framework/agents/debugger.md +84 -0
  70. package/data/shared/framework/agents/docs-manager.md +55 -0
  71. package/data/shared/framework/agents/git-manager.md +59 -0
  72. package/data/shared/framework/agents/planner.md +68 -0
  73. package/data/shared/framework/agents/researcher.md +66 -0
  74. package/data/shared/framework/agents/tester.md +65 -0
  75. package/data/shared/framework/commands/cook/auto.md +27 -0
  76. package/data/shared/framework/commands/cook.md +45 -0
  77. package/data/shared/framework/commands/fix/ci.md +21 -0
  78. package/data/shared/framework/commands/fix/test.md +26 -0
  79. package/data/shared/framework/commands/fix/types.md +29 -0
  80. package/data/shared/framework/commands/fix.md +26 -0
  81. package/data/shared/framework/commands/git/cm.md +37 -0
  82. package/data/shared/framework/commands/git/pr.md +40 -0
  83. package/data/shared/framework/config/CLAUDE.md.template +26 -0
  84. package/data/shared/framework/config/settings.json +41 -0
  85. package/data/shared/framework/config/skillstore.config.json +29 -0
  86. package/data/shared/framework/hooks/discord-notify.sh +85 -0
  87. package/data/shared/framework/hooks/docs-sync.sh +53 -0
  88. package/data/shared/framework/hooks/modularization-hook.js +103 -0
  89. package/data/shared/framework/hooks/notification.js +94 -0
  90. package/data/shared/framework/hooks/quality-gate.js +109 -0
  91. package/data/shared/framework/hooks/scout-block.js +77 -0
  92. package/data/shared/framework/hooks/telegram-notify.sh +77 -0
  93. package/data/shared/framework/protocols/error-recovery.md +80 -0
  94. package/data/shared/framework/protocols/orchestration-protocol.md +112 -0
  95. package/data/shared/framework/quality/review-protocol.md +76 -0
  96. package/data/shared/framework/quality/verification-protocol.md +66 -0
  97. package/data/shared/framework/rules/development-rules.md +75 -0
  98. package/data/shared/framework/skills/backend-development/SKILL.md +77 -0
  99. package/data/shared/framework/skills/backend-development/assets/sample-output.md +175 -0
  100. package/data/shared/framework/skills/backend-development/references/advanced-patterns.md +180 -0
  101. package/data/shared/framework/skills/backend-development/references/api-design-guide.md +160 -0
  102. package/data/shared/framework/skills/backend-development/references/architecture-patterns.md +183 -0
  103. package/data/shared/framework/skills/backend-development/references/observability-resilience.md +155 -0
  104. package/data/shared/framework/skills/backend-development/references/troubleshooting.md +199 -0
  105. package/data/shared/framework/skills/codebase-analysis/SKILL.md +72 -0
  106. package/data/shared/framework/skills/codebase-analysis/assets/sample-output.md +263 -0
  107. package/data/shared/framework/skills/codebase-analysis/references/analysis-techniques.md +241 -0
  108. package/data/shared/framework/skills/codebase-analysis/references/dependency-mapping.md +280 -0
  109. package/data/shared/framework/skills/codebase-analysis/references/tech-debt-assessment.md +208 -0
  110. package/data/shared/framework/skills/databases/SKILL.md +72 -0
  111. package/data/shared/framework/skills/databases/assets/sample-output.md +212 -0
  112. package/data/shared/framework/skills/databases/references/advanced-data-patterns.md +259 -0
  113. package/data/shared/framework/skills/databases/references/query-optimization.md +214 -0
  114. package/data/shared/framework/skills/databases/references/schema-design.md +159 -0
  115. package/data/shared/framework/skills/databases/references/troubleshooting.md +214 -0
  116. package/data/shared/framework/skills/debugging-investigation/SKILL.md +84 -0
  117. package/data/shared/framework/skills/debugging-investigation/assets/sample-output.md +314 -0
  118. package/data/shared/framework/skills/debugging-investigation/references/systematic-debugging.md +197 -0
  119. package/data/shared/framework/skills/debugging-investigation/references/tool-specific-guides.md +202 -0
  120. package/data/shared/framework/skills/debugging-investigation/references/troubleshooting-patterns.md +196 -0
  121. package/data/shared/framework/skills/frontend-development/SKILL.md +67 -0
  122. package/data/shared/framework/skills/frontend-development/assets/sample-output.md +110 -0
  123. package/data/shared/framework/skills/frontend-development/references/component-patterns.md +112 -0
  124. package/data/shared/framework/skills/frontend-development/references/performance-guide.md +169 -0
  125. package/data/shared/framework/skills/frontend-development/references/routing-forms-realtime.md +374 -0
  126. package/data/shared/framework/skills/frontend-development/references/ssr-rsc-patterns.md +284 -0
  127. package/data/shared/framework/skills/frontend-development/references/troubleshooting.md +154 -0
  128. package/data/shared/framework/skills/mobile-development/SKILL.md +67 -0
  129. package/data/shared/framework/skills/mobile-development/assets/sample-output.md +382 -0
  130. package/data/shared/framework/skills/mobile-development/references/mobile-patterns.md +681 -0
  131. package/data/shared/framework/skills/mobile-development/references/mobile-performance.md +524 -0
  132. package/data/shared/framework/skills/mobile-development/references/troubleshooting.md +158 -0
  133. package/data/shared/framework/skills/security-audit/SKILL.md +83 -0
  134. package/data/shared/framework/skills/security-audit/assets/sample-output.md +451 -0
  135. package/data/shared/framework/skills/security-audit/references/owasp-checklist.md +580 -0
  136. package/data/shared/framework/skills/security-audit/references/secure-coding-patterns.md +433 -0
  137. package/data/shared/framework/skills/security-audit/references/vulnerability-remediation.md +331 -0
  138. package/data/shared/framework/skills/ui-generation/SKILL.md +70 -0
  139. package/data/shared/framework/skills/ui-generation/assets/sample-output.md +139 -0
  140. package/data/shared/framework/skills/ui-generation/references/accessibility-responsive.md +127 -0
  141. package/data/shared/framework/skills/ui-generation/references/compound-components.md +252 -0
  142. package/data/shared/framework/skills/ui-generation/references/generation-patterns.md +110 -0
  143. package/data/shared/framework/skills/ui-generation/references/storybook-design-system.md +278 -0
  144. package/data/shared/framework/skills/ui-generation/references/troubleshooting.md +198 -0
  145. package/data/shared/framework/workflows/documentation-management.md +58 -0
  146. package/data/shared/framework/workflows/primary-workflow.md +88 -0
  147. package/dist/commands/activate.d.ts +3 -0
  148. package/dist/commands/activate.d.ts.map +1 -0
  149. package/dist/commands/activate.js +34 -0
  150. package/dist/commands/activate.js.map +1 -0
  151. package/dist/commands/bundle.d.ts +3 -0
  152. package/dist/commands/bundle.d.ts.map +1 -0
  153. package/dist/commands/bundle.js +64 -0
  154. package/dist/commands/bundle.js.map +1 -0
  155. package/dist/commands/install.d.ts +3 -0
  156. package/dist/commands/install.d.ts.map +1 -0
  157. package/dist/commands/install.js +99 -0
  158. package/dist/commands/install.js.map +1 -0
  159. package/dist/commands/list.d.ts +3 -0
  160. package/dist/commands/list.d.ts.map +1 -0
  161. package/dist/commands/list.js +37 -0
  162. package/dist/commands/list.js.map +1 -0
  163. package/dist/commands/search.d.ts +3 -0
  164. package/dist/commands/search.d.ts.map +1 -0
  165. package/dist/commands/search.js +30 -0
  166. package/dist/commands/search.js.map +1 -0
  167. package/dist/commands/status.d.ts +3 -0
  168. package/dist/commands/status.d.ts.map +1 -0
  169. package/dist/commands/status.js +35 -0
  170. package/dist/commands/status.js.map +1 -0
  171. package/dist/commands/update.d.ts +3 -0
  172. package/dist/commands/update.d.ts.map +1 -0
  173. package/dist/commands/update.js +68 -0
  174. package/dist/commands/update.js.map +1 -0
  175. package/dist/download/cache.d.ts +3 -0
  176. package/dist/download/cache.d.ts.map +1 -0
  177. package/dist/download/cache.js +18 -0
  178. package/dist/download/cache.js.map +1 -0
  179. package/dist/download/client.d.ts +2 -0
  180. package/dist/download/client.d.ts.map +1 -0
  181. package/dist/download/client.js +58 -0
  182. package/dist/download/client.js.map +1 -0
  183. package/dist/index.d.ts +3 -0
  184. package/dist/index.d.ts.map +1 -0
  185. package/dist/index.js +23 -0
  186. package/dist/index.js.map +1 -0
  187. package/dist/installer/file-copier.d.ts +6 -0
  188. package/dist/installer/file-copier.d.ts.map +1 -0
  189. package/dist/installer/file-copier.js +32 -0
  190. package/dist/installer/file-copier.js.map +1 -0
  191. package/dist/installer/plugin-installer.d.ts +12 -0
  192. package/dist/installer/plugin-installer.d.ts.map +1 -0
  193. package/dist/installer/plugin-installer.js +33 -0
  194. package/dist/installer/plugin-installer.js.map +1 -0
  195. package/dist/installer/template-installer.d.ts +12 -0
  196. package/dist/installer/template-installer.d.ts.map +1 -0
  197. package/dist/installer/template-installer.js +45 -0
  198. package/dist/installer/template-installer.js.map +1 -0
  199. package/dist/license/crypto.d.ts +16 -0
  200. package/dist/license/crypto.d.ts.map +1 -0
  201. package/dist/license/crypto.js +50 -0
  202. package/dist/license/crypto.js.map +1 -0
  203. package/dist/license/license-store.d.ts +19 -0
  204. package/dist/license/license-store.d.ts.map +1 -0
  205. package/dist/license/license-store.js +99 -0
  206. package/dist/license/license-store.js.map +1 -0
  207. package/dist/license/validator.d.ts +32 -0
  208. package/dist/license/validator.d.ts.map +1 -0
  209. package/dist/license/validator.js +81 -0
  210. package/dist/license/validator.js.map +1 -0
  211. package/dist/registry/loader.d.ts +30 -0
  212. package/dist/registry/loader.d.ts.map +1 -0
  213. package/dist/registry/loader.js +22 -0
  214. package/dist/registry/loader.js.map +1 -0
  215. package/dist/registry/search-engine.d.ts +9 -0
  216. package/dist/registry/search-engine.d.ts.map +1 -0
  217. package/dist/registry/search-engine.js +30 -0
  218. package/dist/registry/search-engine.js.map +1 -0
  219. package/dist/utils/config.d.ts +14 -0
  220. package/dist/utils/config.d.ts.map +1 -0
  221. package/dist/utils/config.js +28 -0
  222. package/dist/utils/config.js.map +1 -0
  223. package/dist/utils/logger.d.ts +9 -0
  224. package/dist/utils/logger.d.ts.map +1 -0
  225. package/dist/utils/logger.js +22 -0
  226. package/dist/utils/logger.js.map +1 -0
  227. package/dist/utils/paths.d.ts +20 -0
  228. package/dist/utils/paths.d.ts.map +1 -0
  229. package/dist/utils/paths.js +79 -0
  230. package/dist/utils/paths.js.map +1 -0
  231. package/package.json +54 -0
package/README.md ADDED
@@ -0,0 +1,95 @@
1
+ # SkillStore CLI
2
+
3
+ Install and manage skill packages for [Claude Code](https://claude.ai/claude-code).
4
+
5
+ ## Install
6
+
7
+ ```bash
8
+ npm install -g skillstore-cli
9
+ ```
10
+
11
+ ## Quick Start
12
+
13
+ ```bash
14
+ # Browse available packages
15
+ skillstore list
16
+
17
+ # Install free skills (no license needed)
18
+ skillstore install devflow-presale --free-only
19
+
20
+ # Activate a license
21
+ skillstore activate <license-key>
22
+
23
+ # Install full package (requires license)
24
+ skillstore install devflow-presale
25
+
26
+ # Install as template (includes agents + workflows)
27
+ skillstore install devflow-agile --as-template
28
+
29
+ # Install all packages at once
30
+ skillstore install-bundle devflow-complete
31
+ ```
32
+
33
+ ## Packages
34
+
35
+ | Package | Skills | Price | Free Preview |
36
+ |---------|--------|-------|-------------|
37
+ | **DevFlow Presale** | 6 | $29 | requirement-analysis |
38
+ | **DevFlow Agile** | 10 | $49 | developer |
39
+ | **DevFlow Post-Project** | 4 | $19 | retrospective |
40
+ | **DevFlow Docs** | 4 | $19 | pdf-processor |
41
+ | **DevFlow Bootstrap** | 4 | $19 | project-scaffold |
42
+ | **DevFlow Complete** (bundle) | 28 | $99 | — |
43
+
44
+ ## Free Framework Skills
45
+
46
+ These 8 skills are always free — no license required:
47
+
48
+ - `frontend-development` — React, Vue, Angular patterns
49
+ - `backend-development` — API design, Node.js, Python, Java
50
+ - `databases` — SQL/NoSQL, migrations, query optimization
51
+ - `mobile-development` — React Native, Flutter
52
+ - `ui-generation` — Generate UI components from descriptions
53
+ - `debugging-investigation` — Systematic debugging methodology
54
+ - `codebase-analysis` — Architecture analysis, tech debt assessment
55
+ - `security-audit` — OWASP checklist, vulnerability remediation
56
+
57
+ ## Commands
58
+
59
+ | Command | Description |
60
+ |---------|-------------|
61
+ | `skillstore list` | Show all packages with pricing |
62
+ | `skillstore search <query>` | Search packages and skills |
63
+ | `skillstore install <package>` | Install a package |
64
+ | `skillstore install-bundle <name>` | Install a bundle |
65
+ | `skillstore activate <key>` | Activate a license key |
66
+ | `skillstore status` | Show license tier and installed packages |
67
+ | `skillstore update` | Update installed packages |
68
+
69
+ ## Installation Modes
70
+
71
+ **Plugin** (default) — copies skills and commands to `.claude/`:
72
+ ```bash
73
+ skillstore install devflow-presale
74
+ ```
75
+
76
+ **Template** — also copies agents, workflows, and framework config:
77
+ ```bash
78
+ skillstore install devflow-presale --as-template
79
+ ```
80
+
81
+ ## How It Works
82
+
83
+ 1. Free skills and framework are bundled with the CLI — works offline
84
+ 2. Paid skills are downloaded from a secure server after license verification
85
+ 3. Downloaded packages are cached locally for offline use
86
+ 4. All skills follow the [Agent Skills Spec](https://docs.claude.ai/claude-code/skills) — SKILL.md + references + assets
87
+
88
+ ## Requirements
89
+
90
+ - Node.js 18+
91
+ - Claude Code
92
+
93
+ ## License
94
+
95
+ MIT
@@ -0,0 +1,19 @@
1
+ {
2
+ "name": "devflow-complete",
3
+ "displayName": "DevFlow Complete",
4
+ "description": "All 28 DevFlow skills — presale, agile, post-project, docs, and bootstrap in one bundle",
5
+ "packages": [
6
+ "@skillstore/devflow-presale",
7
+ "@skillstore/devflow-agile",
8
+ "@skillstore/devflow-postproject",
9
+ "@skillstore/devflow-docs",
10
+ "@skillstore/devflow-bootstrap"
11
+ ],
12
+ "price": {
13
+ "bundle": 99,
14
+ "individual": 135,
15
+ "savings": 36,
16
+ "currency": "USD"
17
+ },
18
+ "version": "1.2.0"
19
+ }
@@ -0,0 +1,19 @@
1
+ {
2
+ "name": "@skillstore/devflow-agile",
3
+ "version": "1.0.0",
4
+ "skills": [
5
+ "project-manager",
6
+ "scrum-master",
7
+ "business-analyst",
8
+ "solution-architect",
9
+ "tech-lead",
10
+ "team-lead",
11
+ "developer",
12
+ "qa-tester",
13
+ "ui-ux-designer",
14
+ "devops-engineer"
15
+ ],
16
+ "freeSkills": ["developer"],
17
+ "commands": ["agile", "agile/sprint", "agile/standup", "agile/review", "agile/retro"],
18
+ "modes": ["plugin", "template"]
19
+ }
@@ -0,0 +1,23 @@
1
+ ---
2
+ description: Sprint retrospective facilitation
3
+ argument-hint: [sprint number or context]
4
+ ---
5
+
6
+ ## Your Mission
7
+
8
+ <sprint>
9
+ $ARGUMENTS
10
+ </sprint>
11
+
12
+ ## Process
13
+
14
+ 1. Activate `scrum-master` skill for retrospective techniques
15
+ 2. Select appropriate retro format based on team context
16
+ 3. Facilitate discussion areas:
17
+ - What went well
18
+ - What didn't go well
19
+ - What to improve
20
+ 4. Produce:
21
+ - Categorized findings
22
+ - Action items with owners and deadlines
23
+ - Follow-up from previous retro actions
@@ -0,0 +1,21 @@
1
+ ---
2
+ description: Sprint review preparation and facilitation
3
+ argument-hint: [sprint number or context]
4
+ ---
5
+
6
+ ## Your Mission
7
+
8
+ <sprint>
9
+ $ARGUMENTS
10
+ </sprint>
11
+
12
+ ## Process
13
+
14
+ 1. Activate `scrum-master` skill for review structure
15
+ 2. Activate `project-manager` skill for progress metrics
16
+ 3. Compile:
17
+ - Completed stories with demo notes
18
+ - Incomplete stories with reasons
19
+ - Sprint metrics (velocity, goal achievement)
20
+ - Stakeholder feedback items
21
+ 4. Produce sprint review presentation outline
@@ -0,0 +1,30 @@
1
+ ---
2
+ description: Sprint management — planning, execution tracking, or closure
3
+ argument-hint: [plan|track|close] [sprint details]
4
+ ---
5
+
6
+ ## Your Mission
7
+
8
+ <task>
9
+ $ARGUMENTS
10
+ </task>
11
+
12
+ ## Process
13
+
14
+ Based on the action:
15
+
16
+ ### Sprint Planning
17
+ 1. Activate `scrum-master` skill for ceremony facilitation
18
+ 2. Activate `project-manager` skill for capacity planning
19
+ 3. Activate `business-analyst` skill for story refinement
20
+ 4. Produce sprint goal, committed stories, and capacity allocation
21
+
22
+ ### Sprint Tracking
23
+ 1. Activate `scrum-master` skill for metrics
24
+ 2. Activate `project-manager` skill for status reporting
25
+ 3. Identify blockers, risks, and velocity trends
26
+
27
+ ### Sprint Closure
28
+ 1. Activate `scrum-master` skill for review/retro facilitation
29
+ 2. Activate `qa-tester` skill for test completion verification
30
+ 3. Produce sprint summary, velocity, and improvement actions
@@ -0,0 +1,20 @@
1
+ ---
2
+ description: Generate or facilitate daily standup
3
+ argument-hint: [team or context]
4
+ ---
5
+
6
+ ## Your Mission
7
+
8
+ <context>
9
+ $ARGUMENTS
10
+ </context>
11
+
12
+ ## Process
13
+
14
+ 1. Activate `scrum-master` skill
15
+ 2. For each team member / work area:
16
+ - What was completed yesterday
17
+ - What is planned for today
18
+ - Any blockers or dependencies
19
+ 3. Flag items needing escalation
20
+ 4. Produce concise standup summary
@@ -0,0 +1,35 @@
1
+ ---
2
+ description: Agile project workflow orchestrator — manage sprints, ceremonies, and team coordination
3
+ argument-hint: [task or ceremony name]
4
+ ---
5
+
6
+ ## Your Mission
7
+
8
+ <task>
9
+ $ARGUMENTS
10
+ </task>
11
+
12
+ ## Workflow
13
+
14
+ Analyze the task and route to the appropriate role skill:
15
+
16
+ 1. **Understand the request** — What Agile activity is needed?
17
+ 2. **Route to skill** — Based on the task:
18
+ - Project planning/tracking → Activate `project-manager` skill
19
+ - Sprint ceremonies → Activate `scrum-master` skill
20
+ - Requirements/stories → Activate `business-analyst` skill
21
+ - Architecture/design → Activate `solution-architect` skill
22
+ - Code standards/review → Activate `tech-lead` skill
23
+ - Team coordination → Activate `team-lead` skill
24
+ - Implementation → Activate `developer` skill
25
+ - Testing → Activate `qa-tester` skill
26
+ - UI/UX review → Activate `ui-ux-designer` skill
27
+ - CI/CD/infra → Activate `devops-engineer` skill
28
+ 3. **Multi-role if needed** — Complex tasks may require multiple roles
29
+
30
+ ## Sub-commands
31
+
32
+ - `/agile:sprint [action]` — Sprint planning, execution, or closure
33
+ - `/agile:standup [team]` — Generate standup report format
34
+ - `/agile:review [sprint]` — Sprint review preparation
35
+ - `/agile:retro [sprint]` — Sprint retrospective facilitation
@@ -0,0 +1,42 @@
1
+ ---
2
+ description: DevFlow smart router — automatically routes tasks to the right agile role skill
3
+ argument-hint: [task description]
4
+ ---
5
+
6
+ ## Your Mission
7
+
8
+ <task>
9
+ $ARGUMENTS
10
+ </task>
11
+
12
+ ## Smart Routing
13
+
14
+ Analyze the task and determine which role skill to activate:
15
+
16
+ ### Route Detection
17
+ | Keywords/Patterns | Route To |
18
+ |-------------------|----------|
19
+ | plan, schedule, timeline, milestone, status, budget | `project-manager` skill |
20
+ | sprint, ceremony, standup, velocity, burndown, impediment | `scrum-master` skill |
21
+ | story, requirement, acceptance criteria, UAT, process flow | `business-analyst` skill |
22
+ | architecture, design, ADR, NFR, system design, integration | `solution-architect` skill |
23
+ | code review, standards, PR, tech debt, conventions | `tech-lead` skill |
24
+ | assign, mentor, performance, team, coordination | `team-lead` skill |
25
+ | implement, code, debug, feature, fix, build | `developer` skill |
26
+ | test, QA, bug, coverage, automation, regression | `qa-tester` skill |
27
+ | UI, UX, design, wireframe, accessibility, WCAG | `ui-ux-designer` skill |
28
+ | deploy, CI/CD, pipeline, monitoring, infrastructure | `devops-engineer` skill |
29
+
30
+ ### Multi-Role Tasks
31
+ If task requires multiple roles:
32
+ 1. Identify primary role (who owns the outcome)
33
+ 2. Identify supporting roles (who provides input)
34
+ 3. Primary role leads, supporting roles activated as needed
35
+
36
+ ### Ambiguity Handling
37
+ If unclear which role: ask ONE clarifying question.
38
+ Example: "This could be a tech-lead (code review) or developer (implementation) task. Which do you need?"
39
+
40
+ ## References
41
+ - Load `rules/development-rules.md` for quality standards
42
+ - Follow `protocols/error-recovery.md` for failure handling
@@ -0,0 +1,93 @@
1
+ ---
2
+ name: developer
3
+ description: Clean code practices, design patterns, debugging methodology, and development best practices for ITO delivery teams
4
+ ---
5
+
6
+ # Developer
7
+
8
+ Write clean, maintainable code, apply appropriate design patterns, debug systematically, and follow development best practices. Calibrated for developers working in outsourcing teams where code readability and handover-friendliness are critical.
9
+
10
+ ## Triggers
11
+
12
+ Activate this skill when:
13
+ - Implementing a **new feature** and need to plan the approach
14
+ - Fixing a **bug** and need a systematic debugging strategy
15
+ - Improving **code quality** in existing modules (refactoring)
16
+ - Choosing the right **design pattern** for a problem
17
+ - Writing or improving **tests** for business-critical logic
18
+ - Optimizing **performance** of a slow endpoint, query, or UI component
19
+ - Preparing code for **handover** or knowledge transfer
20
+
21
+ ## Inputs
22
+
23
+ Gather before starting:
24
+ 1. **Ticket/story details** — acceptance criteria, priority, linked design/specs
25
+ 2. **Codebase context** — relevant modules, existing patterns, tech stack
26
+ 3. **Test requirements** — coverage expectations, existing test suite, CI gates
27
+ 4. **Performance targets** (if applicable) — response time SLAs, throughput requirements
28
+ 5. **Dependencies** — APIs, libraries, other team members' work in progress
29
+
30
+ ## Process
31
+
32
+ ### Step 1: Understand Before Coding
33
+ - Read the full ticket including comments and linked documents
34
+ - Identify acceptance criteria — these become your test cases
35
+ - Check existing code for **similar implementations** to follow established patterns
36
+ - Ask clarifying questions BEFORE writing code, not after
37
+
38
+ ### Step 2: Plan the Implementation
39
+ - Break the task into **small, testable increments** (each could be a commit)
40
+ - Identify which files need changes and what the impact radius is
41
+ - Design the data flow: input → processing → output → error handling
42
+ - Consider edge cases: null/empty inputs, concurrent access, large datasets
43
+ - See `assets/sample-output.md` for a feature implementation plan example
44
+
45
+ ### Step 3: Write Clean Code
46
+ - Apply **SOLID principles** — especially Single Responsibility and Dependency Inversion
47
+ - Follow **DRY** (Don't Repeat Yourself) but avoid premature abstraction
48
+ - Keep functions **short and focused** — one level of abstraction per function
49
+ - Use **meaningful names** that reveal intent (not `data`, `temp`, `result`)
50
+ - Handle errors explicitly — no silent catches, no swallowed exceptions
51
+ - Reference: `references/clean-code-guide.md` for principles and patterns
52
+
53
+ ### Step 4: Test Your Code
54
+ - Write unit tests for **business logic** — not just happy path
55
+ - Write integration tests for **API endpoints** and **database operations**
56
+ - Test edge cases: boundary values, empty collections, permission errors
57
+ - Aim for meaningful coverage — 80%+ on business logic, less on boilerplate
58
+
59
+ ### Step 5: Debug Systematically
60
+ - **Reproduce** the bug reliably before attempting a fix
61
+ - **Isolate** — narrow down to the smallest failing unit
62
+ - Form a **hypothesis**, test it, iterate
63
+ - Fix the **root cause**, not the symptom
64
+ - Add a **regression test** for every bug fix
65
+ - Reference: `references/debugging-methodology.md` for techniques by scenario
66
+
67
+ ### Step 6: Submit for Review
68
+ - Self-review your diff before creating a PR
69
+ - Write a clear PR description: what changed, why, how to test
70
+ - Keep PRs **small and focused** — under 400 lines of diff when possible
71
+ - Link the ticket and tag relevant reviewers
72
+
73
+ ## Core Areas
74
+
75
+ | Area | Focus | Deliverables |
76
+ |------|-------|-------------|
77
+ | Clean code | Readable, maintainable, intention-revealing | Well-structured code, clear naming |
78
+ | Design patterns | Right pattern for the problem | Documented pattern choices in code/PR |
79
+ | Debugging | Systematic root cause resolution | Bug fix + regression test |
80
+ | Testing | Meaningful coverage of critical paths | Unit tests, integration tests |
81
+ | Performance | Meet SLAs, avoid waste | Profiling results, optimization PRs |
82
+ | Documentation | Code that explains itself + context docs | Inline comments, API docs, runbooks |
83
+
84
+ ## Key Rules
85
+
86
+ - **Never copy-paste** code without understanding it — especially from Stack Overflow or AI suggestions
87
+ - Write code as if the person maintaining it is a **junior developer who joined next month**
88
+ - Every bug fix must include a **test that fails without the fix** and passes with it
89
+ - **Commit early, commit often** — small commits with clear messages are easier to review and revert
90
+ - In ITO projects, **code readability beats cleverness** — your successor needs to understand it
91
+ - If a function needs a comment to explain what it does, **rename the function** instead
92
+ - Log **context, not noise** — include request IDs, user context, and error details in logs
93
+ - When stuck for more than **30 minutes**, ask for help — pairing is not a sign of weakness
@@ -0,0 +1,182 @@
1
+ # Sample Implementation Plan: Password Reset Feature
2
+
3
+ ## Ticket: AUTH-156 — User Password Reset via Email
4
+
5
+ ### Requirements
6
+ - User requests password reset by entering their email address
7
+ - System sends an email with a secure reset link
8
+ - Link expires after 24 hours
9
+ - User clicks link, enters new password (with confirmation)
10
+ - Old sessions are invalidated after password change
11
+ - Rate limit: max 3 reset requests per email per hour
12
+
13
+ ---
14
+
15
+ ## Implementation Approach
16
+
17
+ ### Data Flow
18
+ ```
19
+ User enters email → POST /api/v1/auth/password-reset/request
20
+ → Validate email exists (return success even if not found — prevent enumeration)
21
+ → Generate secure token (crypto.randomBytes, 32 bytes, hex encoded)
22
+ → Store token hash (SHA-256) + userId + expiresAt in password_reset_tokens table
23
+ → Send email with reset link containing the raw token
24
+ → Return 200 OK
25
+
26
+ User clicks link → GET /app/reset-password?token=abc123
27
+ → Frontend shows new password form
28
+
29
+ User submits new password → POST /api/v1/auth/password-reset/confirm
30
+ → Hash the provided token, look up in DB
31
+ → Verify: token exists, not expired, not already used
32
+ → Hash new password (bcrypt, 12 rounds)
33
+ → Update user password
34
+ → Mark token as used
35
+ → Invalidate all existing sessions for this user
36
+ → Return 200 OK
37
+ ```
38
+
39
+ ### Why This Design
40
+ - **Store token hash, not raw token**: If the database is compromised, attacker cannot use stored tokens
41
+ - **Return success even if email not found**: Prevents user enumeration attacks
42
+ - **Mark token as used (not delete)**: Audit trail — know when token was used
43
+ - **Invalidate sessions**: If someone else had access, changing password should lock them out
44
+
45
+ ---
46
+
47
+ ## Implementation Steps
48
+
49
+ ### Step 1: Database Migration
50
+ **File**: `src/migrations/20260320_create_password_reset_tokens.ts`
51
+
52
+ ```sql
53
+ CREATE TABLE password_reset_tokens (
54
+ id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
55
+ user_id UUID NOT NULL REFERENCES users(id),
56
+ token_hash VARCHAR(64) NOT NULL UNIQUE,
57
+ expires_at TIMESTAMP WITH TIME ZONE NOT NULL,
58
+ used_at TIMESTAMP WITH TIME ZONE,
59
+ created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW()
60
+ );
61
+
62
+ CREATE INDEX idx_reset_tokens_hash ON password_reset_tokens(token_hash);
63
+ CREATE INDEX idx_reset_tokens_user_expires ON password_reset_tokens(user_id, created_at);
64
+ ```
65
+
66
+ **Commit after**: migration runs successfully on local DB.
67
+
68
+ ### Step 2: Token Service
69
+ **File**: `src/services/password-reset.service.ts`
70
+
71
+ Responsibilities:
72
+ - `requestReset(email: string)`: Generate token, store hash, send email
73
+ - `confirmReset(token: string, newPassword: string)`: Validate token, update password, invalidate sessions
74
+ - `checkRateLimit(email: string)`: Count requests in last hour, enforce limit
75
+
76
+ Design decisions:
77
+ - Token generation: `crypto.randomBytes(32).toString('hex')` — 256-bit entropy
78
+ - Token hashing: SHA-256 (fast enough for one-time tokens, bcrypt is overkill here)
79
+ - Password hashing: bcrypt with 12 rounds (same as registration flow)
80
+ - Rate limiting: Query `COUNT(*)` from `password_reset_tokens WHERE user_id = X AND created_at > NOW() - INTERVAL '1 hour'`
81
+
82
+ **Commit after**: service with unit tests passes.
83
+
84
+ ### Step 3: API Endpoints
85
+ **File**: `src/routes/auth.routes.ts`
86
+
87
+ | Method | Path | Auth | Request Body | Response |
88
+ |--------|------|------|-------------|---------|
89
+ | POST | `/api/v1/auth/password-reset/request` | None | `{ email: string }` | `{ message: "If the email exists, a reset link has been sent" }` |
90
+ | POST | `/api/v1/auth/password-reset/confirm` | None | `{ token: string, password: string, passwordConfirm: string }` | `{ message: "Password has been reset successfully" }` |
91
+
92
+ Input validation:
93
+ - `email`: valid email format, trimmed, lowercased
94
+ - `password`: min 8 chars, max 128 chars, must contain uppercase + lowercase + number
95
+ - `passwordConfirm`: must match `password`
96
+ - `token`: 64-char hex string (validates format before DB lookup)
97
+
98
+ **Commit after**: endpoints work via Postman/curl, integration test passes.
99
+
100
+ ### Step 4: Email Template
101
+ **File**: `src/templates/email/password-reset.hbs`
102
+
103
+ Content:
104
+ - Subject: "Reset your password — [AppName]"
105
+ - Body: Greeting, explanation, prominent CTA button with reset link, expiration notice (24h), "If you didn't request this" disclaimer
106
+ - Link format: `{APP_URL}/reset-password?token={rawToken}`
107
+
108
+ **Commit after**: email sends correctly in local/staging environment.
109
+
110
+ ### Step 5: Frontend — Request Form
111
+ **File**: `src/pages/ForgotPassword.tsx`
112
+
113
+ - Simple form: email input + submit button
114
+ - On submit: call POST `/request`, show success message regardless of result
115
+ - Disable submit button for 60 seconds after submission (prevent spam clicks)
116
+ - Link back to login page
117
+
118
+ ### Step 6: Frontend — Reset Form
119
+ **File**: `src/pages/ResetPassword.tsx`
120
+
121
+ - Read `token` from URL query parameter
122
+ - Form: new password + confirm password
123
+ - Client-side validation: password strength, match confirmation
124
+ - On submit: call POST `/confirm`
125
+ - On success: redirect to login page with "Password reset successful" message
126
+ - On error (expired/invalid token): show error with link to request a new reset
127
+
128
+ **Commit after**: full flow works end-to-end locally.
129
+
130
+ ### Step 7: Tests
131
+
132
+ | Test Type | File | Cases |
133
+ |-----------|------|-------|
134
+ | Unit | `password-reset.service.test.ts` | Token generation, hash verification, expiration check, rate limiting, used token rejection |
135
+ | Integration | `password-reset.api.test.ts` | Full request→confirm flow, expired token, invalid token format, rate limit exceeded, non-existent email (should still return 200) |
136
+ | E2E | `password-reset.e2e.test.ts` | Happy path through UI (intercept email in test, extract token, complete reset, verify login with new password) |
137
+
138
+ ---
139
+
140
+ ## Edge Cases & Error Handling
141
+
142
+ | Scenario | Expected Behavior |
143
+ |----------|------------------|
144
+ | Email not in system | Return 200 OK (do not reveal if email exists) |
145
+ | Token expired (>24h) | Return 400 with "Reset link has expired. Please request a new one" |
146
+ | Token already used | Return 400 with "This reset link has already been used" |
147
+ | Same email, 4th request within 1 hour | Return 429 with "Too many requests. Please try again later" |
148
+ | Malformed token (not 64 hex chars) | Return 400 with "Invalid reset link" (do not query DB) |
149
+ | Password too weak | Return 400 with specific validation errors |
150
+ | User account disabled/locked | Still send the email but fail at confirm step with generic error |
151
+
152
+ ---
153
+
154
+ ## Security Checklist
155
+
156
+ - [x] Token is cryptographically random (256-bit)
157
+ - [x] Only token hash is stored in DB
158
+ - [x] Token expires after 24 hours
159
+ - [x] Token is single-use (marked as used after confirmation)
160
+ - [x] Rate limited to prevent abuse
161
+ - [x] Email response does not reveal if account exists
162
+ - [x] New password is validated for strength
163
+ - [x] All existing sessions invalidated after reset
164
+ - [x] Reset link uses HTTPS (enforced by APP_URL config)
165
+ - [x] No token in server logs (log only token_hash prefix for debugging)
166
+
167
+ ---
168
+
169
+ ## Files Changed Summary
170
+
171
+ | File | Action | Description |
172
+ |------|--------|-------------|
173
+ | `src/migrations/20260320_create_password_reset_tokens.ts` | New | DB migration for tokens table |
174
+ | `src/services/password-reset.service.ts` | New | Core reset logic (request, confirm, rate limit) |
175
+ | `src/routes/auth.routes.ts` | Modified | Add 2 new endpoints |
176
+ | `src/templates/email/password-reset.hbs` | New | Email template |
177
+ | `src/pages/ForgotPassword.tsx` | New | Request reset form |
178
+ | `src/pages/ResetPassword.tsx` | New | Set new password form |
179
+ | `src/services/__tests__/password-reset.service.test.ts` | New | Unit tests |
180
+ | `src/routes/__tests__/password-reset.api.test.ts` | New | Integration tests |
181
+
182
+ **Estimated effort**: 3 story points (~2 days for a mid-level developer)