feat(using-interns): add grep_audit routing [v0.3.0]
Add 3 routing-table rows for the new deterministic `grep_audit` intern per .wiki/concepts/interns-grep-audit-design.md §Layer 3: - grep_audit row — deterministic, no LLM call, zero cost - bulk_text_read vs grep_audit boundary — Q&A vs contains-check - always-ask uniform reminder — server opens file even sans LLM Consistency adds: new Overview catalog row, Tool quick reference row, prose note marking grep_audit as the catalog's first LLM-free intern. Version 0.2.2 -> 0.3.0 (MINOR — new routing capability). Closes [interns-grep-audit-skill-updates] on the .tasks board. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
---
|
||||
name: using-interns
|
||||
version: 0.2.2
|
||||
version: 0.3.0
|
||||
description: Use when delegating predictable bulk reads or summarization to cheap intern LLMs via the local `interns` MCP server (`mcp__interns__bulk_text_read`, `mcp__interns__transcript_distill`, etc.) so Claude saves Anthropic quota. Activated by `delegate to interns when allowed` in CLAUDE.md or explicit phrases like "use interns", "delegate to an intern", "разреши интернов", "allow interns". **Also activates proactively when Claude is about to read 3+ files for context, read a single file >400 lines for non-edit purposes, or distill a long transcript — surface the offer "знаю, что есть интерны — заюзать?" before proceeding, even without an explicit user phrase.** Per-session permission grant mirrors `project-discipline` Rule 4: ask-mode default, conversational grant / revoke, always-ask paths for `.env` / secrets / keys / SSH / credentials even with active grant, transitive rule (Claude can't bypass by reading the file itself and forwarding content), session-end reset. Skip for architecture, debugging, auth / payments, final commit messages, or final user-facing text.
|
||||
---
|
||||
|
||||
@@ -10,15 +10,16 @@ description: Use when delegating predictable bulk reads or summarization to chea
|
||||
|
||||
`interns` is a local stdio MCP server that exposes a catalog of cheap-LLM "interns" — DeepSeek, Kimi, Ollama-hosted models, etc. — so Claude can delegate predictable bulk I/O and summarization tasks instead of paying Anthropic quota for them. The pattern (~23× cheaper end-to-end on summarization, ~125× per-call on bulk reads) is sourced from a Reddit thread + Medium follow-up; see `.wiki/concepts/interns-design.md` for the full design and the cost numbers.
|
||||
|
||||
Three MVP interns:
|
||||
The catalog:
|
||||
|
||||
| Tool | What it does | When to call |
|
||||
|---|---|---|
|
||||
| `mcp__interns__bulk_text_read` | Reads N files end-to-end and answers a focused question with file:line citations. | Claude was about to read 3+ files or one file > 400 lines just to extract context. |
|
||||
| `mcp__interns__transcript_distill` | Compresses a session transcript / log into a structured action list (decisions / open questions / next steps). | Before updating `.wiki/log.md` or producing a session summary. |
|
||||
| `mcp__interns__repo_read` | Packs a directory/repo via `repomix` and answers a focused question about the codebase. | Whole-repo or whole-directory questions — architecture, "where is X used", "what does module Y do". See Routing hints for `repo_read` vs `bulk_text_read`. |
|
||||
| `mcp__interns__grep_audit` | Deterministic grep matrix over N paths × M patterns. **No LLM call, no endpoint cost.** Returns ✅/❌/⚠️ table or JSON. | Contains/not-contains audits — checking a set of CLAUDE.md / SKILL.md / frontmatter files for canonical strings. See Routing hints for `grep_audit` vs `bulk_text_read`. |
|
||||
|
||||
All currently run on Ollama Cloud (`deepseek-v4-flash`, ~$0.002 / call). Adding a new intern is a config-only change — see `.wiki/concepts/interns-design.md` § "Как добавить нового интерна".
|
||||
LLM-backed interns currently run on Ollama Cloud (`deepseek-v4-flash`, ~$0.002 / call). `grep_audit` is the catalog's first LLM-free intern — zero cost, zero hallucination boundary. Adding a new intern is a config-only change — see `.wiki/concepts/interns-design.md` § "Как добавить нового интерна".
|
||||
|
||||
## Prerequisites
|
||||
|
||||
@@ -131,6 +132,9 @@ Any call with estimated cost > $0.10 (per the `tokens × price_per_M` config in
|
||||
| Don't delegate editing or debugging a specific file to `repo_read` | Read the file yourself. `repo_read` is for comprehension, not modification. |
|
||||
| Updating `.wiki/log.md` or session-summary doc | `transcript_distill` |
|
||||
| Compressing a long brainstorm transcript before quoting in a design doc | `transcript_distill` |
|
||||
| Audit N paths × M patterns (contains/not-contains matrix — checking CLAUDE.md / SKILL.md / frontmatter for canonical strings) | `grep_audit` — deterministic, no LLM call, zero cost, zero hallucination boundary |
|
||||
| `bulk_text_read` vs `grep_audit` | `bulk_text_read` is Q&A with an LLM over files; `grep_audit` is deterministic contains/not-contains. Semantic match (paraphrase, intent) → `bulk_text_read` with a question, not `grep_audit`. |
|
||||
| Always-ask paths apply uniformly to `grep_audit` | The server still opens the file even without an LLM call — no special "safe intern" carve-out. Same `.env` / secrets / keys / SSH gate as the LLM-backed interns. |
|
||||
| (Future interns in `config.yaml`) | per the description in the catalog |
|
||||
|
||||
## Workflow
|
||||
@@ -155,6 +159,7 @@ Don't pass file *contents* as arguments — only paths. The MCP server reads and
|
||||
| `mcp__interns__bulk_text_read` | `paths: list[str]`, `question: str` | `max_tokens: int` | Read N files end-to-end, answer the question with citations. |
|
||||
| `mcp__interns__repo_read` | `paths: list[str]`, `question: str` | `compress: bool`, `max_tokens: int` | Pack directory/repo via repomix, answer the question. Use `compress=True` for large codebases (lossy: strips comments/whitespace). |
|
||||
| `mcp__interns__transcript_distill` | `paths: list[str]`, `question: str` | `max_tokens: int` | Distill transcript / log into structured action list. |
|
||||
| `mcp__interns__grep_audit` | `paths: list[str]`, `patterns: list[str \| dict]` | `output: "table" \| "json"` (default `"table"`), `case_sensitive: bool` (default `True`) | Deterministic grep matrix over N paths × M patterns. No LLM call. Returns ✅/❌/⚠️ table or JSON. `patterns` are substring by default; pass `{pattern, name, regex: true}` for named regex columns. |
|
||||
|
||||
(Future interns expose tools at `mcp__interns__<intern_id>` as the catalog grows.)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user