to-tickets
Break a plan, spec, or the current conversation into tracer-bullet tickets with blocking edges, published to the repo's tracker.
Skill by OpalBolt
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/opalbolt-to-tickets
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-tickets
What's inside
- Skill name
to-tickets- Description
- Break a plan, spec, or the current conversation into tracer-bullet tickets with blocking edges, published to the repo's tracker. Invoke with /to-tickets.
- License
- MIT
- Instructions
- 101 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# To Tickets Break a plan, spec, or conversation into a set of **tickets** — tracer-bullet vertical slices, each declaring the tickets that **block** it. Where tickets are published: the repo's AGENTS.md names the artifact home. Default is local markdown under `.scratch/`; a repo configured with a real tracker (GitHub Issues, Jira, …) publishes there instead. ## Process ### 1. Gather context Work from whatever is already in the conversation context. If the user passes a reference (a spec path, an issue number or URL) as an argument, fetch it and read its full body and comments. ### 2. Explore the codebase (optional) If you have not already explored the codebase, do so to understand the current state of the code. Ticket titles and descriptions should use the project's domain glossary vocabulary (CONTEXT.md) and respect any ADRs in the area you're touching. Look for opportunities to prefactor the code to make the implementation easier. "Make the change easy, then make the easy change." ### 3. Draft vertical slices Break the work into **tracer bullet** tickets. <vertical-slice-rules> - Each slice cuts a narrow but COMPLETE path through every layer it touches (data, logic, UI, checks) — vertical, NOT a horizontal slice of one layer - A completed slice is demoable or verifiable on its own - Each slice is sized to fit a single fresh context window - Prefer many thin slices over few thick ones </vertical-slice-rules> Slices may be **HITL** (human interaction required — a decision, a design review) or **AFK** (implementable without human interaction). Prefer AFK. Write every ticket KISS-first: it demands the simplest implementation that works — human readable, no abstraction, pattern, or test scaffold the work doesn't need. If the repo's AGENTS.md carries a code-style line, tickets defer to it. Give each ticket its **blocking edges** — the tickets that must complete before it can start. A ticket with no blockers can start immediately. ### 4. Quiz the user Present the proposed breakdown as a numbered list. For each ticket, show: - **Title**: short descriptive name - **Type**: HITL / AFK - **Blocked by**: which other tickets (if any) must complete first - **What it delivers**: the end-to-end behaviour this ticket makes work Ask the user: - Does the granularity feel right? (too coarse / too fine) - Are the blocking edges correct — does each ticket only depend on tickets that genuinely gate it? - Should any tickets be merged or split further? Iterate until the user approves the breakdown. ### 5. Publish the tickets **Local files** (default) → write one file per ticket under `.scratch/<feature-slug>/issues/<NN>-<slug>.md`, numbered from `01` in dependency order (blockers first). Each file's "Blocked by" lists the numbers/titles it depends on. Use the per-ticket template below — one ticket per file, never a single combined file. **A real issue tracker (GitHub, Linear, Jira, …)** → publish one issue per ticket in dependency order (blockers first) so each ticket's blocking edges can reference real identifiers. Use the platform's native blocking / sub-issue relationship where it has one; otherwise set each ticket's "Blocked by" to the blocking issues. Apply the repo's ready-for-agent triage label unless instructed otherwise. Work the **frontier**: any ticket whose blockers are all done. For a purely linear chain that means top to bottom. Do NOT close or modify any parent issue. <local-ticket-template> # <NN> — <Ticket title> Type: HITL/AFK · Status: ready-for-agent · Blocked by: <numbers/titles, or "none — can start immediately"> **What to build:** the end-to-end behaviour this ticket makes work, from the user's perspective — not a layer-by-layer implementation list. - [ ] Acceptance criterion 1 - [ ] Acceptance criterion 2 </local-ticket-template> <issue-template> ## Parent A reference to the parent issue on the tracker (if the source was an existing issue, otherwise omit this section). ## What to build The end-to-end behaviour this ticket makes work, from the user's perspective — not layer-by-layer implementation. ## Acceptance criteria - [ ] Criterion 1 - [ ] Criterion 2 ## Blocked by - A reference to each blocking ticket, or "None — can start immediately". </issue-template> In either form, avoid specific file paths or code snippets — they go stale fast. Exception: if a prototype produced a snippet that encodes a decision more precisely than prose can (state machine, reducer, schema, type shape), inline it and note briefly that it came from a prototype. Trim to the decision-rich parts — not a working demo, just the important bits.
From OpalBolt/Personal-AI-Marketplace, MIT.
More from OpalBolt/Personal-AI-Marketplace
- 0.598score
orchestrator
OpalBolt
Run a pre-sliced plan to completion, unattended.
SkillAFreshness: A★ 2Claude Code +9 - 0.557score
agent-writer
OpalBolt
Write or regenerate the root AGENTS.md context file for a project by introspecting the repo and interviewing the user for only what cannot be inferred.
SkillBFreshness: B★ 2Claude Code +9 - 0.557score
git-commit
OpalBolt
Write well-formed git commit messages following Conventional Commits, enforce issue references, and ensure commit bodies explain why — not what.
SkillBFreshness: B★ 2Claude Code +9 - 0.557score
issue
OpalBolt
Expand a rough idea into a well-structured, actionable issue — then create it in the right tracker (GitHub, Linear, Jira).
SkillBFreshness: B★ 2Claude Code +9 - 0.557score
pr
OpalBolt
Create a well-structured GitHub pull request that gives the reviewer full context: what issue is being addressed, what problem it solves, what changed, why…
SkillBFreshness: B★ 2Claude Code +9 - 0.557score
markdown-writer
OpalBolt
Write markdown that reads human, not AI slop — READMEs, docs, guides, comments, PR text.
SkillBFreshness: B★ 2Claude Code +9 - 0.554score
grill-with-docs
OpalBolt
Relentless interview that sharpens a plan or design while writing the domain docs — glossary and ADRs — as decisions land.
SkillBFreshness: B★ 2Claude Code +9 - 0.554score
jam-with-me
OpalBolt
Thinking-partner session that turns a rough idea into a concise idea bundle through open-ended conversation.
SkillBFreshness: B★ 2Claude Code +9 - 0.532score
code-review
OpalBolt
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: B★ 2Claude Code +9 - 0.532score
grilling
OpalBolt
Grill the user relentlessly about a plan, decision, issue, or idea until nothing is silently assumed — rounds of frontier questions, each with a recommended…
SkillBFreshness: B★ 2Claude Code +9 - 0.532score
prototype
OpalBolt
Build a throwaway prototype to answer a design question.
SkillBFreshness: B★ 2Claude Code +9 - 0.531score
writing-for-agents
OpalBolt
Writing documents for agents.
SkillBFreshness: B★ 2Claude Code +9
Signals
- Stars
- 2
- Forks
- 1
- Open issues
- 0
- Last commit (this folder)
- Aug 24, 2026 (2 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from OpalBolt
- 0.598score
orchestrator
OpalBolt
Run a pre-sliced plan to completion, unattended.
SkillAFreshness: A★ 2Claude Code +9 - 0.557score
git-commit
OpalBolt
Write well-formed git commit messages following Conventional Commits, enforce issue references, and ensure commit bodies explain why — not what.
SkillBFreshness: B★ 2Claude Code +9 - 0.557score
agent-writer
OpalBolt
Write or regenerate the root AGENTS.md context file for a project by introspecting the repo and interviewing the user for only what cannot be inferred.
SkillBFreshness: B★ 2Claude Code +9 - 0.557score
issue
OpalBolt
Expand a rough idea into a well-structured, actionable issue — then create it in the right tracker (GitHub, Linear, Jira).
SkillBFreshness: B★ 2Claude Code +9 - 0.557score
pr
OpalBolt
Create a well-structured GitHub pull request that gives the reviewer full context: what issue is being addressed, what problem it solves, what changed, why…
SkillBFreshness: B★ 2Claude Code +9 - 0.557score
markdown-writer
OpalBolt
Write markdown that reads human, not AI slop — READMEs, docs, guides, comments, PR text.
SkillBFreshness: B★ 2Claude Code +9
Cite this page
to-tickets skill. Agent Mart. https://agentmart.dev/skills/opalbolt-to-tickets (last updated 2026-10-24)