fairladyz625/harness-anything · Archived

harness-install

将已经可用的 Harness Anything 接?

First seen Aug 4, 2026

Installation

$ npx skills add fairladyz625/harness-anything --skill harness-install

Summary

将已经可用的 Harness Anything 接入一个尚无台账的目标仓库:检查项目、确认身份、初始化、合并 Agent 入口、建立主控知识位置,并用一个真实任务验证完整流程。缺少源码或 CLI 时先使用 harness-download 完成工具准备,再返回本流程;不重复维护下载步骤。

Stronger alternatives

This repository is archived — consider an actively maintained alternative.

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from fairladyz625/harness-anything.

npx skills add fairladyz625/harness-anything

Browse all from fairladyz625/harness-anything

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 173
License LICENSE
Default branch main
Open issues 14
Status Archived

Skill metadata

Parsed from SKILL.md frontmatter.

Declared agents claude-code

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 12,683 B
  • docs SUMMARY.md 359 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 4 installs

SKILL.md

Harness 仓库初始化

本技能负责把 Harness 接入具体项目。机器环境、持久源码与用户级技能链接由 [harness-download](../harness-download/SKILL.md) 负责;本技能从可用 CLI 开始。完整引导过程中由同一个 Agent 连续执行,不要求用户在阶段之间重新发指令。

入口与版本

使用本次安装所选源码中的完整技能包,不混用不同版本的技能与 CLI。正式源码分发来自 main,可用 git show origin/main:skills/harness-install/SKILL.md 核对发布分支;明确验证候选分支时使用该候选包并记录版本。

读取项目之前不写入。检查已有 harness/、.harness/、配置及 CLI 可读状态:

  • 已有当前可用台账:复用工作区,转入主控初始化和用户任务,不重新 init。
  • 明确为旧代台账且用户要迁移:转 [harness-migration](../harness-migration/SKILL.md),保留它的数据处置审批。
  • harness/ 是无关业务目录,或无法判断已有内容:展示真实冲突,先澄清,不覆盖。
  • 没有台账:继续。

0. 先读项目

读取项目布局、Git 状态和历史、现有 AGENTS.md / CLAUDE.md、忽略规则、CI、构建和测试入口。能从磁盘得到的答案不问用户。

观察 对下一步的影响
当前初始化方式要求 Git,但项目无仓库或提交 在用户授权的目标内先建立必要基础,不操作其他目录
已有 Agent 指令 预备合并草案,保留原指令并取得具体合并批准
已有忽略规则 初始化后回读差异,确认私有台账不会进入公开项目
有 CI 记录真实验证入口,首任务按实际结果收口
没有 CI 不把完成参数当成真实运行证据;按任务类型取得可验证结果,明确未运行 CI
多人协作 提前说明 owner 与评审身份的实际绑定,不能把环境变量当作另一个人
用户已给首任务 直接复用,不再造一个名为“安装测试”的占位任务

只合并询问尚缺少的项目标识、首次任务等信息。owner 身份与指令文件合并仍按下文保留具体审批。

1. 取得当前 CLI 入口

复用 harness-download 传来的绝对源码入口和 Node 路径。工具未准备好时读取同一技能包里的下载技能,完成其环境、源码、链接阶段后返回;不在这里再复制 clone 或 npm 安装配方。

下面用 ha 表示本次已核实的 CLI。若使用源码,后续调用均展开为 node "<源码目录>/packages/cli/src/index.ts" ...;临时 shell 函数不会跨工具调用自动保留,不把“node 加参数”装进一个字符串再当命令执行。

检查目标是否已有中心注册和在飞初始化,使用正常的服务根。不要通过 HARNESSDAEMONUSER_ROOT 为正式安装切换到测试根;若发现现有环境指向隔离根,先核实用途,明确选择正式入口,不能静默把用户已有配置清掉。

2. 确认初始 owner

读取当前 ha init --help。向用户展示将写入的人员标识、显示名和当前传输身份绑定,再取得明确答复。已对同一内容确认过就复用,不能从 git config user.name 猜出 owner 并直接写入。

例如本地 Unix socket 传输可能使用以下绑定;实际字段由当前初始化能力提供:

