Skip to content

bug(templates): changelog/template.md prescribes tag section headers that git-wrapup forbids #348

Description

@cyanheads

mcp-ts-core version

0.11.5

Runtime

Bun

Runtime version

Bun 1.3.14

OS

macOS

Description

Two shipped files give contradictory instructions for the same artifact — the annotated tag body — and a server that re-syncs both from the framework inherits the conflict.

changelog/template.md documents the tag format with Keep-a-Changelog section headers:

Dependency bumps:                                     ← section header

- `@cyanheads/mcp-ts-core` ^0.9.1 → ^0.9.6          ← bullet

Changed:                                              ← only sections with entries

skills/git-wrapup/SKILL.md rules that exact shape out:

Flat bullets only — never Keep-a-Changelog section headers. Added:/Changed:/Fixed:/Dependency bumps: belong in the changelog file; a tag that mirrors the changelog's structure is wrong even when every line is accurate

The template also prescribes a gates line, which the same skill rules out separately (**No gates line**).

This matters more for agents than for people. An agent writing a release reads whichever file it opens first and produces a tag the other file calls wrong — with no signal that a second, contradictory spec exists. The tag body becomes the GitHub Release body via --notes-from-tag, so the output is public either way.

Reproduction

In any server scaffolded from the current templates:

rg -n -i -A12 'TAG ANNOTATIONS' changelog/template.md
rg -n 'Flat bullets only' skills/git-wrapup/SKILL.md

Actual behavior

changelog/template.md prescribes Dependency bumps: / Changed: section headers and a gates line. skills/git-wrapup/SKILL.md forbids both.

Expected behavior

One spec. Since git-wrapup is the skill an agent actually follows when cutting a release, and it carries the fuller ruleset — headline granularity, one deps line, issue backlinks, changelog link — the template's TAG ANNOTATIONS block should defer to it rather than restate a competing format.

Additional context

The template's block predates the skill's rule, so this reads as the skill being tightened without the template following. Worth checking whether any other guidance is duplicated across the two files, since a restatement is what allowed them to drift apart in the first place — a pointer cannot go stale the way a copy can.

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions