finn-build
Claim the next safe agent-ready issue from Linear, implement it, and open a PR. Use when asked to run Finn-loop's builder, work the approved queue, or fix…
Review open PRs against their linked Linear issues and required GitHub checks, then post a three-group verdict with Finn-loop labels. Use when asked to run Finn-loop's reviewer or review its PR queue. Designed for /loop; never merges or pushes code.
$ npx -y skills add finna/Finn-loop --skill finn-review --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/finn-reviewContext preview
The summary Claude sees to decide when to auto-load this skill.
Review open PRs against their linked Linear issues and required GitHub checks, then post a three-group verdict with Finn-loop labels. Use when asked to run Finn-loop's reviewer or review its PR queue. Designed for /loop; never merges or pushes code.
name: finn-review description: Review open PRs against their linked Linear issues and required GitHub checks, then post a three-group verdict with Finn-loop labels. Use when asked to run Finn-loop's reviewer or review its PR queue. Designed for /loop; never merges or pushes code.
One pass = one PR reviewed. Under `/loop`, each iteration runs this skill once.
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.
fetch the full Linear issue, including comments and relations. No linked issue is a must-fix finding.
broken data flow, unnecessary scope expansion, security problems, missing loading/error states, and code future agents will struggle to modify.
Every must-fix code finding starts with one of:
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.
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
the PR is waiting and end without posting a verdict or changing labels. A later loop pass will retry it.
do not apply `loop-approved`. Finn-loop does not treat missing CI as green.
Review the exact `headRefOid` used for this evidence. Re-fetch it immediately before posting. If it changed, discard the review and start again on a future pass.
Post one comment in this structure:
Finn-loop review of COMMIT_SHA CI: required checks passed | failed | not configured Mergeability: clean | conflicting ## Review Summary: one or two plain-language sentences on what this PR does. ## 1. Must fix before merge None. ## 2. Should fix soon None. ## 3. Safe to merge Yes — automated review evidence is complete. A human still makes the merge decision.
Then set labels based on the verdict, checking existing labels before removing them so an absent label does not fail the command:
`loop-changes-requested`. Preserve a pre-existing `needs-human-review` label because it may represent a separate high-risk human gate.
`loop-approved` and `loop-changes-requested`; set "Safe to merge" to `No — human decision required.`
The escalation path deliberately leaves the automated repair queue. A human must resolve the reason, change the issue or repository configuration as needed, and remove `needs-human-review` before Finn-loop reviews that unchanged commit again.
comment plus labels because the loop may run on the PR author's token and GitHub rejects self-reviews.
Three Claude Code skills that turn Linear + GitHub into a small, human-gated AI software factory: **idea → /finn-spec interviews you and files the issue → you label it agent-ready → /finn-build claims it and opens a PR → /finn-review posts a verdict → you
Repo: finna/Finn-loop
Claim the next safe agent-ready issue from Linear, implement it, and open a PR. Use when asked to run Finn-loop's builder, work the approved queue, or fix…
Interview the user about a raw idea until confident, then file a build-ready issue in Linear. Use when asked to run Finn-loop's spec interview, draft a…