// "Queries cached external documentation and blog content for authoritative, up-to-date information. Sources include Claude Code docs, engineering blog, and configured knowledge bases with 24-hour TTL caching. Use when you need current information about Claude Code features, hooks, or best practices. Do NOT use for general coding questions - rely on training knowledge or web search instead."
| name | pop-knowledge-lookup |
| description | Queries cached external documentation and blog content for authoritative, up-to-date information. Sources include Claude Code docs, engineering blog, and configured knowledge bases with 24-hour TTL caching. Use when you need current information about Claude Code features, hooks, or best practices. Do NOT use for general coding questions - rely on training knowledge or web search instead. |
Query cached external documentation and blog content to get fresh context for development tasks. Knowledge sources are synced on session start and cached for 24 hours.
Core principle: Get authoritative, up-to-date information from official sources.
Trigger: When you need current information about Claude Code, best practices, or configured documentation sources.
Invoke this skill when:
Default sources (synced automatically):
Use the Read tool to check what knowledge is available:
Read: ~/.claude/config/knowledge/sources.json
Use bash for SQLite queries (no native equivalent):
sqlite3 ~/.claude/config/knowledge/cache.db \
"SELECT source_id, fetched_at, expires_at, status FROM knowledge_cache"
Use the Read tool to read cached content:
Read: ~/.claude/config/knowledge/content/anthropic-engineering.md
Read: ~/.claude/config/knowledge/content/claude-code-docs-overview.md
Use the Grep tool to search across all cached content:
Grep: pattern="hooks", path="~/.claude/config/knowledge/content/"
Grep: pattern="MCP", path="~/.claude/config/knowledge/content/"
When embeddings are initialized, use semantic similarity for better results:
# Check if semantic search is available
from hooks.utils.embedding_store import EmbeddingStore
from hooks.utils.voyage_client import is_available
store = EmbeddingStore()
if is_available() and store.count("knowledge") > 0:
# Semantic search available
from hooks.utils.voyage_client import embed_query
query_embedding = embed_query("how do hooks work")
results = store.search(
query_embedding,
source_type="knowledge",
top_k=5,
min_similarity=0.7
)
for result in results:
print(f"[{result.similarity:.2f}] {result.record.source_id}")
print(f" {result.record.content[:100]}...")
Hybrid Search Strategy:
Initialize Embeddings:
python hooks/utils/embedding_init.py --force
When providing information from knowledge sources:
## Knowledge Reference
**Source:** [Source Name]
**Fetched:** [Timestamp]
**Relevance:** [Why this is relevant to the query]
### Key Information
[Relevant excerpt or summary from cached knowledge]
---
*From cached knowledge source: [source_id]*
*Last updated: [fetched_at]*
Use the Read tool to read the hooks documentation:
Read: ~/.claude/config/knowledge/content/claude-code-docs-hooks.md
Extract relevant sections
Provide answer with source attribution
Use the Read tool to read the engineering blog:
Read: ~/.claude/config/knowledge/content/anthropic-engineering.md
Look for best practices content
Summarize with examples
Use the Grep tool to search all sources:
Grep: pattern="X", path="~/.claude/config/knowledge/content/"
If found, use Read tool to get the full context
If not found, inform user and suggest they check directly
If knowledge is stale or missing:
**Note:** The cached knowledge for [source] is [stale/missing].
Last fetched: [date] (expired [time] ago)
Would you like me to:
1. Refresh the knowledge sources? (`/popkit:knowledge refresh`)
2. Provide what I have from my training data?
3. Search the web for current information?
/popkit:knowledge command - Manage knowledge sourcesknowledge-sync.py hook - Automatic session start sync