{"id":"90f15510-044c-47f2-86f2-dc5b285cf499","shortId":"K5dWpG","kind":"skill","title":"update-changelog","tagline":"Update the Unreleased section of CHANGELOG.md based on current changes. No-op if CHANGELOG.md does not exist. Use when the user asks to \"update changelog\", \"add to changelog\", \"update the changelog\", \"changelog entry\", \"add changelog entry\", or \"log this change\".","description":"# Update Changelog\n\nUpdate the Unreleased section of the changelog based on the current changes.\n\n## Step 1: Run `/changelog-rules` Skill\n\nRun `/changelog-rules` to load shared changelog conventions.\n\n## Step 2: Check for Changelog\n\nUse `git rev-parse --show-toplevel` to find the repository root. Look for the changelog file per `/changelog-rules`. If it does not exist, skip this skill. Do not create it.\n\n## Step 3: Analyze the Changes\n\nDetermine what changed:\n\n- Read `git diff --cached` for staged changes\n- If nothing is staged, read `git diff` for unstaged changes\n- Use the conversation context for the intent behind the changes\n\n## Step 4: Assess Changelog-Worthiness\n\nApply the `/changelog-rules` changelog-worthiness criteria. Also skip fixes to code introduced by the same branch/PR, as these are refinements of the in-progress feature, not separate changelog events.\n\nIf no changes are changelog-worthy, skip this skill.\n\n## Step 5: Check Existing Unreleased Entries\n\nRead the current Unreleased section of the changelog. Look for entries that relate to the same feature or fix. This prevents duplicates across multiple commits for the same body of work.\n\n- If an existing entry covers the same change, update its wording only if the current commit meaningfully extends or refines the feature. Do not add a duplicate entry.\n\n## Step 6: Update the Unreleased Section\n\nAdd or update entries in the Unreleased section following `/changelog-rules` conventions. Create subsection headers as needed (e.g., `### Added`).\n\nThen use the TaskList tool and proceed to any remaining task.\n\n## Rules\n\n- Never modify released version sections. Only the Unreleased section is in scope.\n- Do not stage the modified file. Staging is handled separately.","tags":["update","changelog","turbo","tobihagemann","agent-skills","claude-code","claude-skills","developer-tools","skills"],"capabilities":["skill","source-tobihagemann","skill-update-changelog","topic-agent-skills","topic-claude-code","topic-claude-skills","topic-developer-tools","topic-skills"],"categories":["turbo"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/tobihagemann/turbo/update-changelog","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 (1,748 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:13.005Z","embedding":null,"createdAt":"2026-04-18T22:04:13.544Z","updatedAt":"2026-04-22T00:54:13.005Z","lastSeenAt":"2026-04-22T00:54:13.005Z","tsv":"'/changelog-rules':62,65,95,151,270 '1':60 '2':72 '3':109 '4':144 '5':191 '6':256 'across':218 'ad':278 'add':30,38,251,261 'also':156 'analyz':110 'appli':149 'ask':26 'assess':145 'base':10,54 'behind':140 'bodi':224 'branch/pr':165 'cach':119 'chang':13,44,58,112,115,122,132,142,182,234 'changelog':3,29,32,35,36,39,46,53,69,75,92,147,153,178,185,203 'changelog-worthi':146,152,184 'changelog.md':9,18 'check':73,192 'code':160 'commit':220,242 'context':136 'convent':70,271 'convers':135 'cover':231 'creat':106,272 'criteria':155 'current':12,57,198,241 'determin':113 'diff':118,129 'duplic':217,253 'e.g':277 'entri':37,40,195,206,230,254,264 'event':179 'exist':21,100,193,229 'extend':244 'featur':175,212,248 'file':93,308 'find':85 'fix':158,214 'follow':269 'git':77,117,128 'handl':311 'header':274 'in-progress':172 'intent':139 'introduc':161 'load':67 'log':42 'look':89,204 'meaning':243 'modifi':292,307 'multipl':219 'need':276 'never':291 'no-op':14 'noth':124 'op':16 'pars':80 'per':94 'prevent':216 'proceed':285 'progress':174 'read':116,127,196 'refin':169,246 'relat':208 'releas':293 'remain':288 'repositori':87 'rev':79 'rev-pars':78 'root':88 'rule':290 'run':61,64 'scope':302 'section':7,50,200,260,268,295,299 'separ':177,312 'share':68 'show':82 'show-toplevel':81 'skill':63,103,189 'skill-update-changelog' 'skip':101,157,187 'source-tobihagemann' 'stage':121,126,305,309 'step':59,71,108,143,190,255 'subsect':273 'task':289 'tasklist':282 'tool':283 'topic-agent-skills' 'topic-claude-code' 'topic-claude-skills' 'topic-developer-tools' 'topic-skills' 'toplevel':83 'unreleas':6,49,194,199,259,267,298 'unstag':131 'updat':2,4,28,33,45,47,235,257,263 'update-changelog':1 'use':22,76,133,280 'user':25 'version':294 'word':237 'work':226 'worthi':148,154,186","prices":[{"id":"767d8b01-e3f9-485f-ba11-fa4bac68d849","listingId":"90f15510-044c-47f2-86f2-dc5b285cf499","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:04:13.544Z"}],"sources":[{"listingId":"90f15510-044c-47f2-86f2-dc5b285cf499","source":"github","sourceId":"tobihagemann/turbo/update-changelog","sourceUrl":"https://github.com/tobihagemann/turbo/tree/main/skills/update-changelog","isPrimary":false,"firstSeenAt":"2026-04-18T22:04:13.544Z","lastSeenAt":"2026-04-22T00:54:13.005Z"}],"details":{"listingId":"90f15510-044c-47f2-86f2-dc5b285cf499","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"tobihagemann","slug":"update-changelog","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":"031d1a016a4b1f53e6d657354127be2cebe76762","skill_md_path":"skills/update-changelog/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/tobihagemann/turbo/tree/main/skills/update-changelog"},"layout":"multi","source":"github","category":"turbo","frontmatter":{"name":"update-changelog","description":"Update the Unreleased section of CHANGELOG.md based on current changes. No-op if CHANGELOG.md does not exist. Use when the user asks to \"update changelog\", \"add to changelog\", \"update the changelog\", \"changelog entry\", \"add changelog entry\", or \"log this change\"."},"skills_sh_url":"https://skills.sh/tobihagemann/turbo/update-changelog"},"updatedAt":"2026-04-22T00:54:13.005Z"}}