From 50fe6b0416d54541b10bfe859056726c860b5bd0 Mon Sep 17 00:00:00 2001 From: Claude Date: Fri, 3 Apr 2026 04:41:48 +0000 Subject: [PATCH] =?UTF-8?q?tacit.knowledge=20=EC=8A=A4=ED=82=AC=EC=9D=84?= =?UTF-8?q?=20tacit=20CLI=20=EC=A0=84=EC=9A=A9=EC=9C=BC=EB=A1=9C=20?= =?UTF-8?q?=EB=A1=A4=EB=B0=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 외부 MCP 소스 병렬 검색 통합이 퀄리티를 오히려 저하시켜, tacit CLI만 사용하는 이전 방식으로 되돌림. https://claude.ai/code/session_01VEJ1KTvBURivtfWZebAPeR --- skills/tacit.knowledge/SKILL.md | 71 ++++++++++++++++----------------- 1 file changed, 35 insertions(+), 36 deletions(-) diff --git a/skills/tacit.knowledge/SKILL.md b/skills/tacit.knowledge/SKILL.md index 00aed86..7fc00c4 100644 --- a/skills/tacit.knowledge/SKILL.md +++ b/skills/tacit.knowledge/SKILL.md @@ -8,9 +8,9 @@ description: | # tacit Knowledge Base Query -You are retrieving relevant knowledge from multiple sources: the local tacit knowledge database and any external knowledge MCPs available in the current session. +You are retrieving relevant knowledge from the user's local tacit knowledge database using the `tacit` CLI. -## Available tacit Commands +## Available Commands ``` tacit list [duration] — List entries created within duration (default: 1h). Supports: 30m, 1h, 24h, 1d, 7d, 2w @@ -22,53 +22,52 @@ tacit get — Print full content of a specific en When the user invokes `/tacit.knowledge `, extract the time window from the prompt if mentioned (e.g. "오늘", "이번 주", "지난 1시간"). If no time is specified, default to **1h** for list. -### Step 0 — Identify available external knowledge sources +### Step 1 — Run list agent and search agent IN PARALLEL -Review the tools available in the current session. Identify MCP tools that provide **search or query** capabilities over knowledge repositories — such as messaging platforms, wikis, note-taking apps, project management tools, email, calendars, or issue trackers. +**List agent** — retrieves recent entries: +```bash +tacit list +``` +- Use the time window from the prompt if specified; otherwise use `1h` +- Parse the output: each entry has `[datetime] category / title`, `File: `, and optionally `Summary: ` +- Collect all file paths from the output -Criteria for inclusion: -- The tool name or description contains keywords like `search`, `query`, `find`, `list`, `read` -- The tool belongs to a service where knowledge, decisions, or discussions are likely stored -- Do **not** hardcode specific tool names — evaluate based on what is actually available +**Search agent** — finds topically relevant entries: +1. Extract 2–4 keywords from the user's prompt (nouns, domain terms, key verbs) +2. Run `tacit search ` for each keyword to maximize recall. If a time window was identified, pass `--duration ` to narrow results (e.g. `tacit search --duration 1h `) +3. Collect all unique file paths from results +4. Deduplicate across keywords -### Step 1 — Launch sub-agents in parallel +Each agent returns: a list of `{ file_path, title, category, created_at, summary_snippet }` objects. -Launch one sub-agent per source, all in parallel using the Agent tool. Each sub-agent is isolated and does not pollute the main context. +### Step 2 — Merge results -**tacit sub-agent** — retrieves from local knowledge base: -1. Run `tacit list ` to get recent entries -2. Extract 2–4 keywords from the user's prompt and run `tacit search ` for each. If a time window was identified, pass `--duration ` to narrow results (e.g. `tacit search --duration 1h `) -3. Merge all unique file paths, prioritizing entries that appear in both list and search results -4. Fetch full content: `tacit get ...` -5. Return structured results: `{ source: "tacit", items: [{ title, file_path, date, category, summary, content }] }` +In the main thread: +- Union the file paths from both agents, deduplicated +- If a file path appears in both, it is high-confidence relevant — prioritize it +- Limit to the **5 most relevant** entries to avoid context overload (prefer recent + multi-source matches) -**External source sub-agent(s)** — one per identified MCP source: -- Use the available search/query tools for that source -- Extract keywords from the user's prompt and run targeted queries -- Perform follow-up queries or pagination as needed to explore deeply -- Return structured results: `{ source: "", items: [{ title, url_or_ref, date, snippet }] }` -- If a tool is unavailable or returns an error, return an empty result silently +### Step 3 — Fetch full content for top entries -### Step 2 — Merge results in the main thread +Run a single command with all selected file paths at once: +```bash +tacit get ... +``` -Collect all sub-agent results and merge: -- Tag each item with its source (e.g. `tacit`, `Slack`, `Notion`, etc.) -- Items appearing in multiple sources are high-confidence — surface them first -- No item count limit — use everything the sub-agents returned +This returns all entries in one output, separated by `---`. Read the `Summary` section first. Include the `Content` (raw STT) only if the user's question requires detail or the summary is insufficient. -### Step 3 — Respond +### Step 4 — Respond -Synthesize all retrieved knowledge into a direct answer to the user's prompt: -- Group or sequence results naturally (by topic, time, or source) -- For each item, cite: **title**, **date**, and **source** (channel, page, tacit category, etc.) -- Use summaries for concise context; include raw content only when the user's question requires detail -- If no relevant entries are found across any source, briefly note this and answer from general knowledge +Synthesize the retrieved knowledge into a direct answer to the user's prompt: +- Reference each entry by title and date +- Use summary for concise context; raw content only when needed +- If no relevant entries are found, briefly note this and answer from general knowledge ## Important -- tacit content is captured from real-time speech (STT) — expect transcription artifacts -- tacit categories and content are primarily in Korean +- Knowledge content is captured from real-time speech (STT) — expect transcription artifacts +- Categories and content are primarily in Korean - Do NOT fabricate knowledge entries — only reference what actually exists +- The `Summary` section is the AI-processed version; `Content` is raw STT output - `tacit search` supports regex-compatible patterns — you can use `tacit search "키워드1\|키워드2"` to search multiple terms at once - `tacit search --duration` accepts the same units as `tacit list`: `30m`, `1h`, `24h`, `1d`, `7d`, `2w` -- When launching external source sub-agents, pass the user's original prompt and extracted keywords so each sub-agent can independently determine the best query strategy for its source