agent-environment-retr…
Use when a completed session needs an agent-environment retrospective. Not for an engineering retrospective from telemetry: use engineering-retrospective.
Use when the user asks to propose an issue, file or open a bug report, or turn a reported defect into a tracked issue. Not for fixing the defect, triaging existing issues, or reviewing PRs.
$ npx -y skills add OutlineDriven/odin-claude-plugin --skill propose-issue --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/propose-issueContext preview
The summary Claude sees to decide when to auto-load this skill.
Use when the user asks to propose an issue, file or open a bug report, or turn a reported defect into a tracked issue. Not for fixing the defect, triaging existing issues, or reviewing PRs.
name: propose-issue description: 'Use when the user asks to propose an issue, file or open a bug report, or turn a reported defect into a tracked issue. Not for fixing the defect, triaging existing issues, or reviewing PRs.' disable-model-invocation: true
| Field | Bound contract | |---|---| | Trigger | A human explicitly asks to propose an issue, file or open a bug report, or turn a reported defect into a tracked issue. | | Authority | Remote: creates at most one GitHub issue in the previewed repository; requires explicit human invocation. Preview the repository, proposed title, body, and consequence before using authenticated access. | | Side effect | Create one GitHub issue with `gh` only after the evidence, duplicate, and six-criterion self-review gates all pass. | | Done | Report the created issue URL, or abort and name the failing criterion; never report both. |
The reported symptom or suspected defect is required. An explicit target repository is optional; otherwise resolve the repository from the current checkout. Source files and history needed to investigate the report must be readable. Authenticated `gh` access is required only for tracker search and issue creation. Reproduction details, affected versions, and configurations are optional evidence and must not be invented when absent.
1. Resolve the target repository from the explicit target or the current checkout. Before any authenticated GitHub command, preview the resolved repository, the intended consequence of creating one public or repository-visible issue, and the fact that no other remote state will change. Stop if the repository cannot be resolved unambiguously. Done when: the repository is resolved and the consequence is previewed, or the run stops on ambiguity. 2. Locate the reported behavior in source opened during this run. Attach a `path:line` citation to every factual claim intended for the issue. Record a user-reported symptom that cannot be located only as an explicitly attributed, unconfirmed report; do not assert it as fact. Done when: every factual claim has a `path:line` citation and unlocatable symptoms are attributed as unconfirmed. 3. Separate mechanism from symptom. Name the causal mechanism supported by the cited source, determine the affected callers, versions, and configurations that the available evidence supports, and reproduce the defect. If reproduction is impossible, record the exact reason in one line rather than claiming a result. Done when: the causal mechanism is named, affected scope is determined, and reproduction is attempted or its impossibility is recorded. 4. Search all issue states before drafting with `gh issue list --repo <target> --state all --search "<mechanism and symptom terms>"`. Record either `no match` or the matching issue number. Treat the same mechanism as a duplicate even when wording differs; do not treat the same symptom caused by a different mechanism as a duplicate. If a matching issue exists, stop without creating anything and report its URL or number. Done when: the duplicate search is complete and no match is found, or a duplicate is reported. 5. Draft a title that states the defect rather than a proposed fix. Draft the body with exactly these headings in this order: `Summary`, `Reproduction`, `Evidence`, `Expected vs actual`, and `Scope`. Include only claims supported under steps 2 and 3. Done when: the title states the defect and the body has the five headings in order with only supported claims. 6. Preview the final target repository, title, complete body, and issue-creation consequence. Then mark each gate criterion explicitly as pass or fail: (1) every factual claim has a `path:line` citation read during this run; (2) the report is a defect rather than a preference or style opinion; (3) the supported mechanism is named rather than only the symptom; (4) the duplicate search ran and found no match; (5) the title states the defect rather than the fix; and (6) no claim relies on a file not opened during this run. Any failure stops filing. Done when: all six gate criteria are marked pass or fail, and any failure stops filing. 7. Only when all six criteria pass, run `gh issue create --repo <target> --title <title> --body <body>` once. Accept success only when the command confirms creation with an issue URL; do not retry a result that may have created the issue until the tracker has been checked for that exact title and body. Done when: the issue is created and confirmed with a URL, or an ambiguous result is checked before retry.
No failure path may claim completion. Partial evidence and drafts may be returned, but the terminal result remains an abort until the issue URL is confirmed.
Return exactly one terminal classification: - **Filed:** the target rep
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
Repo: OutlineDriven/odin-claude-plugin
Use when a completed session needs an agent-environment retrospective. Not for an engineering retrospective from telemetry: use engineering-retrospective.
Use when a repo needs agent setup, AGENTS.md added or made lean, CLAUDE.md audited, or agent instructions scored or pruned. Not for remote, credential,…
Use when a human explicitly asks for a full repository agent-compatibility pass returning a scored report with prioritized fixes. Not for tasks that require…
Use when setting up a project, auditing agent command permissions, or asking which read-only bash commands and domains to allow. Not for remote, credential,…
Use when asked to build or review a CLI intended for coding agents and return flag-driven, pipeline-safe, idempotent design advice. Not for running or…
Use when the user asks to make the skills framework work in a new harness, IDE, or CLI. Not for remote, credential, publish, deploy, or irreversible changes.