apply-findings

apply-findings is a skill for Claude Code from tobihagemann/turbo. It costs 40 tokens per session (2,370 once invoked), scanned A, original, MIT.

A code-change helper that applies findings already reviewed and marked for action, while sending unclear findings to the user and recording genuine improvements for later.

In plain words
What is it for?
Use it to apply accepted review fixes in the relevant files after findings have been evaluated.
Why use it?
It prevents unverified review comments from being changed blindly and keeps ambiguous decisions visible.

Skill for Claude Code

Written for Claude Code: shipped in a Claude Code plugin. Also seen: names the AskUserQuestion tool; mentions Codex.

Part of the turbo plugin — 71 skills shipped together

Good fit Use it to apply accepted review fixes in the relevant files after findings have been evaluated.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/tobihagemann/turbo/apply-findings
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 tobihagemann/turbo --skill apply-findings
Clone the repo
git clone --depth 1 https://github.com/tobihagemann/turbo

Made for: Claude Code.

Or install turbo, the plugin that ships this one along with the rest of its 71 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 apply-findings

README.md
[![agentmods](https://agentmods.dev/badge/skills/tobihagemann/turbo/apply-findings/github.svg)](https://agentmods.dev/skills/tobihagemann/turbo/apply-findings)
Your own site
<a href="https://agentmods.dev/skills/tobihagemann/turbo/apply-findings"><img src="https://agentmods.dev/badge/skills/tobihagemann/turbo/apply-findings/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for apply-findings

Your own site · 80×15
<a href="https://agentmods.dev/skills/tobihagemann/turbo/apply-findings"><img src="https://agentmods.dev/badge/skills/tobihagemann/turbo/apply-findings.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 40 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,370 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.00040 $0.02370
Opus 5.5 $0.00016 $0.00948
Sonnet 5.5 $0.00008 $0.00474
Haiku 4.5 $0.00004 $0.00237

Measured 3d ago against content hash d57901cbe6b2, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

apply-findings 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 3d ago.

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.

claude/skills/apply-findings/SKILL.md · 67 lines

How it starts

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

Apply Findings

Apply evaluated findings from the conversation context. Findings must have been through /evaluate-findings first.

Step 1: Identify Findings

Collect all findings from the conversation context. Findings should have Verdict columns (Apply, Skip, Escalate) from /evaluate-findings.

If findings are unevaluated (raw output without verdicts), stop and say to run /evaluate-findings first.

Step 2: Apply in File Order

Group Apply findings by file path and apply in file order to minimize context switching. For each finding:

  1. Read the full function or logical block at the referenced location
  2. Verify the finding still applies to the current code
  3. Before applying a fix that stops a failure, whether the finding suggested it or you derived it, confirm the fix makes the failure the finding describes unreachable rather than only defeating the finding's reproduction: construct an input that clears the point the fix guards, trace whether it still reaches that failure further along, and write any regression test the fix adds from that input. When the fix encodes, escapes, quotes, or otherwise sanitizes untrusted input, construct such inputs from every character class the target interpreter treats specially and name what in the fix blocks each one; a class with no blocker means the fix is incomplete, including when it reproduces the finding's suggested wording. When the finding carries a suggested fix, also treat the fix as a separate claim from the finding and verify it independently — trace it against the failure modes the finding names, then against the behavior the code had before the fix on inputs the finding never mentioned, since a remedy can address the named mode while regressing an axis alongside it. Where the finding arrives with opposing remedies recorded, verify the measured one first, and where none was measured, measure before applying rather than choosing on the proposer's authority. When a fix removes a guard, check, rule, fallback, or retry as unreachable or redundant, including one you chose to remove while applying a fix, and the evidence is a comparison of runs with and without it, those runs must include the inputs it exists for, built on purpose where the condition it protects is hardest to meet, unless the evaluation already ran them. Runs that never reach those inputs leave the removal unsettled, and an unsettled removal does not hold up. If a suggested fix does not hold up, treat the finding as Escalate (surface it in Step 3) and record why the remedy fails, rather than applying an unsound fix on the finding's authority. If a fix you derived does not hold up, revise it, and when no revision holds up, treat the finding as Escalate (surface it in Step 3) and record why.
  4. When the fix would reverse a decision the user made earlier — in discussion or recorded in the artifact — treat the finding as Escalate (surface it in Step 3) and name the original decision. Judge by the outcome rather than the wording of the option the user chose: a reversal leaves the user with something materially different from what they chose. When the finding refutes only the factual premise the user's choice rested on and the fix leaves the chosen outcome intact, that is a premise correction: confirm the refutation against whichever of the code, the governing artifact, or authoritative documentation the premise turns on, and when none settles it, treat the finding as Escalate. Otherwise continue with the remaining checks, and state both the corrected premise and the chosen outcome it leaves standing in Step 4.
  5. Check what the fix you are about to make changes about the inputs the code accepts. When the change in accepted inputs is exactly the defect the finding names, continue with the remaining checks. When it turns away or newly admits anything beyond that defect — a value or path a legitimate caller could send — that is a behavior change: treat the finding as Escalate (surface it in Step 3) and name the input class that changes.
  6. Check whether the fix you are about to make adds machinery the evaluated finding does not name: a lease, lock, queue, versioning scheme, state machine, or new persistent entity. A fix that specifies such machinery in a plan adds it, the same as one that writes it into code. When the fix adds any, treat the finding as Escalate (surface it in Step 3) and name the machinery.
  7. Make the fix
  8. If the finding renames an identifier, changes a recurring shape — a type signature, call pattern, or wrapper that appears in many places — or corrects a stated claim about what something does or guarantees, search every caller, reference, and restatement the change reaches, not only the changed files, by concept rather than by the literal just replaced: a stem that survives inflection and compounding, the shape common to every variant, or the claim itself in whatever words a comment, document, or instruction file restates it. A clean search proves nothing when its pattern was derived from a single instance, and the cited location is often only one of several references. When the finding names several sites, also tick them off against the finding text. Complete the sweep, bringing every site it finds in line with the fix, before marking the fix complete.
  9. When the fix adds or edits a comment stating a contract — what is handled, what is excluded, what callers may rely on — verify the code enforces that contract before marking the fix complete. When it does not, add the enforcement rather than narrowing the comment.

Read the full file on GitHub · 67 lines

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. 3d ago Changed · -30 tokens per session d57901cbe6b2
  2. 20d ago Changed f50021618b6c
  3. 25d ago Changed fece94d8dc9b
  4. 1mo ago Changed · +2 lines 0566600af91f
  5. 1mo ago Changed 5aafdddf9ffb
  6. 1mo ago Changed · +1 lines f25575d4a88e
  7. 1mo ago Changed e5318393c9e7
  8. 1mo ago Changed 38f800aabaf6
  9. 1mo ago Changed 5c0f3452c0a7
  10. 1mo ago First seen · 64 lines · 70 tokens per session scan A 190502f9df90

Subscribe to this mod's changes

apply-findings is a skill published in the GitHub repository tobihagemann/turbo (420 stars, last pushed today), licensed MIT. It adds 40 tokens to every session and 2,370 once invoked, about $0.0002 per session on Opus 5.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-08-30.

Related

apply-findings compared with skills from other repositories

apply-findings next to 6 skills from other repositories
ModTypeStarsLast pushLicenceScanTokensWorks with
apply-findingstobihagemann/turboSkill420todayMITA40Claude Code
code-review-checklistmohitagw15856/pm-claude-skillsSkill1.5ktodayMITA88Claude Code, Codex
pr-description-writermohitagw15856/pm-claude-skillsSkill1.5ktodayMITA80Claude Code, Codex
best-practicesaddyosmani/web-quality-skillsSkill3.1k2mo agoMITA49Claude Code
security-specialistfabricioctelles/skillsSkill13411d agoApache-2.0A72Claude Code, Codex
agent-plugin-evalfabricioctelles/skillsSkill13411d agoApache-2.0A75Claude Code, Codex
fold-findingsgtrabanco/agentic-workflowSkill23todayMITA65Claude Code