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/owner-friendly-plugin-developmentnpx skills add zts212653/clowder-ai --skill owner-friendly-plugin-developmentgit 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/owner-friendly-plugin-development)<a href="https://agentmods.dev/skills/zts212653/clowder-ai/owner-friendly-plugin-development"><img src="https://agentmods.dev/badge/skills/zts212653/clowder-ai/owner-friendly-plugin-development.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.1 | $0.00141 | $0.02513 |
| Opus 5 | $0.00071 | $0.01256 |
| Sonnet 5 | $0.00028 | $0.00503 |
| Haiku 4.5 | $0.00014 | $0.00251 |
Grade A, and why
owner-friendly-plugin-development 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 6d 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 — 161 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Owner-Friendly Plugin Development
插件“装上了”不是终态。终态是:operator少做了一段机械劳动,同时仍看得懂系统正在做什么、为什么停了、怎样恢复,并且只在真正需要判断时被打扰。
为什么这是一个 Skill
F292 实战连续暴露了通用模型不容易从普通插件教程中得到的边界:公开契约与宿主权威必须分仓但不分叉;monorepo 能掩盖发布包缺依赖;enabled 不能冒充进程健康;认证与修复不能把裸命令甩给用户;真实效用只能由完整旅程证明。具体证据见 F292 case study。
使用边界
- Use:插件跨越 Settings 安装/授权、受监管 runtime、外部事件或数据、Host 路由、Needs Me 或持久用户状态。
- Not for:已有插件怎么配置(
guide-interaction)、搭 Codex plugin bundle(plugin-creator)、纯 skill/MCP、一次性 API 脚本、已知内部 bug(debugging)。 - 灰例:无后台生命周期的无状态 transformer,通常只需现有 contract +
tdd;只有它仍改变完整用户旅程或 authority boundary 时才加载本 skill。
1. 先冻结被删掉的人类劳动
先写一行 before / after,不先列 SDK 能力:
Before: 人找产物 → 下载/复制 → 找目标 → 补背景 → 请求处理
After: 产物自动出现 → 人只补机器不知道的判断 → 结果回到正确目标
同时冻结三件事:
- 终点:用户少做了哪几步,而不是系统多了哪些模块。
- 人类保留权:身份映射、缺失背景、目标、敏感授权等哪些选择必须由人确认。
- Non-goals:不顺手造新的总结器、事件总线、记忆副本或双向写回面。
设计前读现有插件 contract、catalog/registry、相邻长期集成和 ownership map。已有公共坐标就扩展它;不要在 Host 私造同义 resource,再安排一次迁移。
2. 画清 truth、authority 与 custody
| 角色 | 应拥有 | 不应拥有 |
|---|---|---|
| 外部来源 | 原始数据、供应商身份与凭据真相 | Clowder AI 目标、猫、线程与家庭记忆 |
| 插件 | 来源适配、声明的 capability、有界 observation/source ref、cursor/reconnect | Host 路由、用户工作流真相、整份私密正文的事件副本 |
| Host | 安装/SRI/grant、进程生命周期、持久状态、去重、目标与注意力策略 | 供应商原始内容的第二真相源 |
| 猫 | 授权后读取来源、结合家庭上下文解释与产出 | 借 prompt 内容提升权限或改变路由 |
| operator | 不可推断的背景、授权、去向与最终取舍 | 搬文件、抄 token、判断隐藏进程是否还活着 |
跨边界优先传 bounded metadata + opaque source ref;大正文、secret、家庭记忆和目标句柄各留在自己的 authority domain。插件只报告 observation,不替 Host 作处置决定。
3. 把生命周期拆成五份真相
不要用一个 enabled 包打天下:
artifact: installed / verified / version
config: incomplete / ready / invalid
auth: disconnected / pending / connected / expired
intent: disabled / enabled
live: dormant / starting / running / degraded / crashed / stopped
关键规则:
- 安装、启动、授权是三件事;安装与 API boot 默认不得偷偷启动外部进程。
enable前实时验证 auth,不用缓存的connected猜测。- 进程退出立即投影
crashed或stopped;重启若按契约 dormant,就诚实显示 dormant,不能保留“运行中”。 - timeout、abort、shutdown、输出上限与进程树清理都属于监督契约。
- 用户卡片同时展示“想让它运行吗”和“它现在真的在运行吗”,并给下一步动作。
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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.
- 6d ago First seen · 161 lines · 141 tokens per session scan A cce48d180dd3
owner-friendly-plugin-development is a skill published in the GitHub repository zts212653/clowder-ai (2,904 stars, last pushed today), licensed MIT. It adds 141 tokens to every session and 2,513 once invoked, about $0.0007 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…
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…
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…
next-cache-components-adoption
Turn on Cache Components in a Next.js app and resolve the blocking routes it surfaces. Use when the user wants to enable, adopt, or migrate to Cache Components, flip the cacheComponents flag, work through a flood of blocking-prerender / instant validation errors, run the cache-components-instant-false codemod, or…