Update Wiki Skill
Refresh the hand-written prose sections of wiki pages to reflect the current state of the codebase. Generated metric/data blocks are managed by the orchestrator and must never be touched.
When to Invoke
- User types
/update-wiki— update all prose-bearing pages - User types
/update-wiki Architecture— update onlywiki/Architecture.md - User says "refresh wiki prose", "update onboarding narrative", "rewrite architecture docs"
- After a significant refactor that changes the system design narrative
What This Skill Does (Step by Step)
-
Determine scope. If a page name argument was provided (e.g.,
Architecture), resolve it towiki/{PageName}.md. Otherwise queue all prose-bearing pages listed below. -
For each target page: a. Read the wiki page file. b. Identify every
<!-- claude:prose -->...<!-- claude:prose:end -->block. c. Read the relevant source files listed in the page registry below to build context. d. Rewrite the content between the markers so it accurately reflects the current codebase — keep the same general structure (headings, paragraph order) unless it is factually wrong. e. Write the updated content back to the file, with the markers preserved exactly. -
Never touch generated blocks. Any content inside
<!-- generated:start -->...<!-- generated:end -->must be left byte-for-byte identical. These blocks are maintained by the wiki orchestrator script. -
Architecture-Decision-Log is fully Claude-owned.
wiki/Architecture-Decision-Log.mdhas nogeneratedblocks and noclaude:prosemarkers. Claude maintains the entire file. When updating, append new ADL entries for any architectural decisions made since the last recorded entry. Do not modify existing entries. -
Commit prompt. After all pages are updated, remind the user:
"Wiki prose updated. Run
/committo save changes, then push to the wiki remote."
Prose-Bearing Pages and Their Source Files
wiki/Architecture.md
Prose block purpose: System design narrative — explains module responsibilities, data flow, and how the static site + Lambda chat agent fit together.
Relevant source files to read:
WebContent/js/main.jsWebContent/js/filter.jsWebContent/js/carousel.jsWebContent/js/utils.jslambda/lambda_function.pyindex.html(for page structure context)projects.html(for page structure context)
wiki/Lambda-Chat-Agent.md
Prose block purpose: Agent design rationale — explains the Lambda architecture, knowledge base loading, prompt construction, and response handling.
Relevant source files to read:
lambda/lambda_function.pylambda/context/(all.mdfiles if present)
wiki/Contributing.md
Prose block purpose: Onboarding narrative — explains the development workflow, testing philosophy, and project conventions for new contributors.
Relevant source files to read:
CLAUDE.mdMakefilepackage.jsonpyproject.toml.github/workflows/ci-cd.yml
wiki/Architecture-Decision-Log.md
Special handling: No claude:prose markers. Claude owns the entire file.
Append new ADL entries; never modify existing ones.
Relevant source files to read:
- Review recent git log for significant architectural changes
CLAUDE.mdfor current tooling decisionslambda/lambda_function.pyfor backend decisions
Marker Preservation Rules
<!-- claude:prose -->
[Claude rewrites this content]
<!-- claude:prose:end -->
<!-- generated:start -->
[NEVER TOUCH — orchestrator-managed data]
<!-- generated:end -->
- The opening and closing markers must appear on their own lines, unchanged.
- Do not add extra blank lines immediately inside the markers.
- Do not nest markers.
Warning
NEVER modify <!-- generated:start --> ... <!-- generated:end --> blocks.
These blocks contain auto-generated metrics and tables produced by the wiki
orchestrator. Modifying them will cause the next orchestrator run to produce
a merge conflict or silently overwrite your changes.