mcpField
A
autonomous-skill

autonomous-skill

github.com/feiskyerAgent 工作流247121 次安装5 周前更新
代码仓库

关于 autonomous-skill

autonomous-skill 是用于通过多个 Codex 会话执行长期任务的技能,采用 Initializer 与 Executor 双 Agent 流程。它按任务保存清单和会话记录,并支持继续运行和恢复上下文。

主要功能

  1. 01Initializer 与 Executor 双 Agent 流程
  2. 02跨 Codex 会话延续任务
  3. 03按任务隔离清单与记录
  4. 04列出任务及完成进度
  5. 05恢复最近会话上下文

适用场景

  1. 01分阶段构建 REST API
  2. 02跨多个会话执行重构
  3. 03查看并继续未完成任务

安装

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

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

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

包含的文件

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

scripts/
run-session.sh
templates/
executor-prompt.md
initializer-prompt.md
task-list-template.md

详细介绍

自主技能 - 长时间运行的任务执行

使用双 Agent 模式(初始化器 + 执行器),通过 Codex 非交互模式自动延续会话,跨多个会话执行复杂的长时间运行任务。

快速开始

使用 run-session.sh 脚本管理自主任务:

# Start a new autonomous task
~/.codex/skills/autonomous-skill/scripts/run-session.sh "Build a REST API for todo app"

# Continue an existing task
~/.codex/skills/autonomous-skill/scripts/run-session.sh --task-name build-rest-api-todo --continue

# List all tasks and their progress
~/.codex/skills/autonomous-skill/scripts/run-session.sh --list

# Show help
~/.codex/skills/autonomous-skill/scripts/run-session.sh --help

运行器有意不设置 --model,因此 Codex 默认使用当前生效的 config.toml 或所选配置文件中的模型。

目录结构

所有任务数据都存储在项目根目录下的 .autonomous/<task-name>/ 中:

project-root/
└── .autonomous/
    ├── build-rest-api/
    │   ├── task_list.md        # Master task checklist
    │   ├── progress.md         # Session-by-session notes
    │   ├── session.id          # Last Codex session ID for resumption
    │   └── session.log         # Codex stdout/stderr transcript with JSON events
    ├── refactor-auth/
    │   ├── task_list.md
    │   ├── progress.md
    │   └── session.id
    └── ...

这样可以并行运行多个自主任务,互不冲突。

脚本选项

Usage:
  run-session.sh "task description"           Start new task (auto-generates name)
  run-session.sh --task-name <name> --continue Continue specific task
  run-session.sh --list                        List all tasks
  run-session.sh --help                        Show help

Options:
  --task-name <name>       Specify task name explicitly
  --continue, -c           Continue existing task
  --no-auto-continue       Don't auto-continue after session
  --max-sessions N         Limit to N sessions
  --list                   List all existing tasks
  --resume-last            Resume the most recent Codex session
  --network                Enable danger-full-access sandbox for tasks that need broader shell access

工作流概览

User Request → Generate Task Name → Create .autonomous/<task-name>/ → Execute Codex Sessions
                                                                            ↓
                                                                    ┌───────────────┐
                                                                    │ task_list.md  │
                                                                    │ exists?       │
                                                                    └───────┬───────┘
                                                                            │
                                                    ┌───────────────────────┴───────────────────────┐
                                                    │ NO                                        YES │
                                                    ▼                                              ▼
                                            ┌───────────────┐                            ┌───────────────┐
                                            │  INITIALIZER  │                            │   EXECUTOR    │
                                            │  - Analyze    │                            │  - Read state │
                                            │  - Break down │                            │  - Next task  │
                                            │  - Create     │                            │  - Implement  │
                                            │    task_list  │                            │  - Mark done  │
                                            └───────────────┘                            └───────────────┘
                                                                            │
                                                                            ▼
                                                                    ┌───────────────┐
                                                                    │ All complete? │
                                                                    └───────┬───────┘
                                                                            │
                                                            ┌───────────────┴───────────────┐
                                                            │ NO                        YES │
                                                            ▼                              ▼
                                                    Auto-continue               Exit with success
                                                    (3 sec delay)

使用示例

