Skip to content

Commit b53e16b

Browse files
aoirintcodex
andauthored
build(agent-skills): migrate skills to apm (#99)
Co-authored-by: Codex <noreply@openai.com>
1 parent f069571 commit b53e16b

48 files changed

Lines changed: 2773 additions & 2077 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# changelog-workflow
2+
3+
## Overview
4+
5+
Maintain canonical developer changelogs and release history.
6+
7+
## Install
8+
9+
```shell
10+
apm install aoirint/skills/.apm/skills/changelog-workflow
11+
```
Lines changed: 60 additions & 133 deletions
Original file line numberDiff line numberDiff line change
@@ -1,133 +1,60 @@
1-
---
2-
name: changelog-workflow
3-
description: >-
4-
Create and update a canonical developer changelog. Use when adding
5-
developer-facing release history, maintaining Keep a Changelog sections, or
6-
preparing canonical version entries.
7-
---
8-
9-
# Changelog Workflow
10-
11-
## When to Use
12-
13-
- Use this skill when updating the canonical developer changelog.
14-
- Use this skill when preparing canonical versioned release history before a
15-
release.
16-
- Use this skill when preserving developer-facing prerelease, compatibility,
17-
migration, CI/build/package, or implementation context.
18-
19-
## Goals
20-
21-
- Keep the confirmed canonical changelog, often `CHANGELOG.md`, as the
22-
Keep a Changelog-style release history.
23-
- Record notable changes for maintainers in a human-readable, newest-first
24-
format.
25-
- Preserve prerelease and internal context in the canonical changelog even when
26-
it will not appear in user-facing release notes.
27-
- Preserve enough rationale and history for user-facing release notes to explain
28-
why each user-visible change matters.
29-
- Keep user-facing release-note rewriting and release-readiness checks in the
30-
dedicated release-note workflow.
31-
32-
Reference:
33-
34-
- Keep a Changelog 1.1.0: http://keepachangelog.com/en/1.1.0/
35-
36-
## Workflow
37-
38-
1. Update the canonical changelog first when a release-history change is
39-
needed. If the file is not clearly `CHANGELOG.md`, locate or confirm the
40-
canonical changelog before editing.
41-
2. Keep `Unreleased` at the top.
42-
3. Move `Unreleased` entries into a versioned section only when the maintainer
43-
has selected the release version and UTC release date.
44-
- Do not create placeholder version headings with `TBD`,
45-
`<maintainer-selected date>`, or similar unfinished release metadata.
46-
Keep draft material under `Unreleased` until the version and date are
47-
known.
48-
4. Use Keep a Changelog categories when applicable: `Added`, `Changed`,
49-
`Deprecated`, `Removed`, `Fixed`, and `Security`.
50-
- Put supplemental release metadata that is not itself a change type, such as
51-
compatibility notes and test environments, under `Notes` instead of making
52-
separate top-level change-category headings.
53-
- Put `Notes` after all change-category sections within each release entry.
54-
5. Keep versioned sections newest first, with headings such as
55-
`## v1.2.3 - 2026-05-03 UTC`.
56-
6. Record developer-facing details that help future maintainers, including:
57-
- Internal migrations or architecture changes.
58-
- CI, build, packaging, or dependency context.
59-
- Security-sensitive or supply-chain-sensitive context from `security-check`, such as
60-
maintainer-approved exceptions, residual risk, or blockers that matter for future releases.
61-
- Prerelease entries and why they matter.
62-
- User-impact rationale or history for each user-visible change, such as
63-
the problem it solves, why behavior changed, compatibility constraints, or
64-
migration reason.
65-
- A sourced user impact statement may be enough when it explains why users
66-
should care. Generic bullets such as documentation updates, dependency
67-
updates, crash fixes, or save-format changes still need source material
68-
describing the user-facing benefit, risk, security impact, compatibility
69-
impact, or migration reason.
70-
- Compatibility notes, test environments, known limitations, yanked
71-
releases, and migration constraints.
72-
- Record compatibility, support, environment, and migration claims only when
73-
they are maintainer-confirmed or clearly sourced. Otherwise list them as
74-
missing inputs or draft source material needing confirmation, not as final
75-
compatibility facts.
76-
- When compatibility notes cover several platform, runtime, dependency, or
77-
companion-product versions, preserve confidence differences instead of
78-
flattening them into one generic compatibility statement. For example,
79-
distinguish confirmed compatibility, "appears to work" best-effort
80-
compatibility, lower-confidence limited checks, and known issues.
81-
- Keep related compatibility claims grouped by relationship. Put companion
82-
tools, required plugins, or paired dependencies under the product/version
83-
they were tested with when that relationship matters, instead of listing
84-
them as another peer product version.
85-
- When historical entries are backfilled with metadata such as
86-
compatibility information, state that the metadata was backfilled, when it
87-
was backfilled, and whether it is reference information rather than an
88-
original release claim.
89-
- For yanked releases, explicitly say when historical metadata was not
90-
backfilled because the release was yanked, if nearby releases did receive
91-
backfilled metadata.
92-
7. When prerelease entries are later superseded, keep enough canonical history
93-
to explain what changed and what reached the stable release. If the stable
94-
release is still only planned, leave the stable roll-up material under
95-
`Unreleased` instead of creating an unfinished stable heading.
96-
- Attach withdrawn or superseded notes to the specific entry they affect,
97-
rather than only adding a broad later correction. Name the later version
98-
or release timing that withdrew or superseded the earlier wording.
99-
- Avoid shorthand prerelease references such as `alpha.1` or `beta.2` when
100-
the base version matters. Use the full prerelease version, such as
101-
`v1.2.0-alpha.1`, in durable changelog text.
102-
- Split long bullets into concise parent items with indented subitems when a
103-
change contains several facts, reasons, affected versions, or follow-up
104-
notes.
105-
- Use `document-quality-check` when splitting or rewording changelog prose.
106-
Preserve changelog-specific nuance such as compatibility confidence,
107-
dependency relationships, and whether a statement is original, backfilled,
108-
inferred, superseded, or withdrawn.
109-
8. If the user asks for user-facing release notes, verify or prepare only the
110-
canonical source material here, then use the appropriate release-note
111-
workflow for the user-facing rewrite and release-readiness checks.
112-
- Update the canonical changelog only when the source material is missing,
113-
stale, or needs maintainer-facing correction.
114-
- Treat missing rationale or history for a user-visible change as missing
115-
canonical source material; add or request it before user-facing rewriting.
116-
- If the canonical changelog already contains enough source material, stop
117-
there and hand off user-facing rewriting and readiness checks.
118-
- Identify the release-note workflow by name when it exists; otherwise
119-
discover the relevant release-note guidance before producing user-facing
120-
notes.
121-
- If confirmed version, UTC release date, target audience, publication
122-
channel, or release-note workflow are missing, state those as input gaps
123-
and stop after canonical source preparation.
124-
125-
## Boundaries
126-
127-
- This skill owns the canonical developer changelog; it does not own generated
128-
or user-facing release-note files.
129-
- Do not publish, tag, create releases, upload artifacts, or edit release
130-
metadata unless another workflow and explicit user request call for those
131-
side effects.
132-
- Keep private workspace paths, temporary worktree names, command transcripts,
133-
and authentication details out of public changelog text.
1+
---
2+
name: changelog-workflow
3+
description:
4+
Maintain a canonical developer changelog and versioned release history. Use when adding or correcting Keep a Changelog
5+
entries, prerelease history, compatibility context, or release-source material; not for user-facing release notes or
6+
publishing.
7+
---
8+
9+
# Changelog Workflow
10+
11+
Maintain the repository's canonical developer changelog, usually `CHANGELOG.md`. Keep it human-readable, newest first,
12+
and distinct from user-facing release notes.
13+
14+
## Update a release entry
15+
16+
1. Locate the canonical changelog and confirm its role before editing.
17+
2. Keep `Unreleased` first. Move entries to a versioned section only after the maintainer confirms the stable version
18+
and UTC release date; never add placeholder release headings. At that promotion, move every remaining final,
19+
release-ready bullet into the new versioned section and leave `Unreleased` empty. Do not duplicate promoted bullets
20+
or retain implementation history that does not describe the final release state.
21+
3. Use Keep a Changelog categories where applicable: `Added`, `Changed`, `Deprecated`, `Removed`, `Fixed`, and
22+
`Security`. Put supplemental compatibility, test, limitation, or migration context under `Notes`, after change
23+
categories.
24+
4. Use newest-first headings such as `## v1.2.3 - 2026-05-03 UTC`.
25+
5. Record durable maintainer context: migrations, architecture, CI/build/package changes, prerelease history, security
26+
exceptions or residual risk, compatibility confidence, limitations, and the reason a user-visible change matters.
27+
6. Source compatibility, support, environment, and migration claims. Mark unsourced claims as missing input or draft
28+
material; distinguish confirmed, best-effort, limited-check, and known-issue evidence. Group paired tools and
29+
dependencies with the product/version they qualify.
30+
When compatibility appears in multiple artifacts or peer repositories,
31+
inspect same-role entries before choosing wording. Preserve their hierarchy,
32+
dates, and reference links, but keep each destination in its established
33+
role: a README may show a target and test environment, while a changelog
34+
`Notes` entry records the compatibility fact. Do not copy test environments
35+
or evidence-status prose into a user-facing changelog unless it changes the
36+
release's user-facing compatibility meaning. Do not infer that an incomplete
37+
runtime result belongs in a package changelog or README merely because it is
38+
recorded in developer evidence; add it only when the same-role convention or
39+
maintainer selects it.
40+
7. Preserve historical accuracy. Mark backfilled metadata as backfilled, retain meaningful prerelease history, and use
41+
complete prerelease versions when they matter. Treat `Unreleased` as the prospective final release state: remove
42+
proposals, implementation iterations, and settings-category moves that were withdrawn or superseded within the same
43+
pull request. Record only the final user- or maintainer-visible change, such as the settings that exist after the
44+
change. Retain a withdrawn or superseded note only when a published artifact or a prior versioned entry makes that
45+
history durable.
46+
8. Describe public package metadata from actual publication-channel history, not local or GitHub-only artifacts. Treat a
47+
newly public compatibility label as `Changed`; use `Fixed` only for a correction already exposed publicly.
48+
9. Put a compatibility fact under `Notes` as `Compatibility: <product and
49+
version>` when that is the repository or peer-family convention. Do not add
50+
a `Changed` bullet that merely says compatibility documentation was
51+
"clarified"; record the final compatibility state instead. For backfilled
52+
historical entries, retain the backfill status and the historical hierarchy.
53+
10. Write concise factual bullets. Avoid issue or PR identifiers unless the maintainer needs the durable link. Use
54+
`prose-quality-check` for prose changes that risk losing confidence, relationship, or historical-status nuance.
55+
56+
## Handoff and boundaries
57+
58+
Prepare or correct canonical source material before user-facing release notes. If source material is complete, hand off
59+
to `release-note-workflow`; if version, UTC date, target channel, or needed rationale is missing, report the gap. Do not
60+
publish, tag, create releases, upload artifacts, or expose private paths, transcripts, or credentials.
Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
interface:
2-
display_name: "Changelog Workflow"
3-
short_description: "Update a canonical developer changelog."
4-
default_prompt: >-
5-
Update the canonical Keep a Changelog-style release history, preserving
6-
developer-facing version, prerelease, compatibility, and maintainer context.
1+
interface:
2+
display_name: "Changelog Workflow"
3+
short_description: "Update a canonical developer changelog."
4+
default_prompt: >-
5+
Use $changelog-workflow to update the canonical Keep a Changelog-style
6+
release history with developer-facing version and compatibility context.
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# code-quality-check
2+
3+
## Overview
4+
5+
Review implementation changes for readability, maintainability, and verification.
6+
7+
## Install
8+
9+
```shell
10+
apm install aoirint/skills/.apm/skills/code-quality-check
11+
```

0 commit comments

Comments
 (0)