Modifications 1.1#2
Conversation
Merge the drafted agent-wiki schema into the existing CLAUDE.md as a "dual-purpose repo" split: skill-dev rules still govern SKILL.md, references/, README.md, examples/; new sections govern the agent's own raw/ and wiki/ when dogfooding the skill. Add a Workflow section mapping the superpowers plugins (brainstorm -> plan -> execute, systematic-debugging, verification-before-completion) into this markdown-only repo. Gitignore raw/ and wiki/ so the agent's private knowledge base does not ship via npx add-skill. Enable CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS so subsequent wiki work can use teammates. Spec and plan docs kept under docs/superpowers/ for traceability. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Wire up the wiki-ingester background subagent: - Install karpathy-llm-wiki skill locally via .claude/skills/ symlinks - Add .claude/agents/wiki-ingester.md (skills preload, scoped tools, background: true, SubagentStop frontmatter hook) - Add .claude/hooks/wiki-ingester-done.sh (logs + emits systemMessage) - Extend permissions.allow with Bash(mkdir|touch|python3:*) so the background subagent does not prompt on its routine commands - Gitignore .claude/logs/ and *.pdf Also draft the topic-isolated-index design spec at docs/superpowers/specs/2026-04-16-topic-isolated-indexes-design.md: split wiki/index.md into top-level topic directory + per-topic index.md files, tighten Ingest cascade to same-topic only, defer cross-topic See Also to a separate editorial step. Implementation plan pending review. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- SKILL.md §Architecture, §Cascade, §Post-Ingest, §Conventions updated for the two-level index model (top-level topic directory + per-topic article list); cascade restricted to same-topic only - references/index-template.md rewritten as top-level directory shape - references/topic-index-template.md added for per-topic shape - .claude/agents/wiki-linter.md Index consistency check split into top-level and per-topic bullets - README.md directory tree updated to show wiki/topic/index.md - .claude/settings.json: add blanket WebFetch to allow list so the background wiki-ingester can fetch arbitrary domains Validated end-to-end: wiki-linter clean, ingest into existing topic stays within topic, ingest of new topic (openclaw) adds exactly one row to top-level index and leaves other topics untouched. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- .claude/hooks/wiki-linter-done.sh — new executable script, same shape as the ingester-done hook: reads stdin JSON, appends full last_assistant_message to .claude/logs/wiki-linter.log with timestamp + agent_id, emits a truncated systemMessage for the UI - .claude/agents/wiki-linter.md frontmatter — add hooks.Stop block pointing at the new script, matching the ingester pattern exactly Frontmatter Stop hook is auto-converted to SubagentStop at runtime. After /reload-plugins, every wiki-linter run surfaces a UI notification the same way every wiki-ingester run does. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- Strip fabricated "94 articles / 13 topics / 99 sources / 87 log entries" claim from Usage Stats section; replace with a short pointer to examples/ - Rewrite the FAQ's "Is this production-ready?" answer to describe what actually ships (SKILL.md, five reference templates, examples) without the same fake numbers - Remove the <p align="center"><img src="assets/karpathy-tweet.png"> block — the image file has been deleted - Delete assets/karpathy-tweet.png (deletion was already pending in the working tree) Everything else in README still accurate: the three-operations table, RAG comparison, install command, quick-start examples, the directory tree (already updated to per-topic index.md in the previous commit), tool compatibility list, and attribution. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Line sat between the Sources and Archived metadata blockquote lines without a `>` prefix, which breaks the blockquote and renders as body text. The rule it documented (path conventions for cross-topic links) is already demonstrated in the template's See Also section below, so removing it is cleaner than re-nesting it inside the blockquote. All five templates (raw, article, index, topic-index, archive) now audited clean: no duplicates, consistent with SKILL.md two-level-index rules, correct path conventions throughout. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…d wiki - SKILL.md §Ingest §Fetch: new paragraph for binary/tabular sources (CSV, JSON, Parquet, images) — raw stays raw, verbatim copy plus markdown sidecar for metadata and schema. Compiled article's Raw field references both. - .claude/settings.json: add Bash(curl:*), Bash(cp:*), Bash(mv:*) to allow (curl moved out of deny); gives the wiki-ingester binary-file-ops coverage. - .gitignore: comment raw/ and wiki/ on this branch so dogfood state is visible/committable; inline note explains the re-ignore-before-merge rule. - New plan: docs/superpowers/plans/2026-04-17-values-csv-ingest-retry.md — the plan that validated the tabular-source rule end-to-end against Anthropic's values-in-the-wild CSV. - First commit of the dogfood wiki: three topics (claude-code, llm-wiki, openclaw) with 9 articles, 10 raw sources, and the session log. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- docs/superpowers/specs/2026-04-17-qmd-wiki-install-design.md: spec for wiring qmd as an MCP-backed search layer over the wiki, with hook-based refresh and a fresh-install bootstrap script. Four topics, 11 articles at current scale. - .github/agents/Hoho.agent.md: refresh prompt and tools list. - .gitignore: ignore .vscode/. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Five-task plan derived from 2026-04-17-qmd-wiki-install-design spec: bootstrap script, project-scoped MCP registration, hook refresh, prompt rewrite, and end-to-end verification. Corrections applied from two parallel review tracks — upstream qmd behavior (pinned markdown mask, best-effort install guard, embed cost note) and repo constraints (permission pattern style, hook set -e semantics, commit scope note). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
SKILL.md:23 and SKILL.md:191 restrict wiki/log.md to wiki operations (Ingest, Archive from Query, Lint). qmd is an infra layer on top of the wiki; writing an install marker to that log contradicts the schema and our own spec's "qmd never writes to the repo" boundary. Task 5 verification ends with the hook smoke test. Install records live in the four commits from Tasks 1-4, the hook's .claude/logs output, and .claude/prompts/qmd-wiki-integration.md (rewritten in Task 4). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
This PR expands the repo’s dogfood wiki content (new topics and articles under wiki/ with corresponding raw/ captures), updates the skill schema/templates to a topic-isolated index structure, and adds supporting agent/hook/config documentation and specs/plans for future wiki infrastructure (e.g., qmd integration).
Changes:
- Add new wiki topics/articles (Claude Code, LLM Wiki Pattern, qmd, OpenClaw, GitHub Copilot plugins) plus raw source captures and an updated wiki operation log.
- Update the skill specification and reference templates to a two-level index layout (top-level topic directory + per-topic indexes), plus binary/tabular raw handling guidance.
- Add/adjust repo scaffolding docs and configs (CLAUDE.md, .claude agents/hooks/settings, VS Code settings, architecture/spec/plan docs).
Reviewed changes
Copilot reviewed 53 out of 58 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
wiki/openclaw/openclaw-overview.md |
New OpenClaw overview wiki article. |
wiki/openclaw/index.md |
New per-topic index for OpenClaw. |
wiki/log.md |
New/updated chronological wiki operation log. |
wiki/llm-wiki/qmd.md |
New wiki article documenting qmd. |
wiki/llm-wiki/llm-wiki-pattern.md |
New wiki article describing the LLM Wiki pattern. |
wiki/llm-wiki/index.md |
New per-topic index for llm-wiki. |
wiki/index.md |
New top-level topic directory index. |
wiki/github-copilot/plugins-directory.md |
New wiki article for Copilot plugins directory. |
wiki/github-copilot/index.md |
New per-topic index for GitHub Copilot. |
wiki/claude-code/subagents.md |
New wiki article documenting Claude Code subagents. |
wiki/claude-code/settings.md |
New wiki article documenting Claude Code settings. |
wiki/claude-code/overview.md |
New wiki article documenting Claude Code overview. |
wiki/claude-code/memory.md |
New wiki article documenting Claude Code memory. |
wiki/claude-code/index.md |
New per-topic index for Claude Code. |
wiki/claude-code/hooks.md |
New wiki article documenting Claude Code hooks. |
wiki/claude-code/extensions.md |
New wiki article documenting extension mechanisms. |
wiki/claude-code/claude-prompting-best-practices.md |
New wiki article summarizing prompting best practices. |
wiki/.gitkeep |
Keeps wiki/ directory present. |
references/topic-index-template.md |
Adds per-topic index template. |
references/index-template.md |
Updates top-level index template to topic directory format. |
references/archive-template.md |
Removes an inline note from archive template. |
raw/openclaw/2026-04-16-openclaw-documentation-overview.md |
Adds raw capture source for OpenClaw overview. |
raw/llm-wiki/qmd-local-search-engine.md |
Adds raw capture source for qmd. |
raw/llm-wiki/karpathy-llm-wiki-original.md |
Adds raw capture of Karpathy’s original LLM Wiki text. |
raw/llm-wiki/2026-04-08-andrej-karpathy-killed-rag-or-did-he-llm-wiki-pattern.md |
Adds raw capture of secondary analysis article. |
raw/github-copilot/2026-04-17-awesome-copilot-plugins-directory.md |
Adds raw capture source for Copilot plugins directory. |
raw/claude-code/memory.md |
Adds raw capture source for Claude Code memory docs. |
raw/claude-code/extend-claude-code.md |
Adds raw capture source for Claude Code “Extend” docs. |
raw/claude-code/claude-code-overview.md |
Adds raw capture source for Claude Code overview docs. |
raw/claude-code/2026-04-17-claude-prompting-best-practices.md |
Adds raw capture source for prompting best practices. |
raw/.gitkeep |
Keeps raw/ directory present. |
docs/superpowers/specs/2026-04-17-qmd-wiki-install-design.md |
Design spec for adding qmd as a local search layer. |
docs/superpowers/specs/2026-04-16-topic-isolated-indexes-design.md |
Design spec for topic-isolated indexes and ingest scoping. |
docs/superpowers/specs/2026-04-16-claude-md-merge-design.md |
Design spec for merging/clarifying CLAUDE.md intent. |
docs/superpowers/plans/2026-04-17-values-csv-ingest-retry.md |
Implementation plan for CSV ingest retry + permissions/schema tweaks. |
docs/superpowers/plans/2026-04-17-qmd-wiki-install.md |
Implementation plan for qmd install/integration. |
docs/superpowers/plans/2026-04-16-claude-md-merge.md |
Implementation plan for CLAUDE.md merge changes. |
assets/karpathy-tweet.png |
Adds image asset (note: README removed embed). |
WIKI-ARCHITECTURE-DECISIONS.md |
Adds client-specific architecture decision doc. |
SKILL.md |
Updates schema: two-level indexes, same-topic cascade, binary/tabular raw guidance, updated post-ingest rules. |
README.md |
Updates README content to align with new index structure and revised copy. |
CLAUDE.md |
Adds/updates repo guidance for skill development + dogfood wiki mode. |
.vscode/settings.json |
Adds VS Code file association settings. |
.vscode/mcp.json |
Adds VS Code MCP server configuration (currently includes a secret). |
.gitignore |
Updates ignore rules (notes about raw/wiki visibility; ignores .claude/logs/, PDFs, .vscode/). |
.github/agents/Hoho.agent.md |
Adds a GitHub agent definition file (with a YAML formatting issue). |
.claude/settings.json |
Adds Claude Code project settings (permissions/env). |
.claude/prompts/qmd-wiki-integration.md |
Adds a brainstorming prompt for qmd/wiki integration. |
.claude/hooks/wiki-linter-done.sh |
Adds hook script to log and notify on wiki-linter completion. |
.claude/hooks/wiki-ingester-done.sh |
Adds hook script to log and notify on wiki-ingester completion. |
.claude/agents/wiki-linter.md |
Adds wiki-linter agent definition (deterministic + heuristic checks). |
.claude/agents/wiki-ingester.md |
Adds wiki-ingester agent definition (currently inconsistent with updated SKILL.md). |
.claude/agents/skill-reviewer.md |
Adds agent to check SKILL.md / references / README consistency. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| "env": { | ||
| "CONTEXT7_API_KEY": "ctx7sk-325949af-b2fd-4089-a393-c50c1f75f3f4" | ||
| } |
There was a problem hiding this comment.
.vscode/mcp.json commits a plaintext Context7 API key. This is a secret leak risk (anyone with repo access can use the key). Remove the key from the repo and load it from an environment variable / VS Code secret input mechanism instead (leave a placeholder in the config).
| - Cascade → scan the same topic directory and related topics; update any articles materially affected. | ||
| - Update `wiki/index.md` per `index-template.md`; refresh Updated dates on every touched row. |
There was a problem hiding this comment.
The wiki-ingester instructions are now out of sync with SKILL.md: cascade updates are described as scanning "related topics" and index updates target only wiki/index.md. SKILL.md now requires same-topic-only cascade updates and updating wiki/<topic>/index.md (with the top-level wiki/index.md only for new topics). Please update the ingester prompt to match the new schema so ingests don't violate the spec.
| - Cascade → scan the same topic directory and related topics; update any articles materially affected. | |
| - Update `wiki/index.md` per `index-template.md`; refresh Updated dates on every touched row. | |
| - Cascade → scan only the same topic directory; update any articles in that topic materially affected by the ingest. | |
| - Update `wiki/<topic>/index.md` per `index-template.md`; refresh Updated dates on every touched row there. Update the top-level `wiki/index.md` only when creating a new topic. |
| | [claude-code](claude-code/index.md) | Anthropic's agentic coding tool — CLI, IDE extensions, desktop app, web, and CI/chat integrations | 2026-04-17 | | ||
| | [llm-wiki](llm-wiki/index.md) | Karpathy's LLM Wiki pattern — compiling knowledge into persistent, compounding markdown maintained by LLMs | 2026-04-16 | | ||
| | [openclaw](openclaw/index.md) | Open-source AI assistant platform built on Anthropic's Claude Agent SDK — gateway architecture, multi-channel deployment, and multi-model support | 2026-04-16 | |
There was a problem hiding this comment.
The top-level topic directory has llm-wiki marked Updated 2026-04-16, but the topic's index lists articles updated 2026-04-17. This makes the topic-level Updated metadata inconsistent; update the llm-wiki row date (or apply a consistent rule like "max Updated date across that topic").
| --- | ||
| name: Hoho | ||
| description: Hoho reviews and explains Claude Code output, prompt drafts, and workflow ideas using your Codespace and official documentation as ground truth. Use Hoho to check whether an approach is correct, safe, scalable, and aligned with best practices before making changes. Hoho breaks down what Claude Code is saying, flags gaps or risks, pushes back when needed, and explains conclusions in plain English with citations. | ||
| argument-hint: Paste Claude Code responses, prompt drafts, or workflow and architecture questions you want validated. Inputs can be pasted chat output, file or directory references, or simple “does this make sense?” questions tied to your current setup.". |
There was a problem hiding this comment.
argument-hint ends with an extra ". which looks like a stray quote/punctuation and may break YAML parsing for the agent metadata. Remove the trailing quote/period so the hint is valid YAML text.
| argument-hint: Paste Claude Code responses, prompt drafts, or workflow and architecture questions you want validated. Inputs can be pasted chat output, file or directory references, or simple “does this make sense?” questions tied to your current setup.". | |
| argument-hint: Paste Claude Code responses, prompt drafts, or workflow and architecture questions you want validated. Inputs can be pasted chat output, file or directory references, or simple “does this make sense?” questions tied to your current setup. |
| **wiki/** — Compiled knowledge articles. You have full ownership. Organized by topic subdirectories, one level only: `wiki/<topic>/<article>.md`. Contains: | ||
| - `wiki/index.md` — Top-level topic directory. One row per topic, with a link into that topic's own index, a short description, and an optional Updated date. No article rows at this level. | ||
| - `wiki/<topic>/index.md` — Per-topic index. One row per article in that topic, with link + summary + Updated date. | ||
| - `wiki/log.md` — Append-only operation log (single file at wiki root, covers all topics chronologically). |
There was a problem hiding this comment.
SKILL.md now defines a two-level index structure (wiki/index.md as a topic directory + per-topic wiki/<topic>/index.md). With this change, ensure the later Query/Archive/Lint sections are updated to reference per-topic indexes (they currently still describe wiki/index.md as an article index). Otherwise the spec becomes internally inconsistent.
| - **`raw/` is immutable.** Ingest writes to it; nothing else modifies it. Queries never read from it. | ||
| - **`wiki/` is one level deep only** — `wiki/<topic>/<article>.md`. Do not propose nested topic trees. | ||
| - **Path conventions differ by context.** Inside wiki files, links are relative to the current file. In conversation output (citations), paths are project-root-relative. This asymmetry is intentional — preserve it in any edits. | ||
| - **Three operations, strict file-write rules.** Ingest writes `index.md` + `log.md`. Archive (from Query) writes both. Lint writes `log.md` (and `index.md` only when auto-fixing). Plain Query writes nothing. Don't blur these boundaries. |
There was a problem hiding this comment.
The operation boundary summary says "Ingest writes index.md + log.md" but the repo now has both a top-level wiki/index.md and per-topic wiki/<topic>/index.md. Clarify here which index files each operation is expected to update (e.g., per-topic index always; top-level index only when a new topic is created) to avoid conflicting guidance.
| - **Three operations, strict file-write rules.** Ingest writes `index.md` + `log.md`. Archive (from Query) writes both. Lint writes `log.md` (and `index.md` only when auto-fixing). Plain Query writes nothing. Don't blur these boundaries. | |
| - **Three operations, strict file-write rules.** Ingest writes the per-topic index `wiki/<topic>/index.md` and `log.md`; it updates the top-level `wiki/index.md` only when creating a new topic. Archive (from Query) follows the same index rules and also writes `log.md`. Lint writes `log.md`, and updates `wiki/<topic>/index.md` only when auto-fixing; it should touch the top-level `wiki/index.md` only if the auto-fix changes topic membership. Plain Query writes nothing. Don't blur these boundaries. |
Claude Code's project .claude/settings.json schema doesn't accept a top-level mcpServers key — that shape is only valid at user-level ~/.claude/settings.json. For project-scoped MCP committed with the repo, the canonical file is .mcp.json at the repo root, pre-approved via enabledMcpjsonServers in settings.json. Task 2 now creates .mcp.json with the mcpServers.qmd block and adds both enabledMcpjsonServers: ["qmd"] and the seven Bash(qmd ...) permission patterns to .claude/settings.json. Architecture summary and Task 4/5 references updated to match. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Ingested https://code.claude.com/docs/en/mcp as part of Task 5 Step 5 verification of the qmd install. The ingest exercised the full qmd refresh hook live — `.claude/logs/wiki-ingester.log` shows `qmd update ok` + `qmd embed ok` immediately after the wiki-ingester subagent finished. The new article is retrievable via `mcp__qmd__get` and appears in hybrid search results for MCP-related queries, confirming both the FTS5 and vector indexes picked up the new content. Cascade-updated: extensions.md, overview.md, subagents.md (See Also cross-links to the new mcp.md). Topic index + wiki log updated per SKILL.md. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Three artifacts that make the qmd install self-documenting and make Claude Code default to qmd for knowledge questions: - docs/qmd-wiki-workflow.md — human-facing workflow guide covering the wiki ↔ qmd split, daily usage for Ingest/Query/Lint, boundary rules, wiring reference, scaling notes, and troubleshooting. - .claude/rules/qmd-wiki.md — auto-loaded agent rule (via Claude Code's .claude/rules/ convention) with concrete query JSON examples for lex/vec/hyde, filter usage, result-reading patterns, query iteration recipe, scope escalation order, and pitfalls. - CLAUDE.md — 7-line pointer section between "Operating your own wiki" and "Workflow" that name-checks the MCP server and points at the rule file and human guide. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
No description provided.