Show HN: I Made a Claude Skill for SDD
At my work they provided a single Claude subscription for everyone on the team. To be honest I like kiro better as it provides a way better SDD management. But the company can't provide it and I can't afford it yet. Turns out I had the skill creator skill in my claude instance so I made use of it to create this Skill. I made it fully by using Claude but I wanted to make it open source, so I asked it to help me make tests and preparations for it, even a CI to run python tests.
Well, we got this results with it:
- Phase 2A: 67 static assertions (Python script, runs in CI)
- Phase 2B: 15 behavioral tests (live Claude Code session)
- Phase 2C: 53 generation quality checks across 3 end-to-end flows
All of these passed and the CI also passed (after a few tries).
I made it to suit my way of prompting and coding and based it off kiro's SDD management, but I want it to be publicly available and used by many people. According to claude some of the testers need to fit the following criteria:
1. Developer starting a real new project from scratch
2. Solo dev with an active side project (greenfield or partial codebase)
3. Team lead whose team uses multiple AI tools
4. Developer with an existing codebase and no written specs
5. Developer who actively uses 3+ AI coding tools
It's actually a blind test, no guiding, just try it if you can, I'd really appreciate your help.
The repo is here: https://github.com/FredAntB/Spec-Driven-Development
(
17 comments
| on HN
)
- Overall the approach is sound, to generate various levels of documents from requirements to finer grained ones
- I'm not sure if that's intended, but I got asked about four questions and then the model one shot all three documents at once, ideally you'd work on one at a time, then once you're happy generate the next level of documents
- The prompting by the model was very shallow, it didn't ask enough questions so the requirements were off. I was expecting more questions so that the model had more information to work with. The docs can be iteratively reworked but I think it should make a better effort at the first take.
- I don't think there's any versioning of documents but that would be useful
- Dispatching subagents to review the generated plans would be nice
Overall it's pretty reasonable, I can see it being pretty useful. Send me an email if you need more details.
First of all, you're right that one-shotting all three docs after the interview doesn't give you a proper review space between requirements, design and tasks. That's a real bummer. The intent was to minimize friction but it loses the ability to catch a bad requirements.md before design.md is built on top of it. I'll be taking this into account for v1.1.
About the interview, the 4-question minimum was a deliberate choice to avoid it from feeling like a form, but for a more detailed approach 4 questions clearly isn't enough. I believe that a follow-up round based on project type (API vs frontend vs data pipeline) would improve first-pass quality significantly but I'd appreciate to hear your thoughts on this matter.
Regarding the versioning, there's a changelog section in the generated templates but it's not prominent. Will make it more visible.
Taking you up on the email offer — will reach out.
Also big requirements/tasks files will rot your context opening up hallucinations and drift. So I’d guess your starting point isn’t useful for larger codebases.
I did some research after reading your and a discord comment i received and i agree that GSD is doing something more complete — full execution orchestration with context rotation. This skill is intentionally the spec layer only: interview → requirements.md + design.md + tasks.md + AI config files as I believe this is a more manageable as well as a core part of SDD to be tackled. I intend it to be composable with GSD rather than a replacement for it. After all even while using GSD one still needs a spec before execution begins and that is the gap I now want to fill.
Also thank you so much for your input, it is always good to have some proper references for a project in it's early stages to avoid redundancy.
Also, context rot on large specs is a real limitation. I added a lightweight CONTEXT.md journal but nothing close to proper context rotation. That's filed for v2.0.
I'd also like to thank you so much for taking your time to revise this show HN and express that I appreciate your feedback.
Would you be willing to share what the generated spec looked like and where it was most useful vs where it needed adjustment? That kind of usecase is really valuable to explore further improvements that could be made.
It inspects my existing repo, and identified existing logic, then imported my existing functions, and created a checkpoint_manager.py.
The new function adds additional functions like: - update_started - update_completed - update_failed - install_shutdown_handlers - restore_shutdown_handlers - persist_checkpoint
Below points are generated in Implementation Tasks:
3. Implement checkpoint model: - typed checkpoint structure; - schema version validation; - bounds validation for next_url_index. 4. Implement atomic checkpoint writer: <- "atomic" - write temporary file beside final checkpoint; - flush and fsync; - atomic rename; - preserve old checkpoint on failure. 5. Implement checkpoint loader: - handle missing file; - reject malformed JSON; - reject unsupported schema version; - reject URL fingerprint mismatch.
I don't fully understand what "atomic checkpoint writer" means, but the LLM understands what it means. The functions are likely to implement "atomic checkpoint writer".
The key takeaway is that tokens generated by human usually not restrict enough. When I thought about "checkpoint", I wasn't thinking of any "atomic" shape of checkpointing. I was using my casual language model to generate first version of implementation first. Then using Spec-Driven-Development model, the generated spec has better understanding of what it is. There could be many mutated forms of real life implementation of "checkpoint", the LLM generated code is mostly restrictive one that I will never know in my whole life experience. The LLM training must have undergone very restrictive learning process that I never experienced.
Thanks for your input and the provided references as well as taking your time for reading this show HN.
Its not a single skill, but a set of skill, organized into a workflow with design to be able to /clear the context or restart the session after each step.
There is a chain of specs delivered:
- requirements
- code analysis (optional)
- design (with split task into X subtasks)
- verification
- self-improvement
Each task is implemented in its own session, completely isolated, having clear and focused context.
Also works extremely nicely with a fleet of agents.