Stop being inconsistent with our own fixed project-bootstrap template. - SUMMARY.md → index.md (catalog by type, with one-line hooks) - source/*.md → concepts/*.md (with `git mv` so history is preserved) - WORKFLOW.md removed (workflow lives in wiki-maintainer, not duplicated here) - New: .wiki/CLAUDE.md (project schema, Karpathy gist URL pinned at top) - New: log.md (append-only op log; backfilled with prior decisions) - New: overview.md (single project intro page) - New: raw/README.md (immutability note; replaces .gitkeep placeholder) - Empty .gitkeep added to entities/, packages/, sources/ - Migrated pages got `type: concept` frontmatter After this, wiki-maintainer reads .wiki/CLAUDE.md → index.md as it expects, and the layout matches what newly-bootstrapped projects will look like. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2.5 KiB
2.5 KiB
title, type, updated
| title | type | updated |
|---|---|---|
| Repo Layout & Skill Workflow | concept | 2026-04-28 |
Repo Layout & Skill Workflow
Decision: 2026-04-28. Approved by Vitya in chat.
Goal
Single-source workshop for personal Claude skills. Edit here, build .skill archives here, install to ~/.claude/skills/ here. Repo must roll out cleanly to multiple machines.
Layout
claude-skills/
├── skills/ ← editable sources (source of truth)
│ ├── caveman/
│ ├── caveman-commit/
│ ├── caveman-compress/
│ ├── caveman-help/
│ ├── caveman-review/
│ ├── compress/
│ ├── find-skills/
│ ├── project-bootstrap/
│ ├── task-status-wiki/
│ ├── using-context7/
│ ├── using-markitdown/
│ └── wiki-maintainer/
├── dist/ ← built .skill archives (committed)
├── scripts/
│ ├── build.sh ← skills/<name>/ → dist/<name>.skill
│ └── install.sh ← skills/<name>/ → ~/.claude/skills/<name>/
├── .wiki/, .tasks/, CLAUDE.md, README.md, .gitignore
Build & Install Model
- Source of truth:
skills/<name>/— a regular folder withSKILL.md+ optionalassets/,references/, etc. Mirrors the on-disk format Claude expects in~/.claude/skills/. - Build:
scripts/build.sh [name...]zips eachskills/<name>/intodist/<name>.skill. No args → builds all. - Install:
scripts/install.sh [name...]copies (not symlinks) eachskills/<name>/into~/.claude/skills/<name>/, replacing any existing folder. No args → installs all. .skillarchives are committed todist/. New machine: clone → runinstall.shand you're set. No build dependency on the install path.- Cross-platform: scripts are bash (works in git-bash on Windows + native on Linux/Mac). PowerShell variant added if/when needed.
Conventions
- One folder per skill, name = skill name.
- Skill content authority: this repo.
~/.claude/skills/is downstream. dist/*.skillregenerated by build script — never edited by hand.- Editing flow: edit
skills/<name>/, runinstall.sh <name>to push to live, runbuild.sh <name>to refresh archive, commit.
Out of scope (for now)
- Versioning of individual skills (no
versionfield, no changelog per skill). - Manifest/registry file — flat folder is enough at 12 skills; revisit at ~30+.
- CI / automated builds — manual-only.
- Plugin skills (superpowers, frontend-design, etc.) — managed by plugin system, not mirrored here.