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).