{
  "personId": "<用户确认的标识>",
  "displayName": "<用户确认的显示名>",
  "roles": ["owner"],
  "credentials": [{ "kind": "unix-socket-owner-boundary", "issuer": "host:<主机>", "subject": "<uid>" }]
}

说明一个系统账号与一个人类身份的对应边界;改环境变量不会变成另一位用户。后续人员变更走 ha people 的现有写入入口,不手改 people.yaml,也不用通用文档同步绕过人员注册契约。

3. 初始化并回读

命令形状以当前帮助为准,在明确的目标仓库执行:

ha --root "<目标仓库绝对路径>" init --repo-id <项目标识> --person-id <人员标识> --display-name "<显示名>"

初次本地安装若要求 Git 基础,先核实是否已有仓库与提交,只补真正缺失的部分,不重置原历史。多个边缘节点不能各自初始化同一个逻辑工作区;由当前有权协调者完成中心写入,其他节点接入已有记录。

回读而不是只看成功回执:

  • preserved / drifted 中有原 Agent 文件时,确认新入口是否尚未进入,继续下一节。
  • 用 git check-ignore -v harness .harness 和 git ls-files harness .harness 核对私有目录边界,检查实际忽略差异。git check-ignore -q 一次只传一个路径。
  • 用当前 JSON 状态入口核对工作区是否已注册、已附着,不机械重做回执里的下一步。
  • 台账自动提交与目标项目提交是两件事。列出项目中新建或修改的指令、忽略文件;是否提交项目变更按用户范围处理。
  • 台账分支可能与项目分支不同;不为了名字统一重命名正在服务的分支。

失败时先识别哪些写入已完成、是否有当前持有者及可用恢复路径。不能自动删台账、清锁或重启服务重来。必要的破坏性清理由用户对具体对象与影响确认;不能影响同一服务下其他项目。

4. 合并既有 Agent 指令

只有原文件存在且 Harness 入口尚未接入时才合并。通过当前 template render 读取仓库模板,如 template://repository/agent-base@1、agent-overlay@1、claude-entry@1,以返回的正文与必需锚点为准,不复制其他人的 AGENTS 文件。

保留原文与项目特有规则;先准备完整合并结果和差异,再让用户批准这一具体修改。保留明确要求的锚点,不用模板覆盖用户内容。同一差异已获批时不再确认。

5. 验证能读取,并初始化知识位置

ha --root "<目标仓库绝对路径>" --json daemon status
ha --root "<目标仓库绝对路径>" --json task list

查看目标工作区真实状态和错误,不因文本摘要过短就判断服务损坏。空任务集是新工作区的正常结果。

部分 CLI 回执的 evidence 是 JSON 编码字符串。按实际类型解析,不直接假定字段在顶层;例如读取任务时先解析外层,再解析 evidence。报错与业务数据要分开判断。

随后读取 [harness-ceo](../harness-ceo/SKILL.md) 的[知识初始化方法](../harness-ceo/references/initialization.md),建立或复用用户约定、模型矩阵、运行时问题、反馈与执行证据的落点。只建必要索引,不填满空表,不将公共技能中的建议当成用户事实。

6. 由主控带完一个真实任务

复用用户给的首任务,在主控方法下完成真实工作和仓库要求的收口。本阶段与下载引导的首任务是同一个任务。

真实的评审独立性

当前完成契约若要求独立执行评审,应在实施前明确可用评审身份与负责人。可能的拒绝为:

Execution Review requires an independent transport-bound arbiter.

HARNESS_ACTOR=agent:... 是身份声明,不是创造独立评审者的方法。不能同一个执行者改名批准自己,也不能清空变量冒充用户的判断。需另一真实执行者、用户判断或宿主支持的独立评审通道时,交付可审阅材料后由该身份完成。只有一个模型不等于只有一个身份,但是否独立必须符合当前契约。

创建、执行和取证

先读 [preset-trigger](../preset-trigger/SKILL.md) 选择当前预设;一般任务形状如下:

ha --root "<目标仓库绝对路径>" task create --title "<真实任务>" --vertical software/coding --preset standard-task
ha --root "<目标仓库绝对路径>" task start <任务标识>

