Goal
SkillDev toolsWrite specification to implement a software component given user request
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Goal skill
What this skill tells your AI
The instructions your AI receives, as published by causify-ai/helpers in .claude/skills/specs.write/SKILL.md and read by ahel’s review.
- Given a request from the user, write a markdown document specifying how to implement the requested Python functionality, without implementing it
Workflow
Step 1: Understand the Context
- Read related code in the codebase
- Read existing code in the target directory
- If the user references a roadmap/plan file (e.g.,
plan.<topic>.md), read it to extract the exact scope of the requested PR/feature - If an architecture doc already exists for the target directory, read it to understand the current design
Step 2: Write the Spec
- Create a markdown document following the template
.claude/templates/specs.template.md - Follow the rules in
.claude/skills/markdown.rules.mdand.claude/skills/text.rules.md - Save the result in a file
spec.<topic>.mdin the current directory- E.g., to spec out
PR_P2bfromplan.Noesis.md, savespec.PR_P2b.md - Do not name it
plan.<topic>.md: that name is reserved for the roadmap document that lists PRs, not for a single PR's spec
- E.g., to spec out
Step 3: Update the Architecture Doc
- Update an architecture file, if one exists, following the instructions in
.claude/skills/readme.write_architecture/SKILL.md- Only add what matters to understand how the pieces work together, not how the new component works internally
Conventions
- Follow
.claude/skills/architecture.rules.mdfor layering and interface design - Follow
.claude/skills/coding.rules.mdand.claude/skills/testing.rules.mdfor any illustrative code/test snippets - Follow
.claude/skills/markdown.rules.mdand.claude/skills/text.rules.mdfor formatting
Constraints
-
Do not implement any code: describe the architecture only
- Short illustrative snippets are fine (e.g., a class interface, a schema, a function signature) as long as they are not a full implementation
-
Distinguish facts (derived from reading the existing code) from decisions made in this spec
-
Reference actual code artifacts (file, class, function names) instead of paraphrasing them generically
-
The entire spec should be no longer than 100 lines using 85 wrapped text
Verification
- File saved as
spec.<topic>.md, notplan.<topic>.md - Every section in
.claude/templates/specs.template.mdis filled in or explicitly marked "Not applicable" - No full implementation code, only interfaces/illustrative snippets
- Architecture doc updated, if one exists for the target directory
Signals
- GitHub stars
- 145
- Forks
- 159
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
specs-write- Source
- github.com/causify-ai/helpers