Rename `wiki-maintainer` to `using-wiki` (rename via git mv preserves
file history). Strip greenfield/bootstrap content out of it; add a
Prerequisites section that delegates to the new `setup-wiki` skill when
`.wiki/` is missing or non-canonical.
New `setup-wiki` skill: 6-phase procedure (sanity → discovery → plan +
confirm → backup → create/migrate → verify → report). Two modes —
greenfield (no `.wiki/`) and migrate (existing non-canon, e.g. SUMMARY.md
+ source/). Confirmation gate before any write. Templates for each canon
file (`CLAUDE.md` schema, `index.md`, `log.md`, `overview.md`,
`raw/README.md`) baked in.
`project-bootstrap` Step 3 now delegates to `setup-wiki` instead of
holding inline templates that drift from canon.
After this commit, `~/.claude/skills/wiki-maintainer/` still exists as a
stale install — the user will rm it manually after commit (c) lands the
tasks split.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Six infra skills carry `version: 1.0.0` in frontmatter:
project-bootstrap, setup-context7, task-status-wiki, using-context7,
using-markitdown, wiki-maintainer. Bumped manually on SKILL.md edits;
semver — MAJOR breaks contract, MINOR adds, PATCH wording.
project-bootstrap gets a new Step 5.5 that writes
.wiki/concepts/bootstrap-manifest.md per project — skill + version + role
table read live from each delegated skill's frontmatter, not hardcoded.
The file is overwritten on re-bootstrap; for history, git log.
Why: when canonical layout for .wiki/ or .tasks/ changes, projects
bootstrapped under the old version drift silently. The per-project
manifest makes that drift debuggable instead of guesswork. Communication
and discovery skills (caveman family, find-skills, active-platform)
aren't versioned — their content is "good copy-paste" and snapshot
mismatch isn't a layout problem.
Wiki: .wiki/concepts/skill-versioning.md documents the convention;
index.md and log.md updated. .tasks/STATUS.md tracks (a/b/c) progress.
Setup/using split for wiki and tasks (commits b and c) follows.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Split context7 concerns into two skills:
- using-context7 (policy, every-time): when to call, how to query well
- setup-context7 (infrastructure, one-time): install plugin, inject API
key, clean manual MCP entries, with confirmation gates
setup-context7 reuses an existing CONTEXT7_API_KEY by searching, in order:
~/.claude/settings.json → ~/.claude.json (top-level + project-scoped) →
~/.claude/settings.local.json → env. Asks the user only if nothing found.
Cross-platform (paths identical on Win/Linux/macOS; only JSON validator
differs). Phase-2 confirmation gate before any write; per-edit JSON
validation; rollback procedure documented.
using-context7 gets a small Prerequisites section pointing at
setup-context7 when MCP tools are missing.
Bonus fix: scripts/build.sh PS multi-arg bug. Comma-joined -Names didn't
split into [string[]] when build.ps1 was invoked via -File. Now the bash
side loops one PS invocation per skill.
Wiki: extended .wiki/concepts/context7-setup.md with the design rationale
(why split policy from setup) — template for future "X plugin + how to
use X" pairs. index.md and log.md updated.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Bootstrap was creating .wiki/SUMMARY.md + WORKFLOW.md + source/ — none of
which match Karpathy's LLM Wiki pattern or what wiki-maintainer reads first.
The skill had to bend around an invented layout (no schema file, wrong
catalog name, missing log/overview/entities/concepts/packages).
Rewrote Step 3 to create the canonical layout verbatim:
.wiki/CLAUDE.md schema (project-specific conventions)
.wiki/index.md catalog
.wiki/log.md append-only op log
.wiki/overview.md project overview
.wiki/raw/README.md immutability note
.wiki/{entities,concepts,packages,sources}/.gitkeep
Pinned the gist URL inside the schema:
https://gist.github.com/karpathy/442a6bf555914893e9891c11519de94f
Bumped dist/project-bootstrap.skill, recorded the why in
.wiki/source/wiki-realignment.md, and queued migration of *this* repo's own
.wiki/ (still on the old layout) as a backlog task — to be done deliberately.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Pin every newly-bootstrapped project to Windows / PowerShell out of the box
by adding a fifth trigger line to the CLAUDE.md template. The line activates
the active-platform skill, which then governs all command/example output.
- skills/project-bootstrap/assets/CLAUDE.md.template: append `we're on Windows`
- skills/project-bootstrap/SKILL.md: sync the embedded preview in Step 5 and
document the Linux/macOS substitution
- CLAUDE.md (this repo): backfill the line — was created from old template
- dist/project-bootstrap.skill: rebuilt
- .wiki/source/active-platform-decision.md: append "Wired into project-bootstrap"
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- skills/active-platform/SKILL.md: default = Windows/PowerShell; trigger
phrases in RU+EN switch the active platform for the session; per-platform
conventions (chaining, paths, env vars, install scripts) documented
- dist/active-platform.skill: built archive
- .wiki/source/active-platform-decision.md: rationale (skill chosen over
global CLAUDE.md / project memory; user wanted a discoverable, iterable
artifact)
- scripts/build.sh: fix PS arg-passing — single-quotes were leaking into
-Names value, so multi-arg builds on Windows were rejected with
"not found in skills/"
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>