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 skills add zts212653/clowder-ai --skill cross-thread-syncgit 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/cross-thread-sync)<a href="https://agentmods.dev/skills/zts212653/clowder-ai/cross-thread-sync"><img src="https://agentmods.dev/badge/skills/zts212653/clowder-ai/cross-thread-sync/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/zts212653/clowder-ai/cross-thread-sync"><img src="https://agentmods.dev/badge/skills/zts212653/clowder-ai/cross-thread-sync.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
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.00073 | $0.03917 |
| Opus 5.5 | $0.00029 | $0.01567 |
| Sonnet 5.5 | $0.00015 | $0.00783 |
| Haiku 4.5 | $0.00007 | $0.00392 |
Grade A, and why
cross-thread-sync 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 14d 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 — 241 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Cross-Thread Sync
平行 session 之间的协同:发现 → 通知 → 协调 → 处置。
硬规则:cross-post 是通知层,不是真相源,也不是球权账本。阻塞信息必须双写到可追溯状态(feature doc / workflow / task),并挂在 subject 的终结谓词上,不挂在“对方有没有 ACK”上。
ACK 三义必须分开:
- transport receipt:消息已持久化/已投递,由系统记录,不需要 LLM 生成“收到/谢谢”。
- semantic response:有新信息、证据或决策时才回。
- custody disposition:接/退/升必须落在结构化球权状态;普通文本 ACK 不能代替。
⚠️ 路由铁律:cross-post 消息如果没有 @mention 也没有 targetCats,消息会到达目标 thread 但不会触发任何猫 session——消息静默躺在那里,直到operator手动 @ 某只猫。必须用以下任一方式触发目标猫:
- 在 content 末尾另起一行写
@句柄(如@目标猫句柄)- 传
targetCats参数(如targetCats: ["<目标猫 catId>"],catId 用cat_cafe_get_thread_cats查)
Step 1: 发现(谁在平行工作?)
# 1. 优先用 feat_index 找相关 thread
→ cat_cafe_feat_index(featId="F088") → 返回相关 threadIds
# 2. 确认哪些在活跃
→ cat_cafe_list_threads(activeSince=<2h_ago_ms>)
# 3. 必要时补上下文(D15: cat_cafe_search_messages 已删除,用以下两个替代)
→ cat_cafe_search_evidence(query="F088 phase", scope="threads", depth="raw") # 跨 thread 搜过程
→ cat_cafe_get_thread_context(threadId="<target>", keyword="F088") # 单 thread 取最近消息
判断是否需要同步:
| 改动范围 | 是否通知 |
|---|---|
| 共享文件(BACKLOG、feature doc、cat-config.json) | 必须 |
| 被其他 feature 依赖的接口/类型 | 必须 |
packages/shared/** |
必须 |
| 纯内部改动(只影响自己 feature 的文件) | 不需要 |
爪感差特殊路由(F245 single-source guard)
爪感差不是普通“抄送一份 FYI”:有 cat_cafe_capture_paw_feel 时报告猫先登记当前 invocation;无 invocation/agent-key 能力时跳过工具但仍在原 turn 单独一行留 [爪感差: …]。消息落盘后 F278 只以 sourceMessageId 采集;有 invocation proof 为 typed/confirmed,否则仅作有界 ambiguous 兼容。需要立即行动时才跨 thread,并遵守:
- 用精确 feature id 的
feat_index找候选,再以 feature doc、thread 上下文或 standing custody 查证它真是工具/feature owner 的准确 thread;模糊命中不算。 - cross-post 只带
sourceMessageId+ 影响 + 建议方向,禁止复制 literal marker。 - 只提醒既有责任用 FYI/coordinate;routine review/反馈走
coordinate,仅真正转移 implementation custody 才用assign_work。 - 查不到 verified owner thread →
cat_cafe_propose_thread(F128);宁可提案待批,也不猜一个近似 thread。F245 开发 thread 与thread_eval_friction都不是 raw sample 邮箱。
入站门禁:收到跨线程消息时先判归属
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.
- 14d ago Changed 0d491e00a71d
- 1mo ago Changed 9af5c6f7e453
- 1mo ago First seen · 241 lines · 73 tokens per session scan A 581b723dc071
cross-thread-sync is a skill published in the GitHub repository zts212653/clowder-ai (3,471 stars, last pushed today), licensed MIT. It adds 73 tokens to every session and 3,917 once invoked, about $0.0003 per session on Opus 5.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
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…
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…
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…
insight-error-page
Write or audit an insight-kind error page for the Next.js dev overlay. Use when creating a new errors/ .mdx page, auditing an existing one, or checking that a page matches the framework fix cards. Covers page structure, title alignment, FixCard cards with Copy prompt button, code snippets, terminology verification…
next-cache-components-optimizer
Optimize the meaningful UI available immediately from a Next.js route on an initial load (hard navigation) or named client-side navigation (soft navigation). Encode the goal as a failing @next/playwright instant() e2e and work it to green, one verified route and entry point at a time; the shipped test then guards…