mcpField
A
autonomous-skill

autonomous-skill

github.com/feiskyerAgent 工作流1.7k284 次安装4 周前更新
代码仓库

关于 autonomous-skill

autonomous-skill 通过多个 Claude Code 会话执行复杂任务,提供无头与会话内模式,以及结构化或轻量迭代。它适用于需要跟踪进度和明确完成条件的长期或多阶段工作。

主要功能

  1. 01无头与 Hook 执行模式
  2. 02结构化与轻量策略
  3. 03会话进度日志
  4. 04承诺标记与清单完成检测
  5. 05会话、预算和模型限制

适用场景

  1. 01执行多阶段应用构建
  2. 02迭代修复失败测试或重构
  3. 03继续无人值守的后台任务

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/feiskyer/claude-code-settings --skill autonomous-skill

安装后在 Claude Code 中输入/autonomous-skill确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

hooks/
hooks.json
stop-hook.sh
scripts/
run-session.sh
setup-loop.sh
templates/
executor-prompt.md
initializer-prompt.md
task-list-template.md

详细介绍

自主技能 - 多会话任务执行

跨多个 Claude Code 会话执行复杂任务,并支持自动续接、进度跟踪和两种完成机制(承诺标签 + 复选框计数)。

两种执行模式

无头模式(默认)

在 bash 循环中启动 claude -p 子会话。最适合后台或无人值守工作。

bash <skill-dir>/scripts/run-session.sh "Build a REST API" --max-sessions 10
Hook 模式(会话内)

使用 Stop hook 拦截会话退出,并将提示词重新传入。在当前交互式会话中运行,不会出现嵌套问题。

bash <skill-dir>/scripts/setup-loop.sh "Build a REST API" --max-iterations 10

两种任务策略

结构化(默认)

完整拆解任务:Initializer 创建包含分阶段子任务的 task_list.md,Executor 逐一领取并完成任务。最适合复杂的多阶段项目。

bash <skill-dir>/scripts/run-session.sh "Build a REST API for todo app"
轻量级(--lightweight)

Ralph 式迭代:每个会话重复使用相同的提示词,不拆解任务。最适合成功标准明确的迭代任务(TDD、修复错误、重构)。

bash <skill-dir>/scripts/run-session.sh "Fix all failing tests in src/" --lightweight

完成检测

两种互补机制——任一机制先触发即视为完成:

  1. 承诺标签(两种模式均适用):任务确实完成时,Agent 会输出 <promise>DONE</promise>。默认承诺内容为 DONE;可使用 --completion-promise 自定义。系统会指示 Agent 仅在工作真正完成时输出承诺,不得借此逃出循环。

  2. 复选框计数(仅结构化模式):task_list.md 中所有 [ ] 项均已标记为 [x]。

目录布局

project-root/
├── .autonomous/
│   └── <task-name>/
│       ├── task_list.md      # Master checklist (structured mode)
│       ├── progress.md       # Per-session progress log
│       ├── .mode             # "structured" or "lightweight"
│       ├── sessions/         # Transcript logs per session
│       │   ├── session-001.log
│       │   └── session-002.log
│       └── run.lock          # Prevents concurrent runs
└── .claude/
    └── autonomous-loop.local.md  # Hook mode state (when active)

无头模式 — CLI 参考

bash <skill-dir>/scripts/run-session.sh "task description" [OPTIONS]
标志说明默认值
--lightweightRalph 式迭代(不拆解任务)structured
--task-name <name>显式指定任务名称自动生成
--continue, -c继续最近的任务或指定名称的任务—
--list, -l列出所有任务及其进度—
--completion-promise TEXT完成时使用的承诺短语DONE
--max-sessions N达到 N 个会话后停止不限
--max-budget N.NN每个会话的美元预算5.00
--model <model>模型别名或完整名称sonnet
--fallback-model <m>主模型过载时使用的备用模型—
--effort <level>思考力度(low/medium/high)high
--no-auto-continue仅运行一个会话—
--permission-mode <m>权限模式auto
--add-dir <dirs>额外允许访问的目录—

Hook 模式 — 设置

用于会话内循环(不启动子进程):

bash <skill-dir>/scripts/setup-loop.sh "task description" [OPTIONS]
标志说明默认值
--mode structured|lightweight任务策略structured
--max-iterations N最大循环迭代次数不限
--completion-promise TEXT承诺短语DONE
--task-name NAME显式指定任务名称自动生成

Hook 已在 hooks/hooks.json 中注册。启用后,Stop hook 会读取 .claude/autonomous-loop.local.md,并阻止退出,直到检测到承诺或达到最大迭代次数。

取消正在运行的 Hook 模式循环:rm .claude/autonomous-loop.local.md

工作流详情

结构化模式
  1. Initializer Agent — 分析任务、创建分阶段的 task_list.md,并开始工作
  2. Executor Agent — 读取任务列表和进度、验证之前的工作,并完成下一个任务
  3. 自动续接 — 检查承诺标签和复选框;如果尚未完成,则启动下一个会话
轻量级模式
  1. 每次迭代都传入相同的提示词
  2. Agent 可通过文件和 git 历史查看之前的工作
  3. 持续迭代,直到工作完成并输出承诺标签
  4. 不使用 task_list.md——完成状态完全由承诺标签决定
如何选择
场景策略模式
构建完整应用结构化无头
修复所有失败的测试轻量级任一
重构模块轻量级任一
多阶段项目结构化无头
快速迭代修复轻量级Hook
通宵批量处理结构化无头

重要约束

  1. task_list.md 中的完成项只能追加:只将 [ ] 改为 [x]
  2. 每个任务只运行一个实例:锁文件可防止同一任务同时运行多个会话
  3. 项目文件留在项目根目录中:.autonomous/ 仅用于跟踪
  4. 承诺必须真实可靠:只有在真正完成后,Agent 才能输出 <promise>DONE</promise>
  5. 关注成本:每个会话的默认预算为 $5。使用 --max-budget 调整

故障排除

问题解决方案
"Lock file exists"上次运行崩溃了。删除 .autonomous/<task>/run.lock
会话持续失败检查 sessions/session-NNN.log 中的错误
嵌套会话错误脚本会自动取消设置 CLAUDECODE;也可改用钩子模式
钩子循环无法停止删除 .claude/autonomous-loop.local.md
找不到任务运行 --list 查看可用任务
想要重新开始删除任务目录,然后重新开始
成本过高降低 --max-budget,或使用 --model sonnet

评论

支持 Markdown