commit-writer
Skill4 starsChanged 2 months agoApache-2.0View on GitHub
Rules and guidelines for structuring and formatting Git commits in the EITR repository, covering Conventional Commits scoping, deterministic body triggers, and the mandatory 23:00 OpSec timestamp policy. Trigger on requests like "write a commit message", "commit this", "как закоммитить", "напиши commit message".
2 other projects use a version of this.
Adopted by
Most recently taken up by
- jordantplows/claude-skillstheir own version, first seen Jun 29, 2026
- megamott/vibe-skillstheir own version, first seen May 15, 2026
Other versions2 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 2
- megamott/vibe-skills★ 28same name
- jordantplows/claude-skills★ 1same name
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 repository22 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- llms.txtllms.txt
- architecture-doc-writerSkill
- ast-template-engineerSkill
- axis-closure-matrixSkill
- commit-writerSkill
- framework-quality-auditSkill
- protocol-123Skill
- protocol-456Skill
- sdd-plan-writerSkill
- stack-scalerSkill
- strategic-architecture-advisorSkill
- architecture-doc-writerSkill
- ast-template-engineerSkill
- axis-closure-matrixSkill
- framework-quality-auditSkill
- protocol-123Skill
- protocol-456Skill
- sdd-plan-writerSkill
- stack-scalerSkill
- strategic-architecture-advisorSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
14 rules. About 0 are common, 10 are distinctive, and 4 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈10
Distinctive · estimate
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 12
Use the standard Conventional Commits specification.
- Distinctive: line 18
Do NOT invent new types. Use ONLY:
- Very specific: line 34
Cross-package rule: If a change touches >1 package simultaneously (e.g., engine and cli), do NOT combine scopes like (cli, engine).
- Distinctive: line 39
No Emojis: NEVER use emojis in commit messages.
- Distinctive: line 40
Imperative Mood: Write the description in the imperative mood (e.g., "add feature", not "adds feature" or "added feature").
- Distinctive: line 41
No Period: Do not end the subject line with a period.
- Distinctive: line 51
When required, leave exactly 1 empty line after the subject line, followed by the body.
- Distinctive: line 59
Empty Commits: If the proposed commit contains 0 files, you MUST NOT create a commit message and must abort the operation.
- Very specific: line 60
Missing Context: If a commit body is required by the triggers above but no extra context is available, you MUST include the exact string: …
- Very specific: line 61
Large Commits: If the commit modifies >20 files, you MUST append the exact string [LARGE-COMMIT] at the end of the subject line.
- Distinctive: line 93
Before outputting the commit message, ask: (1) can this be said shorter without losing meaning?
- Distinctive: line 100
Always execute git commits via the safe helper script:
- Distinctive: line 109
If running git commit directly, you MUST set both environment variables before invocation:
- Distinctive: line 113
NEVER execute raw git commit during business hours without unmasking/injecting the 23:00 evening timestamp.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Commit Writer Guidelines
You are responsible for formulating Git commit messages for the EITR project. Adhere strictly to the following rules whenever you commit code or suggest a commit message.
1. Conventional Commits Format
Use the standard Conventional Commits specification. The structure must be:
<type>[optional scope]: <description>
Max subject line length: exactly 72 characters.
STRICTLY Allowed Types:
Do NOT invent new types. Use ONLY:
feat: A new feature.fix: A bug fix.chore: Maintenance tasks, dependencies updates, tooling configurations.refactor: A code change that neither fixes a bug nor adds a feature.docs: Documentation only changes.test: Adding missing tests or correcting existing tests.build: Changes that affect the build system or external dependencies.
STRICTLY Allowed Scopes:
(cli): Changes strictly withinpackages/cli.(engine): Changes strictly withinpackages/engine.(evals): Changes strictly withinpackages/evals.(deps): Dependency updates across the repo.- Cross-package rule: If a change touches >1 package simultaneously (e.g., engine and cli), do NOT combine scopes like
(cli, engine). Omit the scope entirely (e.g.,feat: universal support).
2. Formatting Rules
- Lowercase Subject: The description must begin with a lowercase letter (e.g.,
feat(engine): add java playwright adapterinstead offeat(engine): Add Java Playwright adapter). - No Emojis: NEVER use emojis in commit messages. Emojis are strictly banned.
- Imperative Mood: Write the description in the imperative mood (e.g., "add feature", not "adds feature" or "added feature").
- No Period: Do not end the subject line with a period.
3. Deterministic Body Triggers
You MUST provide a multi-line commit body (minimum 2 lines) if ANY of the following are true:
- The commit type is
fix. - The commit modifies >3 files.
- The commit spans >1 package (cross-package).
When required, leave exactly 1 empty line after the subject line, followed by the body. Wrap body lines at exactly 72 characters. The body MUST contain:
- Why: Why the change is necessary.
- What: What approach was taken.
4. Boundary Constraints & Safety
- Empty Commits: If the proposed commit contains 0 files, you MUST NOT create a commit message and must abort the operation.
- Missing Context: If a commit body is required by the triggers above but no extra context is available, you MUST include the exact string:
No additional context available.in the body. - Large Commits: If the commit modifies >20 files, you MUST append the exact string
[LARGE-COMMIT]at the end of the subject line.
5. Examples
Good Example (Simple)
feat(engine): support csharp in project generatorGood Example (Complex with Body)
fix(cli): resolve undefined argument crash on init
Why: The CLI parser was not correctly handling missing positional arguments,
causing a fatal crash when users ran the command without a path.
What: Added a default fallback parameter in the Commander.js setup and
injected a validation step before spawning the engine pipeline.Bad Example
Added C# support [emoji](Violation: Capitalized description, past tense, no type, emoji used, 0 rules followed)
6. Self-Check Before Finalizing
Before outputting the commit message, ask: (1) can this be said shorter without losing meaning? (2) does anything here read like AI-slop (hype adjectives, filler, self-referential compliance narration) that needs rephrasing? Fix it before the message goes out, not after.
7. Automated Timestamp Sanitization (23:00 OpSec Policy)
Whenever committing code or executing git commit in this repository, you MUST enforce that both Author Date and Committer Date are strictly set to 23:00:00 of the current day in the local timezone:
- Mandatory Execution Path for AI Assistants:
Always execute git commits via the safe helper script:
or:node scripts/git-safe-commit.mjs "<commit-message>"npm run commit -- "<commit-message>" - Environment Variable Fallback:
If running
git commitdirectly, you MUST set both environment variables before invocation:GIT_AUTHOR_DATE="YYYY-MM-DDT23:00:00<TZ>"GIT_COMMITTER_DATE="YYYY-MM-DDT23:00:00<TZ>"
- Absolute Prohibition:
NEVER execute raw
git commitduring business hours without unmasking/injecting the 23:00 evening timestamp.
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.

