@c0x12c/spartan-ai-toolkit 1.0.1

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 (166) hide show
  1. package/.claude-plugin/marketplace.json +16 -0
  2. package/.claude-plugin/plugin.json +12 -0
  3. package/README.md +300 -0
  4. package/VERSION +1 -0
  5. package/agents/idea-killer.md +72 -0
  6. package/agents/micronaut-backend-expert.md +45 -0
  7. package/agents/research-planner.md +70 -0
  8. package/agents/solution-architect-cto.md +49 -0
  9. package/bin/cli.js +589 -0
  10. package/claude-md/00-header.md +39 -0
  11. package/claude-md/01-core.md +94 -0
  12. package/claude-md/05-database.md +20 -0
  13. package/claude-md/11-backend-micronaut.md +36 -0
  14. package/claude-md/20-frontend-react.md +23 -0
  15. package/claude-md/30-project-mgmt.md +91 -0
  16. package/claude-md/40-product.md +36 -0
  17. package/claude-md/50-ops.md +34 -0
  18. package/claude-md/60-research.md +75 -0
  19. package/claude-md/90-footer.md +21 -0
  20. package/commands/spartan/brainstorm.md +134 -0
  21. package/commands/spartan/brownfield.md +157 -0
  22. package/commands/spartan/careful.md +94 -0
  23. package/commands/spartan/content.md +17 -0
  24. package/commands/spartan/context-save.md +161 -0
  25. package/commands/spartan/daily.md +42 -0
  26. package/commands/spartan/debug.md +156 -0
  27. package/commands/spartan/deep-dive.md +55 -0
  28. package/commands/spartan/deploy.md +207 -0
  29. package/commands/spartan/e2e.md +264 -0
  30. package/commands/spartan/env-setup.md +166 -0
  31. package/commands/spartan/fe-review.md +134 -0
  32. package/commands/spartan/figma-to-code.md +244 -0
  33. package/commands/spartan/forensics.md +46 -0
  34. package/commands/spartan/freeze.md +84 -0
  35. package/commands/spartan/full-run.md +78 -0
  36. package/commands/spartan/fundraise.md +53 -0
  37. package/commands/spartan/gsd-upgrade.md +376 -0
  38. package/commands/spartan/guard.md +42 -0
  39. package/commands/spartan/init-project.md +178 -0
  40. package/commands/spartan/interview.md +154 -0
  41. package/commands/spartan/kickoff.md +52 -0
  42. package/commands/spartan/kotlin-service.md +109 -0
  43. package/commands/spartan/lean-canvas.md +222 -0
  44. package/commands/spartan/map-codebase.md +72 -0
  45. package/commands/spartan/migration.md +82 -0
  46. package/commands/spartan/next-app.md +317 -0
  47. package/commands/spartan/next-feature.md +197 -0
  48. package/commands/spartan/outreach.md +16 -0
  49. package/commands/spartan/phase.md +119 -0
  50. package/commands/spartan/pitch.md +18 -0
  51. package/commands/spartan/pr-ready.md +200 -0
  52. package/commands/spartan/project.md +106 -0
  53. package/commands/spartan/quickplan.md +122 -0
  54. package/commands/spartan/research.md +19 -0
  55. package/commands/spartan/review.md +102 -0
  56. package/commands/spartan/teardown.md +161 -0
  57. package/commands/spartan/testcontainer.md +97 -0
  58. package/commands/spartan/think.md +221 -0
  59. package/commands/spartan/unfreeze.md +13 -0
  60. package/commands/spartan/update.md +81 -0
  61. package/commands/spartan/validate.md +193 -0
  62. package/commands/spartan/workstreams.md +109 -0
  63. package/commands/spartan/write.md +16 -0
  64. package/commands/spartan.md +222 -0
  65. package/frameworks/00-framework-comparison-guide.md +317 -0
  66. package/frameworks/01-lean-canvas.md +196 -0
  67. package/frameworks/02-design-sprint.md +304 -0
  68. package/frameworks/03-foundation-sprint.md +337 -0
  69. package/frameworks/04-business-model-canvas.md +391 -0
  70. package/frameworks/05-customer-development.md +426 -0
  71. package/frameworks/06-jobs-to-be-done.md +358 -0
  72. package/frameworks/07-mom-test.md +392 -0
  73. package/frameworks/08-value-proposition-canvas.md +488 -0
  74. package/frameworks/09-javelin-board.md +428 -0
  75. package/frameworks/10-build-measure-learn.md +467 -0
  76. package/frameworks/11-mvp-approaches.md +533 -0
  77. package/frameworks/think-before-build.md +593 -0
  78. package/lib/assembler.js +52 -0
  79. package/lib/packs.js +16 -0
  80. package/lib/resolver.js +144 -0
  81. package/lib/resolver.test.js +140 -0
  82. package/package.json +48 -0
  83. package/packs/backend-micronaut.yaml +34 -0
  84. package/packs/backend-nodejs.yaml +15 -0
  85. package/packs/backend-python.yaml +15 -0
  86. package/packs/core.yaml +25 -0
  87. package/packs/database.yaml +21 -0
  88. package/packs/frontend-react.yaml +23 -0
  89. package/packs/ops.yaml +16 -0
  90. package/packs/packs.compiled.json +281 -0
  91. package/packs/product.yaml +20 -0
  92. package/packs/project-mgmt.yaml +21 -0
  93. package/packs/research.yaml +39 -0
  94. package/packs/shared-backend.yaml +14 -0
  95. package/rules/backend-micronaut/API_DESIGN.md +250 -0
  96. package/rules/backend-micronaut/CONTROLLERS.md +755 -0
  97. package/rules/backend-micronaut/KOTLIN.md +483 -0
  98. package/rules/backend-micronaut/RETROFIT_PLACEMENT.md +258 -0
  99. package/rules/backend-micronaut/SERVICES_AND_BEANS.md +673 -0
  100. package/rules/core/NAMING_CONVENTIONS.md +208 -0
  101. package/rules/database/ORM_AND_REPO.md +393 -0
  102. package/rules/database/SCHEMA.md +146 -0
  103. package/rules/database/TRANSACTIONS.md +311 -0
  104. package/rules/frontend-react/FRONTEND.md +344 -0
  105. package/rules/shared-backend/ARCHITECTURE.md +46 -0
  106. package/skills/api-endpoint-creator/SKILL.md +560 -0
  107. package/skills/api-endpoint-creator/error-handling-guide.md +244 -0
  108. package/skills/api-endpoint-creator/examples.md +522 -0
  109. package/skills/api-endpoint-creator/testing-patterns.md +302 -0
  110. package/skills/article-writing/SKILL.md +95 -0
  111. package/skills/backend-api-design/SKILL.md +187 -0
  112. package/skills/brainstorm/SKILL.md +85 -0
  113. package/skills/competitive-teardown/SKILL.md +105 -0
  114. package/skills/content-engine/SKILL.md +101 -0
  115. package/skills/database-patterns/SKILL.md +145 -0
  116. package/skills/database-table-creator/SKILL.md +588 -0
  117. package/skills/database-table-creator/examples.md +552 -0
  118. package/skills/database-table-creator/migration-template.sql +68 -0
  119. package/skills/database-table-creator/validation-checklist.md +337 -0
  120. package/skills/deep-research/SKILL.md +94 -0
  121. package/skills/idea-validation/SKILL.md +115 -0
  122. package/skills/investor-materials/SKILL.md +115 -0
  123. package/skills/investor-outreach/SKILL.md +98 -0
  124. package/skills/kotlin-best-practices/SKILL.md +145 -0
  125. package/skills/market-research/SKILL.md +113 -0
  126. package/skills/security-checklist/SKILL.md +150 -0
  127. package/skills/startup-pipeline/SKILL.md +125 -0
  128. package/skills/testing-strategies/SKILL.md +156 -0
  129. package/skills/ui-ux-pro-max/SKILL.md +377 -0
  130. package/skills/ui-ux-pro-max/data/charts.csv +26 -0
  131. package/skills/ui-ux-pro-max/data/colors.csv +97 -0
  132. package/skills/ui-ux-pro-max/data/icons.csv +101 -0
  133. package/skills/ui-ux-pro-max/data/landing.csv +31 -0
  134. package/skills/ui-ux-pro-max/data/products.csv +97 -0
  135. package/skills/ui-ux-pro-max/data/react-performance.csv +45 -0
  136. package/skills/ui-ux-pro-max/data/stacks/astro.csv +54 -0
  137. package/skills/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
  138. package/skills/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
  139. package/skills/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -0
  140. package/skills/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
  141. package/skills/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
  142. package/skills/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
  143. package/skills/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
  144. package/skills/ui-ux-pro-max/data/stacks/react.csv +54 -0
  145. package/skills/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
  146. package/skills/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
  147. package/skills/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
  148. package/skills/ui-ux-pro-max/data/stacks/vue.csv +50 -0
  149. package/skills/ui-ux-pro-max/data/styles.csv +68 -0
  150. package/skills/ui-ux-pro-max/data/typography.csv +58 -0
  151. package/skills/ui-ux-pro-max/data/ui-reasoning.csv +101 -0
  152. package/skills/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
  153. package/skills/ui-ux-pro-max/data/web-interface.csv +31 -0
  154. package/skills/ui-ux-pro-max/scripts/core.py +253 -0
  155. package/skills/ui-ux-pro-max/scripts/design_system.py +1067 -0
  156. package/skills/ui-ux-pro-max/scripts/search.py +114 -0
  157. package/templates/competitor-analysis.md +60 -0
  158. package/templates/content/AGENT_TEMPLATE.md +47 -0
  159. package/templates/content/COMMAND_TEMPLATE.md +27 -0
  160. package/templates/content/RULE_TEMPLATE.md +40 -0
  161. package/templates/content/SKILL_TEMPLATE.md +41 -0
  162. package/templates/idea-canvas.md +47 -0
  163. package/templates/prd-template.md +84 -0
  164. package/templates/project-readme.md +35 -0
  165. package/templates/user-interview.md +69 -0
  166. package/templates/validation-checklist.md +108 -0
