agentleFS
NatchpaiNatchpai/Hardware-Copilot/.claude/skills/hw-git-changelog/SKILL.md

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.

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
  1. Very specific:

    Write or update CHANGELOG.md only upon an explicit user request.

    line 17
  2. Distinctive:

    Read the existing changelog first.

    line 18
  3. Distinctive:

    Never open, parse, generate, or assess PDFs.

    line 21
  4. Distinctive:

    Write simple, direct English, like one engineer talking to another.

    line 25
  5. Distinctive:

    Avoid fancy words, marketing phrases and AI-style filler.

    line 26
  6. Very specific:

    Do not use the em dash (—).

    line 27
  7. Distinctive:

    Do not reword existing entries that are already clear and correct.

    line 28
  8. Very specific:

    Write entries for meaningful changes visible to project users or future maintainers: circuit/PCB/interface changes, component …

    line 33
  9. Very specific:

    Use relevant Keep a Changelog categories: Added, Changed, Deprecated, Removed, Fixed, Security.

    line 36
  10. Distinctive:

    Prefer short, precise entries with identifiers where useful (reference designators, interfaces, subsystem names), without dumping complete …

    line 37
  11. Very specific:

    Start an entry with BREAKING: when it breaks compatibility with mating hardware, firmware or an earlier board, for example: a connector …

    line 38
  12. Very specific:

    If evidence is insufficient, ask for the missing fact or omit the unverified entry.

    line 39
  13. Very specific:

    Never infer or change hardware lifecycle phase from changelog data.

    line 40
  14. Very specific:

    If the user did not authorize writing a file, present a proposed entry instead.

    line 48

≈ “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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

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.md only 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, or git diff. Git messages are clues, not proof that hardware verification occurred.
  • Raw git diff of 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-inspect if installed) to confirm a reference designator, value or footprint. Mark changes you cannot confirm NOT_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

  1. 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.
  2. 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.
  3. 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.
  4. Use relevant Keep a Changelog categories: Added, Changed, Deprecated, Removed, Fixed, Security. An optional Verification category may record explicitly confirmed checks with their scope/baseline; it is not an approval signal.
  5. 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.
  6. 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.
  7. If evidence is insufficient, ask for the missing fact or omit the unverified entry; do not fabricate. Label significant uncertainty NOT_VERIFIED if an explicit draft is needed.
  8. Never infer or change hardware lifecycle phase from changelog data. RELEASE phase does not authorize a Git tag or GitHub Release.

Procedure

  1. Determine the mode from $ARGUMENTS or the request: init (new changelog), update [range] (new Unreleased entries, optionally from a commit range) or release <version> (move Unreleased entries into a version section the human has established). Omitted or unclear: ask.
  2. Inspect the existing CHANGELOG.md and the smallest relevant source range. Do not scan unrelated design files or bulk export project evidence.
  3. Draft categorized, deduplicated entries; identify any assumptions or verification gaps.
  4. Apply only the explicitly requested changelog edit; preserve other sections and report the change succinctly.
  5. 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.md if 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.

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.