shiplisted
Install: claude install-skill moiri-gamboni/praxis
**Argument:** "$ARGUMENTS"
Argument starts with `merge` → **Merge path**. Remaining argument (if any) is the test command override.
Otherwise → **Default path**. Argument (if any) is the test command override.
## Context
- Status: !`git status`
- Diff: !`git diff HEAD`
- Branch: !`git branch --show-current`
- Default branch: !`git symbolic-ref refs/remotes/origin/HEAD 2>/dev/null | sed 's@^refs/remotes/origin/@@' || echo main`
## Default Path
State determines action. No menu, no asking.
### State 1: On main/master
Single message, no questions:
1. Create new branch with descriptive name
2. Single commit with appropriate message
3. Push to origin
4. `gh pr create`
All in one message. No other tools, no other text besides these calls.
**Next:** "PR created."
### State 2: Feature branch, no PR
Detect: `gh pr list --head <branch> --state open --json number --jq '.[0].number'` returns empty.
1. Verify tests pass (detected command or argument override). On failure, stop and surface.
2. **Invoke `Skill: "simplify"`** for final polish before the world sees it. Skip if changes just came from `/implement` Phase 4 (already simplified).
3. Push to origin
4. `gh pr create`
**Next:** "PR opened."
### State 3: Feature branch, PR exists
PR number from `gh pr list ...`.
1. Verify tests pass. On failure, stop.
2. Brief summary first:
```
Push <N> commits to PR #<number>?
<commit subjects>
```
3. On confirmation: `git push origin <branch>`
**Next:** "PR updated."
## Merge P