search-threads
Search threads with filters. Supports filters like role:planner, type:Decision, after:2024-01, thread:topic-name, status:OPEN
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Search threads with filters. Supports filters like role:planner, type:Decision, after:2024-01, thread:topic-name, status:OPEN
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
This skill should be used to keep CLAUDE.md, AGENTS.md, and the skill files themselves compact, current, and internally consistent. It runs in three phases: Phase 1 performs a one-time structural refactor of CLAUDE.md using a Karpathy-inspired behavioral scaffold and derives AGENTS.md from it by stripping Claude Code-specific sections. Phase 2 extracts durable project conventions from Watercooler Decision entries since the last update and patches a bounded generated section. Phase 3 audits the local skill surface against the live MCP tool surface and the in-process alias registry (`TOOL_ALIASES` in `aliases.py`), surfacing skill files that reference retired or renamed tools. Use when CLAUDE.md has grown verbose or stale, when AGENTS.md has drifted from CLAUDE.md, when significant project decisions have accumulated since the last refresh, or after a watercooler-cloud tool-surface consolidation lands.
Find discussions and entries related to a specific topic or entry. Use to discover connected context across threads.
Recall project context or answer questions about history and decisions. Use before starting work, when investigating unfamiliar code, or asking "What was decided about X?" / "Why did we choose Y?"
List and navigate watercooler threads. Use to see active discussions, find specific threads, or get an overview of project threads.
Check watercooler system health — MCP server, baseline graph (T1), git auth, GitHub rate limit, and daemons. Use when syncs break or anything in the watercooler stack behaves unexpectedly.
Bootstrap Watercooler memory for a repository by inspecting local code, docs, CI, git history, and existing Watercooler threads, then writing a small set of durable, provenance-backed seed threads that future agents can query and extend. Use when entering a repo for the first time, seeding a repo with Watercooler context, or refreshing foundational repository context.
| name | search-threads |
| description | Search threads with filters. Supports filters like role:planner, type:Decision, after:2024-01, thread:topic-name, status:OPEN |
| allowed-tools | ["ToolSearch","mcp__watercooler__watercooler_search"] |
Search: $ARGUMENTS
Parse these filters from arguments:
role:X - Filter by role (planner, implementer, critic, tester, pm, scribe)type:X - Filter by entry type (Note, Plan, Decision, PR, Closure)after:DATE / before:DATE - Time range (ISO format: 2024-01-15)thread:X - Specific thread topicstatus:X - Thread status (OPEN, CLOSED)agent:X - Filter by agent nameor: (flag, no value) - Use OR token matching instead of AND (see below)Token matching default is AND. Multi-keyword queries like
"decided committed resolved"require ALL tokens present in the same entry — this often returns 0 hits. Addor:to use OR matching: any token qualifies. Useor:whenever searching for any of several keywords.
$ARGUMENTS on whitespace into tokens^(role|type|after|before|thread|status|agent):[^\s]+$or: token (no value) sets query_operator="OR" — consume it as a flag, not query text:, the value is everything afterrole:planner:advanced → key=role, value=planner:advanced (first colon splits)role:) → ignore, treat entire token as query textParse arguments into filters and query text using rules above.
Load MCP tool:
ToolSearch: select:mcp__watercooler__watercooler_search
Execute search with parsed query and filters. Pass each filter as its
own named parameter — omit any filter param that was not explicitly parsed
from the arguments. Do NOT use a filters={} dict (no such parameter exists):
# Example: only role was given
mcp__watercooler__watercooler_search(
query="config", mode="entries", role="planner"
)
# Example: multiple filters
mcp__watercooler__watercooler_search(
query="", mode="entries", role="planner", entry_type="Decision"
)
# Example: thread + status filters
mcp__watercooler__watercooler_search(
query="", mode="entries", thread_topic="mcp-migration", thread_status="OPEN"
)
# Example: no filters, just query text
mcp__watercooler__watercooler_search(
query="config migration", mode="entries"
)
# Example: OR mode — any of several keywords (use when or: flag is set)
mcp__watercooler__watercooler_search(
query="decided resolved committed opted agreed chosen",
query_operator="OR", mode="entries"
)
Filter parameter mapping:
role:X → role="X"type:X → entry_type="X"thread:X → thread_topic="X"status:X → thread_status="X"agent:X → agent="X"after:DATE → start_time="DATE"before:DATE → end_time="DATE"Present results:
Handle empty results:
/search-threads role:planner config - Planner entries about config/search-threads type:Decision after:2024-01 - Recent decisions/search-threads thread:mcp-migration status:OPEN - Search in specific thread/search-threads agent:Claude architecture - Claude's architecture discussions