release-notes
Generate a prompt for writing a "Notes from the workshop" entry on plankit.com from plankit's latest CHANGELOG
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Generate a prompt for writing a "Notes from the workshop" entry on plankit.com from plankit's latest CHANGELOG
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Emit the init commands for a new plankit-tooled project — GitHub repo, pk setup --baseline, v0.0.0 tag, develop branch, .pk.json release config
Ship a release: changelog, tag, merge, and push in one pass
Ship a release: changelog, tag, merge, and push in one pass
Discover project conventions and configure .pk.json by analyzing the codebase
Discover project conventions and configure .pk.json by analyzing the codebase
Deep-analyze the project's rule set (.claude/rules + CLAUDE.md) for coherence, redundancy, tensions, gaps, and actionable fixes
| name | release-notes |
| description | Generate a prompt for writing a "Notes from the workshop" entry on plankit.com from plankit's latest CHANGELOG |
| disable-model-invocation | true |
Generate a prompt for writing a new "Notes from the workshop" entry on plankit.com. Reads plankit's own CHANGELOG.md, distills user-visible changes, and outputs a ready-to-paste prompt for a plankit.com session.
The skill operates on plankit only. It does not read or write to the plankit.com repo; output is a self-contained prompt the user pastes into a new plankit.com session. Push, not pull.
Only run for releases that contain at least one feat, security, or breaking change. Pure fix/refactor/chore/docs releases don't warrant a notes entry. Check the CHANGELOG section for the target version before proceeding; if nothing qualifies, tell the user there's nothing worth writing up.
tool argument if supplied, else default to pk. plankit.com is multi-tool: pk → /pk/notes/, mcp-bridge → /mcp-bridge/notes/, signals → /signals/notes/. The slug drives every path in the emitted prompt.version argument if supplied (e.g., v0.12.0), else the most recent tag: git describe --tags --abbrev=0.basename $(git rev-parse --show-toplevel). Fills the <REPO> slot in the emitted Context block so the receiving session sees both the source repo and the binary (they differ for plankit: repo plankit, binary pk).CHANGELOG.md and extract the section for the target version (all categories: Added, Fixed, Documentation, Maintenance, etc.).plankit-development.md are maintainer-side and never appear in release notes (they don't ship to users and don't affect their projects). Rules in model-behavior.md, plankit-tooling.md, or other files that ship via pk setup can be mentioned — but only if the user will feel the difference (Claude behaves measurably differently for them). Most rule updates are infrastructure and should be skipped; the user experiences the effect without needing to know a rule landed.The user then copies the prompt into a new Claude session opened in ~/Projects/markwharton/plankit.com and the plankit.com session writes the HTML entry.
Good example:
v0.11.0 —
pk setup --baseline. Anchoringpk changelogjust got one step simpler. If you usepk changelog/pk release, runpk setup --baseline --push— it tagsv0.0.0on HEAD and publishes it. Works on new repos and existing ones; pass--at <ref>to fold prior commits into the first changelog entry. No more remembering raw git commands.
Bad (do not produce output like this):
- soften version-tag tip and surface --at in changelog error (ed97860)
- add --baseline to setup options enumerations (4df4838)
- add Clarifications, Evolving pk Commands, and Tip Messages (255ce88)
That's the CHANGELOG. This skill's job is to turn it into something a human reads.
After distilling, emit a prompt with this structure. Fill the <BRACKETS> with the distilled content.
# Write release notes for plankit.com — <TOOL> <VERSION>
Context: <TOOL> <VERSION> shipped (repo: <REPO>, binary: <TOOL>). Write
a new "Notes from the workshop" entry at `site/<TOOL>/notes/index.html`.
If that file doesn't exist yet, create it; if it exists, add the new
entry at the top (newest first).
## Entry content (already curated — use as the source for the entry text)
**<VERSION> — <DATE> — <SHORT THEME LABEL>**
<CURATED BULLETS OR PARAGRAPHS>
## Voice rules (don't deviate)
- Practical, honest, concrete. No launch-speak ("we're excited to announce").
- Lead with what the user can do differently now, not what commit landed.
- Short — one or two paragraphs OR a focused bullet list per entry.
- Bold one key command or noun per entry for scanning.
- Workshop metaphors where natural, not forced.
- Link to full CHANGELOG on GitHub for detail.
## Visual style
plankit.com pages share `site/style.css`. The notes page links to it
and uses the existing components (`.section`, `.features`, etc.) —
read an existing page for the pattern and mirror it. Do not invent new
tokens, new layouts, or new CSS files.
## Link points
After the notes page is in place, `site/<TOOL>/index.html` should have
a link to `/<TOOL>/notes/` in its Docs section. Verify the end state:
if the link is already present, no change needed — do not make an
empty commit. If missing, add it as a separate commit from the notes
entry. Do not link from `site/<TOOL>/start/index.html` — that page
stays focused on first-run.
## Constraints (explicitly NOT to build)
- No RSS feed, no `feed.xml`, no feed generators.
- No static site generator, no markdown-to-HTML build step.
- No raw CHANGELOG dump. This is curated, not transcribed.
- No third-party trackers or analytics (Google Analytics, Meta pixels, etc.) and no comment systems (Disqus, etc.). plankit signals — plankit's own metrics beacon, when present — is welcome; the notes page inherits it site-wide and shouldn't add its own.
- No "we are excited to announce" language — ever.
## Flow
1. Read 2–3 existing plankit.com pages to absorb style.
2. Draft `site/<TOOL>/notes/index.html` — show the user before writing files.
3. Iterate on voice/length if needed.
4. Check the end-state link from the tool landing page; add only if missing, as a separate commit.
5. Commit on develop with a clear message, then run `/ship` to release.
Draft → user review → commit → release. Don't bundle the notes page
and the link addition into one commit — they're two logical changes.
tool argument (slug, default pk — e.g., pk, mcp-bridge, signals) and optional version argument (string like v0.11.1).