Committing

Enforces a standardized commit flow using jj describe and jj new for code changes.

7|1|Updated Oct 19, 2025
One-click install
npx skills add https://github.com/jack-michaud/faire --skill committing
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: Committing
Source: https://github.com/jack-michaud/faire/tree/main/jack-software/skills/committing
Command: npx skills add https://github.com/jack-michaud/faire --skill committing

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Establishes a concise, consistent commit workflow when communicating changes across the codebase, reducing ambiguity in history.

Core Features & Use Cases

  • Default to using jj for commits
  • Quick, descriptive commit messages
  • Keep commits under 50 lines

Quick Start

When committing changes, use jj describe -m "<message>" && jj new to craft a concise, informative commit.

Frequently Asked Questions about Committing

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I write concise commit messages with jj?

To write concise commit messages with jj, use `jj describe -m "<message>"` to set the description, then run `jj new` to finalize the revision. Keep the message under 50 lines for a brief but descriptive record.

What is the best way to maintain a consistent commit workflow in jj?

A consistent commit workflow in jj is maintained by standardizing on `jj describe` followed by `jj new` whenever changes exist, ensuring each commit message is concise, descriptive, and under 50 lines to reduce ambiguity in history.

Does this commit workflow support standard git revision-controlled projects?

Yes, this commit workflow supports revision-controlled projects using jj, which operates on top of git. It covers scenarios where changes exist on the current revision and a descriptive commit message is needed.

How many lines should a commit message be when using jj?

A commit message should be under 50 lines when using jj. This constraint enforces conciseness and consistency, ensuring the resulting commit record remains brief but descriptive enough for clear project history.

Why use jj describe and jj new instead of standard git commit?

Using `jj describe` and `jj new` separates message editing from finalizing the revision, streamlining the workflow. This approach enforces a standardized flow that produces concise, consistent commit messages without the friction of traditional git commit.