commit-changes
Skill1.1k starsChanged 5 days agoApache-2.0View on GitHub
Guides commit message writing for the kotlinx-rpc project. Use this skill whenever committing code, writing commit messages, or when the user asks about commit conventions. Also use it when reviewing PRs for commit message quality. Triggers on: /commit, "commit", "commit message", "git commit", writing changelogs from commits.
We split this skill into the rules it gives an agent
9 rules. 0 are common, 9 are distinctive, and 0 are very specific to this project.
0
Common
Most of the 11 edited versions we read keep these.
9
Distinctive
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- could be automatic: a setting could enforce it
- Distinctive: line 12
Every commit message is a single line that starts with a YouTrack issue ID.
- Distinctive: line 13
No module prefixes, no parenthesized ticket references, no bodies.
- Distinctive: line 43
Capitalize the first word: after the colon.
- Distinctive: line 58
Check the YouTrack ticket for a linked GH issue before committing.
- Distinctive: line 64
If there is no linked GH issue, omit the suffix entirely.
- Distinctive: line 76
If a change needs committing but no YouTrack issue exists, create one first.
- Distinctive: line 81
Exception — user interaction: If the user explicitly asks to commit, and there is no ticket in the conversation context, do so without a …
- Distinctive: line 83
All other rules still apply (single line, no body, imperative mood, no trailing period, ~72 chars).
- Distinctive: line 96
Never hand-edit generated files.
“Common” is measured: kept by at least 6 in 10 of the 11 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
kotlinx-rpc Commit Message Style
Every commit message is a single line that starts with a YouTrack issue ID. No module prefixes, no parenthesized ticket references, no bodies.
The format is enforced for bot-authored PRs by
.github/workflows/bot-pr-title.yml, which rejects any PR title that does not
match ^KRPC-[0-9]+: .+. Squash-merge makes the PR title the commit subject,
so the same pattern applies to commits.
Format
KRPC-<number>: <Imperative verb> <what changed> (#GH-issue if exists)Example 1:
KRPC-586: Release grpc_call deterministically in NativeClientCall
Example 2:
KRPC-572: Enable local Gradle build cache alongside remote Develocity cache
Example 3:
KRPC-252: Support type resolution in comments for protoc-gen
Example 4 (with GH-issue cross-reference):
KRPC-245: Strip common enum value prefixes (#12345)
Rules
- Start with the YouTrack ID as
KRPC-NNN:— colon, then a single space. - English only.
- Imperative mood, present tense — "Fix" not "Fixed", "Add" not "Added".
- Capitalize the first word after the colon.
- No trailing period.
- Keep under ~72 characters so it stays readable in
git log --onelineand on GitHub. - No body, ever. Everything a reviewer needs goes on the subject line.
Longer context belongs in the YouTrack ticket or the PR description —
never in the commit body. When invoking
git commit, pass a single-mwith one line; do not use-mtwice and do not use a HEREDOC that produces multiple paragraphs.
GitHub issue cross-references
Some YouTrack tickets originate from a GitHub issue. When the YT ticket links to an original GH issue, append that issue number in parentheses at the end of the subject so both trackers are reachable from the git history. Check the YouTrack ticket for a linked GH issue before committing; if one exists, add it. This is not the PR number — squash-merge appends that separately, and a linked GH issue and the merge PR are different numbers.
Example: KRPC-245: Strip common enum value prefixes (#12345)
If there is no linked GH issue, omit the suffix entirely.
No module prefixes
Older commits used grpc:, pb:, compiler-plugin: prefixes, sometimes with
the ticket tacked on in parentheses at the end. Do not copy that style. The
ticket ID comes first; the subject text itself already names the area being
changed (e.g. "Release grpc_call deterministically in NativeClientCall" makes
it obvious this touches gRPC native-client code).
No YouTrack ticket yet?
If a change needs committing but no YouTrack issue exists, create one first.
The workflow check has no fallback — there is no prefix-less style for
committed work, and release/version-bump commits are not an exception. Use the
file-youtrack-issue skill to create a ticket, then commit against it.
Exception — user interaction. If the user explicitly asks to commit, and there is no ticket in the conversation context, do so without a pushback. All other rules still apply (single line, no body, imperative mood, no trailing period, ~72 chars).
This only applies when a user asks to commit, not when you have decided to commit based on other rules/skills.
PR numbers
GitHub automatically appends (#NNN) when squash-merging. Do not add PR
numbers to commit subjects by hand.
Generated files
Never hand-edit generated files. Always run the appropriate regeneration task
and commit the output. Keep generated-file changes in a separate commit
from hand-authored code so reviewers can distinguish mechanical output from
real edits. Both commits still follow the KRPC-NNN: subject rule.
Quick reference
KRPC-<number>: <Imperative verb> <what changed> (#GH-issue if exists)
│ │ │
│ │ └─ Optional: linked GH issue from the YT ticket
│ └─ Capitalized, imperative mood, no period, single line
└─ Required YouTrack ticket, followed by ": "Good: KRPC-583: Reduce configuration phase overhead from settings plugins
Good: KRPC-574: Make BufGenerateTask cacheable
Good: KRPC-576: Fix native test process crash on linuxX64 in negative test paths
Bad: grpc: Fix retry behavior (KRPC-586) — module prefix, ticket at the end
Bad: KRPC-123: fixed bug — past tense, lowercase first word
Bad: KRPC-123: Add timeout support. — trailing period
Bad: Any multi-line message — bodies are not used on this project
Trending
Quiet since September.about the whole repository
Who's talking about Kotlin/kotlinx-rpc
- bright-room/mindstock“fix(deps): update kotlinx.rpc to v0.10.4”GitHub · Sep 25, 2026
- bright-room/mindstock“fix(deps): update kotlinx.rpc to v0.10.3”GitHub · Jul 10, 2026
- modelix/modelix.editor“fix(deps): update kotlinx.rpc to v0.10.4”GitHub · Jul 6, 2026
- ktorio/ktor-plugin-registry“Bump the all-gradle group with 11 updates”GitHub · Jun 30, 2026
- DerTyp7214/synara-api“chore(deps): bump kotlinx-rpc from 0.10.2 to 0.10.3”GitHub · Jun 27, 2026
The biggest 5 of 16 mentions linking to the repository that our crawl found. Each line is their own headline.
See all 16
Talked about on GitHub (16 times).
On GitHub · 16
- Sep 25, 2026fix(deps): update kotlinx.rpc to v0.10.4 — bright-room/mindstock0 reactions · 1 comment
- Jul 10, 2026fix(deps): update kotlinx.rpc to v0.10.3 — bright-room/mindstock0 reactions
- Jul 6, 2026fix(deps): update kotlinx.rpc to v0.10.4 — modelix/modelix.editor0 reactions · 1 comment
- Jun 30, 2026Bump the all-gradle group with 11 updates — ktorio/ktor-plugin-registry0 reactions
- Jun 27, 2026chore(deps): bump kotlinx-rpc from 0.10.2 to 0.10.3 — DerTyp7214/synara-api0 reactions · 1 comment
11 more on GitHub
- May 3, 2026Add compiler plugin implementation and Kotlin External FIR Support — TBSten/cream0 reactions
- Mar 30, 2026build(deps): bump kotlinx-rpc from 0.10.1 to 0.10.2 — modelix/modelix.editor0 reactions · 5 comments
- Jan 17, 2026chore(deps): bump kotlinx-rpc from 0.10.1 to 0.10.2 — DerTyp7214/synara-api0 reactions · 2 comments
- Dec 20, 2025build(deps): bump org.jetbrains.kotlinx:kotlinx-rpc-krpc-ktor-client from 0.10.0 to 0.10.1 — DerTyp7214/synara-api0 reactions · 1 comment
- Dec 20, 2025build(deps): bump org.jetbrains.kotlinx:kotlinx-rpc-krpc-ktor-server from 0.10.0 to 0.10.1 — DerTyp7214/synara-api0 reactions · 1 comment
- Jul 3, 2025Update kxrpc tutorial to 0.8.0 — ktorio/ktor-documentation0 reactions · 2 comments
- Jul 3, 2025Update kxrpc to 0.8.0 — ktorio/ktor-plugin-registry0 reactions · 1 comment
- Apr 4, 2025Update kxrpc to 0.6.0 — ktorio/ktor-plugin-registry0 reactions · 1 comment
- Jan 28, 2025Update kxrpc to 0.5.0 — ktorio/ktor-plugin-registry0 reactions
- Jan 7, 2025Migrate cloud-run server to RPC ProtoBuf — ashdavies/playground.ashdavies.dev0 reactions
- May 26, 2024KotlinでRemote Procedure Calls (RPC) を簡単に行えるライブラリkotlinx.rpc — AndroidDagashi/AndroidDagashi0 reactions
Other versions12 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 12
- tldraw/tldraw★ 51ksame name
- foldkit/foldkit★ 1.1ksame name
- BackToCimaCoppi/Praxis★ 6same name
- dennishenle/agent-skills★ 2same name
- gspencergoog/skills★ 2same name
- browserkit-dev/browserkit★ 1same name
- DejusDevspace/my-skills★ 0same name
- jimmy-guzman/skills★ 0same name
- koruworks/skills★ 0same name
- ltatarev/skills★ 0same name
2 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository19 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- file-youtrack-issueSkill
- fix-issueSkill
- gh-stackSkill
- gradle_expertSkill
- interacting_with_project_runtimeSkill
- introspecting_gradle_projectsSkill
- managing_gradle_dependenciesSkill
- researching_gradle_internalsSkill
- run-local-verificationsSkill
- running_gradle_buildsSkill
- running_gradle_testsSkill
- searching_dependency_sourcesSkill
- update-docSkill
- update-shimSkill
- use-develocitySkill
- use-teamcitySkill
- use-youtrackSkill
- verify-compiler-plugin-compatibilitySkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

