ticket-spec

ticket-spec is a skill for Claude Code, Codex from watt-mind/factory. It costs 45 tokens per session (1,274 once invoked), scanned A, original, Apache-2.0.

A ticket-specification skill that turns a raw Linear issue into a development ticket with clear requirements and verification steps.

In plain words
What is it for?
Use it to inspect a repository, refine triage tickets, classify their size, and mark complete tickets as ready for an agent.
Why use it?
It removes guesswork for implementers by identifying relevant files, owned paths, acceptance criteria, and a runnable check.

Skill for Claude CodeCodex

Part of the core plugin — 2 skills, 13 commands, 4 agents shipped together

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/watt-mind/factory/ticket-spec
Any agent
npx skills add watt-mind/factory --skill ticket-spec
Clone the repo
git clone --depth 1 https://github.com/watt-mind/factory

Made for: Claude Code, Codex.

Or install core, the plugin that ships this one along with the rest of its 2 skills, 13 commands, 4 agents.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for ticket-spec

README.md
[![agentmods](https://agentmods.dev/badge/skills/watt-mind/factory/ticket-spec.svg)](https://agentmods.dev/skills/watt-mind/factory/ticket-spec)
Your own site
<a href="https://agentmods.dev/skills/watt-mind/factory/ticket-spec"><img src="https://agentmods.dev/badge/skills/watt-mind/factory/ticket-spec.svg" alt="Measured on agentmods" height="20"></a>
Per session 45 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,274 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00045 $0.01274
Opus 5 $0.00023 $0.00637
Sonnet 5 $0.00009 $0.00255
Haiku 4.5 $0.00005 $0.00127

Measured today against content hash 6cd7e613072a, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

ticket-spec scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured today.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

plugins/core/skills/ticket-spec/SKILL.md · 53 lines

How it starts

The opening of the file, as written. The whole thing — 53 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Specifying a ticket

A ticket is dispatchable only when it carries all five sections (docs/protocol.md §5). Most of that is derivable from the codebase, not from the human: Source File Pointers, Owned Paths, and Verification Command are search-and-read problems. Acceptance Criteria is usually the problem restated observably. Only genuine product intent needs a person.

So the job is not "spec everything" — it's sorting tickets into three piles and handling the first two yourself.

The three outcomes

Auto-specifiable — the problem is unambiguous and the answer is in the code. Explore read-only, write all five sections, promote to Todo + ai:agent-ready plus a tier:* label.

Sizing the tier:* label

Closed vocabulary, at most one per ticket: tier:light, tier:standard, tier:strong.

  • tier:light — one or two files in Owned Paths, no path under escalate_paths (config/repos.yaml), type:docs / copy / config-value changes, or a type:bug with a repro and a one-line expected fix.
  • tier:strong — any path under escalate_paths (auth, payments, migrations, prod infra), type:security, cross-package or architecture work (area:architecture), anything whose acceptance criteria say "design"/"decide" or list open questions, or a ticket that previously failed verification.
  • tier:standard — everything else (the default).

If the ticket already carries a tier:* label, leave it — don't recompute or overwrite an existing tier decision. State the tier and why in the promotion comment.

Answerable from written decisions — intent is unclear but already recorded: the repo's docs/product-decisions.md, docs/, the Linear project Overview, or a prior ticket in the same area. Resolve it, cite where you found it in the ticket so the next agent doesn't re-litigate, then promote.

Genuinely needs a human — a real product decision, a missing credential, a priority call. Leave in Triage, comment the specific question phrased so one reply unblocks it, and batch every such question into a single notification at the end of the run. Never a ping per ticket.

Read the full file on GitHub · 53 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. today First seen · 53 lines · 45 tokens per session scan A 6cd7e613072a

Subscribe to this mod's changes

ticket-spec is a skill published in the GitHub repository watt-mind/factory (12 stars, last pushed yesterday), licensed Apache-2.0. It adds 45 tokens to every session and 1,274 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-04.

Related

Other skills, from other repositories

seeds-issue-audit

Audit and triage open Seeds (sd) issues — find which can be closed, auto-close high-confidence completed ones, and report borderline cases. Activate for prompts like "audit open issues", "which seeds issues can be closed", "clean up the issue tracker", "triage the seeds backlog".

jayminwest/warren · 67 tokens

good-first-issue-batch

File a batch of contributor-ready GitHub issues from the seeds backlog, re-verifying every candidate against HEAD first so no dead issue reaches a contributor. Activate for prompts like "file some good first issues", "open a batch of GFIs", "publish backlog issues to GitHub", "find contributor-ready work", or after an…

jayminwest/warren · 80 tokens

os-eco-dep-sync

Bump warren onto the latest published @os-eco/ versions across package.json + bun.lock and the Dockerfile CLI pins, then run the gates and open a PR. Use when checking if warren is on the newest burrow/plot/canopy/seeds/mulch/sapling.

jayminwest/warren · 69 tokens

release

Prepare, cut, and verify a warren release — tracker audits, version bump, CHANGELOG curation, ROADMAP update, push, then watch the pipeline through to published artifacts.

jayminwest/warren · 39 tokens

warren-dogfood-pipeline

Full prioritize → dispatch → shepherd → track pipeline against the live warren instance. Audits the seeds backlog around a focus theme, dispatches the surviving issues to warren agents one at a time, babysits the resulting PRs to merge (update-branch, conflict-repair runs, auto-merge), and closes the loop in the…

jayminwest/warren · 116 tokens

atelier

Operate the Atelier software factory (the ADW engine stamped into this repo's adws/). Use when the user says /atelier, wants to create / run / update an ADW or workflow, manage the agent roster in sssf.config.yaml, keep the engine current, or observe running agent workflows. Keywords - atelier, software factory, ADW…

duanecilliers/atelier · 87 tokens