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.
npx skills add midFang/ai-agent-skills-workflow --skill feature-donegit clone --depth 1 https://github.com/midFang/ai-agent-skills-workflowWrote 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.
[](https://agentmods.dev/skills/midfang/ai-agent-skills-workflow/feature-done)<a href="https://agentmods.dev/skills/midfang/ai-agent-skills-workflow/feature-done"><img src="https://agentmods.dev/badge/skills/midfang/ai-agent-skills-workflow/feature-done/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.
<a href="https://agentmods.dev/skills/midfang/ai-agent-skills-workflow/feature-done"><img src="https://agentmods.dev/badge/skills/midfang/ai-agent-skills-workflow/feature-done.svg" alt="Reviewed on agentmods" width="80" height="20"></a>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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00127 | $0.01097 |
| Opus 5.5 | $0.00051 | $0.00439 |
| Sonnet 5.5 | $0.00025 | $0.00219 |
| Haiku 4.5 | $0.00013 | $0.00110 |
Grade A, and why
feature-done 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 1mo 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.
How it starts
The opening of the file, as written. The whole thing — 108 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Feature Done
目的
处理 feature 开发后半段:
用户人工验证通过(或用户触发 `$feature-done` 并明确给出 feature 与目标分支)
-> 标记 human_verified
-> 合并到用户指定目标分支
-> 标记 merged
-> 构建并安装目标分支 APK
-> 等用户做合并后验证
-> 标记 integration_verified
-> 删除 worktree
-> 标记 worktree_removed
阶段 A:验证通过并合并
若用户触发 $feature-done 并明确给出 feature 与目标分支,即视为该 feature 的待验证 APK 已人工验证通过,不再额外要求用户回复“验证通过”。
触发示例:
$feature-done FEAT-001 验证通过,合并到 main
如果用户没说目标分支,必须先问:
要把 FEAT-001 合并到哪个目标分支?
步骤:
- 读取
features/<版本>/feature_list.json中的 feature。 - 更新:
status=human_verified
- 更新 TASK 的用户验证记录。
- 合并前检查:
- feature worktree 没有未提交改动
- 目标分支由用户明确给出
- 执行合并的仓库不能有业务代码/配置类未提交改动
issues/**/*.md、issues/**/*.csv、features/**/*.md、features/**/*.csv、features/**/*.json这类流程文件允许有改动
- 切到目标分支。
- 默认执行:
- merge commit message 使用:
Merge <feature_id> feat: <中文需求描述或实现内容> - 中文描述优先取 spec 的“目标”,其次取 feature list 的
title/name/description。 - 示例:
git merge --no-ff -m "Merge FEAT-001 feat: 增加沉浸式写作模式" <feature-branch>
- merge commit message 使用:
- 合并成功后:
status=merged- 记录 merge commit
- 构建目标分支 APK,复制到:
features/<版本>/apks/<feature_id>-merged.apk
- 自动安装到手机:
- 多设备时询问 serial
adb install -r <merged-apk>
- TASK 记录合并、构建、安装结果。
- 不删除 worktree,等待用户做合并后验证。
阶段 B:合并后验证通过并清理
触发示例:
$feature-done FEAT-001 合并后验证通过,可以清理 worktree
步骤:
- 确认当前状态是
merged,或用户明确说明合并后验证通过。 - 更新:
status=integration_verified
- 检查 feature worktree 没有未提交改动。
- 删除 worktree:
git worktree remove <worktree_path>
- 默认尝试安全删除本地 feature 分支:
git branch -d <feature-branch>
- 更新:
status=worktree_removed
- TASK 记录清理结果。
安全规则
- 没有目标分支,不合并,先问用户。
- 未经用户人工验证通过,不合并;但用户触发
$feature-done并明确给出 feature 与目标分支时,视为已完成待验证 APK 的人工验证。 - 合并成功后自动构建并安装目标分支 APK,等待用户做合并后验证。
- 合并后未经用户确认,不删除 worktree。
- 执行合并的仓库允许存在
issues/**/*.md、issues/**/*.csv、features/**/*.md、features/**/*.csv、features/**/*.json流程文件改动;其它未提交改动会阻止合并。 - 不使用
git branch -D、git reset --hard等破坏性命令,除非用户明确要求。
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.
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.
- 1mo ago First seen · 108 lines · 127 tokens per session scan A 7b1bb053c3f0
feature-done is a skill published in the GitHub repository midFang/ai-agent-skills-workflow (2 stars, last pushed 4mo ago), licensed MIT. It adds 127 tokens to every session and 1,097 once invoked, about $0.0005 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-31.
Other skills, from other repositories
axiom-shipping
Use when preparing an app for App Store submission, handling rejections or appeals, managing App Store Connect and Xcode Cloud, or triaging TestFlight/Sentry crash corpora. Covers checklists, metadata, privacy manifests, age ratings, export compliance.
mobiai-create-pr
YOU MUST use this before ANY git push, branch push to remote, merge, or PR creation — regardless of phrasing or language. Covers all irreversible integration actions (committing, pushing, opening a PR, shipping finished work). Also triggers proactively after a fix when the user signals completion (still ask before…
mobiai-mobile-worktrees
You MUST use this before starting mobile work that needs isolation from the current workspace — new feature branches, parallel efforts, or any plan execution that should not contaminate the active tree. Do not create worktrees ad hoc; this skill enforces safe directory selection and verification.
mobiai-mobile-finishing-branch
You MUST use this once mobile implementation is finished and you are about to integrate the work — merging, pushing, opening a PR, or cleaning up the branch. Do not improvise the wrap-up; this skill gates verification, presents integration options, and handles cleanup.
release-new-version
Use when the user wants to release a new Zafiro version — drafting bilingual release notes, deciding the next version number, bumping app/build.gradle.kts, tagging, and publishing to GitHub (main repo, optionally the Xposed repo).
asc-ad-hoc-distribution
Prepare, publish, resume, and verify private iOS release-testing installs with asc distribute. Use when distributing an IPA to registered devices outside TestFlight, reconciling ad hoc profiles, publishing through caller-owned S3-compatible storage, or diagnosing a resumable private distribution run.