publishlisted
Install: claude install-skill jajupmochi/claude-config
# /publish
Cut a new release of `claude-config`.
## Usage
```
/publish [<patch|minor|major>]
```
If no bump type is given, asks interactively.
## Pre-flight
- Verify the working tree is clean (`git status` — no uncommitted changes)
- Verify on `main` branch (not a feature branch)
- Verify origin is `git@github.com:jajupmochi/claude-config.git` (or HTTPS equivalent)
- Verify `gh` CLI is authenticated (`gh auth status`)
## Steps
1. **Determine current version**:
```bash
git tag --list 'v*' --sort=-v:refname | head -1
```
If no tags exist, current version is `v0.0.0`.
2. **Ask user** for bump type (or use the argument):
- `patch` (v0.1.0 → v0.1.1) — bug fix, doc tweak, no API change
- `minor` (v0.1.0 → v0.2.0) — new rule / skill / hook / recommendation, no breaking change
- `major` (v0.1.0 → v1.0.0) — breaking change to consumer interface (rare)
3. **Compute new version** and confirm with user.
4. **Generate release notes** from git log since last tag:
```bash
git log <prev-tag>..HEAD --oneline | grep -E '^\w+ (feat|fix|docs|chore|refactor)' > /tmp/release-notes.md
```
Group by Conventional Commit type. Edit if needed.
5. **Run final verification**:
- `jq empty` on every `*.json` in the repo
- Markdown link check (best-effort): `find . -name "*.md" -exec grep -l "](" {} +` — manually skim suspicious entries
- Privacy scan: invoke `/privacy-redact` on key files (README, INVENTORY, recommendations/) — should report 0 findin