Star Your Harness logo

Star Your Harness

Community
SpaceZephyr
star-your-harness

帮用户从零搭一个自己的 AI harness 工作目录。先用四个问题做一次简短访谈(你是干什么的、想让 AI 帮你做什么、现在的资料散在哪、放哪儿),然后按职业生成目录骨架,含入口 CLAUDE.md(目录地图 + 行为规则 + 任务路由)、about-me 上下文层、记忆层与索引、协议层与复盘、工具层、.gitignore 和 hooks,最后给出把已有资料搬进来的归类计划。生成的 harness 能直接通过 better-your-harness 的体检。当用户说「帮我搭一个 harness」「我想建自己的 AI 工作目录」「怎么组织我的 AI 协作环境」「从零开始配 Claude Code 的项目结构」「我的资料太乱了想重新组织」「star my harness」时触发。

Overview

PublisherSpaceZephyr
Repositorybuild-your-harness
Skill namestar-your-harness
Stars
57
Forks
9
Bundled files
5
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • 5 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

    Published by SpaceZephyr on GitHub. Read the source before you install it.

Installation

Install the Star Your Harness AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/SpaceZephyr/build-your-harness/tree/main/star-your-harness
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/SpaceZephyr/build-your-harness.git /tmp/build-your-harness
mkdir -p .claude/skills
cp -r /tmp/build-your-harness/star-your-harness .claude/skills/star-your-harness
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Star Your Harness in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Star Your Harness on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Star Your Harness is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

star-your-harness

帮用户从零搭一个 harness。跟 better-your-harness 是一对:这个负责搭,那个负责体检。

验收标准是可测的:生成出来的 harness 直接跑一遍 better-your-harness,安全层和上下文层应该满分。 做不到就是这个 Skill 有问题。

铁律

0. 先出方案,确认了再执行。 任何写盘动作之前,必须先跑 plan.py 出一份 HTML 方案报告,让用户在页面上看清楚会建什么、会搬什么、哪些拿不准。他把「我的决定」复制回来,你才能跑 apply.py --apply。不要因为方案看起来没问题就替他确认。

1. 绝不覆盖用户已有的文件。 脚手架遇到同名文件一律跳过并报告。搬运脚本用 cp -n 不用 mv。用户攒了几年的东西,宁可少搬也不能弄丢。

2. 搬运只出计划,不动手。 migrate.py 永远不移动文件,它产出一份可读可审的 migrate.sh。归类是按文件名猜的,猜错很正常,必须由人过目再自己执行。你可以帮用户读那个脚本、解释某一行为什么这么归类,但不要替他跑。

3. 不预设用不上的目录。 空目录是负资产:它让 Agent 以为那里有东西,还拉低信噪比。只生成用户这个职业真正需要的,剩下的等他用到再加。

4. 访谈要短。 四个问题就够开工了。问全了再动手,人会在第七个问题的时候放弃。骨架立起来之后,剩下的慢慢填。

流程

第一步:访谈(四个问题,一次问一个)

像聊天,不像填表。用户随时可以说「跳过」或者「就这样开始吧」。

1. 你平时主要做什么? 听出他的角色,映射到模板:content-creator / pm / engineer / researcher / consultant / generalist。不要念这些英文给他听,你自己心里对上就行。听不准就问一句「那你产出的东西主要是文章、文档、代码,还是别的?」

2. 你想让 AI 主要帮你做什么? 这一问决定哪几层要重。他说「帮我写东西」,产出层和 about-me 就是重点;说「帮我记住事情」,记忆层要先立起来;说「帮我少重复劳动」,协议层和工具层优先。把答案原话记下来,之后要写进种子记忆里。

3. 你现在的资料都散在哪儿? 这是迁移入口,也是这个 Skill 比「给你一个模板」有价值的地方。让他列出目录路径。可能有好几个(Obsidian 库、下载文件夹、某个项目目录)。没有也没关系,说明是全新开始。

