Finn-loop Skill:Linear+GitHub 上的三技能 AI 软件工厂
想象一个工作流:你在 Linear 里提一个想法 → AI 自动追问澄清需求并写入 issue → 标注 agent-ready 后 AI 自动领任务、coding、提 PR → AI review 审核 PR → 你只需点一个 Merge。
Finn-loop 做的正是这件事——一个围绕 Linear + GitHub 运转的「3 技能 AI 软件工厂」,核心理念:Humens merge(人负责合并,AI 负责生产)。
功能与原则
Finn-loop 由三个 Claude Code 技能构成完整流水线:
/finn-spec— 研究代码库,通过追问将模糊想法澄清为带验收标准(AC-N)和非目标(NG-N)的 Linear issue/finn-build— 认领下一个标注了agent-ready的 issue,实现功能、验证、提 PR;支持/loop持续运行/finn-review— 审查所有 open PR,对照 Linear 合同和 GitHub checks 输出三段式裁定(must-fix / suggestions / approved);支持/loop持续运行
设计原则:
– Linear 是唯一事实来源:issue 以外不存在指令
– 人负责合并:AI 永远不开 auto-merge,只有 loop-approved + 全绿 + 无冲突时才放行
– 最小可行工厂:三技能 + 一个 approval label,极简起步,验证核心循环后再扩展
认可度
- GitHub Star:229(截至 2026-07-28, repo 创建于 2026-07-22,仅 6 天)
- Forks:38
- 近期在 GitHub Trending 出现(Python/TypeScript 双语言列表均有露出)
- 出自资深开发者 finna(GitHub @finna,2012 年注册,长期关注开发者工作流基础设施)
链接
GitHub:https://github.com/finna/Finn-loop
原作者
- GitHub: @finna(finna)
- 定位: 开发者工作流基础设施研究者,长期关注 AI 辅助编程的工程化边界
介绍
Finn-loop 诞生于一个核心观察:AI coding agent 之所以在团队环境中难以落地,不是因为模型不够强,而是因为缺乏结构化的任务输入和人工审核节点。没有清晰的合同(spec),AI 会自行扩展 scope;没有人工审核,错误代码直接上生产。
项目将 Linear 的 issue 系统作为「AI 与人的协作协议」:spec 阶段确保需求无歧义,build 阶段确保交付符合合同,review 阶段确保改动安全。三阶段全部通过自然语言完成,底层是 Claude Code 的 tool use 能力,触发条件是 Linear label 和 GitHub status check 的状态变化。
安装只需将三个 SKILL.md 文件复制到 .claude/skills/ 目录,替换 TEAM 占位符为你的 Linear 团队 key,运行 /reload-skills 即完成接入。后续每天的节奏就是:提 idea → 标注 agent-ready → 看 AI 提 PR → merge。
特点
- 三技能分工明确:spec(需求)/ build(实现)/ review(审核),各自独立、可单独使用
- Linear + GitHub 双平台集成:Linear 管任务状态,GitHub 管代码状态,两者通过 API 联动
- 支持
/loop持续运行:build 和 review 都可以持续轮询,不需反复手动触发 - 人工边界清晰:issue contract 是唯一 scope,非目标(NG-N)具有约束力,PR 评论不能扩展范围
- 可扩展架构:当前是最小工厂,原项目作者给出了 Self-converging PRs / Slack 控制平面 / Risk-aware merging / Verification gates 四层扩展路径
使用方法
安装步骤:
- 在 Claude Code 项目根目录运行
- 按指引复制三个 SKILL.md:
skills/finn-spec/SKILL.md → .claude/skills/finn-spec/SKILL.md
skills/finn-build/SKILL.md → .claude/skills/finn-build/SKILL.md
skills/finn-review/SKILL.md → .claude/skills/finn-review/SKILL.md - 替换 TEAM 占位符为 Linear 团队 key(如
ENG) - 确认 Claude Code 版本 ≥ 2.1.71,Linear connector 可用,
gh已认证 - 创建标签:
agent-ready/blocked(Linear),loop-approved/loop-changes-requested/needs-human-review(GitHub) - 运行
/reload-skills,确认三个技能出现在/skills列表中
基本调用:
/finn-spec → 启动需求澄清对话,完成后在 Linear 生成带 AC/NG 的 issue
/loop /finn-build → 持续扫描 agent-ready issues,认领后提 PR
/loop /finn-review → 持续扫描 open PRs,输出三段式裁定
使用场景与人群
- 适用场景: 小型开发团队希望用 AI 提升工程产出的结构化程度;个人开发者想为重复性 coding 任务建立自动化流水线;AI coding agent 在团队环境下的工程化落地
- 目标用户: 有 Linear + GitHub 工作流的开发团队;使用 Claude Code 2.1.71+ 的个人开发者;对「AI 提 PR → 人工审核 → 合并」模式有需求的工程团队
输入与输出案例
场景 1:Spec 阶段
- 输入: 你告诉
/finn-spec:「我想给登录页面加一个记住我的复选框」 - 输出:
/finn-spec通过多轮追问(Cookie 时长?影响范围?与 session 的关系?),最终在 Linear 生成结构化 issue,包含 AC-1「复选框勾选后 30 天内免登录」、AC-2「取消勾选立即清除持久 cookie」等具体可验证条件,以及 NG-1「不实现跨设备同步」等明确非目标
场景 2:Build + Review 阶段
- 输入: 你在 Linear 标注 issue
agent-ready,运行/loop /finn-build - 输出:
/finn-build认领 issue、实现功能、自测、提 PR;/finn-review检查 PR 是否符合 Linear 合同、GitHub checks 是否全绿,输出「✅ loop-approved」或「❌ needs-human-review: AC-1 未覆盖错误处理」
GitHub:https://github.com/finna/Finn-loop
评论区
登录后可评论。