Install
$ agentstack add skill-outlinedriven-odin-codex-plugin-fix ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Fix
Failure-driven iterative repair. Detect → Prioritize → Fix ONE thing → Commit → Verify → Keep/Revert → Repeat.
When to Apply / NOT
Apply: user says "fix", "make it pass", "apply findings"; input is a verifier failure, findings file, or bug description.
NOT apply:
- CI/PR workflows with no local context → use
gh-fix-ci - PR review comments → use
gh-address-comments - Merge conflicts
- Analysis-only tasks → use
resolveordebug - Planned change without a failure driver → use
proceed
Detected Mode Acknowledgement [LOAD-BEARING]
First output line before ANY edit:
detected: — target=TARGET guard=GUARD scope=SCOPE cap=20
Mode values: gh-route, findings, verifier-failure, bug-spec. Full classifier: references/classifier.md.
Input Classifier
First-match wins. Full detail: references/classifier.md.
| Priority | Mode | Minimum condition | |----------|------|-------------------| | 1 | gh-route | GH-flavored input + open PR + gh auth status clean | | 2 | findings | Path to */findings.md, */review/*.md, or structured findings text | | 3 | verifier-failure | Raw verifier stdout (FAILED, error TS, --- FAIL, etc.) | | 4 | bug-spec | Natural-language description — catch-all fallback |
Auto-Detect Gate
Auto-infer: target verifier, scope glob, guard command, iteration cap (default 20).
Trigger AskUserQuestion (single-select per axis, NEVER multiSelect) when:
MIXED_MODE: findings artifact AND verifier-failure output both presentGH_PARTIAL: GH-flavored input but no open PR, orgh auth statusfailsLANG_UNKNOWN: verifier-failure detected but verifier undetectableSCOPE_AMBIGUOUS: bug-spec with no module, file, or component reference
Iterative Loop
Full spec: references/loop.md. Key rules:
- One fix per iteration. Apply fix → stage checkpoint commit → run verifiers → KEEP on green, revert with
git revert HEAD --no-editon red. A commit is kept only when the guard passes. - Decide matrix:
delta > 0+ guard ok → KEEPdelta > 0+ guard fail → REWORK (max 2 reworks per item; 4th attempt → SKIP)delta ≤ 0→ DISCARD — revert immediately- 3 total skips → HALT with summary
- Revert: always
git revert HEAD --no-edit. Neverreset --hard. - Cap: 20 iterations default. Print progress every 5 iterations.
- Refuse loop on protected branches (
main,master,release/*). - Override:
iterations: Nor--iterations Nin invocation.
Verifier Detection
Repo-native first (use fd --max-depth 2 to locate):
Justfile→just test(guard:just check)Makefile→make test(guard:make check)package.json→npm test(guard:tsc --noEmit && eslint .)dune-project→dune build @runtest(guard:dune build)
Language fallbacks:
- Python:
pytest+ruff check . && mypy . - TypeScript:
vitest run+tsc --noEmit && eslint . - Rust:
cargo test+cargo clippy -- -D warnings - Go:
go test ./...+golangci-lint run - OCaml:
dune build @runtest+dune build
Full matrix: references/verifiers.md.
GH Auto-Route
When open PR + gh auth status clean + GH-flavored input:
| Sub-target | Trigger language | |------------|-----------------| | gh-fix-ci | "CI", "Actions", "workflow", "checks", Actions run URL | | gh-address-comments | "reviewer said", "address comment", "PR feedback", "requested changes" |
Both sets of language → fire AMBIGUOUS_GH_ROUTE (single-select: gh-fix-ci vs gh-address-comments). Partial match → GH_PARTIAL ambiguity flag.
Hand-off & Integration
debugupstream: unclear root cause — debug findings become the fix target.triage-issueupstream: bug-spec mode — triage produces repro + TDD plan first.test-drivenpartner: failing test ↔ green flip; delegate RED→GREEN cycle.proceedcomplement: planned change without failure →proceed; failure-driven →fix.resolve/review/triage-issueas findings sources: their output paths feed findings mode.
Failure Modes
- No verifier output: emit warning, raise
LANG_UNKNOWN. - 3 strikes on one item: SKIP, add to
blocked.md, recommenddebug. - 3 total skips: HALT with session summary.
- Guard ambiguous:
AskUserQuestionfor guard command. - Mixed-mode input: raise
MIXED_MODE. - Protected branch: REFUSE with message before entering loop.
Anti-Patterns
- Never
@ts-ignore/# type: ignore/// eslint-disableto silence errors. - Never delete tests to make them pass.
- ONE fix per iteration — no "while I'm here" changes.
- No
git reset --hard. - Recursion guard:
--modebypasses classifier entirely;gh-fix-cire-entering asfix --mode verifier-failurecannot loop back intogh-fix-ci.
Constitutional Rules
- Evidence before claims: run verifiers, read output, then state result.
- Compress-first: reduce coupling before behavior change.
- Atomic commits: one concern per commit; guard must pass before a loop commit is kept (KEEP in decide matrix = tests-pass gate).
- Never skip the guard.
- Full specs:
references/loop.md,references/classifier.md,references/verifiers.md.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: OutlineDriven
- Source: OutlineDriven/odin-codex-plugin
- License: Apache-2.0
- Homepage: https://outlinedriven.github.io
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.