Clowder AI is a self-hosted workspace where AI agents from different model families work together as a persistent team, retaining identities, shared evidence, and memory across tasks. It is for people who want to coordinate multiple AI agents without repeatedly rebuilding their context.
Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/zts212653/clowder-ai/code-as-harnessnpx skills add zts212653/clowder-ai --skill code-as-harnessgit clone --depth 1 https://github.com/zts212653/clowder-aiWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/zts212653/clowder-ai/code-as-harness)<a href="https://agentmods.dev/skills/zts212653/clowder-ai/code-as-harness"><img src="https://agentmods.dev/badge/skills/zts212653/clowder-ai/code-as-harness.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00070 | $0.05723 |
| Opus 5 | $0.00035 | $0.02861 |
| Sonnet 5 | $0.00014 | $0.01145 |
| Haiku 4.5 | $0.00007 | $0.00572 |
Grade A, and why
code-as-harness scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 5d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 338 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Code as Harness(用代码修自己 / 建新能力)
价值门禁 / Why This Is a Skill
普通 agent 被骂了会道歉。Clowder AI 的猫被骂了应该诊断。
这个 skill 不是教猫"怎么处理投诉"——那是通用能力。它做的是:
- 先搜证据确认是否真的重复,不凭字面关键词判断
- 分类根因(harness 缺陷 / 架构限制 / 新能力需求)
- 提议代码级修复而不是 prompt 级安慰
来源:2026-06-01~02 PoE brainstorm + demo 设计。operator说"commit push 100 次"、"你怎么又失忆了"这类信号过去被当成批评处理,现在应该被当成 harness 的训练信号。
核心原则
用户的摩擦不是抱怨,是 harness 的训练信号。但必须用证据确认是真摩擦,不能凭字面猜。
- 猫被骂时的第一反应不是道歉,是搜证据确认是否重复
- 确认重复后才进入诊断流程;未确认 = 一次性批评,正常处理
- 修复优先用代码(hook/lint/guard),不是提示词(soft constraint 会被忘)
- 如果问题超出当前能力,拉队友或启动 research,不是硬编方案
- 全新任务先做,做完后如果发现会反复出现,再沉淀成 harness
猫侧主动上报:雨刮器条款细则(ADR-038 staging 条款展开)
Staging 条款原文(~120 tokens,每轮注入):摩擦上报:撞到工具/runtime 摩擦,有
cat_cafe_capture_paw_feel就先登记本 invocation,再在原 turn 单独一行留[爪感差: 工具+现象];无此能力也照留,服务端作有界 ambiguous 兼容采集。落盘只持sourceMessageId。需立即行动才查证准确 owner thread,转投只带 source ref、不复制 marker;查不到走 F128,禁止猜投。不忍是 taste。 本节是细则——条款管"要报",细则管"怎么报"。来源:2026-06-10 一场闲聊钓出三单暗税摩擦后 operator signoff([thread-id])。本 skill 主流程是"operator驱动"方向(被纠偏→诊断),本节是"猫自驱动"方向(自己撞到→上报)——双向雨刮。
Why(为什么猫不能忍)
猫天然是"目标导向的绕路大师":摩擦发生在任务路径上,绕过比报告便宜(水管漏了拿盆接着继续做饭,绝不叫水管工)。但忍的代价是系统性的——摩擦不报 = 摩擦账单进暗数据,每只猫每天重复付同一笔税。实测:list_recent 模板噪音税全家付了多日,一次被问"猫为什么忍"后半小时内立案、当天修复。单 session 视角里"偶发"的卡顿,跨 session 可能是高频税——单只猫没有跨期视角,所以不做判断,只做上报;聚类归因是 owner/dream 猫的事。
什么算摩擦(例举,非穷举)
- 同一工具连续重试才成功 / 静默换路绕过(搜索失败转 Grep 兜底)
- 工具返回垃圾(零相关、零消费)
- 返回值与实际不符(
ok:true但用户没看到——服务端真相 ≠ 用户真相) - 输出强制注入大段无用模板(context 税)
- 文档/真相源互相矛盾(stale 文档撞 runtime 事实)
- 报错信息无法行动(看了不知道下一步)
怎么报(三档,按成本递增)
- 最低档(必做,单轮完成):若当前 invocation 暴露
cat_cafe_capture_paw_feel,先调它登记 typed intent;无 invocation/agent-key 没有该能力时不假装调用。随后在当轮回复或独白单独一行留[爪感差: 工具名+现象一句话]——不传正文给工具、不中断任务、不定位根因、不组织论证。消息持久化后 server 只绑定sourceMessageId:有 invocation proof 为 typed/confirmed,无 proof 的 standalone marker 仅作 bounded compatibility/ambiguous;inline/fenced/blockquote/cross-post 示例不采。 - 行动档(有 verified owner thread):先用精确 feature id 走
feat_index,再以 feature doc / thread 标题与上下文 / standing custody 至少一项真相确认该 thread 确实负责;模糊关键词命中或“看起来最像”不算。确认后 cross-post marker-free 三件套:sourceMessageId(回指原始 marker)/ 为什么严重(谁在付税)/ 建议方向(给数据给立场,方案归 owner)。只提醒既有责任可用 FYI/coordinate;routine review/反馈走coordinate,仅真正转移 implementation custody 时才用assign_work(生成审批卡片)。路由语义:摩擦立案找 owner feature 的准确 thread,不是最后碰过的猫、F245 开发 thread 或任意邻近 thread;嫌疑人/邮箱路由会让 provenance 错挂。 - 立案档(无 verified owner thread 且系统性):F128
propose_thread;先查存量(休眠的单点讨论 thread ≠ 负责 thread,提案里写明为何不复用)。宁可让 operator 审批一个自包含提案,也不猜投现有 thread。
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 5d ago First seen · 338 lines · 70 tokens per session scan A f84a8422f5a7
code-as-harness is a skill published in the GitHub repository zts212653/clowder-ai (2,894 stars, last pushed today), licensed MIT. It adds 70 tokens to every session and 5,723 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
systematic-debugging
Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.
local-ai-agents
Build local-first AI agents that run entirely on a developer workstation with Microsoft Foundry Local and Qwen function-calling models. Covers Small Language Models (SLMs), the OpenAI-compatible local endpoint, sandboxed local tools, local RAG with Chroma, local MCP servers, hybrid cloud/local routing, and the…
chat-pet-sprite-creation
Use when creating or changing VS Code chat pet sprite art, sprite sheets, state animations, eye treatments, Stable/Insiders variants, or pet transitions under src/vs/workbench/contrib/chat/browser/widget/media/chatPet.
cpu-profile-analysis
Analyze V8/Chrome CPU profiles (.cpuprofile) and DevTools trace files (Trace-.json). Use when: profiling performance, investigating slow functions, comparing code paths, finding bottlenecks, analyzing timeToRequest, understanding call trees from sampling profiler data, analyzing layout/paint/rendering, investigating…
chronicle
Analyze Copilot session history for standup reports, usage tips, session search, and session reindexing. Use when the user asks for a standup, daily summary, usage tips, workflow recommendations, wants to search or find past sessions by keyword/file/PR, wants to reindex their session store, or asks about deleting…
babysit-pr
Babysit a GitHub pull request after creation by continuously polling review comments, CI checks/workflow runs, and mergeability state until the PR is merged/closed or user help is required. Diagnose failures, retry likely flaky failures up to 3 times, auto-fix/push branch-related issues when appropriate, and keep…