从回执取得真实任务路径,不能手拼派生的 slug。按当前生命周期要求执行,重复启动前先回读已有执行。若启动回执未带执行标识,查询 task show;部分版本将其放在 evidence.lease.executionId,需先解析 evidence 字符串,再读取 ["lease"]["executionId"]。

做实际工作并取得证据。交付日志和报告归本次执行;会支撑后续判断的可复核观察按当前事实入口记录,不为凑数量编造事实。仓库规定的事实与关系要求仍然有效。

确有承重选择时记录决策

读取当前决策能力和输入契约;以下展示常见结构,实际字段和合法值以所用版本为准:

{
  "title": "<决策标题>",
  "question": "<要解决的问题>",
  "riskTier": "low",
  "urgency": "low",
  "decisionClass": "ordinary",
  "appliesTo": { "modules": [], "productLines": [] },
  "chosen": [{ "id": "CH1", "text": "<选择>", "rationale": "<理由>" }],
  "rejected": [{ "id": "RJ1", "text": "<真实替代>", "whyNot": "<未采用原因>" }],
  "claims": [], "fulfillments": [], "relations": []
}

decisionClass 常用 ordinary 或 standing_policy;不编造替代方案。输入文件放在工作区允许的任务产物位置。遇到 fromFile must stay inside the workspace 时修正输入落点,不能把临时目录当成有效来源。

原始观察先记录,再按当前 ha relation 契约将决策声明关联证据,选择关联派生任务。不要复制退役的 decision relate 命令。用户需要裁决时展示问题、选择、替代和证据后取得批准,由真实有权身份办理;不通过更换环境变量代替用户。

提交、独立评审、同意和完成

把收口材料写实,先 doc status 检查候选,再通过受支持的 doc sync --submit 登记本任务文档。不要提交无关候选;路径限定与执行身份的组合以当前能力为准。

提交材料示例:

{
  "completionClaim": "<已成立的结果>",
  "deliverables": ["<真实产物>"],
  "outputs": ["<收口记录>"],
  "verificationNotes": ["<实际执行和结果>"],
  "knownGaps": [],
  "residualRisks": [],
  "commitSha": "<实际源码提交>"
}
ha --root "<目标仓库绝对路径>" task submit <任务标识> --execution-id <执行标识> --from-file "<工作区内提交材料>"

代码文档锚通过当前 task code-doc reconcile 在所需阶段产生,不手写机器文件。由真实独立评审者提交评审,其材料包含:

{ "verdict": "approved", "reason": "<依据>", "evidenceChecked": ["<实际检查的证据>"] }

verdict 使用当前合法值,如 approved、changes_requested、dismissed。owner 的同意绑定实际已记录评审与内容版本,不把工作者的报告当作同意。使用当前 task review-consent 和 task complete 契约完成;不添加过期的提交版本参数或自己制造摘要。

--ci passed 是声明,不会替你运行 CI。没有真实证据就不能据此声称检查通过。所选任务无需 CI 时按实际契约处理;无法满足必需门时交付具体缺口,不伪造完成。

最后回读任务是否真的到 done,并检查原始目标确实实现。独立评审尚缺时,准确报告“环境和仓库已就绪,首任务待评审”,不能把整个引导说成已验证。

7. 交接

交付绝对 CLI 入口、目标工作区、用户知识索引、首任务与其证据、真实评审身份及未完成项。工具进入 PATH 的选项由下载技能统一负责,本技能不另提供第二套安装命令。

说明台账与项目各自的历史边界,不在台账里手工补 git commit。列出项目仍未提交的文件,不替用户隐瞒这些变化。下一次使用 harness-ceo,另一个新项目直接使用本技能。

完成条件

  • CLI 和同版本技能可用;实际目标工作区可读写。
  • 私有台账未进入公开项目;既有指令修改经过具体批准。
  • 用户知识入口能找到模型、问题、反馈与证据位置。
  • 一个用户指定的真实任务完成当前契约要求的取证、提交、独立评审与同意,回读状态为 done。
  • 未提交文件、未验证部分和使用命令已如实交接;任一必需阶段仍受阻就报告该阶段,不提前宣称全流程完成。