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
Custom guide (auto-loaded at invocation — do NOT skip):
```!
bash "${PLUGIN_ROOT}/lib/load-custom-guide.sh" cf-ship
```
If the block above produced any content, integrate the returned sections: `## Before` → execute **before Step 1**, `## Rules` → apply throughout, `## After` → after the final step.
**Guard — do NOT short-circuit:** If a `## Before` section was injected above, you MUST carry it out before ANY assessment of whether there is something to ship. A clean working tree or being on `main` does NOT by itself mean "nothing to ship" — a `## Before` guide may still require action (e.g. a version-bump / tag / release flow). Never conclude "nothing to ship" until Step 0's `## Before` has been executed.
**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 a