name: research description: Search QMD-indexed project and main cross-project LLM wikis for past patterns, decisions, solutions, and pitfalls before planning or implementation. Use before feature planning, bug fixing, refactoring, architecture work, or code changes when a project wiki may exist.
Wiki Research
Search the project wiki and main cross-project wiki before planning or implementation. Produce a concise Past Knowledge section that downstream planning or coding can use.
Step 1: Identify Context
Determine:
- Current project name:
basename "$(git rev-parse --show-toplevel 2>/dev/null || pwd)" - Parent of project:
dirname "$(git rev-parse --show-toplevel)" - Whether
wiki/exists in the repo. - Whether
.llm-wiki/config.jsonexists and containsmain_wiki_path. - Whether
~/wikis/master/wiki/exists. - Whether
~/wikis/main/wiki/exists. - Whether
<parent-of-project>/wikis/master/wiki/exists. - Whether
<parent-of-project>/wikis/main/wiki/exists. - Whether QMD MCP tools,
qmdCLI, or onlyrgare available.
If no main cross-project wiki exists, say that explicitly. Ask the user for a main wiki folder when cross-project context is important, or suggest running bootstrap to create <parent-of-project>/wikis/master/wiki/.
Step 2: Search With the Best Available Tool
Preferred: QMD MCP
Use at most two QMD MCP query calls. Do not fire many QMD calls in parallel; combine related searches into the searches array.
Project search:
{
"searches": [
{ "type": "lex", "query": "<3-5 key terms>" },
{ "type": "vec", "query": "<natural-language task question>" }
],
"collections": ["<current-project-name>"],
"limit": 10
}
Main cross-project search:
{
"searches": [
{ "type": "lex", "query": "<key terms>" },
{ "type": "vec", "query": "patterns for <feature domain>" }
],
"collections": ["master"],
"limit": 10
}
Use the master QMD collection for the main cross-project wiki when available. If the environment uses a main collection instead, query main.
Read the top 3-5 relevant pages with QMD get or multi-get.
Fallback: QMD CLI
qmd query "<topic>" --collection "<current-project-name>"
qmd query "<topic>" --collection master
# or, if the cross-project wiki is indexed as main:
qmd query "<topic>" --collection main
Fallback: ripgrep
rg "<key terms>" wiki/ --type md -C 2
rg "<key terms>" "<main_wiki_path from .llm-wiki/config.json>" --type md -C 2
rg "<key terms>" ~/wikis/master/wiki/ --type md -C 2
rg "<key terms>" ~/wikis/main/wiki/ --type md -C 2
rg "<key terms>" ../wikis/master/wiki/ --type md -C 2
rg "<key terms>" ../wikis/main/wiki/ --type md -C 2
Skip missing directories gracefully.
Step 3: Read Important Pages
Prioritize:
wiki/decisions.mdwiki/technical-debt.mdwiki/gaps.mdwiki/architecture.md<main_wiki_path from .llm-wiki/config.json>/patterns.md<main_wiki_path from .llm-wiki/config.json>/learnings.md~/wikis/master/wiki/patterns.md~/wikis/master/wiki/learnings.md~/wikis/main/wiki/patterns.md~/wikis/main/wiki/learnings.md<parent-of-project>/wikis/master/wiki/patterns.md<parent-of-project>/wikis/master/wiki/learnings.md<parent-of-project>/wikis/main/wiki/patterns.md<parent-of-project>/wikis/main/wiki/learnings.md
Only cite or summarize pages actually read.
Step 4: Produce Past Knowledge
Return this structure:
### Past Knowledge
**Relevant wiki pages:**
- ...
**Applicable patterns:**
- ...
**Past decisions that constrain this work:**
- ...
**Known pitfalls:**
- ...
**Reusable components:**
- ...
**Gaps this work could fill:**
- ...
If no wiki exists, say that explicitly and suggest running bootstrap.
Rules
- Search wiki context before codebase exploration when wiki context exists.
- Do not claim wiki facts unless a page was read.
- Prefer concise synthesis over dumping search results.
- Preserve uncertainty and missing coverage as gaps.