示例 1:启动新任务
~/.codex/skills/autonomous-skill/scripts/run-session.sh "Build a REST API for todo app"

输出:

ℹ Generated task name: build-rest-api-todo
==========================================
  SESSION 1 - build-rest-api-todo
==========================================

==========================================
  INITIALIZER SESSION
==========================================
Task: Build a REST API for todo app
Task Name: build-rest-api-todo
Task Directory: .autonomous/build-rest-api-todo

[Codex creates task_list.md with 25 tasks...]

✓ Initializer session complete
ℹ Session ID saved: 550e8400-e29b-41d4-a716-446655440000

=== Progress: 0/25 ===

Continuing in 3 seconds... (Press Ctrl+C to pause)
示例 2:继续现有任务
~/.codex/skills/autonomous-skill/scripts/run-session.sh --task-name build-rest-api-todo --continue
示例 3:使用会话上下文恢复任务
# Resume the Codex session (preserves conversation context)
~/.codex/skills/autonomous-skill/scripts/run-session.sh --task-name build-rest-api-todo --continue --resume-last
示例 4:列出所有任务
~/.codex/skills/autonomous-skill/scripts/run-session.sh --list

输出:

==========================================
  AUTONOMOUS TASKS
==========================================
  ✓ build-rest-api-todo (25/25 - 100% complete) [session: 550e8400...]
  ○ refactor-auth (12/30 - 40%) [session: 661f9511...]
  ? incomplete-task (no task_list.md)
示例 5:使用网络访问
# Enable network access for tasks that need API calls
~/.codex/skills/autonomous-skill/scripts/run-session.sh --network "Fetch data from GitHub API and analyze"

关键文件

每个任务在 .autonomous/<task-name>/ 中都有以下文件:

文件用途
task_list.md主任务列表,包含复选框进度
progress.md按会话记录的进度备注
session.id用于恢复任务的上一个 Codex 会话 ID
session.logCodex 会话的 JSON Lines 输出

重要说明

  1. 任务隔离:每个任务都有自己的目录,互不冲突
  2. 任务命名:根据描述自动生成(小写、用连字符分隔,最多 30 个字符)
  3. 任务列表至关重要:绝不要删除或修改任务描述,只能标记 [x]
  4. 每个会话一次只处理一个任务:专注于彻底完成任务
  5. 自动继续:会话会在延迟 3s 后自动继续;按 Ctrl+C 暂停
  6. 恢复会话:使用 --resume-last 保留 Codex 对话上下文
  7. 已配置的模型:运行器不会传入 --model;它使用当前生效的 Codex 配置/配置文件模型
  8. 网络模式:--network 会将沙盒覆盖设置切换为 danger-full-access,同时保持审批策略为非交互式
  9. Git 清理:可考虑将 .autonomous/ 添加到 .gitignore,以免提交日志

Codex CLI 参考

该脚本会在内部使用以下 Codex 命令。有意使用配置覆盖而非 --full-auto,以确保无人值守运行不会继承当前 CLI 中的 on-request 审批设置:

# Non-interactive execution with file edits (fully autonomous)
# Uses the configured model from the active Codex config/profile
codex exec \
  -c 'approval_policy="never"' \
  -c 'sandbox_mode="workspace-write"' \
  --skip-git-repo-check \
  --json \
  "prompt"

# Resume previous session
codex exec resume \
  -c 'approval_policy="never"' \
  -c 'sandbox_mode="workspace-write"' \
  --skip-git-repo-check \
  --json \
  <SESSION_ID> \
  "prompt"

# Full access (file edits + shell network / unrestricted filesystem) - use with caution!
codex exec \
  -c 'approval_policy="never"' \
  -c 'sandbox_mode="danger-full-access"' \
  --skip-git-repo-check \
  --json \
  "prompt"

故障排除

问题解决方案
找不到任务运行 --list 查看现有任务
有多个任务使用 --task-name 指定任务名称
会话卡住检查任务目录中的 session.log
需要重新开始删除任务目录并重新开始
恢复失败移除 session.id 以启动新会话
运行因等待审批而暂停确保更新后的运行器使用 -c approval_policy="never" 覆盖项
找不到 Codex安装 Codex CLI:npm install -g @openai/codex

评论

支持 Markdown