hw-git-changelog
Skill0 starsChanged 18 days agoMITView on GitHub
Creates or maintains a human-readable CHANGELOG.md for a hardware engineering repository from confirmed changes. Use only when the user explicitly asks to create, update or release-note the changelog. Does not commit, push, tag or release.
In this repository20 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- component-checkSkill
- component-selectSkill
- debug-assistSkill
- design-assistSkill
- eng-calcSkill
- git-workflowSkill
- hardware-checklistSkill
- hardware-specificationSkill
- hw-git-readmeSkill
- hw-git-session-logSkill
- hw-phase-recordSkill
- part-spec-tableSkill
- pcb-inspectSkill
- pcb-reviewSkill
- price-compare-tableSkill
- progress-updateSkill
- sch-inspectSkill
- sch-reviewSkill
- stock-selectSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
14 rules. About 0 are common, 6 are distinctive, and 8 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈6
Distinctive · estimate
This author's own choices. Worth a look.
8
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 17
Write or update CHANGELOG.md only upon an explicit user request.
- Distinctive: line 18
Read the existing changelog first.
- Distinctive: line 21
Never open, parse, generate, or assess PDFs.
- Distinctive: line 25
Write simple, direct English, like one engineer talking to another.
- Distinctive: line 26
Avoid fancy words, marketing phrases and AI-style filler.
- Very specific: line 27
Do not use the em dash (—).
- Distinctive: line 28
Do not reword existing entries that are already clear and correct.
- Very specific: line 33
Write entries for meaningful changes visible to project users or future maintainers: circuit/PCB/interface changes, component …
- Very specific: line 36
Use relevant Keep a Changelog categories: Added, Changed, Deprecated, Removed, Fixed, Security.
- Distinctive: line 37
Prefer short, precise entries with identifiers where useful (reference designators, interfaces, subsystem names), without dumping complete …
- Very specific: line 38
Start an entry with BREAKING: when it breaks compatibility with mating hardware, firmware or an earlier board, for example: a connector …
- Very specific: line 39
If evidence is insufficient, ask for the missing fact or omit the unverified entry.
- Very specific: line 40
Never infer or change hardware lifecycle phase from changelog data.
- Very specific: line 48
If the user did not authorize writing a file, present a proposed entry instead.
≈ “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
Project Changelog
Maintain the repository-root CHANGELOG.md as a concise record of notable, confirmed project changes, not a raw Git log or an engineering approval record. Use assets/changelog_template.md as an adaptable starting point only when creating a new changelog.
Trigger and scope
- Write or update
CHANGELOG.mdonly upon an explicit user request. Do not update it automatically after a design change, Git commit, or phase declaration. - Read the existing changelog first. Preserve existing version history, links, custom sections, and entries unless the user explicitly requests a change.
- Gather evidence from user-provided notes, relevant text files, and targeted read-only Git queries such as
git log,git show, orgit diff. Git messages are clues, not proof that hardware verification occurred. - Raw
git diffof KiCad files is mostly UUID, coordinate and ordering noise. Do not derive design changes from it. Use user notes and commit messages, or targeted read-only queries of the saved files (sch-inspect/pcb-inspectif installed) to confirm a reference designator, value or footprint. Mark changes you cannot confirmNOT_VERIFIED. - Never open, parse, generate, or assess PDFs. Do not alter KiCad design/library files or formal approval records.
Writing style
- Write simple, direct English, like one engineer talking to another. Use everyday words, short sentences and active voice.
- Avoid fancy words, marketing phrases and AI-style filler. Keep standard engineering terms and exact identifiers.
- Do not use the em dash (
—). Use a period, comma, colon or parentheses. - Do not reword existing entries that are already clear and correct.
- Priority: technical accuracy, then clarity, then brevity, then style.
Entry rules
- Write entries for meaningful changes visible to project users or future maintainers: circuit/PCB/interface changes, component substitutions, corrected design defects, manufacturing-impacting changes, released capabilities, and confirmed verification milestones.
- Distinguish design intent, implemented changes, and confirmed test/verification results. Never infer measurements, ERC/DRC pass, functional correctness, production readiness, or approval from file presence or commits.
- Group changes under
## [Unreleased]by default. Use versioned sections (## [x.y.z] - YYYY-MM-DD) only when the human explicitly establishes the version and release date. Git history may support source provenance, but does not establish a hardware release. - Use relevant Keep a Changelog categories:
Added,Changed,Deprecated,Removed,Fixed,Security. An optionalVerificationcategory may record explicitly confirmed checks with their scope/baseline; it is not an approval signal. - Prefer short, precise entries with identifiers where useful (reference designators, interfaces, subsystem names), without dumping complete netlists or calculations. Merge duplicate or closely related commits into one entry. Skip typo fixes, CI and
.claude/tooling changes unless they affect users or maintainers. - Start an entry with
**BREAKING:**when it breaks compatibility with mating hardware, firmware or an earlier board, for example: a connector pinout or mating-part change, a board outline or mounting-hole change, or a net or signal rename that firmware depends on. - If evidence is insufficient, ask for the missing fact or omit the unverified entry; do not fabricate. Label significant uncertainty
NOT_VERIFIEDif an explicit draft is needed. - Never infer or change hardware lifecycle phase from changelog data.
RELEASEphase does not authorize a Git tag or GitHub Release.
Procedure
- Determine the mode from
$ARGUMENTSor the request:init(new changelog),update [range](new Unreleased entries, optionally from a commit range) orrelease <version>(move Unreleased entries into a version section the human has established). Omitted or unclear: ask. - Inspect the existing
CHANGELOG.mdand the smallest relevant source range. Do not scan unrelated design files or bulk export project evidence. - Draft categorized, deduplicated entries; identify any assumptions or verification gaps.
- Apply only the explicitly requested changelog edit; preserve other sections and report the change succinctly.
- If the user did not authorize writing a file, present a proposed entry instead. Never stage, commit, push, tag, publish a GitHub Release, or alter Git branches without separate explicit approval; follow
rules/git-workflow.mdif present.
Example
## [Unreleased]
### Changed
- Replaced U3 (LDO) with a 1 A part for 3V3 rail margin; footprint unchanged.
### Fixed
- Corrected swapped SDA/SCL labels on the sensor connector J4.
### Verification
- Human-run ERC on the schematic at the CHECK baseline: no open violations (reported by the engineer).Output
Report the target file, sections updated, sources considered, and unresolved evidence gaps. Do not create auxiliary logs, manifests, or release assets.
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.

