{"id":"6d4928bf-49bb-4296-a52b-d4428a42d345","shortId":"JNrAwQ","kind":"skill","title":"changelog-rules","tagline":"Shared changelog conventions and formatting rules referenced by /create-changelog and /update-changelog. Not typically invoked directly.","description":"# Changelog Rules\n\nThe changelog is kept in `CHANGELOG.md` at the project root. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and projects using these conventions adhere to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).\n\n## File Structure\n\n```markdown\n# Changelog\n\nAll notable changes to this project will be documented in this file.\n\nThe format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).\n\n## [Unreleased]\n\n## [1.2.0] - 2024-03-15\n\n### Added\n\n- Add dark mode support ([#38](https://github.com/owner/repo/issues/38), [#42](https://github.com/owner/repo/pull/42))\n\n### Fixed\n\n- Fix crash on startup ([#40](https://github.com/owner/repo/issues/40), [#43](https://github.com/owner/repo/pull/43))\n\n[Unreleased]: https://github.com/<owner>/<repo>/compare/v1.2.0...HEAD\n[1.2.0]: https://github.com/<owner>/<repo>/compare/v1.1.0...v1.2.0\n[1.1.0]: https://github.com/<owner>/<repo>/releases/tag/v1.1.0\n```\n\n## Changelog-Worthiness\n\nNot every change belongs in a changelog. Changelogs are for humans, not machines.\n\n**Skip** changes that are purely internal:\n\n- Refactoring with no user-facing impact\n- Code formatting, linting, whitespace\n- Test additions or modifications (unless they indicate a fixed bug)\n- CI/CD configuration\n- Developer tooling (linters, editor config)\n- Documentation updates (README, comments, docstrings)\n- Dependency bumps with no behavior change\n\n**Include** changes that affect users:\n\n- New features or capabilities\n- Changes to existing behavior\n- Deprecated or removed functionality\n- Bug fixes\n- Security patches\n\n## Entry Format\n\n- Imperative present tense without trailing periods (e.g., \"Add dark mode support\")\n- One bullet point per distinct change\n- Concise but complete. Include enough context that users understand the impact.\n\n### User-Centric Writing\n\nEntries describe what changed **for the user**. Focus on outcomes and impact.\n\n- Lead with a user-visible verb: \"Add\", \"Fix\", \"Improve\", \"Allow\", \"Prevent\", \"Show\", \"Check\". Avoid developer-centric verbs like \"Enforce\", \"Implement\", \"Refactor\", \"Handle\", \"Register\".\n- Describe the experience, not the mechanism.\n- When a change prevents a problem or protects the user, say what it does for them.\n\n## PR and Issue References\n\nReference both the PR and any associated GitHub issue in each entry using inline parenthetical format with linked numbers in ascending order.\n\n```markdown\n- Add dark mode support ([#38](https://github.com/owner/repo/issues/38), [#42](https://github.com/owner/repo/pull/42))\n```\n\nTo discover associated issues for a PR, run:\n\n```bash\ngh pr view <number> --json closingIssuesReferences --jq '.closingIssuesReferences[].number'\n```\n\n- If there is no associated issue, reference only the PR\n- If there is no PR (e.g., backfilling from git tags), omit references\n\n## Change Types\n\nStandard types in this order when present: Added, Changed, Deprecated, Removed, Fixed, Security. Omit empty sections.\n\n## Section Format\n\n- Unreleased section always present at the top\n- ISO 8601 dates (`YYYY-MM-DD`)\n- Reverse chronological order (newest first)\n- Blank line between each section header and its content\n- Version comparison links at the bottom, derived from the repository's remote URL\n- Detect whether the project uses `v`-prefixed tags (e.g., `v1.0.0`) or bare tags (e.g., `1.0.0`) and match that convention in comparison links","tags":["changelog","rules","turbo","tobihagemann","agent-skills","claude-code","claude-skills","developer-tools","skills"],"capabilities":["skill","source-tobihagemann","skill-changelog-rules","topic-agent-skills","topic-claude-code","topic-claude-skills","topic-developer-tools","topic-skills"],"categories":["turbo"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/tobihagemann/turbo/changelog-rules","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add tobihagemann/turbo","source_repo":"https://github.com/tobihagemann/turbo","install_from":"skills.sh"}},"qualityScore":"0.590","qualityRationale":"deterministic score 0.59 from registry signals: · indexed on github topic:agent-skills · 280 github stars · SKILL.md body (3,495 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-04-22T00:54:07.712Z","embedding":null,"createdAt":"2026-04-18T22:03:27.699Z","updatedAt":"2026-04-22T00:54:07.712Z","lastSeenAt":"2026-04-22T00:54:07.712Z","tsv":"'-03':94 '-15':95 '/compare/v1.1.0':128 '/compare/v1.2.0':124 '/create-changelog':12 '/en/1.1.0/),':41,80 '/owner/repo/issues/38),':104,342 '/owner/repo/issues/40),':117 '/owner/repo/pull/42))':108,346 '/owner/repo/pull/43))':121 '/releases/tag/v1.1.0':132 '/spec/v2.0.0.html).':53,90 '/update-changelog':14 '1.0.0':461 '1.1.0':130 '1.2.0':92,126 '2024':93 '38':101,339 '40':114 '42':105,343 '43':118 '8601':414 'ad':96,395 'add':97,224,268,335 'addit':167 'adher':47,84 'affect':197 'allow':271 'alway':408 'ascend':332 'associ':318,349,368 'avoid':275 'backfil':380 'bare':458 'base':34,73 'bash':355 'behavior':192,206 'belong':139 'blank':425 'bottom':439 'bug':175,211 'bullet':229 'bump':189 'capabl':202 'centric':247,278 'chang':60,138,150,193,195,203,233,252,294,386,396 'changelog':2,5,19,22,38,57,77,134,142,143 'changelog-rul':1 'changelog-worthi':133 'changelog.md':26 'check':274 'chronolog':421 'ci/cd':176 'closingissuesrefer':360,362 'code':162 'comment':186 'comparison':435,467 'complet':236 'concis':234 'config':182 'configur':177 'content':433 'context':239 'convent':6,46,465 'crash':111 'dark':98,225,336 'date':415 'dd':419 'depend':188 'deprec':207,397 'deriv':440 'describ':250,286 'detect':447 'develop':178,277 'developer-centr':276 'direct':18 'discov':348 'distinct':232 'docstr':187 'document':66,183 'e.g':223,379,455,460 'editor':181 'empti':402 'enforc':281 'enough':238 'entri':215,249,323 'everi':137 'exist':205 'experi':288 'face':160 'featur':200 'file':54,69 'first':424 'fix':109,110,174,212,269,399 'focus':256 'format':8,32,71,163,216,327,405 'function':210 'gh':356 'git':382 'github':319 'github.com':103,107,116,120,123,127,131,341,345 'github.com/owner/repo/issues/38),':102,340 'github.com/owner/repo/issues/40),':115 'github.com/owner/repo/pull/42))':106,344 'github.com/owner/repo/pull/43))':119 'handl':284 'head':125 'header':430 'human':146 'impact':161,244,260 'imper':217 'implement':282 'improv':270 'includ':194,237 'indic':172 'inlin':325 'intern':154 'invok':17 'iso':413 'issu':310,320,350,369 'jq':361 'json':359 'keep':36,75 'keepachangelog.com':40,79 'keepachangelog.com/en/1.1.0/),':39,78 'kept':24 'lead':261 'like':280 'line':426 'link':329,436,468 'lint':164 'linter':180 'machin':148 'markdown':56,334 'match':463 'mechan':291 'mm':418 'mode':99,226,337 'modif':169 'new':199 'newest':423 'notabl':59 'number':330,363 'omit':384,401 'one':228 'order':333,392,422 'outcom':258 'parenthet':326 'patch':214 'per':231 'period':222 'point':230 'pr':308,315,353,357,373,378 'prefix':453 'present':218,394,409 'prevent':272,295 'problem':297 'project':29,43,63,83,450 'protect':299 'pure':153 'readm':185 'refactor':155,283 'refer':311,312,370,385 'referenc':10 'regist':285 'remot':445 'remov':209,398 'repositori':443 'revers':420 'root':30 'rule':3,9,20 'run':354 'say':302 'section':403,404,407,429 'secur':213,400 'semant':49,86 'semver.org':52,89 'semver.org/spec/v2.0.0.html).':51,88 'share':4 'show':273 'skill' 'skill-changelog-rules' 'skip':149 'source-tobihagemann' 'standard':388 'startup':113 'structur':55 'support':100,227,338 'tag':383,454,459 'tens':219 'test':166 'tool':179 'top':412 'topic-agent-skills' 'topic-claude-code' 'topic-claude-skills' 'topic-developer-tools' 'topic-skills' 'trail':221 'type':387,389 'typic':16 'understand':242 'unless':170 'unreleas':91,122,406 'updat':184 'url':446 'use':44,324,451 'user':159,198,241,246,255,265,301 'user-centr':245 'user-fac':158 'user-vis':264 'v':452 'v1.0.0':456 'v1.2.0':129 'verb':267,279 'version':50,87,434 'view':358 'visibl':266 'whether':448 'whitespac':165 'without':220 'worthi':135 'write':248 'yyyi':417 'yyyy-mm-dd':416","prices":[{"id":"91bd3806-88f9-4b7b-b326-1a6e4d27751f","listingId":"6d4928bf-49bb-4296-a52b-d4428a42d345","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"tobihagemann","category":"turbo","install_from":"skills.sh"},"createdAt":"2026-04-18T22:03:27.699Z"}],"sources":[{"listingId":"6d4928bf-49bb-4296-a52b-d4428a42d345","source":"github","sourceId":"tobihagemann/turbo/changelog-rules","sourceUrl":"https://github.com/tobihagemann/turbo/tree/main/skills/changelog-rules","isPrimary":false,"firstSeenAt":"2026-04-18T22:03:27.699Z","lastSeenAt":"2026-04-22T00:54:07.712Z"}],"details":{"listingId":"6d4928bf-49bb-4296-a52b-d4428a42d345","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"tobihagemann","slug":"changelog-rules","github":{"repo":"tobihagemann/turbo","stars":280,"topics":["agent-skills","claude-code","claude-skills","developer-tools","skills"],"license":"mit","html_url":"https://github.com/tobihagemann/turbo","pushed_at":"2026-04-21T12:22:12Z","description":"A composable dev process for Claude Code, packaged as modular skills.","skill_md_sha":"b4986f47fd8389664bb03ae820b2dd715bd852ad","skill_md_path":"skills/changelog-rules/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/tobihagemann/turbo/tree/main/skills/changelog-rules"},"layout":"multi","source":"github","category":"turbo","frontmatter":{"name":"changelog-rules","description":"Shared changelog conventions and formatting rules referenced by /create-changelog and /update-changelog. Not typically invoked directly."},"skills_sh_url":"https://skills.sh/tobihagemann/turbo/changelog-rules"},"updatedAt":"2026-04-22T00:54:07.712Z"}}