From solo-sdlc
Generate concrete, actionable improvement recommendations after every phase, every implementation, and every review. Use this skill at the END of every Claude Code task. Triggers when a phase completes, after implementation is done, after a code review, or when the user asks "what could be better". The user explicitly values critical analysis over validation. Outputs structured recommendations the user can act on or ignore.
How this skill is triggered — by the user, by Claude, or both
Slash command
/solo-sdlc:continuous-improvementThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
The user does not want pep talks. The user wants critical, specific, actionable feedback at every milestone. This skill is what produces the "Recommendations" section that should appear at the end of every meaningful task.
The user does not want pep talks. The user wants critical, specific, actionable feedback at every milestone. This skill is what produces the "Recommendations" section that should appear at the end of every meaningful task.
ALWAYS trigger at:
What was just done? Read the relevant artifacts. Available:
docs/specs/<feature>/brief.md (if Discovery just done)docs/specs/<feature>/prd.mddocs/architecture/<feature>/git diff or list of changed files)Different phases need different recommendation lenses:
Structure:
## Recommendations
### High-impact, low-cost (do these soon)
1. **<Title>:** <one-paragraph specific suggestion with concrete first step>
2. ...
### Medium-impact, moderate-cost (consider in next iteration)
1. **<Title>:** ...
### Watch list (likely to matter later)
1. **<Title>:** <what to monitor, what threshold should trigger action>
### Risks acknowledged but not mitigated
1. **<Title>:** <what risk, why we accepted it, when to revisit>
Bad recommendation:
"Consider improving error handling."
Good recommendation:
"Wrap DB errors in custom types: The repository layer currently returns raw
sql.ErrNoRowsandpq.Errorto callers. This couples the application layer to the driver. Wrap inErrNotFound,ErrConflict, etc. - then handlers can doerrors.Is(err, ErrNotFound)cleanly. First step: adddomain/errors.gowith the 3-4 sentinel errors actually used."
Bad: "Tests are slow." Good: "Test suite takes 47s; the top 3 slowest tests are integration tests using a real DB. Moving them to a parallel test container would cut this to ~12s based on measurements."
Bad: "Code coverage could be better."
Good: "Coverage on pkg/pricing is 62%; the uncovered branches are the discount eligibility checks (lines 87-104, 132-148). These are exactly the rules most likely to break under requirements changes - prioritize these tests."
5-10 recommendations max per phase. More than that overwhelms and gets ignored. Pick the highest-leverage ones.
The user has 20+ years of IT experience. Don't explain basics. Skip preambles. Point to gnarly issues, not surface-level concerns. They've seen "you should write tests" 1000 times - skip that level.
What lands well: "Your aggregate is leaking through the repository - your handler is doing repo.GetOrderRows(...) then assembling the Order in the application layer. That's an anemic model. Move assembly into the repository, return an Order aggregate."
What doesn't land: "Consider applying SOLID principles."
npx claudepluginhub shakhovskiya-create/shakhoff-claude-marketplace --plugin solo-sdlcProvides behavioral guidelines to reduce common LLM coding mistakes, focusing on simplicity, surgical changes, assumption surfacing, and verifiable success criteria.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.