4. 这个 harness 放在哪儿? 要一个绝对路径。如果目录已存在且非空,必须明确告诉他「已有文件一个都不会被覆盖,同名的会跳过」,等他确认再继续。

顺带确认命名风格,给三个选项让他挑,别问开放题:

  • numbered-en(默认):00-inbox 10-about-me 20-forge
  • numbered-zh:00 收件箱 10 关于我 20 创作
  • plain-en:inbox about-me forge

第二步:写 profile.json

json
{
  "name": "给这个 harness 起的名字",
  "dir": "/绝对路径",
  "role": "content-creator",
  "naming": "numbered-en",
  "why": "用户原话:他为什么要搭这个",
  "purposes": ["产出内容", "沉淀方法"],
  "git": true,
  "hooks": true
}

想改产出层目录就加 outputs,覆盖职业模板的默认值:

json
"outputs": [
  {"key": "forge", "label": "创作", "desc": "成稿和草稿"},
  {"key": "scope", "label": "选题", "desc": "待写清单"}
]

why 一定要用用户的原话,别润色。这句会写进种子记忆,半年后他回来看的就是这一句。

第三步:出方案报告

bash
python3 ~/.claude/skills/star-your-harness/scripts/plan.py profile.json -o plan.html

把用户提到的来源目录写进 profile 的 sources 数组,方案里会一并给出归类建议。

产出两份:plan.html 给人看,plan.json 给 apply.py 用。这一步不写任何文件。

报告里有四块:会建成什么样(目录树 + 每层用途)、需要注意的地方(风险)、要你判断的(可改的下拉框)、确认执行(复制按钮)。

把报告路径给用户,让他自己打开看。本地 file:// 下剪贴板可能不可用,报告里有兜底:复制失败会把内容展开让他手选。想稳一点就起个本地服务:

bash
cd <报告目录> && python3 -m http.server 8899

第四步:等用户的决定

他在页面上调完下拉框,点「复制我的决定」,粘回对话,是这样一段:

json
{"harness": "...", "decisions": {"<文件绝对路径>": "<目标目录名>|__skip__"}, "include_bulk": []}

存成 decisions.json。带 markdown 围栏也能直接存,apply.py 会自己剥掉。

用户说「就按你的建议来」也算确认,这时候不传 -d 直接跑就行,脚本会用方案里的默认归类。

第五步:预演 → 执行

bash
python3 ~/.claude/skills/star-your-harness/scripts/apply.py plan.json -d decisions.json          # 预演
python3 ~/.claude/skills/star-your-harness/scripts/apply.py plan.json -d decisions.json --apply  # 执行

预演会报「建几个目录、新建几个文件、跳过几个、搬几个、不搬几个分别为什么」。给用户看一眼再加 --apply。

搬运用 copy,来源文件一个不动。执行完主动告诉他这一点,让他自己决定要不要清理原文件。

第六步:体检验收

体检工具就在同一个仓库的隔壁目录:

bash
python3 ../better-your-harness/scripts/scan.py <harness目录> -o findings.json

装成 Skill 的话是 ~/.claude/skills/better-your-harness/scripts/scan.py。

安全层和上下文层应该是满分。工具层会很低(新 harness 还没装 Skill 和 MCP),学习层缺「近 90 天活跃超 10 天」,这两个是时间问题,如实告诉他不用管。

第七步:交代下一步

按优先级说三件事,别多:

  1. 去填 about-me/ 里那三份文件。 harness 的质量几乎全取决于这一步,目录本身不产生价值。
  2. 用一周,然后去 protocols/iterations/ 写第一条迭代记录。 哪里不顺就改哪里。
  3. 一个月后再体检一次,看覆盖度有没有涨。

生成出来是什么

CLAUDE.md              入口:目录地图 + 6 条行为规则 + 任务路由表
README.md
.gitignore             含凭证兜底那几行
.claude/settings.json  一个 hook:拦截 git add -A

