Require context over description in commit/PR messages
Slash commands now invoke writing skill for style assistance.
Commit and PR instructions emphasize explaining motivation and
non-obvious reasoning rather than describing visible changes.
Assisted-by: Claude Sonnet 4.5 via Claude Code
diff --git a/ai/claude/commands/commit.md b/ai/claude/commands/commit.md
index 27571575..860ec81c 100644
--- a/ai/claude/commands/commit.md
+++ b/ai/claude/commands/commit.md
@@ -13,12 +13,19 @@ When committing:
2. If a fileset is provided, use `jj commit <fileset>` to commit only
matching files
3. If no fileset is provided, use `jj commit` to commit all changes
-4. Draft a clear, concise commit message:
+4. Invoke the `writing` skill for assistance with commit message style
+and conventions
+5. Draft a clear, concise commit message:
- Focus on why the change was made, not what changed (the diff shows
what changed)
- - Omit information that is obvious from the diff itself
+ - CRITICAL: Do NOT include information that is obvious from reading
+ the diff. The reviewer has the diff; your message should provide
+ context and reasoning that cannot be inferred from the code changes
+ alone
+ - Avoid describing file changes, added/removed lines, or renamed
+ variables unless the reason for these changes is non-obvious
- Follow repository conventions
-5. Include the "Assisted-by" footer with the current model and tool
+6. Include the "Assisted-by" footer with the current model and tool
being used
-6. Use a HEREDOC for the commit message to ensure proper formatting
-7. Run `jj log` after committing to verify success
+7. Use a HEREDOC for the commit message to ensure proper formatting
+8. Run `jj log` after committing to verify success
diff --git a/ai/claude/commands/pr.md b/ai/claude/commands/pr.md
index 7db7eab9..9f23e7c1 100644
--- a/ai/claude/commands/pr.md
+++ b/ai/claude/commands/pr.md
@@ -7,21 +7,31 @@ Usage:
- `/pr <bookmark-name>` - Create a PR for the specified bookmark
When creating a pull request:
-1. Run `jj log -r <bookmark-name>::@` to see all commits that will be
-merged (from the bookmark to the current working copy)
-2. Run `jj diff -r <bookmark-name>::@` to understand all changes that
-will be included
+1. Run `jj log -r 'trunk()::<bookmark-name>'` to see all commits from
+trunk to the bookmark
+2. Run `jj diff -r 'trunk()::<bookmark-name>' --stat` to understand all
+changes from trunk
3. Analyze all commits and changes that will be included in the pull
request
-4. Draft a pull request summary:
+4. Check if there are any .github templates for pull requests and follow
+them
+5. Invoke the `writing` skill for assistance with PR description style
+and conventions
+6. Draft a pull request summary:
- Focus on why the changes were made and their impact
- - Do NOT repeat information that is obvious from the diff itself
- - The diff shows what changed; the PR description should explain why
- and what the implications are
+ - CRITICAL: Do NOT repeat information that is obvious from the diff
+ itself. Reviewers will read the diff. Your description should
+ provide context, motivation, and implications that cannot be
+ determined by examining the code changes alone
+ - Avoid describing implementation details like "added function X",
+ "modified file Y", or "changed variable Z" unless explaining
+ non-obvious reasoning
+ - Explain user-facing impact, architectural decisions, or tradeoffs
+ that justify the approach taken
- Follow repository conventions
-5. Check if there are any .github templates for pull requests and follow
-them
-6. Create PR using `gh pr create --head <bookmark-name>` with the
-summary. Use a HEREDOC to pass the body and include an "Assisted-by"
-footer with the current model and tool being used
-7. Return the PR URL when done
+ - Do NOT include duplicate attribution (e.g., both "Generated with
+ Claude Code" and "Assisted-by" footer)
+7. Create PR using `gh pr create --head <bookmark-name>` with the
+summary. Use a HEREDOC to pass the body and include ONLY the
+"Assisted-by" footer with the current model and tool being used
+8. Return the PR URL when done