to-spec
Turn the current conversation into an OpenSpec change proposal — no interview, just synthesis of what you've already discussed.
Skill by jackey8616
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/jackey8616-to-spec
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/to-spec
What's inside
- Skill name
to-spec- Description
- Turn the current conversation into an OpenSpec change proposal — no interview, just synthesis of what you've already discussed.
- License
- MIT
- Instructions
- 70 lines in SKILL.md · view on GitHub
Files (2)
- SKILL.md
- openai.yaml · agents/
SKILL.md (first lines)
This skill turns what has already been agreed into the **delta specs** of an OpenSpec change. Do NOT interview the user — just synthesize what you already know. The issue tracker and triage label vocabulary should have been provided to you — run `/setup-skills` if not. ## Precondition This skill writes OpenSpec artifacts, so `openspec/` must be initialized in the repo. If it isn't, **stop** and tell the user to run: ``` npx @fission-ai/openspec@latest init ``` The CLI is the scoped `@fission-ai/openspec` package — the bare `openspec` name on npm is an unrelated `0.0.0` placeholder that installs no binary. Do not fall back to publishing the spec somewhere else: a repo that keeps working without the spec layer never grows one. Before writing, read the agent instructions `openspec init` generated (`openspec/AGENTS.md` or equivalent). **They own the exact artifact format, not this skill** — follow them over anything written here about file shape. Read `openspec/specs/` too: it is the source of truth for what the system does *today*, and the delta you're about to write is measured against it. ## Start from the Proposal `/grill-with-docs` closes by scaffolding the change and writing `proposal.md` — the problem, the solution in the user's words, and what's out of scope. Read it. It is the handoff, which is why this skill doesn't need the grilling's context window. If there's no Proposal because the work didn't come through a grilling, write one from the conversation before going further. Everything below assumes it exists. ## Process 1. Explore the repo to understand the current state of the codebase, if you haven't already. Use the project's domain glossary vocabulary throughout, and respect any ADRs in the area you're touching. 2. Sketch out the seams at which you're going to test the feature. 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. 3. Write the change, into the folder the grilling scaffolded: <what-goes-where> | What you have | Where it goes | | -------------------------------------------------------------------------------- | -------------------------------------------------------------------- | | Problem statement, the solution in the user's terms, what's explicitly out of scope | `proposal.md` — already written by the grilling; amend only if it's wrong | | Every behaviour the change adds, modifies or removes — as delta requirements with scenarios | `specs/<capability>/spec.md` | | The seams, the testing approach, and any technical decision the grilling didn't reach | `design.md` — **append**; the grilling already wrote the trade-offs and rejected alternatives | | The implementation checklist | `tasks.md` — leave it empty. `/to-tickets` fills it once this proposal has merged | </what-goes-where> Be extensive in the delta specs. Every user story you would have written belongs there as a requirement with concrete scenarios — that list is the spec, and it should cover all aspects of the feature. Do NOT include specific file paths or code snippets. They may end up being outdated very quickly. Exception: if a prototype produced a snippet that encodes a decision more precisely than prose can (state machine, reducer, schema, type shape), inline it in `design.md` within the relevant decision and note briefly that it came from a prototype. Trim to the decision-rich parts — not a working demo, just the important bits. 4. **Publish one issue to the tracker, pointing at the change.** Title it after the change, link to the change folder, and summarise the problem in a sentence or two. Apply the `ready-for-agent` triage label. The issue is a **pointer, not a copy**. Never restate the requirements in it — the delta specs are the single source of truth, and a second copy on the tracker will drift from them within a week. What the tracker gives you is visibility and a grabbable unit of work; what OpenSpec gives you is the content. 5. Validate the change against the OpenSpec toolchain (`openspec validate <change-id> --strict`, or whatever the generated instructions specify) before handing back. ## Rationale that outlives the change `design.md` archives with the change. That's the right home for almost all of it. Promote a decision to an ADR under `docs/adr/` only when the trade-off is **hard to reverse**, **surprising without context**, and **the result of a real trade-off** — the gate in `/domain-modeling`'s [ADR-FORMAT.md](../domain-modeling/ADR-FORMAT.md). When you promote one, link to it from `design.md` instead of repeating the prose. Most changes promote nothing. Never write a requirement into an ADR. Behaviour belongs to the spec layer, and only there. ## After approval Once the user approves the proposal, its scope is fixed. If new scope surfaces during implementation, it goes back through the propose stage — amend the change, or open a new one — and gets approved again. Don't absorb it silently into an approved change. The proposal is reviewed and merged on its own, before any implementation work is sliced. `/to-tickets` runs **after** that merge: it breaks the change into tracer-bullet tickets, writes them into `tasks.md`, and publishes one issue each. Slicing an unmerged proposal produces tickets for work that may still move.
From jackey8616/skills, MIT.
More from jackey8616/skills
- 0.524score
writing-proposals
jackey8616
Open an OpenSpec change and write its proposal — the problem, the agreed solution, and what was ruled out.
SkillBFreshness: BClaude Code +9 - 0.521score
change-review
jackey8616
Review a finished OpenSpec change against its own delta specs, then archive it — every requirement built and tested, nothing shipped that wasn't proposed.
SkillBFreshness: BClaude Code +9 - 0.499score
codebase-design
jackey8616
Shared vocabulary for designing deep modules.
SkillBFreshness: BClaude Code +9 - 0.499score
domain-modeling
jackey8616
Build and sharpen a project's domain model.
SkillBFreshness: BClaude Code +9 - 0.499score
code-review
jackey8616
Review the changes since a fixed point (commit, branch, tag, or merge-base) along two axes — Standards (does the code follow this repo's documented coding…
SkillBFreshness: BClaude Code +9 - 0.496score
triage
jackey8616
Move issues and external PRs through a state machine of triage roles — categorise, verify, grill if needed, and write agent-ready briefs.
SkillBFreshness: BClaude Code +9 - 0.496score
to-tickets
jackey8616
Break a plan, spec, or the current conversation into a set of tracer-bullet tickets, each declaring its blocking edges, published to the configured tracker —…
SkillBFreshness: BClaude Code +9 - 0.496score
wayfinder
jackey8616
Plan a huge chunk of work — more than one agent session can hold — as a shared map of decision tickets on your issue tracker, and resolve them one at a time…
SkillBFreshness: BClaude Code +9 - 0.493score
ask
jackey8616
Ask which skill or flow fits your situation.
SkillBFreshness: BClaude Code +9 - 0.493score
grill-with-docs
jackey8616
A relentless interview to sharpen a plan or design, which also creates docs (ADR's and glossary) as we go.
SkillBFreshness: BClaude Code +9 - 0.493score
implement
jackey8616
Implement a piece of work based on a spec or set of tickets.
SkillBFreshness: BClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Aug 16, 2026 (2 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/jackey8616/skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from jackey8616
- 0.524score
writing-proposals
jackey8616
Open an OpenSpec change and write its proposal — the problem, the agreed solution, and what was ruled out.
SkillBFreshness: BClaude Code +9 - 0.521score
change-review
jackey8616
Review a finished OpenSpec change against its own delta specs, then archive it — every requirement built and tested, nothing shipped that wasn't proposed.
SkillBFreshness: BClaude Code +9 - 0.499score
codebase-design
jackey8616
Shared vocabulary for designing deep modules.
SkillBFreshness: BClaude Code +9 - 0.499score
domain-modeling
jackey8616
Build and sharpen a project's domain model.
SkillBFreshness: BClaude Code +9 - 0.499score
code-review
jackey8616
Review the changes since a fixed point (commit, branch, tag, or merge-base) along two axes — Standards (does the code follow this repo's documented coding…
SkillBFreshness: BClaude Code +9 - 0.496score
triage
jackey8616
Move issues and external PRs through a state machine of triage roles — categorise, verify, grill if needed, and write agent-ready briefs.
SkillBFreshness: BClaude Code +9
Cite this page
to-spec skill. Agent Mart. https://agentmart.dev/skills/jackey8616-to-spec (last updated 2026-10-24)