00-inbox/              没想好放哪的先扔这
10-about-me/           我是谁 / 工作偏好 / 质量标准     ← 上下文层
20-<产出>/             因职业而异                      ← 产出层
30-vault/              别人的东西:摘录、参考          ← 上下文层
40-memory/             MEMORY.md 索引 + 种子记忆       ← 记忆层
50-protocols/          workflows.jsonl + daily-log.jsonl + iterations/  ← 学习层
60-garage/             脚本、Skill、自动化             ← 工具层

每个目录一份 README,说明放什么、不放什么、怎么命名。

职业模板

只有产出层因职业而异,其余六层是通用的。这是个刻意的设计判断:harness 的骨架跟你干哪行没关系,只有你产出什么东西才有关系。

role产出层
content-creator创作 / 选题 / 已发布
pm需求 / 调研 / 已交付
engineer项目 / 技术笔记 / 已交付
researcher课题 / 文献 / 产出
consultant客户 / 提案 / 交付
generalist项目 / 产出

用户的职业不在表里,用 generalist 然后靠 outputs 自定义。别硬套。

几个容易做错的地方

别把访谈变成需求评审。 用户说「我就想有个地方放我的东西」,那就够了,直接用 generalist 开工。不要追问他的长期目标和 KPI。

别在他有旧资料的时候先建空目录再说。 先跑一次 migrate.py 的预演,看看他的东西大概分几类,可能会发现需要调整产出层的划分。

别承诺搬运脚本是对的。 它是按文件名猜的。说清楚这是「省掉 80% 的体力活」,不是「帮你分好了」。

别替用户确认方案。 你把报告生成出来、路径给他,就停下等他。哪怕方案在你看来毫无问题,确认这个动作也得他自己做,这是铁律 0 的全部意义。

「归类明确」不等于判对了。 报告里折叠区那批也能改,实测就抓到过:一个文件名带「迭代」的发版记录被判进协议层,实际该进已交付。让用户展开扫一眼。

目标目录非空时一定要先说清楚。 这是唯一可能让用户丢东西的环节,虽然脚手架不覆盖,但他心里得有数。

文件

star-your-harness/
├── SKILL.md
└── scripts/
    ├── plan.py       profile.json → plan.json + plan.html(方案报告,可交互判断,不写盘)
    ├── apply.py      plan.json + decisions.json → 真正落盘(预演 / --apply 两段式)
    ├── scaffold.py   骨架生成的底层实现,也可单独当 CLI 用
    └── migrate.py    归类规则的底层实现,也可单独出 migrate.sh

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

Frequently asked questions

What does the Star Your Harness AI skill do?

帮用户从零搭一个自己的 AI harness 工作目录。先用四个问题做一次简短访谈(你是干什么的、想让 AI 帮你做什么、现在的资料散在哪、放哪儿),然后按职业生成目录骨架,含入口 CLAUDE.md(目录地图 + 行为规则 + 任务路由)、about-me 上下文层、记忆层与索引、协议层与复盘、工具层、.gitignore 和 hooks,最后给出把已有资料搬进来的归类计划。生成的 harness 能直接通过 better-your-harness 的体检。当用户说「帮我搭一个 harness」「我想建自己的 AI 工作目录」「怎么组织我的 AI 协作环境」「从零开始配 Claude Code 的项目结构」「我的资料太乱了想重新组织」「star my harness」时触发。

Why use Star Your Harness on TypingMind?

Because you install it once and use it with any model. Star Your Harness is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Star Your Harness in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/SpaceZephyr/build-your-harness/tree/main/star-your-harness. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Star Your Harness?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Star Your Harness?

As many as you like. As long as a model supports skills, you can use Star Your Harness with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Star Your Harness AI skill free?

Yes. It is published on GitHub by SpaceZephyr under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