skillissue.sh

house / Commit Message

✓ hosted skill bundlegitv1.0.0MIT3.8 KB
skills/commit-message/SKILL.md

Commit messages were either empty or novels. This drafts from the staged diff.

InstallCLI + MCP
CLIRun from your local shell.
$autovault add jack-arturo/skillissue@775e1e1620d2730c8a67e8b7958448e3e888dfc2:skills/commit-message/SKILL.md --sync-profiles
MCPPaste into an agent MCP tool call.
>add_skill({ source: "github", identifier: "jack-arturo/skillissue@775e1e1620d2730c8a67e8b7958448e3e888dfc2:skills/commit-message/SKILL.md" })
Choose CLI for a shell install or MCP for an agent tool call.
Source
Example type
bundle
hosted skill bundle
Bundle files
1
SKILL.md + resources
Resources
0
inspectable source files
Declared agents
3
from frontmatter
Source
house
pinned GitHub bundle
SKILL.mdview raw →
---
name: commit-message
description: Draft a conventional-commit-style message from the repository's staged changes. Uses git only; no external services or API keys required.
license: MIT
tags: [git, commit, conventional-commits, demo, general, stacy-share]
agents: [claude-code, codex, autojack]
category: git
metadata:
  version: "1.0.0"
capabilities:
  network: false
  filesystem: readonly
  tools: [Bash]
---

Commit Message Drafter

Turn the current staged diff into a well-formed conventional-commit message

and present it to the user for approval before any commit is made.

When to use

  • The user asks you to "commit this", "write a commit message", "stage and commit", or similar.
  • The user has finished a change and is about to run git commit.
  • Staged changes exist but no message has been drafted yet.

Do not use this skill to commit on the user's behalf without approval. The

output of this skill is a draft message, not a commit action.

Prerequisites

  • A git repository in the current working directory.
  • At least one staged change (git diff --staged returns non-empty output).

If nothing is staged, stop and ask the user what they want staged.

Workflow

1. Inspect the staged change

git status --short
git diff --staged --stat
git diff --staged

Read all three outputs before drafting anything. The stat view shows which

files changed; the full diff shows how. Ignore generated files, lockfiles,

and anything that looks mechanical (whitespace-only, import reordering).

2. Classify the change

Pick one type from the conventional-commits vocabulary:

  • feat — new user-visible capability
  • fix — bug fix
  • refactor — code change that neither adds a feature nor fixes a bug
  • docs — documentation only
  • test — test-only
  • chore — tooling, deps, CI, build scripts
  • perf — performance improvement
  • style — formatting only (rare; prefer chore unless explicitly stylistic)

When in doubt between feat and refactor: if a user would notice, it's

feat. If only developers would notice, it's refactor.

3. Pick a scope (optional)

If the change is isolated to one subsystem, add a scope in parentheses.

Keep it short and lowercase (auth, parser, cli, storage).

4. Write the subject line

Format: <type>(<scope>): <imperative summary>

  • Imperative mood ("add X", not "added X" or "adds X")
  • No trailing period
  • Target ≤ 72 characters
  • Describe the intent, not the mechanics ("fix login redirect loop", not "change if-statement in login.ts")

5. Write the body (if the change warrants one)

Skip the body for trivial changes. Include a body when:

  • The why isn't obvious from the subject.
  • There are trade-offs or non-obvious consequences.
  • The change fixes an issue or implements an RFC — reference it.

Format: one blank line after the subject, then wrapped paragraphs at ≤ 72

columns. Use bullet points for multi-part rationale.

6. Present for approval

Show the user the full drafted message and ask whether to commit as-is,

edit, or abandon. Never run git commit without explicit approval.

Example output

feat(auth): add session renewal on MFA upgrade

When a user upgrades their MFA factor from SMS to TOTP, the session token
previously remained bound to the old factor claim until sign-out. Renew
the session in-place so downstream services see the new factor immediately.

- triggers on successful TOTP enrollment
- preserves original issued_at for audit
- no-op for sessions issued under the new factor

Anti-patterns to avoid

  • Vague subjects like "update code", "small fixes", "misc".
  • Subjects that narrate the mechanical edit ("move function", "rename variable") rather than the intent.
  • Bodies that restate the diff. If a reader can learn the same thing from git show, the body is noise.
  • Committing without showing the user the draft first.
story.md

Why it exists

Commit messages were either empty or novels. This drafts from the staged diff.

History

1.0.0

Pure git; portable across agents.

How Jack actually uses it

After staging, before commit.

What it is not

Not a generic tutorial. It's the house runbook for this machine and these agents.

Bundle contents

Every file declared by this skill is inspectable here. Static resources are previewed from same-origin hosted files; script-like files are shown as text only.

1files
markdownSKILL.md
view raw →

SKILL.md

Primary agent instructions, frontmatter, workflow, and declared resource manifest.

Select a package file to inspect it.

Declared capabilities

network
false
filesystem
readonly
tools
[Bash]

No secrets declared by this package.

Public, pinned, and inspectable

This house package is installed from the pinned Git commit shown here. Inspect the source and every bundled file before you run it.

package pin775e1e1sourceGitHub packagecompatibilityclaude-code, codex, autojack
VersionBundleSourcePinRaw
v1.0.0latest1 files · 3.8 KBhouse775e1e1SKILL.md