skills/to-issues/SKILL.md
Decompose a plan, PRD, or spec into independently-grabbable vertical-slice issues (markdown file by default, GitHub issues via flag). Trigger when the user wants implementation tickets, work decomposition, or to convert an implementation plan into parallelizable work. Takes a plan file and emits atomic vertical slices.
npx skillsauth add outlinedriven/odin-codex-plugin to-issuesInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Break a plan into tracer-bullet vertical slices. Each slice cuts end-to-end through every layer (schema, API, UI, tests) and is independently demoable. Reject horizontal layer-slices — they create blocked queues.
Default (file mode): Write to <project-root>/docs/issues/<feature>-slices.md as a numbered list of slices with the issue template per entry. Rerun-idempotent.
Flag mode (--emit-issue): After approval, create issues via gh issue create in dependency order so blocker references resolve to real numbers. Print URLs.
Read the source plan or PRD. If user passes a GitHub issue: gh issue view <number> --comments. If a plan file path: bat -P -p -n <path>. Otherwise work from active conversation.
If the codebase is unfamiliar, dispatch an Explore agent. Trace integration layers: schema → service → API → UI → tests.
Each slice MUST:
Reject any slice that is "schema only" or "wire up later" — those are queue-blockers.
Present the slate via a clarifying-question protocol. Show per slice: title, AFK/HITL, blocked-by references, user-stories covered. Ask: granularity correct? dependency edges correct? merge/split needed? AFK/HITL labels honest?
File mode: Write the approved slice list to docs/issues/<feature>-slices.md. Reference blockers by slice index. Commit.
Flag mode: gh issue create per slice in topological order. Capture each new issue number; backfill Blocked by with real numbers.
## Parent
#<parent-issue-number-or-PRD-path-or-omit>
## What to build
Concise end-to-end behavior description. Demoable outcome, not layer-by-layer mechanics.
## Acceptance criteria
- [ ] Observable criterion 1
- [ ] Observable criterion 2
## Blocked by
- #<issue-or-slice-number> (or "None — start immediately")
## User stories covered
- US-1, US-3
GET /accounts/{id}/balance returning JSON; includes sqlx migration, handler, integration test against testcontainer Postgres." — one slice, all layers.--dry-run flag to the migrate subcommand; includes flag parsing, no-op execution path, unit test." — one slice, all layers.testing
ODIN's compress-operations dispatcher under the Compressor/Extender role. Invoke on "tidy", "clean up", "tidy this file/memory/workspace/git/docs", or when active context (current file, diff, stack, memory directory) has structural rot to resolve before touching behavior. Detects target domain from context and routes to the sibling skill. Requires explicit target or clear active-context signal — do not invoke speculatively.
development
Cross-domain taste skill — apply distinctive judgment to any artifact (prose, code, design, decisions) instead of converging to AI defaults. Two modes — `audit` (judge work against the two-sided charter and portable anchors) and `anchor` (load register before producing). Auto-detects by phrasing; override via `/taste audit | anchor`. Trigger on "is this slop?", "overkill?", "elegant?", "taste-test this".
tools
One-shot bootstrap of strict-mode tooling per ecosystem plus per-task GOALS.md scaffolding so an agentic loop can self-verify. Writes typechecker/linter/schema-validator config for TS (strict + noUncheckedIndexedAccess + exactOptionalPropertyTypes), Python (Pyright strict, Ruff strict), Rust (Clippy deny-correctness), Go (golangci-lint with staticcheck), OCaml (dune --release); establishes `.agent-tasks/<id>/GOALS.md` per-task convention distinct from project-stable AGENTS.md. C++/Java/Kotlin and framework specifics (Spring Boot, Nest, React-strict) are out of scope. Trigger on new project bootstrap, agentic-task setup, "make this self-verifying", "set the loop's goal", "scaffold goals for this issue". Pairs with `llm-self-loop` runtime.
tools
Install git pre-commit hooks via the project's hook tool — Husky+lint-staged (JS), pre-commit (Python/OCaml), lefthook (Go), cargo-husky (Rust). Use when the user wants commit-time formatting, linting, type-checking, or test gates. Detects ecosystem first.