To spec
This skill takes the current conversation context and codebase understanding and produces a spec. Do not interview the user; synthesize what has already been discussed.
Publish specs to Obsidian. If the vault is unavailable or the target path is
unclear, return the Markdown body and proposed Specs/ path.
Workflow
- Explore the repo to understand the current state of the codebase, if you have not already. Use the project's glossary vocabulary throughout the spec, and respect ADRs or Obsidian decisions in the area you are touching.
- Search/read related Obsidian specs, issues, and notes when available so terminology, prior decisions, and folder conventions match the vault.
- Sketch out the seams at which the feature will be tested. Existing seams should be preferred to new ones. Use the highest seam possible. If new seams are needed, propose them at the highest point you can. The fewer seams across the codebase, the better; the ideal number is one.
- Check with the user that these seams match their expectations when the seam choice is not already settled.
- For frontend UI work, capture the design direction and rendered validation bar from frontend-spec.md before publishing.
- Choose the PR delivery shape before implementation. Keep one cohesive review
unit in one PR. When the outcome needs two or more independently reviewable
units on a strict dependency path, load
gh-stackand record the logical groups bottom-to-top. Keep independent work in standalone PRs or separate stacks. If the shape was not settled in the conversation, record it as an open question instead of inventing an order. - Write the spec using note-template.md.
- Publish to Obsidian
Specs/using naming.md. If write access is missing, return the Markdown body and proposed path. - Do not write specs into the product repo unless the user explicitly asks for repo-local docs.
- Avoid brittle file-path inventories and code snippets. Exception: if a prototype produced a snippet that encodes a decision more precisely than prose can, inline the decision-rich part and name or link the prototype.
Context pointers
- Use note-template.md for the spec note body.
- Use frontend-spec.md for rendered UI design and validation requirements.
- Use naming.md for vault-relative note paths.