wontfix

wontfix is a skill for Claude Code, Codex from OutlineDriven/odin-claude-plugin. It costs 42 tokens per session (1,525 once invoked), scanned A, original, Apache-2.0.

A workflow for turning refused feature directions into documented decisions and closing matching tracker items as not planned. Tracker items are records such as issues or requests in a project-management system.

In plain words
What is it for?
Use it to record why a direction was refused and close the related GitHub issues as not planned.
Why use it?
It prevents rejected ideas from being reconsidered repeatedly and keeps the matching work records up to date. Closure requires approval of the exact items first.

Skill for Claude CodeCodex

Written for Claude Code and Codex: disable-model-invocation in frontmatter, but also agents/openai.yaml present.

Part of the odin-git plugin — 46 skills shipped together

Good fit Use it to record why a direction was refused and close the related GitHub issues as not planned.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/outlinedriven/odin-claude-plugin/wontfix
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.

Any agent
npx skills add OutlineDriven/odin-claude-plugin --skill wontfix
Clone the repo
git clone --depth 1 https://github.com/OutlineDriven/odin-claude-plugin

Made for: Claude Code, Codex.

Or install odin-git, the plugin that ships this one along with the rest of its 46 skills.

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 wontfix

README.md
[![agentmods](https://agentmods.dev/badge/skills/outlinedriven/odin-claude-plugin/wontfix.svg)](https://agentmods.dev/skills/outlinedriven/odin-claude-plugin/wontfix)
Your own site
<a href="https://agentmods.dev/skills/outlinedriven/odin-claude-plugin/wontfix"><img src="https://agentmods.dev/badge/skills/outlinedriven/odin-claude-plugin/wontfix.svg" alt="Measured on agentmods" height="20"></a>
Per session 42 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,525 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe. Third-party audits
  • NVIDIA SkillSpector pass 7 Sept 2026
How audits are shown
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.1 $0.00042 $0.01525
Opus 5 $0.00021 $0.00763
Sonnet 5 $0.00008 $0.00305
Haiku 4.5 $0.00004 $0.00153

Measured yesterday against content hash 76fa0f9dd42b, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-08, from the pricing page.

Security

Grade A, and why

wontfix 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 yesterday.

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/odin-git/skills/wontfix/SKILL.md · 56 lines

How it starts

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

Wontfix

Contract

Field Bound contract
Trigger User wants to elicit refused directions, generalize and concretize them, and close matching tracker items as not planned.
Authority Remote: closes matching tracker items as not planned; requires explicit human invocation. The exact target set and its consequence are previewed and approved before any mutation; the same approval gates the optional local docs record. No credential, paid, publishing, or deployment mutation occurs.
Side effect Matching tracker items closed as not planned; optional refusal preserved in docs.
Done Refused directions are documented and matching items are closed as not planned after user approval.

Inputs

Must be supplied by the user:

  • The refused directions or designs, in the user's own words; rough phrasing is acceptable and is recorded verbatim.
  • The GitHub repository in scope; the working repository is used when gh repo view --json nameWithOwner resolves it, otherwise an explicit owner/repo is required.
  • Explicit approval of the exact closure set before any mutation.

Optional:

  • A durable refusal record in the docs folder; without the request, no docs file is touched.
  • Narrowing filters (labels, assignees, search terms) to bound enumeration.

Procedure

  1. Name the tracker in scope: run gh repo view --json nameWithOwner; on error, ask for owner/repo and rerun gh repo view <owner>/<repo> --json nameWithOwner. Done when: tracker is identified, or the step has stopped on failure with zero mutations.
  2. Elicit refused directions: ask the user what will not be done. Record each statement verbatim. Never add, infer, or propose refusals the user did not state. Done when: all refused directions are recorded verbatim.
  3. Generalize and concretize each verbatim refusal: the generalization is the refused class of work in one sentence; the concretization is the detectable matching signals (keywords, component or path names, label names, design choices). A refusal that resists either form is ambiguous. Done when: every refusal has a generalization and concretization, or is marked ambiguous.
  4. Resolve every ambiguous refusal and confirm the completed refusal list with the user. The list is frozen only after this confirmation. Done when: refusal list is confirmed and frozen.
  5. Enumerate the open tracker surface: gh issue list --repo <owner>/<repo> --state open --json number,title,body,url,labels --limit 200 and gh pr list --repo <owner>/<repo> --state open --json number,title,body,url,labels --limit 200. When the returned count equals the limit, rerun with a higher --limit until the open set is fully covered. Done when: open issues and PRs are fully enumerated, or the step has stopped on enumeration failure with zero mutations.
  6. Match items to refusals: an item joins the closure set only when its title, body, or labels match a concretized signal of some refusal. For borderline candidates read the full item with gh issue view or gh pr view, and include it only on an explicit signal match. Record kind, number, title, URL, matched refusal, and matched signal for every included item; list excluded borderline items as not matched. Done when: every open item is classified as matched or not matched.
  7. Preview and gate: present the exact closure set (number, kind, title, URL, matched refusal) with the consequence: issues close with reason "not planned", pull requests close unmerged with the refusal as the closing comment, and the docs record plan when requested. Mutate only after the user explicitly approves this exact set; any later change to the set requires fresh approval. Done when: user explicitly approves the exact closure set, or the step waits for approval.
  8. Close each approved item, one at a time, recording every result: issue: gh issue close <number> --repo <owner>/<repo> --reason "not planned" --comment "<generalization>"; pull request: gh pr close <number> --repo <owner>/<repo> --comment "<generalization> (closed as not planned)". A failed close is recorded and does not block the remaining approved items; failed items are never silently skipped. Done when: every approved item is attempted with its result recorded.
  9. Confirm every intended closure: gh issue view <number> --repo <owner>/<repo> --json state,stateReason must report "state": "CLOSED" with "stateReason": "NOT_PLANNED", and gh pr view <number> --repo <owner>/<repo> --json state must report "state": "CLOSED". An item still reporting open receives exactly one retry of its close command and one re-check; a second miss is reported as unconfirmed. Done when: every approved item is confirmed closed or reported as unconfirmed.
  10. Write the optional docs record only when the user requested it and after the step 7 approval: append a dated section to docs/refused-directions.md (create the file when missing) listing each refusal verbatim, its generalization and concretization, and the closed item numbers with URLs. Rollback is deletion of the appended section; the rest of the file is untouched. Done when: docs record is written or skipped (not requested).
  11. Report per Output. The done predicate holds only when every approved item is confirmed closed. Done when: report is emitted and done predicate is evaluated.

Read the full file on GitHub · 56 lines

Files

What ships with it

1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

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. yesterday First seen · 56 lines · 42 tokens per session scan A 76fa0f9dd42b

Subscribe to this mod's changes

wontfix is a skill published in the GitHub repository OutlineDriven/odin-claude-plugin (35 stars, last pushed today), licensed Apache-2.0. It adds 42 tokens to every session and 1,525 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-06.

Related

Other skills, from other repositories

systematic-debugging

Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.

obra/superpowers · 21 tokens

local-ai-agents

Build local-first AI agents that run entirely on a developer workstation with Microsoft Foundry Local and Qwen function-calling models. Covers Small Language Models (SLMs), the OpenAI-compatible local endpoint, sandboxed local tools, local RAG with Chroma, local MCP servers, hybrid cloud/local routing, and the…

microsoft/ai-agents-for-beginners · 200 tokens

next-cache-components-adoption

Turn on Cache Components in a Next.js app and resolve the blocking routes it surfaces. Use when the user wants to enable, adopt, or migrate to Cache Components, flip the cacheComponents flag, work through a flood of blocking-prerender / instant validation errors, run the cache-components-instant-false codemod, or…

vercel/next.js · 95 tokens

next-cache-components-optimizer

Drive a Next.js route to instant navigation by setting up an agentic loop, under Cache Components / PPR, on initial load (hard navigation) and client-side navigation (soft navigation). Encode the goal as a failing @next/playwright instant() e2e and work it to green, one verified route at a time; the shipped test then…

vercel/next.js · 170 tokens

next-partial-prefetching-adoption

Turn on Partial Prefetching in a Next.js app and work through the insights it surfaces. Use when the user wants to enable or adopt Partial Prefetching, flip the partialPrefetching flag, opt routes in with export const prefetch = 'partial', audit Link prefetch={true} behavior, preserve existing prefetched UI with…

vercel/next.js · 103 tokens

chronicle

Analyze Copilot session history for standup reports, usage tips, session search, and session reindexing. Use when the user asks for a standup, daily summary, usage tips, workflow recommendations, wants to search or find past sessions by keyword/file/PR, wants to reindex their session store, or asks about deleting…

microsoft/vscode · 72 tokens