log-itlisted
Install: claude install-skill ndisisnd/kermit
## Usage
**Invoke**: `/log-it` — "check my changelog", "log missing commits", "sync the changelog"
## Inputs
| Name | Format | Source |
|------|--------|--------|
| pref | JSON | `.claude/kermit/pref.json` (optional — used for `changelog.path`) |
| state | JSON | `.claude/kermit/state.json` (optional, git-ignored — holds `last_logged_commit` and `last_number`) |
| changelog | file | path from pref, or discovered via `find` |
| git log | text | `git log <ref>..HEAD` |
## Outputs
| Name | Format | Destination |
|------|--------|-------------|
| unlogged count | text | emitted inline |
| new changelog entries | prose | prepended to changelog file |
| state update | JSON | `.claude/kermit/state.json` — `last_logged_commit` and `last_number` updated after write |
## Protocol
### 1. Setup
Detect rtk: `which rtk >/dev/null 2>&1 && RTK=rtk || RTK=`. All git commands use `$RTK git` or plain `git` if rtk is absent.
### 2. Find changelog path
Read `.claude/kermit/pref.json` if it exists. Look for `changelog.path` — use that path if present.
If pref.json is absent or has no `changelog.path`: search with `find . -maxdepth 3 \( -iname 'changelog*' -o -iname 'history*' \) 2>/dev/null | grep -v node_modules | head -1`.
If no changelog is found after both checks:
- Use `AskUserQuestion` — question: `No changelog found. What would you like to do?`, options: `Init one now (run /kermit --init)`, `I'll give you the path`, `Cancel`.
- **"Init one now"**: emit `Run \`/kermit --init\`