alias
MANDATORY: Follow the complete shared lifecycle contract in ${CLAUDE_PLUGIN_ROOT}/skills/shared/run-lifecycle.md with declared skill alias.
Alias Skill
MANDATORY: READ ENTIRE FILE before composing user-facing prose: ${CLAUDE_PLUGIN_ROOT}/skills/shared/readability-style.md.
This skill follows the Process pattern: numbered steps, checkpointed delegation, fail-closed verification.
Create an alias skill that forwards to an existing larch skill with preset flags. Delegates to /implement for the full pipeline (implementation, code review, PR), then verifies the artifact landed on disk.
Target directory is resolved automatically:
- A git repository is required: the helper (
"${CLAUDE_PLUGIN_ROOT}/scripts/larch.sh" alias resolve-target) anchors all paths at the typed repository worktree and fail-closes outside a git working tree. Rungit initfirst if you want to use/aliasin a fresh project. - Inside a Claude plugin source repo (detected via the two-file predicate
.claude-plugin/plugin.jsonANDskills/implement/SKILL.mdat the git repo root, matchingvalidate-args.sh), the alias is generated underskills/<alias-name>/SKILL.md(exported plugin skill, ships with the plugin). - In any other git repository (consumer repos with their own larch installation), the alias is generated under
.claude/skills/<alias-name>/SKILL.md(dev-only repo-private skill). --privateforces.claude/skills/<alias-name>/even inside a plugin repo (escape hatch when the operator wants a private alias in plugin source). In non-plugin repos--privateis a no-op.
Example (in a plugin source repo): /alias i implement --merge creates <repo-root>/skills/i/SKILL.md so that /i <feature> is equivalent to /implement --merge <feature>.