finn-review

finn-review is a skill for Claude Code, Codex from finna/Finn-loop. It costs 56 tokens per session (1,026 once invoked), scanned A, original, MIT.

A review process for open GitHub pull requests, which are proposed code changes, against their linked Linear issues and required checks.

In plain words
What is it for?
Use it to review one eligible pull request at a time, inspect its issue and code changes, then post a verdict using Finn-loop labels. It does not merge or push code.
Why use it?
It catches missing requirements, defects, security problems, and incomplete review states before a change is merged.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

Good fit Use it to review one eligible pull request at a time, inspect its issue and code changes, then post a verdict using Finn-loop labels. It does not merge or push code.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/finna/finn-loop/finn-review
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 finna/Finn-loop --skill finn-review
Clone the repo
git clone --depth 1 https://github.com/finna/Finn-loop

Made for: Claude Code, Codex.

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 finn-review

README.md
[![agentmods](https://agentmods.dev/badge/skills/finna/finn-loop/finn-review/github.svg)](https://agentmods.dev/skills/finna/finn-loop/finn-review)
Your own site
<a href="https://agentmods.dev/skills/finna/finn-loop/finn-review"><img src="https://agentmods.dev/badge/skills/finna/finn-loop/finn-review/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 finn-review

Your own site · 80×15
<a href="https://agentmods.dev/skills/finna/finn-loop/finn-review"><img src="https://agentmods.dev/badge/skills/finna/finn-loop/finn-review.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 56 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,026 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.00056 $0.01026
Opus 5 $0.00028 $0.00513
Sonnet 5 $0.00011 $0.00205
Haiku 4.5 $0.00006 $0.00103

Measured 9d ago against content hash 5f5a79c24139, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-09, from the pricing page.

Security

Grade A, and why

finn-review 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 9d 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.

skills/finn-review/SKILL.md · 119 lines

How it starts

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

Finn-loop reviewer

One pass = one PR reviewed. Under /loop, each iteration runs this skill once.

1. Find a PR needing review

gh pr list --state open --json number,title,labels,isDraft,headRefOid,updatedAt,url

Skip drafts. For each PR, find the latest comment whose first line is Finn-loop review of COMMIT_SHA.

Skip a PR when that recorded SHA equals its current headRefOid and it already has loop-approved, loop-changes-requested, or needs-human-review. Review it again when new commits landed after the recorded SHA. If nothing needs review, say so and end the pass.

2. Read the contract and code

  • Parse the linked issue identifier from Closes TEAM-NNN in the PR body and fetch the full Linear issue, including comments and relations. No linked issue is a must-fix finding.
  • Read the full diff and every changed file in context.
  • Review only against the linked issue: acceptance-criteria gaps, defects, broken data flow, unnecessary scope expansion, security problems, missing loading/error states, and code future agents will struggle to modify.
  • Do not suggest unrelated improvements unless they are severe.

Every must-fix code finding starts with one of:

  • [AC-N] — the PR does not satisfy that acceptance criterion
  • [DEFECT] — the implementation is broken while staying inside scope
  • [SECURITY] — a severe security issue blocks shipping
  • [CI] — a required GitHub check failed

Non-goals are binding. If fixing a finding would require behavior excluded by an NG-N, do not prescribe code. Record [SCOPE-CONFLICT AC-N ↔ NG-N] with the exact contradiction and mark the PR for human escalation.

3. Check merge evidence

Inspect the current PR head, mergeability, and required checks:

gh pr view NUMBER --json headRefOid,mergeable,mergeStateStatus
gh pr checks NUMBER --required --json bucket,name,state,link
  • If required checks are pending or mergeability is still unknown, report that the PR is waiting and end without posting a verdict or changing labels. A later loop pass will retry it.
  • Failed required checks are [CI] must-fix findings.
  • A merge conflict is a [DEFECT] must-fix finding.
  • If the repository has no required checks, mark the PR for human escalation; do not apply loop-approved. Finn-loop does not treat missing CI as green.

Read the full file on GitHub · 119 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. 9d ago First seen · 119 lines · 56 tokens per session scan A 5f5a79c24139

Subscribe to this mod's changes

finn-review is a skill published in the GitHub repository finna/Finn-loop (304 stars, last pushed 1mo ago), licensed MIT. It adds 56 tokens to every session and 1,026 once invoked, about $0.0003 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-08-30.

Related

Other skills, from other repositories

project-init

Interview-based project setup — generates CLAUDE.md, ROADMAP, .gitignore, .env.example from scratch. Use when: user says '/project-init', 'new project', 'project creation', 'project setup', 'project setup', 'new project', 'create project'. NOT for AI agent/harness configuration (use setup for that). Conversational…

AlexZio00/sovereign-skills · 82 tokens

project-overview

Use when the user wants a deterministic cross-project status map generated from registered projects' session handoffs. Triggers: '/project-overview', 'project map', 'overall status'. Reads /.claude/projects-registry.md (opt-in list), parses each project's memory/session-handoff-LATEST.md state-snapshot v1 block…

AlexZio00/sovereign-skills · 109 tokens

session-start

Load handoff on session start, review lessons, output readiness signal. Triggers: '/session-start', 'start session'. Skip if: first session (no handoff), user requests 'start fresh', or standalone question unrelated to project context.

AlexZio00/sovereign-skills · 52 tokens

ticket-lifecycle

Run the deckhand ticket lifecycle: take GitHub issues from a GitHub Projects board through implementation, isolated adversarial review, a fix-loop, CI gating, and merge. Use eagerly when working a board: 'iterate on these tickets', 'work through the backlog', 'pick up #N', 'process the prioritized column', a batch of…

jonthebeef/deckhand · 166 tokens

speclite-code-review-06-finalizer

A workflow for closing a software story after code review confirms the changes are approved and the completion checks pass.

flanliulf/SpecLite · 73 tokens

speclite-code-review-05-todo-tracker

A backlog manager for deferred code-review improvements. A backlog is a list of work that is recorded for later rather than handled immediately.

flanliulf/SpecLite · 75 tokens