with one click
set-harness-goal-skill
// 当 Harness 系统尚未初始化,或 `.aw/goal-charter.md` 不存在,需要将用户的自然语言需求转化为结构化的 Harness 控制面组件时,使用这个技能。
// 当 Harness 系统尚未初始化,或 `.aw/goal-charter.md` 不存在,需要将用户的自然语言需求转化为结构化的 Harness 控制面组件时,使用这个技能。
[HINT] Download the complete skill directory including SKILL.md and all related files
| name | set-harness-goal-skill |
| description | 当 Harness 系统尚未初始化,或 `.aw/goal-charter.md` 不存在,需要将用户的自然语言需求转化为结构化的 Harness 控制面组件时,使用这个技能。 |
本技能实现 RepoScope.SetGoal 状态转移算子,对应 Harness 控制回路中的参考信号初始化阶段。
控制系统的参考信号(Goal)必须在闭环运行前被显式设定。如果参考信号缺失或含糊,控制器就无法计算误差,整个控制回路将失去方向。本技能负责在系统"上电"时,将用户的自然语言需求转化为结构化的 Harness 系统组件,为后续控制回路提供明确的参考基准。
当 .aw/ 目录尚未建立,或 goal-charter.md 不存在,或 Harness 被明确要求初始化一个新目标时,使用这个技能。
本技能支持两种初始化模式:
new-goal-initialization:用户给出目标,从空白或未初始化 repo 建立 .aw/ 控制面existing-code-adoption:目标 repo 已有代码、文档或治理线索,先采集只读事实输入,再让用户确认长期目标.aw/ 目录不存在或为空goal-charter.md 不存在不使用的情况:
goal-charter.md 已存在且用户要求修改它 → 路由到 repo-change-goal-skillrepo-status-skill + repo-whats-next-skillrepo-refresh-skill检查现有状态
.aw/goal-charter.md 是否存在repo-change-goal-skill选择初始化模式
new-goal-initializationexisting-code-adoption分析用户需求
Engineering Node MapExisting Code Project Adoption 事实采集(仅该模式)
.aw/repo/discovery-input.mddiscovery-input.md 只记录只读事实输入、候选目标信号、风险、不确定点和待确认问题discovery-input.md 的内容仅限只读事实输入与候选信号;把 discovery-input.md 写成 goal truth 或把现有实现倒推成用户已批准的长期目标的行为必须返回 blockedgoal-charter.md 可以引用 discovery 中的候选目标信号,但必须经用户确认repo/snapshot-status.md 可以吸收 discovery 中的状态线索,但应按初始化时的当前状态重写control-state.md 只能把 discovery 作为 linked evidence / note,不能把 discovery 字段提升为控制指令生成 goal-charter.md
Goal Charter 格式init-worktrack-skill 的职责生成 control-state.md
repo_scope: active、worktrack_scope: closedContinuation Authority:
post_contract_autonomy: delegated-minimalautonomy_scope: current-goal-onlymax_auto_new_worktracks: 1stop_after_autonomous_slice: yessubagent_dispatch_mode: autosubagent_dispatch_mode_override_scope: worktrack-contract-primarysubagent_default_model: 留空,除非运行环境或用户明确给出默认模型Handback Guard 初始值:handoff_state: none生成 repo/analysis.md
repo/analysis.md 的内容仅限事实 / 推断 / 未知项、主要矛盾、优先级和路由投影;把 repo/analysis.md 写成 goal truth 或 worktrack queue 的行为必须返回 blocked生成 repo/snapshot-status.md
existing-code-adoption 模式下,可以从 .aw/repo/discovery-input.md 提取已确认的状态线索,但 snapshot 是初始化后的慢变量状态,不是 discovery 的原文复制确认目录结构并复制模板资产
scripts/deploy_aw.js 生成标准 Harness .aw/ 基线;它会从本技能的 assets/ 目录渲染/复制所需文件,确保目录结构完整:
.aw/
├── control-state.md ← 基于 assets/control-state.md 模板填充
├── goal-charter.md ← 基于 assets/goal-charter.md 模板填充
├── repo/
│ ├── discovery-input.md ← existing-code-adoption 模式下基于 assets/repo/discovery-input.md 模板填充
│ ├── analysis.md ← 基于 assets/repo/analysis.md 模板填充
│ └── snapshot-status.md ← 基于 assets/repo/snapshot-status.md 模板填充
├── template/
│ ├── README.md ← 从 assets/template/README.md 复制
│ └── goal-charter.template.md ← 从 assets/template/goal-charter.template.md 复制
└── worktrack/
├── README.md ← 从 assets/worktrack/README.md 复制
├── contract.md ← 从 assets/worktrack/contract.md 复制
├── gate-evidence.md ← 从 assets/worktrack/gate-evidence.md 复制
└── plan-task-queue.md ← 从 assets/worktrack/plan-task-queue.md 复制
assets/ 目录遵循 Codex Skills 标准,存放本技能所需的模板、资源和参考文档scripts/deploy_aw.js 是本技能的标准 .aw deploy helper;它接收 --deploy-path <目标 repo / worktree 根>,并固定在 <deploy-path>/.aw/ 下生成模板。在 canonical source 与 deployed target 中都应可直接读取本技能自带的 assets/--install-claude-skill,将本技能包复制到 <deploy-path>/.claude/skills/aw-set-harness-goal-skill/node scripts/deploy_aw.js install-claude-skill --deploy-path <目标 repo / worktree 根>;默认不覆盖已有 .claude skill 文件,只有显式传入 --force 才会覆盖本技能包内的对应文件--claude-root 指向 operator 管理的 symlink / mount 层;但拒绝 aw-set-harness-goal-skill/ 目标目录本身是 symlink,也拒绝该 skill 目录内部已有 symlink,保持 copy install 不依赖外部源码路径.aw/ 中已有同名文件,保留现有文件并报告冲突用户确认
Goal Charter 摘要existing-code-adoption,同时展示 Discovery Input 摘要、待确认问题,以及哪些 discovery 信号被纳入 goal 草案goal-charter.md、control-state.md、repo/analysis.md、repo/snapshot-status.md 写入 .aw/existing-code-adoption 模式下,将填充好的 repo/discovery-input.md 写入 .aw/repo/assets/ 中的模板文件复制到 .aw/ 的对应位置(template/ 和 worktrack/ 子目录)Harness 初始化结果,包含:
RepoScope.Observe)false(如果用户已确认).aw/ 不存在或 goal-charter.md 缺失时运行goal-charter.md 不存在时创建新目标章程;当 goal-charter.md 已存在时,覆盖行为必须返回 blocked,且必须路由到 repo-change-goal-skillinit-worktrack-skilldiscovery-input.md 只能保存只读事实输入和候选信号;唯一合法行为是经用户确认后才将 discovery 信号纳入 goal-charter.md;把 discovery-input.md 直接替代用户确认后的 goal-charter.md 的行为必须返回 blockedmax_auto_new_worktracks 默认值必须与 Harness Control State artifact 和 control-state 模板保持一致,连续多 worktrack 预算只能来自显式观察 profile 或后续 control-state overridesubagent_dispatch_mode: auto | delegated | current-carrier,并写入 subagent_dispatch_mode_override_scope: worktrack-contract-primary,使 worktrack 级 runtime_dispatch_mode 在默认 scaffold 中可生效;只有操作者显式改为 global-override 时,control-state 才压过 worktrack 合同。auto 是保守默认值,允许运行时在无安全分派壳层、权限边界阻断或 dispatch package unsafe 时显式记录 runtime fallback,delegated 要求真实委派,current-carrier 明确关闭 SubAgent 委派。assets/ 目录,遵循 Codex Skills 标准scripts/deploy_aw.js;依赖仓库根下的独立 .aw scaffold 工具的行为必须返回 blocked使用这个技能时,产出一份至少包含以下章节的 Harness 初始化结果:
初始化决策需求摘要生成的组件清单Goal Charter 摘要默认控制策略建议下一动作返回 Harness结果中至少应包含以下字段或等价表达:
初始化状态goal_charter_createdcontrol_state_createdrepo_snapshot_createdproject_visioncore_product_goalsengineering_node_mapnode_type_registrythis_goal_node_typesdefault_baseline_policysuccess_criteriasystem_invariantspost_contract_autonomymax_auto_new_worktracksstop_after_autonomous_slicesubagent_dispatch_moderuntime_dispatch_mode建议代码仓库动作建议下一路由建议下一范围可继续需要审批如何审查本技能遵循 Codex Skills 标准,在 assets/ 目录下携带完整的 Harness 初始化模板资产:
| 资产路径 | 用途 | 复制目标 |
|---|---|---|
assets/control-state.md | 控制状态模板骨架 | .aw/control-state.md(填充后写入) |
assets/goal-charter.md | 目标章程模板骨架 | .aw/goal-charter.md(填充后写入) |
assets/repo/discovery-input.md | Existing Code Project Adoption 只读事实输入模板骨架 | .aw/repo/discovery-input.md(仅 adoption 模式填充后写入) |
assets/repo/analysis.md | RepoScope 阶段性分析与优先级判断模板骨架 | .aw/repo/analysis.md(填充后写入) |
assets/repo/snapshot-status.md | 仓库快照模板骨架 | .aw/repo/snapshot-status.md(填充后写入) |
assets/template/README.md | 模板目录说明 | .aw/template/README.md(直接复制) |
assets/template/goal-charter.template.md | 目标章程复用模板 | .aw/template/goal-charter.template.md(直接复制) |
assets/worktrack/README.md | 工作追踪目录说明 | .aw/worktrack/README.md(直接复制) |
assets/worktrack/contract.md | 工作追踪契约模板骨架 | .aw/worktrack/contract.md(直接复制) |
assets/worktrack/gate-evidence.md | 关卡证据模板骨架 | .aw/worktrack/gate-evidence.md(直接复制) |
assets/worktrack/plan-task-queue.md | 计划任务队列模板骨架 | .aw/worktrack/plan-task-queue.md(直接复制) |
scripts/deploy_aw.js | .aw 初始化 deploy helper | 由操作者或测试直接运行,传入 --deploy-path <repo/worktree 根>,脚本在 <deploy-path>/.aw/ 下生成/复制上述资产;可选安装本技能到 <deploy-path>/.claude/skills/aw-set-harness-goal-skill/ |
这些资产在 deploy 阶段随本技能一并安装到宿主运行环境。执行时,本技能从自身的 assets/ 目录读取模板;如需 repo-local operator 工具面,则直接运行本技能自带的 scripts/deploy_aw.js,把目标 worktree / repo 根通过 --deploy-path 传入。若需要让 Claude Code 在目标 repo 内发现同一技能,可使用 --install-claude-skill 或 install-claude-skill 子命令;--claude-root 可覆盖 .claude/skills root,并允许该 root 是 symlink / mount,但目标 skill 目录及其内部不能是 symlink;如果目标目录经允许的 root symlink / mount 解析后就是当前运行的技能包,则安装 no-op。唯一合法的 scaffold 来源是本技能自带的 scripts/deploy_aw.js 和 assets/ 目录;依赖外部 scaffold 脚本或独立的 .aw 模板源码根的行为必须返回 blocked。
最小用法:
node scripts/deploy_aw.js generate --deploy-path "$DEPLOY_PATH" --baseline-branch "$BASELINE_BRANCH" --owner aw-kernel
node scripts/deploy_aw.js generate --deploy-path "$DEPLOY_PATH" --baseline-branch "$BASELINE_BRANCH" --adoption-mode existing-code-adoption
node scripts/deploy_aw.js generate --deploy-path "$DEPLOY_PATH" --baseline-branch "$BASELINE_BRANCH" --install-claude-skill
node scripts/deploy_aw.js install-claude-skill --deploy-path "$DEPLOY_PATH"
node scripts/deploy_aw.js generate --help
使用当前用户需求文本、当前 repo 实际状态(文件、分支、提交历史),以及本技能 assets/ 目录下的标准模板格式作为参考。唯一合法的 scaffold 来源是本技能自带的 scripts/deploy_aw.js;依赖外部 scaffold 脚本的行为必须返回 blocked;需要 operator 辅助时直接使用本技能自带的 scripts/deploy_aw.js,把目标路径通过 --deploy-path 传入,由本技能生成符合 Harness 运行协议的标准组件。