@@ -0,0 +1,200 @@
1
+ ---
2
+ name: spartan:pr-ready
3
+ description: Full pre-PR workflow — rebase onto main, run all checks (tests, conventions, security), generate PR description, and create the GitHub PR. Run when a feature/fix is complete.
4
+ argument-hint: "[optional: PR title]"
5
+ ---
6
+
7
+ # PR Ready: {{ args[0] | default: "current branch" }}
8
+
9
+ Full workflow: rebase → checks → push → create PR.
10
+ Fix ALL blockers before proceeding to the next step.
11
+
12
+ ---
13
+
14
+ ## Step 1: Current State
15
+
16
+ ```bash
17
+ git branch --show-current
18
+ git status
19
+ git log main...HEAD --oneline
20
+ git diff main...HEAD --shortstat
21
+ ```
22
+
23
+ If uncommitted changes exist → commit or stash before continuing.
24
+
25
+ ---
26
+
27
+ ## Step 2: Rebase onto Main
28
+
29
+ ```bash
30
+ # Fetch latest
31
+ git fetch origin
32
+
33
+ # See what's new on main
34
+ git log HEAD..origin/main --oneline
35
+ ```
36
+
37
+ If main has new commits:
38
+ ```bash
39
+ git rebase origin/main
40
+ ```
41
+
42
+ **Conflict resolution:**
43
+ 1. Find conflict markers `<<<<<<<` / `=======` / `>>>>>>>`
44
+ 2. Resolve each file — keep the correct version
45
+ 3. `git add [file]` → `git rebase --continue`
46
+ 4. Repeat until done
47
+
48
+ Abort if needed: `git rebase --abort`
49
+
50
+ Verify after rebase:
51
+ ```bash
52
+ git log main...HEAD --oneline # commits look correct?
53
+ git diff main...HEAD --stat # changes still intact?
54
+ ```
55
+
56
+ ---
57
+
58
+ ## Step 3: Tests (hard blocker)
59
+
60
+ ```bash
61
+ # Kotlin BE
62
+ ./gradlew clean test
63
+ ./gradlew integrationTest 2>/dev/null
64
+
65
+ # Next.js FE
66
+ npm run test:run 2>/dev/null
67
+ ```
68
+
69
+ **Any failure = stop. Fix tests before continuing.**
70
+
71
+ ---
72
+
73
+ ## Step 4: Code Quality
74
+
75
+ ```bash
76
+ ./gradlew ktlintCheck 2>/dev/null
77
+ ./gradlew detekt 2>/dev/null
78
+ ./gradlew compileKotlin 2>&1 | grep -i "warning"
79
+ ```
80
+
81
+ Check the diff for:
82
+ - [ ] No `!!` operator (null safety violation)
83
+ - [ ] No `println` — use SLF4J
84
+ - [ ] No hardcoded values (URLs, secrets, magic numbers)
85
+ - [ ] No commented-out code
86
+ - [ ] No TODOs without ticket reference
87
+
88
+ ---
89
+
90
+ ## Step 5: Architecture Check
91
+
92
+ ```bash
93
+ # Verify layered architecture (Controller → Manager → Repository)
94
+ # Controllers should only call Managers
95
+ grep -r "Repository\|Service" src/main/kotlin/*/controller/ --include="*.kt" | grep -v "import"
96
+ ```
97
+
98
+ - [ ] Controllers are thin — delegate to Manager only
99
+ - [ ] `@Secured` annotation on all controllers
100
+ - [ ] `@ExecuteOn(TaskExecutors.BLOCKING)` on blocking endpoints
101
+ - [ ] Manager returns `Either<ClientException, T>`, not raw types
102
+ - [ ] No business logic in controllers or repositories
103
+ - [ ] Query parameters only — no path parameters (API_RULES)
104
+
105
+ ---
106
+
107
+ ## Step 6: DB & Security
108
+
109
+ ```bash
110
+ # Migration order correct?
111
+ ls src/main/resources/db/migration/ | sort | tail -5
112
+ ./gradlew flywayValidate 2>/dev/null
113
+
114
+ # Accidental secrets?
115
+ git diff main...HEAD | grep -iE "(password|secret|api_key|token)\s*=" \
116
+ | grep -v "test\|mock\|example\|placeholder\|your-"
117
+ ```
118
+
119
+ - [ ] Flyway migration version number is next in sequence
120
+ - [ ] Migration is backward-compatible
121
+ - [ ] No secrets committed
122
+
123
+ ---
124
+
125
+ ## Step 7: Generate PR Description
126
+
127
+ From `git log main...HEAD` and `git diff`, write:
128
+
129
+ ```markdown
130
+ ## Summary
131
+ [2-3 sentences: what and why]
132
+
133
+ ## Changes
134
+ - [change 1]
135
+ - [change 2]
136
+ - [change 3]
137
+
138
+ ## Testing
139
+ - [ ] Unit tests added/updated
140
+ - [ ] Integration tests pass
141
+ - [ ] Manual testing: [describe if any]
142
+
143
+ ## DB Changes
144
+ [None / Migration V{N}__desc — backward compatible]
145
+
146
+ ## Breaking Changes
147
+ [None / describe]
148
+
149
+ ## Related
150
+ - Ticket: [if applicable]
151
+ ```
152
+
153
+ ---
154
+
155
+ ## Step 8: Push & Create PR
156
+
157
+ ```bash
158
+ # Push (force-with-lease is safe after rebase — won't overwrite others' work)
159
+ git push origin HEAD --force-with-lease
160
+ ```
161
+
162
+ **Create PR with GitHub CLI (if installed):**
163
+ ```bash
164
+ gh pr create \
165
+ --title "{{ args[0] | default: "type(scope): description" }}" \
166
+ --body "[PR description from Step 7]" \
167
+ --base main \
168
+ --draft
169
+ ```
170
+
171
+ Creates as **draft** — review on GitHub, then mark "Ready for review" when satisfied.
172
+
173
+ **If `gh` not installed:**
174
+ ```bash
175
+ # Get remote URL to open in browser
176
+ git remote get-url origin
177
+ ```
178
+ Go to GitHub → compare & pull request → paste description from Step 7.
179
+
180
+ Install `gh` CLI for next time: `brew install gh && gh auth login`
181
+
182
+ ---
183
+
184
+ ## Final Verdict
185
+
186
+ **✅ PR CREATED** — link above. Review on GitHub and mark ready when satisfied.
187
+
188
+ **❌ BLOCKERS:**
189
+ ```
190
+ [file:line — what to fix]
191
+ ```
192
+ Fix → re-run `/spartan:pr-ready`.
193
+
194
+ ---
195
+
196
+ ## Rebase Rules (Spartan Convention)
197
+
198
+ - Always rebase **feature/fix branches** onto `main` before PR
199
+ - Never rebase `main`, `develop`, or any shared branch
200
+ - `--force-with-lease` instead of `--force` — safer, won't overwrite teammates' pushes
@@ -0,0 +1,106 @@
1
+ ---
2
+ name: spartan:project
3
+ description: Manage large multi-session projects (> 3 days). Handles full lifecycle — create, check status, start new milestones, complete milestones. This is the Spartan wrapper for GSD project commands.
4
+ argument-hint: "[new | status | milestone-new | milestone-complete | milestone-summary | manager]"
5
+ ---
6
+
7
+ # Project Management: {{ args[0] | default: "status" }}
8
+
9
+ You are managing a large project using the GSD lifecycle under the hood.
10
+ The user does NOT need to know about `/gsd:*` commands — everything runs through `/spartan:*`.
11
+
12
+ ---
13
+
14
+ ## Route by argument
15
+
16
+ {% if args[0] == "new" %}
17
+ ## New Project
18
+
19
+ Starting a full project lifecycle. This is for work spanning multiple days/weeks.
20
+
21
+ **Run:** `/gsd:new-project`
22
+
23
+ Claude will interview the user about:
24
+ - What is the project?
25
+ - Tech stack and constraints?
26
+ - Milestones and goals?
27
+
28
+ Then generate:
29
+ - `PROJECT.md` — full project brief
30
+ - `ROADMAP.md` — all milestones + phases
31
+ - `.planning/config.json` — GSD settings
32
+
33
+ After creation, tell the user:
34
+ "Project created. Next step: `/spartan:phase discuss 1` to start Phase 1."
35
+
36
+ {% elif args[0] == "status" or args[0] == nil %}
37
+ ## Project Status
38
+
39
+ **Run:** `/gsd:status`
40
+
41
+ Show current state:
42
+ - Which project is active
43
+ - Current milestone and phase
44
+ - What was completed, what's next
45
+
46
+ Then suggest the next action using `/spartan:` commands:
47
+ - Need to discuss next phase? → "Run `/spartan:phase discuss N`"
48
+ - Need to plan? → "Run `/spartan:phase plan N`"
49
+ - Need to execute? → "Run `/spartan:phase execute N`"
50
+ - Need to verify? → "Run `/spartan:phase verify N`"
51
+ - Milestone done? → "Run `/spartan:project milestone-complete`"
52
+
53
+ **Never suggest `/gsd:*` commands to the user.** Always translate to `/spartan:*`.
54
+
55
+ {% elif args[0] == "milestone-new" %}
56
+ ## New Milestone
57
+
58
+ Starting the next milestone on an existing project.
59
+
60
+ **Run:** `/gsd:new-milestone`
61
+
62
+ After creation, tell the user:
63
+ "Milestone created. Next step: `/spartan:phase discuss 1` to start Phase 1 of this milestone."
64
+
65
+ {% elif args[0] == "milestone-complete" %}
66
+ ## Complete Milestone
67
+
68
+ Archiving current milestone and tagging the release.
69
+
70
+ **Run:** `/gsd:complete-milestone`
71
+
72
+ After completion, tell the user:
73
+ "Milestone archived and tagged. Next step: `/spartan:project milestone-new` if there's more work, or you're done!"
74
+
75
+ {% elif args[0] == "milestone-summary" %}
76
+ ## Milestone Summary
77
+
78
+ Generate a comprehensive summary document from completed milestone artifacts. Useful for team onboarding, stakeholder updates, or reviewing what was accomplished.
79
+
80
+ **Run:** `/gsd:milestone-summary`
81
+
82
+ After generation, tell the user:
83
+ "Milestone summary generated. Share it with your team for onboarding or review."
84
+
85
+ {% elif args[0] == "manager" %}
86
+ ## Project Manager (Interactive Command Center)
87
+
88
+ Launch an interactive command center for managing multiple phases from one terminal. Power user tool for overseeing complex projects.
89
+
90
+ **Run:** `/gsd:manager`
91
+
92
+ This provides a dashboard view of all phases, their status, and quick actions — all through `/spartan:*` commands.
93
+
94
+ **Never suggest `/gsd:*` commands to the user.** Always translate to `/spartan:*`.
95
+
96
+ {% else %}
97
+ ## Unknown argument: {{ args[0] }}
98
+
99
+ Available options:
100
+ - `/spartan:project new` — Start a new multi-day project
101
+ - `/spartan:project status` — Check where you are
102
+ - `/spartan:project milestone-new` — Start next milestone
103
+ - `/spartan:project milestone-complete` — Archive current milestone
104
+ - `/spartan:project milestone-summary` — Generate onboarding doc from milestone
105
+ - `/spartan:project manager` — Interactive command center for power users
106
+ {% endif %}
@@ -0,0 +1,122 @@
1
+ ---
2
+ name: spartan:quickplan
3
+ description: Fast-forward planning — scaffold spec + plan + branch in one shot for tasks too small for full GSD lifecycle but too important to skip planning.
4
+ argument-hint: "[task description]"
5
+ ---
6
+
7
+ # Quick Plan: {{ args[0] }}
8
+
9
+ You are running a **fast-forward planning session** — inspired by OpenSpec's `/opsx:ff`.
10
+ Goal: go from idea → actionable plan in one pass, without multi-step ceremony.
11
+
12
+ This command is for tasks that are:
13
+ - Too small for a full GSD milestone (< 1 day of work)
14
+ - Too important to just "vibe code" without a plan
15
+ - Self-contained with clear scope
16
+
17
+ ---
18
+
19
+ ## Step 1: Research (parallel, 2 min)
20
+
21
+ Run these two investigations simultaneously using subagents:
22
+
23
+ **Subagent A — Codebase scan:**
24
+ - Find all files relevant to: {{ args[0] }}
25
+ - Identify existing patterns, conventions already in use
26
+ - Note any tests that might be affected
27
+
28
+ **Subagent B — Impact analysis:**
29
+ - What could break?
30
+ - Any DB migrations needed?
31
+ - API contract changes?
32
+ - Dependencies between services?
33
+
34
+ ---
35
+
36
+ ## Step 2: Generate Spec (inline, no file needed)
37
+
38
+ Present a concise spec in this format. Keep it under 30 lines:
39
+
40
+ ```markdown
41
+ ## Spec: [task name]
42
+
43
+ **Goal:** [one sentence — what success looks like]
44
+
45
+ **Scope:**
46
+ - IN: [what will be built]
47
+ - OUT: [what is explicitly NOT in scope]
48
+
49
+ **Acceptance criteria:**
50
+ 1. [testable criterion]
51
+ 2. [testable criterion]
52
+ 3. [testable criterion]
53
+
54
+ **Approach:** [2-3 sentences on implementation approach]
55
+
56
+ **Risks / unknowns:** [any?]
57
+ ```
58
+
59
+ Ask: "Does this spec match your intent? Any changes before we plan?"
60
+ **Auto mode on?** → Skip this question, continue immediately. Show spec but don't wait.
61
+ **Auto mode off (default)?** → Wait for approval. If the user says "yes" / "go" / "lgtm" → continue.
62
+
63
+ ---
64
+
65
+ ## Step 3: Generate Plan (immediately after spec approval)
66
+
67
+ Break into **max 4 atomic tasks**. Each task must:
68
+ - Be completable in one commit
69
+ - Have a clear verification step
70
+ - Follow TDD (test first)
71
+
72
+ Format:
73
+ ```markdown
74
+ ## Plan: [task name]
75
+ Branch: feature/[ticket-or-slug]
76
+
77
+ ### Task 1: [name]
78
+ Files: [exact file paths]
79
+ Test first: [what test to write]
80
+ Implementation: [what to change]
81
+ Commit: feat([scope]): [message]
82
+ Verify: [how to confirm it works]
83
+
84
+ ### Task 2: ...
85
+ ```
86
+
87
+ ---
88
+
89
+ ## Step 4: Create branch + first test
90
+
91
+ ```bash
92
+ git checkout -b feature/[slug]
93
+ ```
94
+
95
+ Then immediately write the first failing test for Task 1.
96
+ Do NOT write any production code yet.
97
+
98
+ Show the red test output, then:
99
+ **Auto mode on?** → Immediately start executing task by task. Don't wait.
100
+ **Auto mode off?** → Say "Plan is ready. Say **'go'** to start executing task by task, or **'adjust'** to modify the plan."
101
+
102
+ ---
103
+
104
+ ## Execution mode (after "go")
105
+
106
+ Execute each task in sequence:
107
+ 1. Write test → confirm it fails (red)
108
+ 2. Write minimal implementation → confirm test passes (green)
109
+ 3. Refactor if needed
110
+ 4. Commit with atomic message
111
+ 5. Show summary, move to next task
112
+
113
+ After all tasks: run full test suite, then say:
114
+ "All tasks complete. Ready for `/spartan:pr-ready` to prep the PR."
115
+
116
+ ## Rules
117
+
118
+ - Max 4 tasks — if you need more, the scope is too big for quickplan
119
+ - Every task must be one commit
120
+ - Test first (TDD) — write the failing test before the implementation
121
+ - Don't skip the spec approval step unless auto mode is on
122
+ - Keep the spec under 30 lines — if it's longer, use `/spartan:phase` instead
@@ -0,0 +1,19 @@
1
+ ---
2
+ name: spartan:research
3
+ description: Run a deep research session with web search, source checking, and structured report
4
+ argument-hint: "[topic to research]"
5
+ ---
6
+
7
+ # Research: {{ args[0] | default: "your topic" }}
8
+
9
+ Run a deep research session.
10
+
11
+ ## Steps
12
+
13
+ 1. Use the `deep-research` skill
14
+ 2. Use web search to find real data
15
+ 3. Cross-check sources
16
+ 4. Write a structured report
17
+ 5. Save output to the project's `02-research/` folder
18
+
19
+ If no project folder exists yet, ask which project this is for.
@@ -0,0 +1,102 @@
1
+ ---
2
+ name: spartan:review
3
+ description: Perform a thorough PR review following Spartan Kotlin + Micronaut conventions and company rules
4
+ argument-hint: "[optional: branch name or PR description]"
5
+ ---
6
+
7
+ # Code Review: {{ args[0] | default: "current changes" }}
8
+
9
+ Perform a comprehensive code review of the current changes. Use the `git diff` tool to inspect
10
+ all modified files. Analyze the changes systematically.
11
+
12
+ **Before reviewing, reference these company rules:**
13
+ - `rules/backend-micronaut/KOTLIN.md` — Null safety, Either, coroutines
14
+ - `rules/backend-micronaut/CONTROLLERS.md` — Controller → Manager → Service/Repository
15
+ - `rules/backend-micronaut/API_DESIGN.md` — Query params only, RPC-style URLs
16
+ - `rules/database/SCHEMA.md` — No FK, TEXT not VARCHAR, soft deletes
17
+
18
+ ## Review Checklist
19
+
20
+ ### Stage 1: Correctness & Business Logic
21
+ - [ ] Does the implementation match the stated requirements/ticket?
22
+ - [ ] Are all edge cases handled?
23
+ - [ ] Is error handling using `Either<ClientException, T>` (not exceptions)?
24
+ - [ ] Are there any `!!` operators? (BANNED — see CORE_RULES)
25
+ - [ ] Are all coroutine scopes properly managed?
26
+
27
+ ### Stage 2: Kotlin & Micronaut Conventions
28
+ - [ ] Controllers are thin — delegate to Manager immediately
29
+ - [ ] `@ExecuteOn(TaskExecutors.BLOCKING)` on controller methods that call blocking code
30
+ - [ ] `@Secured` annotation present on all controllers
31
+ - [ ] Manager returns `Either<ClientException, T>`, not raw types or exceptions
32
+ - [ ] Query parameters used (no path parameters like `/{id}`)
33
+ - [ ] Null safety: safe call + elvis, no `!!`
34
+ - [ ] Extension functions preferred over utility classes
35
+
36
+ ### Stage 3: Test Coverage
37
+ - [ ] New endpoints have `@MicronautTest` integration tests
38
+ - [ ] Tests follow the pattern from `/testing-strategies` skill
39
+ - [ ] Tests are independent (no test order dependencies)
40
+ - [ ] Edge cases are tested
41
+ - [ ] Test uses proper test data builders
42
+
43
+ ### Stage 4: Clean Code & Architecture
44
+ - [ ] Layered architecture: Controller → Manager → Service/Repository
45
+ - [ ] No business logic in controllers or repositories
46
+ - [ ] Package structure follows controller/manager/service/repository/model
47
+ - [ ] No cyclic dependencies between packages
48
+ - [ ] Functions are small and single-purpose
49
+
50
+ ### Stage 5: Database & API
51
+ - [ ] Migrations use TEXT not VARCHAR (DATABASE_RULES)
52
+ - [ ] No foreign key constraints (DATABASE_RULES)
53
+ - [ ] Soft delete with `deleted_at` (no hard deletes)
54
+ - [ ] Standard columns present: `id`, `created_at`, `updated_at`, `deleted_at`
55
+ - [ ] UUID primary keys
56
+ - [ ] API URLs follow RPC style (API_RULES)
57
+ - [ ] No sensitive data logged
58
+ - [ ] Input validation on all public API endpoints
59
+
60
+ ## Output Format
61
+
62
+ Provide review results as:
63
+
64
+ ```
65
+ ## PR Review Summary
66
+
67
+ ### ✅ Approved / ⚠️ Needs Changes / ❌ Blocked
68
+
69
+ ### Critical Issues (must fix)
70
+ - [issue with file:line reference]
71
+
72
+ ### Suggestions (nice to have)
73
+ - [suggestion]
74
+
75
+ ### Praise (what was done well)
76
+ - [positive note]
77
+
78
+ ### Verdict
79
+ [Final recommendation]
80
+ ```
81
+
82
+ ### Stage 6: Documentation Gap Analysis (from pr-reviewer agent)
83
+ After reviewing code, check if any patterns found should be documented:
84
+ - [ ] New architectural pattern used? → Update `rules/shared-backend/ARCHITECTURE.md`
85
+ - [ ] New error handling pattern? → Update `rules/backend-micronaut/KOTLIN.md`
86
+ - [ ] New database pattern? → Update `rules/database/SCHEMA.md`
87
+ - [ ] Recurring PR feedback theme? → Create new rule or update existing
88
+ - [ ] New convention established? → Update CLAUDE.md or `.memory/patterns/`
89
+
90
+ If documentation updates needed, list them at the end of the review:
91
+ ```
92
+ ### Documentation Updates Needed
93
+ - [file]: [what to add/update and why]
94
+ ```
95
+
96
+ ## Rules
97
+
98
+ - Always use `git diff` to inspect actual changes — don't guess from filenames
99
+ - Reference the company rules files before checking code
100
+ - Every finding must include file:line reference
101
+ - Separate "must fix" from "nice to have" — don't block PRs on style nits
102
+ - Praise good code — reviews aren't just for finding problems
@@ -0,0 +1,161 @@
1
+ ---
2
+ name: spartan:teardown
3
+ description: Deep competitor analysis — pricing, features, strengths, weaknesses, and where they leave gaps
4
+ argument-hint: "[competitor name or URL]"
5
+ ---
6
+
7
+ # Competitor Teardown: {{ args[0] | default: "competitor" }}
8
+
9
+ You are running a deep competitor analysis. Be brutally honest — don't downplay their strengths or inflate their weaknesses. The goal is to understand them clearly so we can find real gaps.
10
+
11
+ If the user gives a URL, use web search to find real data about the company. If they give just a name, search for it.
12
+
13
+ **Use web search** to find pricing pages, G2/Capterra reviews, traffic data, and social media mentions. Real data beats guessing.
14
+
15
+ ---
16
+
17
+ ## Section 1: Overview
18
+
19
+ Write one paragraph: What do they do? Who do they serve? When were they founded? How big are they?
20
+
21
+ Keep it factual. No opinions yet.
22
+
23
+ ---
24
+
25
+ ## Section 2: Pricing
26
+
27
+ | Plan | Price | Key Features |
28
+ |---|---|---|
29
+ | Free / Trial | | |
30
+ | Starter / Basic | | |
31
+ | Pro / Growth | | |
32
+ | Enterprise | | |
33
+
34
+ Note: Do they have a free tier? Free trial length? Annual vs monthly pricing difference?
35
+ What's the cheapest way to get started?
36
+
37
+ ---
38
+
39
+ ## Section 3: Feature Breakdown
40
+
41
+ | Feature | Have It? | How Good? (1-5) | Notes |
42
+ |---|---|---|---|
43
+ | [core feature 1] | Yes/No | | |
44
+ | [core feature 2] | Yes/No | | |
45
+ | [core feature 3] | Yes/No | | |
46
+ | ... | | | |
47
+
48
+ List 10-15 features that matter for this market. Score quality honestly.
49
+
50
+ ---
51
+
52
+ ## Section 4: What They Do Well (Top 3)
53
+
54
+ List their top 3 strengths. For each one:
55
+ - What is it?
56
+ - Evidence (user reviews, market position, product quality)
57
+ - How hard would it be to match this?
58
+
59
+ Don't skip this. If they're winning, there's a reason.
60
+
61
+ ---
62
+
63
+ ## Section 5: What They Do Poorly (Top 3)
64
+
65
+ List their top 3 weaknesses. For each one:
66
+ - What is it?
67
+ - Evidence (user complaints, missing features, bad UX)
68
+ - Is this a real gap or just nitpicking?
69
+
70
+ Only list real problems. "Their logo is ugly" doesn't count.
71
+
72
+ ---
73
+
74
+ ## Section 6: User Reviews
75
+
76
+ Search G2, Capterra, Reddit, Twitter/X, Product Hunt for real user feedback.
77
+
78
+ **What users love:**
79
+ - [quote or paraphrase + source]
80
+ - [quote or paraphrase + source]
81
+ - [quote or paraphrase + source]
82
+
83
+ **What users hate:**
84
+ - [quote or paraphrase + source]
85
+ - [quote or paraphrase + source]
86
+ - [quote or paraphrase + source]
87
+
88
+ **Common themes:** What shows up over and over in reviews?
89
+
90
+ ---
91
+
92
+ ## Section 7: Traffic & Traction
93
+
94
+ | Metric | Value | Source |
95
+ |---|---|---|
96
+ | Monthly visitors (estimate) | | SimilarWeb / search |
97
+ | Growth trend | Growing / Flat / Declining | |
98
+ | Team size (estimate) | | LinkedIn / Crunchbase |
99
+ | Total funding | | Crunchbase |
100
+ | Last funding round | | |
101
+ | Notable customers | | |
102
+
103
+ If data isn't available, say so. Don't make up numbers.
104
+
105
+ ---
106
+
107
+ ## Section 8: How They Get Users
108
+
109
+ Check which channels they use:
110
+
111
+ | Channel | Active? | Evidence |
112
+ |---|---|---|
113
+ | SEO / Content marketing | | Blog posts? Ranking for key terms? |
114
+ | Paid ads (Google/Meta) | | Found ads? Sponsorships? |
115
+ | Social media | | Active accounts? Engagement? |
116
+ | Community / Forums | | Discord? Slack? Reddit presence? |
117
+ | Partnerships / Integrations | | App stores? Partner pages? |
118
+ | Word of mouth / Referrals | | Referral program? Organic mentions? |
119
+ | Product Hunt / Launch sites | | Past launches? |
120
+
121
+ What's their main growth channel? Where do most users come from?
122
+
123
+ ---
124
+
125
+ ## Section 9: Positioning
126
+
127
+ - **How they describe themselves:** [their tagline / hero text]
128
+ - **Target persona:** Who are they really building for?
129
+ - **Positioning:** Are they the cheap option? The premium option? The easy option? The powerful option?
130
+ - **Brand voice:** Corporate / Casual / Technical / Friendly?
131
+
132
+ ---
133
+
134
+ ## Section 10: Our Opportunity
135
+
136
+ This is the "so what?" section. Based on everything above:
137
+
138
+ **Gaps they leave open:**
139
+ - [gap 1 — who's underserved?]
140
+ - [gap 2 — what feature is missing or weak?]
141
+ - [gap 3 — what segment do they ignore?]
142
+
143
+ **What we'd do differently:**
144
+ - [difference 1]
145
+ - [difference 2]
146
+ - [difference 3]
147
+
148
+ ---
149
+
150
+ ## So What?
151
+
152
+ Write one paragraph: What does this teardown mean for our strategy? Where should we compete, and where should we avoid competing?
153
+
154
+ Be specific. "We should differentiate" is useless. Say HOW and WHERE.
155
+
156
+ ---
157
+
158
+ **Next steps:**
159
+ - Want to analyze another competitor? Run `/spartan:teardown [name]` again
160
+ - Ready to compare multiple competitors side by side? Ask me to build a comparison matrix
161
+ - Want to validate your positioning? Run `/spartan:validate` with your idea