agent-environment-retr…
Use when a completed session needs an agent-environment retrospective. Not for an engineering retrospective from telemetry: use…
Use when an exact symbol, path, entrypoint, or line range can bound a focused code question or patch proposal under a fixed source budget. Not for source changes or broad repository exploration.
Claude Code
$ npx -y skills add OutlineDriven/odin-claude-plugin --skill slicing-code-context --agent claude-code
Codex
$ npx skills add OutlineDriven/odin-claude-plugin --skill slicing-code-context -a codex -y
Cursor
$ npx skills add OutlineDriven/odin-claude-plugin --skill slicing-code-context -a cursor -y
Gemini CLI
$ npx skills add OutlineDriven/odin-claude-plugin --skill slicing-code-context -a gemini-cli -y
GitHub Copilot
$ npx skills add OutlineDriven/odin-claude-plugin --skill slicing-code-context -a github-copilot -y
OpenCode
$ npx skills add OutlineDriven/odin-claude-plugin --skill slicing-code-context -a opencode -y
Windsurf
$ npx skills add OutlineDriven/odin-claude-plugin --skill slicing-code-context -a windsurf -y
name: slicing-code-context description: 'Use when an exact symbol, path, entrypoint, or line range can bound a focused code question or patch proposal under a fixed source budget. Not for source changes or broad repository exploration.'
| Field | Bound contract | |---|---| | Trigger | A focused code question or patch proposal can be delegated using an exact symbol, path, entrypoint, or line-range anchor under a fixed source budget. | | Authority | Read-only. No file, VCS, credential, paid, published, deployed, or remote mutation. | | Side effect | A deterministic slice packet and one constrained worker response, with at most one coordinator-built replacement packet. | | Done | Packet budget and boundaries validate, every worker claim and proposed edit cites included ranges, uncertain edges remain hypotheses, and consequential conclusions are independently checked by the coordinator. |
1. **Validate the request.** Canonicalize the target root. Reject an empty task, an anchor outside the root, an invalid or reversed line range, a mode/depth combination outside the table below, or `path` without a peer.
| Question | Mode | Depth | |---|---|---:| | Explain or review one unit with immediate context | `neighborhood` | 1 exactly | | Who can reach this sink? | `upstream` | 2–4 | | What behavior can this entry trigger? | `downstream` | 2–4 | | How does one unit reach another? | `path` | 10–20 | | Which public entrypoint reaches this target? | `entrypoint` | 10–20 |
**Done when:** the root, task, anchor, mode, depth, peer requirement, and positive budget all satisfy the request contract.
2. **Resolve exact anchors.** A line-range anchor resolves only to those live lines. A path anchor resolves to the full file only if it fits the budget; otherwise require a line range or symbol. Resolve a symbol or entrypoint with the repository's available parser-backed symbol/reference index. Sort candidates by repository-relative path, start line, end line, then fully qualified name. Zero matches is `symbol_not_found`; more than one exact-name match is `ambiguous_symbol` and returns the sorted candidates without choosing. If no parser-backed index exists for a graph mode, return `analysis_unavailable`; do not substitute lexical search or hand-selected context.
**Done when:** the exact live anchor resolves uniquely, or the procedure returns the precise deterministic resolution failure without choosing or approximating.
3. **Construct graph ranges.** The anchor is hop 0. Obtain parser-backed references/calls/import relationships appropriate to the selected mode. `neighborhood` includes the anchor unit plus directly enclosing unit, direct callers/references, and direct callees/dependencies at one hop. `upstream` traverses incoming edges breadth-first; `downstream` traverses outgoing edges breadth-first; `path` takes the shortest directed path from anchor to peer; `entrypoint` takes the shortest reverse path from the anchor to a public entrypoint. At each breadth, sort edges by destination path, destination start/end lines, edge kind, then source path/start/end lines. Deduplicate identical ranges; first discovery wins. Mark an edge `certain` only when the parser/index establishes it; include unresolved dynamic or indirect edges only in `uncertain_edges`, never as traversal proof.
**Done when:** all included graph ranges obey the selected traversal and deterministic ordering, with indirect or unresolved edges isolated as uncertainty.
4. **Build one deterministic packet.** Use this exact top-level key order and field schema:
{
"schema": "odin-slice-packet-v1",
"task": "string",
"root": "canonical absolute path",
"anchor": {"kind":"line_range|path|symbol|entrypoint","value":"string"},
"peer": null,
"mode": "neighborhood|upstream|downstream|path|entrypoint",
"depth": 1,
"budget": {"limit_estimated_tokens":8192,"used_estimated_tokens":0},
"slices": [
{"file":"repository/relative/path","start_line":1,"end_line":1,"symbol":null,"hop":0,"relationship":"anchor","certainty":"certain","content":"exact source text"}
],
"uncertain_edges": [
{"from":"file:start-end","to":"file:start-end or unresolved label","kind":"string","reason":"string"}
],
"omissions": [
{"candidate":"file:start-end","reason":"budget|depth|uncertain|unavailable"}
]
}`peer` is `null` except in path mode, where it has the same object schema as `anchor`. Store source with LF line endings and no synthetic elision markers. Order slices by hop, file, start line, end line, relationship. Order uncertain edges and omissions lexicographically by all displayed fields. Serialize as compact UTF-8 JSON with no insignificant whitespace and no trailing newline.
**Done when:** one compact packet matches the schema, key order, source-byte, slice-order, uncertainty-order, omission-order, and newline rules exactly.
5. **Apply the exact budget algorithm.** Start `used
Formerly the ODIN Claude Plugin. The repository URL is unchanged. Outline-Driven Development, nicknamed ODIN, is a highly opinionated code-agent skill library: principles-first engineering, surgical editing, and workflow automation, published as installable
Use when a completed session needs an agent-environment retrospective. Not for an engineering retrospective from telemetry: use…
Use when a repo needs agent setup, AGENTS.md added or made lean, CLAUDE.md audited, or agent instructions scored or pruned. Not…
Use when a human explicitly asks for a full repository agent-compatibility pass returning a scored report with prioritized fixes.…
Use when setting up a project, auditing agent command permissions, or asking which read-only bash commands and domains to allow.…
Use when asked to build or review a CLI intended for coding agents and return flag-driven, pipeline-safe, idempotent design…
Use when the user asks to make the skills framework work in a new harness, IDE, or CLI. Not for remote, credential, publish,…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.