to-openspec
Turn settled discovery notes and a sketched data model into a spec folder in openspec shape (proposal, spec, design) under specs/<slug>/, plus ticket files…
Skill by jesdi
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/jesdi-to-openspec
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
Use cases: design, data, writing, productivity
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-openspec
What's inside
- Skill name
to-openspec- Description
- Turn settled discovery notes and a sketched data model into a spec folder in openspec shape (proposal, spec, design) under specs/<slug>/, plus ticket files under .agent/tickets/ that implement-spec runs directly. Two stages: stage 1 alone by default, with a human review before stage 2, or both at once with "all". No interview, just synthesis of decisions already made. Trigger on "write the spec", "to-openspec", or "/to-openspec <slug> [stage 2 | all]".
- License
- MIT
- Instructions
- 69 lines in SKILL.md · view on GitHub
Files (4)
- SKILL.md
- design.md · templates/
- proposal.md · templates/
- spec.md · templates/
SKILL.md (first lines)
# To openspec
Synthesize, don't decide. Every decision comes from `discovery.md`, the design sketch, or the
conversation. If one is missing, list it under **Open questions** at the end of your reply
instead of inventing it. Never invent prices, policies, deadlines, or permissions.
## Input
- `<slug>`: kebab-case, becomes `specs/<slug>/`. Derive one from the goal if not given.
- Sources: `discovery.md` (verdicts, non-goals, open questions), the data-model sketch, and the
conversation.
- Shape: read every file in the repo's `specs/_template/`, or in this skill's `templates/` when
the repo has none. Keep the headings exactly; write "None." rather than dropping a section.
Ignore a `tasks.md` template: tickets replace it.
- Check command: the one the repo documents (`make check`, or what AGENTS.md names).
- Stages: no argument runs stage 1 and stops. `stage 2` runs stage 2 only. `all` runs both
without the stop in between.
## Stage 1: what and why
Write `specs/<slug>/proposal.md` and `specs/<slug>/spec.md`.
- **Goal** is one or two sentences. Every ticket serves it.
- **Non-goals** carry over every "later" or "never" verdict from discovery.
- **Requirements** cover the v1 slice only: the smallest set that meets the goal. Each one is
testable and maps to at least one scenario.
- **Scenarios** are Given/When/Then with concrete values (quantities, amounts, times, roles).
Every invariant (overselling, expiry, refund permissions, and so on) gets a scenario for the
boundary and one for the violation.
Then **stop**, unless invoked with `all`. Print the requirement list and any open questions so
the human can cut or correct the spec before the design is written. Don't write code.
## Stage 2: how
Run only when asked: "/to-openspec <slug> stage 2" after the human has reviewed stage 1, or
`all` straight after stage 1. On `stage 2`, re-read `proposal.md` and `spec.md` first; the
human may have edited them.
1. Run the `red-team-data-model` skill against the data model. Print the top 5, and its identity
inventory when the change widens a key; don't write them to a file.
2. Write `specs/<slug>/design.md`:
- **Decisions**: one line each with its tradeoff. Include the ones the red-team findings force.
- **Data model**: every invariant a DB constraint can enforce (`CHECK`, `UNIQUE`, `NOT NULL`,
FK, conditional `UPDATE ... WHERE`) goes in the table, not only in app code.
- **Identities**: when the change widens a key, every item of the red-team's identity
inventory, marked covered (ticket numbers filled in step 3) or out of scope (why). Otherwise "None." Add the
heading when the repo's template lacks it.
- **Seams**: the endpoint, function, or command the tests drive through, marked existing or
new. Prefer one high seam.
- No implementation code anywhere in the spec folder. `implement-spec`'s test-writer reads it
and must not know the solution. A decision's shape (a type, a schema, a state machine, a
seam's signature) may appear; the function bodies that make the tickets pass may not.
3. Run the `to-tickets` skill on `specs/<slug>/`, skipping its quiz (step 4): it writes
`.agent/tickets/<NN>-<slug>.md`, the task graph `implement-spec` runs directly. Don't write a
`tasks.md`. On top of its rules:
- Every scenario in `spec.md` is an acceptance criterion of some ticket.
- Each ticket's **Seam** is one of the seams from `design.md`.
- A slice adds only the tables and columns its own scenarios need, not the whole model up front.
- No standalone "run the checks" ticket: every ticket already ends with the check command green.
- Then fill the ticket numbers into `design.md`'s **Identities**: every identity marked covered
names the ticket that rekeys it. A covered identity with no ticket is a missing ticket; add it.
Print the ticket list (number, title, blocked by, seam, touches), then **Open questions**: every
red-team finding the design leaves
unresolved, and every input the design assumes but the sources don't provide. Then stop. Don't
write code.From jesdi/general-skills, MIT.
More from jesdi/general-skills
- 0.570score
pr-visual-diff
jesdi
Capture before/after screenshots of UI views with Playwright and embed them in a PR.
SkillAFreshness: AClaude Code +9 - 0.570score
backlog
jesdi
Manage a GitHub-Issues-backed backlog and a Projects-v2 work graph via five verbs.
SkillAFreshness: AClaude Code +9 - 0.565score
review-page
jesdi
One interactive HTML page for a plan review or a questionnaire, built from a fixed template.
SkillAFreshness: AClaude Code +9 - 0.565score
review-diff
jesdi
Review a branch before merge: first a gate (the repo's check command plus crap-gate), then three independent reviewers in parallel — spec (did we build what…
SkillAFreshness: AClaude Code +9 - 0.565score
pr-risk
jesdi
Merge-risk block of a PR body.
SkillAFreshness: AClaude Code +9 - 0.561score
babysit-pr
jesdi
Babysit an open pull request until it is merged or handed to a human.
SkillAFreshness: AClaude Code +9 - 0.561score
to-tickets
jesdi
Break a spec, plan, or the current conversation into numbered tracer-bullet ticket files under .agent/tickets/, each declaring its blocking edges and…
SkillAFreshness: AClaude Code +9 - 0.555score
implement-spec
jesdi
Implement a specification in code.
SkillAFreshness: AClaude Code +9 - 0.534score
test-prune
jesdi
Mutation-guided test pruning: a fixer proposes deleting redundant tests and strengthening weak ones, an independent reviewer accepts or rejects each proposal…
SkillAFreshness: AClaude Code +9 - 0.524score
deep-quality-review
jesdi
Extremely strict maintainability review of a branch's changes: duplicated concepts, complexity that got rearranged instead of deleted, spaghetti branching…
SkillBFreshness: BClaude Code +9 - 0.524score
crap-gate
jesdi
Score every function a branch changed with CRAP (cyclomatic complexity × untested fraction), fail on existing functions above 15 and new functions above 9…
SkillBFreshness: BClaude Code +9 - 0.524score
red-team-data-model
jesdi
Attack a proposed or existing data model for the ways it breaks under real conditions — concurrency, time windows, money, permissions — without proposing a…
SkillBFreshness: BClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 23
- Last commit (this folder)
- Oct 2, 2026 (27 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/jesdi/general-skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from jesdi
- 0.570score
backlog
jesdi
Manage a GitHub-Issues-backed backlog and a Projects-v2 work graph via five verbs.
SkillAFreshness: AClaude Code +9 - 0.570score
pr-visual-diff
jesdi
Capture before/after screenshots of UI views with Playwright and embed them in a PR.
SkillAFreshness: AClaude Code +9 - 0.565score
review-diff
jesdi
Review a branch before merge: first a gate (the repo's check command plus crap-gate), then three independent reviewers in parallel — spec (did we build what…
SkillAFreshness: AClaude Code +9 - 0.565score
review-page
jesdi
One interactive HTML page for a plan review or a questionnaire, built from a fixed template.
SkillAFreshness: AClaude Code +9 - 0.565score
pr-risk
jesdi
Merge-risk block of a PR body.
SkillAFreshness: AClaude Code +9 - 0.561score
babysit-pr
jesdi
Babysit an open pull request until it is merged or handed to a human.
SkillAFreshness: AClaude Code +9
Cite this page
to-openspec skill. Agent Mart. https://agentmart.dev/skills/jesdi-to-openspec (last updated 2026-10-24)