From handoff
Initialize a meta-repo that coordinates a collection of related projects, each with its own independent git history.
How this skill is triggered — by the user, by Claude, or both
Slash command
/handoff:project-repoThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Initialize a meta-repo: a git repository that tracks shared documentation and conventions for a collection of related projects. Each member project lives in a subdirectory with its own independent git history; this repo tracks only the coordination layer.
Initialize a meta-repo: a git repository that tracks shared documentation and conventions for a collection of related projects. Each member project lives in a subdirectory with its own independent git history; this repo tracks only the coordination layer.
Model: /Users/philip/projects/mimeo-sites/TEMPLATES — a repo that manages seven site templates, each an independent git repo, with a shared CLAUDE.md and docs/ tracking structure.
List immediate subdirectories and ask the user which ones are member projects to be excluded from the meta-repo:
ls -1d */
If the user hasn't specified, use AskUserQuestion to confirm:
.gitignore)CLAUDE.md)Check if a git repo already exists:
git rev-parse --git-dir 2>/dev/null && echo "exists" || echo "none"
If none: git init
If exists: note it and continue.
.gitignoreAdd a trailing / to each member project name so git ignores the entire directory tree:
# Member project repos (each has its own independent git history)
project-one/
project-two/
project-three/
List each member dir explicitly — do not use */ (that would also catch future utility dirs).
Also add standard ignores:
.DS_Store
If .gitignore already exists, read it first and append only what's missing.
CLAUDE.mdCreate a CLAUDE.md at the repo root using this template (fill in project-specific details):
# [Collection Name]
[One paragraph describing what this collection is and its purpose.]
## Member Projects
- **project-one** — brief description
- **project-two** — brief description
- **project-three** — brief description
## Shared Conventions
[Any conventions that apply across all member projects — naming, tooling, workflows, deployment, etc. Leave blank and add as they emerge.]
## Development Notes
[Any operational notes: how to work with the member repos, common commands, etc.]
If CLAUDE.md already exists, read it before writing — update rather than overwrite.
docs/ Tracking StructureCreate docs/chronicles/ and the three tracking files. Use the project-tracking skill's assets as templates.
File order:
docs/IMPLEMENTATION.md — Phase 0: Foundation (current setup work)docs/DECISIONS.md — empty, ready for first decisiondocs/chronicles/ — directory (create with a .gitkeep if empty)docs/CONTEXT.md — current state after setupSee the project-tracking skill for detailed file formats and size guidelines.
CONTEXT.md for a fresh project-repo should reflect:
Stage only meta-repo files (not member project dirs — they're gitignored):
git add .gitignore CLAUDE.md docs/
git status # verify no member project files are staged
git commit -m "Initialize project-repo structure"
Confirm the commit contains only .gitignore, CLAUDE.md, and docs/.
Same as project-tracking:
| File | Target | Maximum |
|---|---|---|
| CONTEXT.md | 30-50 lines | 50 lines |
| IMPLEMENTATION.md | 400-600 lines | 600 lines |
| DECISIONS.md | grows naturally | — |
| Chronicle entry | 15-20 lines | 30 lines |
After setup:
.gitignoredocs/CONTEXT.mdproject-tracking skill if the project already has history to documentproject-tracking skill — creates the same docs/ structure for single-project repos; use it for guidance on filling out IMPLEMENTATION.md phases and DECISIONS.mdsession-pickup / session-wrapup skills — work the same way once the meta-repo is set upPROJECT-TRACKING-REFERENCE.md — complete system explanationnpx claudepluginhub pborenstein/handoffGuides completion of development work by verifying tests, detecting environment, and presenting structured options for merge, PR, or cleanup.
Guides creation and editing of skills using test-driven development with pressure scenarios and subagents to verify agent compliance.
Dispatches multiple subagents concurrently for independent tasks without shared state. Use when facing 2+ unrelated failures or subsystems that can be investigated in parallel.