Awesome-omni-skill kano-commit-convention-skill

Commit/change description convention (KCC) with Subsystem + Type + Ticket formatting, lint rules, and VCS-agnostic guidance.

install
source · Clone the upstream repo
git clone https://github.com/diegosouzapw/awesome-omni-skill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/diegosouzapw/awesome-omni-skill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/development/kano-commit-convention-skill" ~/.claude/skills/diegosouzapw-awesome-omni-skill-kano-commit-convention-skill && rm -rf "$T"
manifest: skills/development/kano-commit-convention-skill/SKILL.md
source content

Kano Commit Convention (KCC)

Scope

This skill enforces a structured commit message convention (KCC-STCC) across the repository. It helps maintain a machine-readable history for automated changelogs and semantic versioning.

Use this skill when:

  • Setting up or troubleshooting commit message linting.
  • Generating release notes or identifying breaking changes.
  • Calculating the next semantic version.
  • Guidance on compliant commit subject formatting.

Non-negotiables

  • Format:
    [Subsystem][Type] Summary (Ticket)
  • Tickets: Always require an explicit ID (e.g.,
    APP-123
    ) or
    (NO-TICKET)
    .
  • Breaking Changes: Must include
    [Breaking]
    in the subject or
    BREAKING CHANGE
    in the footer.
  • Backlog Sync: Linter verifies ticket existence against
    _kano/backlog/
    .

CLI (new, Typer)

  • Entrypoint:
    python skills/kano-commit-convention-skill/scripts/kano-commit <command>
  • Commands:
    • lint message --message/--file [--json] [--language en|zh] [--strict-breaking]
    • hook install|uninstall [--repo-root <path>]
    • commit wizard
    • release changelog|bump|release
      (changelog generation, version bump, release helper)
    • doctor check
      (lightweight env check)

Legacy分散腳本已整合進 Typer CLI;請改用

kano-commit
子命令。

Configuration (kcc.json)

Customize KCCS behavior at the repo root:

{
  "allowed_types": ["Feature", "BugFix", "Refactor"],
  "language": "en"
}
  • language
    :
    en
    (default) or
    zh
    for localized linter messages.

Usage Examples

Installing Hooks

python scripts/vcs/install_hooks.py

Validating a Message Manually

python scripts/vcs/linter.py "my commit message"

Generating a P4 Changelog

python scripts/release/generate_changelog.py --vcs p4 --depot-path //depot/my-project/...

Performing a Release Dry-Run

python scripts/release/release.py --dry-run

Primary Reference