cf-shiplisted
Install: claude install-skill dinhanhthi/coding-friend
# /cf-ship
> **CLI Requirement:** NONE — Works without `coding-friend-cli`. See [CLI requirements](../../../docs/cli-requirements.md) for the full matrix.
Ship the current work. Hint: **$ARGUMENTS**
## Workflow
### Step 0: Custom Guide & Flags
Run: `bash "${CLAUDE_PLUGIN_ROOT}/lib/load-custom-guide.sh" cf-ship`
If output is not empty, integrate returned sections: `## Before` → before first step, `## Rules` → apply throughout, `## After` → after final step.
**Dry-run check**: If `$ARGUMENTS` contains `--dry-run`, enter simulation mode — run all steps below but **do not execute** any destructive action (no commit, no push, no PR creation). Prefix each step's output with `[dry-run]` and show what **would** happen. At the end, print:
```
🏃 DRY RUN COMPLETE — nothing was pushed or created.
```
### Step 1: Verify
Load the `cf-verification` skill and run the full checklist:
- [ ] Tests pass
- [ ] Build succeeds
- [ ] Linter clean
- [ ] No console errors
If ANY check fails, stop and fix before proceeding.
### Step 2: Commit
If there are uncommitted changes:
1. Run the `/cf-commit` workflow (load the `cf-commit` skill)
2. Use `$ARGUMENTS` as commit hint if provided
### Step 3: Push
```bash
git push -u origin <current-branch>
```
If push fails (e.g., remote ahead), pull first:
```bash
git pull --rebase origin <current-branch>
git push
```
### Step 4: Create PR (if on a feature branch)
**Guard:** If current branch is `main` or `master`, warn the user and skip this