# Install ## Prerequisites - Claude Code with `~/.claude/` writable - bash or any POSIX shell to run `install.sh` ## One-time global install ```sh git clone ~/dev/skills cd ~/dev/skills ./install.sh ``` `install.sh` creates symlinks from `~/.claude/skills/` and `~/.claude/agents/` into this repo. Claude Code discovers them at session start under user-level skill and agent registries, so they become available in every project without further setup. To uninstall: ```sh ~/dev/skills/uninstall.sh ``` ## Per-project activation A project opts in by dropping a profile file: ```sh cp ~/dev/skills/templates/project-profile.yml \ /.claude/dev-cycle-profile.yml $EDITOR /.claude/dev-cycle-profile.yml ``` Edit the profile to match the project's paths, commands, and vocabulary. The skill bodies read the profile at the start of each invocation; there is no template-render step. A project that has not dropped a profile file gets sensible fallbacks (see `docs/profile-schema.md` for the defaults), but the discipline shines when the profile is explicit. ## Per-project CLAUDE.md fragment The plugin handles mechanics. Project-specific *sittenkodex* — feature acceptance criteria, anti-patterns the project has earned the hard way, domain-specific contracts — belongs in the project's own `CLAUDE.md`. A starter fragment with the universal discipline sentences (only-orchestrator-commits, main sacrosanct, no nostalgia for removed features, etc.) lives in `templates/CLAUDE.md.fragment` for projects that want to import those baseline rules without rewriting them. ## Update ```sh cd ~/dev/skills && git pull ``` Symlinks pick up the changes automatically. If new skills or agents have been added, re-run `install.sh` to add the new symlinks (it is idempotent and will not overwrite existing ones).