TRN authoring skills + format reference (AI-parsable breaking changes & deprecations)#1161
TRN authoring skills + format reference (AI-parsable breaking changes & deprecations)#1161ajwild wants to merge 3 commits into
Conversation
…eference Introduce the canonical trn-format-reference.md and the write-trn-breaking-change and write-trn-deprecation skills for the AI-parsable TRN format. - Detect/Fix entry contract with greppable Detect lines (literal tokens to search for, not abstract dot-paths) - A **Code:** line linking each entry to its LivingdocsBreakingChange / LivingdocsDeprecation log code, so operators and agents can map a log line to the entry and its fix - Exhaustive prose with concrete before/after comparisons for these upgrade-critical sections - Skills carry only the workflow; the reference is the single source of truth for entry shape, tone, and rules Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Align write-trn-feature-section with the format reference: feature entry headings carry no icon (the 🎁 lives on the ## Features section heading only), matching the icon-free entry convention used for breaking changes and deprecations. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Add the⚠️ icon to the `## Deprecations` section heading to match the TRN format reference, and remove the icon legend (no longer useful). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
| - **Check earlier releases for a matching deprecation.** Most breaking changes that remove a property, API, or behaviour were first announced as a deprecation in an earlier release — typically around three releases earlier, though this is not guaranteed. Look under `## Deprecations :warning:` in the earlier `content/operations/releases/release-YYYY-MM.md` files. If you find one, its prose, Detect, and Fix are a strong starting point — adapt them rather than writing from scratch. Still review it end to end: details may have changed between the deprecation announcement and the actual removal, and the deprecation entry may have surfaced edge cases worth carrying over. | ||
| - Read the existing `## Breaking Changes :fire:` section in `content/operations/releases/<release-identifier>.md` to calibrate tone and to confirm the change isn't already documented. | ||
|
|
||
| ## Step 3: Write the breaking change entry |
There was a problem hiding this comment.
At this point, the claude session context will already be filled quite a lot:
- Back and forth messages with the user in Step 1
- PR descriptions, code diffs, Notion pages, other release notes
I would recommend using subagents for reasearch tasks (e.g. 1 subagent per PR, Notion URL, previous releases explorer), where each subagent writes the full report in a file, containing pointers to commits, key files and lines, links to the PR for further info. The subagents only return a structured small summary report to the main session, including the pointer to the full report file.
Then in step 3, use the main session to spawn an opus subagent that builds a plan, based on the research results from the previous steps. The plan is written to the disk as well where it can be reviewed and edited by the developer.
If the plan looks good, spawn another subagent to implement the plan (writing to the trn doc file), give it the file pointers to the research results + the file path to the plan, report summary to the main session.
After all these steps, the main session has still a small context but knows all the summaries from the individual steps and knows the files where to look for additional details. And it has the local git diffs from the implementation step.
From here, use the main session for further iterations before clearing it and moving on to the next TRN entry.
|
What was the motivation to remove the emojis from feature / breaking changes / deprecation entries? Was this an outcome from the interviews (that I don't recall) or where does this come from? |
There are two reasons, firstly it adds a lot of visual noise to the page and especially the ToC (if #1165 is merged), and secondly it messes up the anchor links (something I find annoying and removing them was also reported as a positive change here). However, if you would prefer it to stay then I could create a separate ToC partial (which I think I need to do anyway) and try to strip it there, and I could also try to modify how the anchor links are generated. Having said that, after discussions today it sounds like no more effort should be put into this repo (besides improving Claude skills) and we could aim to delete it by the end of the year. That will depend on how priorities are set for the move to the knowledge base. |
What & why
Introduces the authoring tooling for AI-parsable Technical Release Notes (TRN) — so Breaking Changes and Deprecations can be parsed by an AI agent (or read by an operator) to derive and apply the upgrade actions for a release.
This partially replaces #1156. That PR bundled the format change, the authoring skills, theme/rendering changes, and the full
release-2026-05content rewrite into one large change. This PR carves out just the authoring tooling; therelease-2026-05content rewrite and the theme work will follow as separate, smaller PRs.Contents
.claude/trn-format-reference.md(new) — the single source of truth for TRN entry shape, tone, and rules..claude/skills/write-trn-breaking-change/&write-trn-deprecation/(new) — workflow skills that defer to the reference for format..claude/skills/write-trn-feature-section/— drop:gift:from feature entry titles, matching the icon-free entry convention.content/operations/releases/_release-template.md— add:warning:to the## Deprecationsheading; remove the icon legend.Key design points
mediaTypes[].editor.dashboard), so an agent can actually find the affected config.**Code:**line — links each entry to itsLivingdocsBreakingChange/LivingdocsDeprecationlog code, so a log line maps straight to the entry and its fix.Out of scope / follow-ups
release-2026-05Breaking Changes & Deprecations content rewrite (next PR).🤖 Generated with Claude Code