---
name: IJFW Commit
slug: ijfw-commit
category: Writing
description: IJFW Commit writes terse Conventional Commit messages with the right type, scope, and subject length. Use it when you need a clean git commit message and an optional follow-up critique run.
github: "https://github.com/FerroxLabs/ijfw/tree/main/claude/skills/ijfw-commit"
language: JavaScript
stars: 210
forks: 40
install: "npx degit https://github.com/FerroxLabs/ijfw/tree/main/claude/skills/ijfw-commit ~/.claude/skills/ijfw-commit"
installs_to: ~/.claude/skills/ijfw-commit
source_path: claude/skills/ijfw-commit/SKILL.md
collection_size: 25
category_size: 1144
collection_url: "https://dirskills.com/collections/FerroxLabs/ijfw"
added: 2026-09-04T05:26:33.927Z
last_synced: 2026-09-04T05:26:33.927Z
canonical_url: "https://dirskills.com/skills/ijfw-commit"
---

# IJFW Commit

IJFW Commit writes terse Conventional Commit messages with the right type, scope, and subject length. Use it when you need a clean git commit message and an optional follow-up critique run.

**Install:**

```bash
npx degit https://github.com/FerroxLabs/ijfw/tree/main/claude/skills/ijfw-commit ~/.claude/skills/ijfw-commit
```

## README

Write commit messages following Conventional Commits.

Format: type(scope): subject

Rules:
- Subject ≤50 chars. Imperative mood.
- Why over what. The diff shows what changed.
- Types: feat, fix, refactor, docs, test, chore, perf, ci, style
- Scope: affected module/component (optional but preferred)
- Body only if the "why" isn't obvious from the subject.
- No "Updated", "Changed", "Modified" -- be specific.

Examples:
- fix(auth): prevent token refresh race condition
- feat(api): add rate limiting to public endpoints
- refactor(db): extract connection pool into service

After commit completes successfully, run in the same shell:
```bash
command -v ijfw >/dev/null 2>&1 && ijfw cross critique HEAD~1..HEAD &
```
Then narrate to the user using this exact structure:
- One line: `Phase N / Wave NA -- Step N.M -- commit -- done.`
- One line: SHA + subject (e.g. `a1b2c3d feat(api): add rate limiting`)
- One line: `Background critique running -- check /ijfw-status for findings.` (omit if ijfw not present)
