feat: add highlights skill - #20
Draft
tutntut wants to merge 7 commits into
Draft
Conversation
The bucket was documented in skills/CLAUDE.md but never created on disk. It was defined as "daily non-code workflow tools", which excludes anything on a slower cadence. Naming buckets by domain, as engineering/ already does, keeps cadence out of the taxonomy. No skill moves — nothing was in productivity/. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
A lone "f" sat at the end of the file with no trailing newline. Unrelated to any skill, separated out so it does not muddy the reportcard diff. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Appends a quarter's team, cost and metric values to an OGP product report card at _products/<product>/reportcard.yml. scripts/audit.py parses the narrow YAML subset the report-card repo uses, stdlib only so it runs before npm i. It infers the target quarter and sorts every metric into NEED, auto or DORMANT, so nothing is carried forward or interpolated by eye. ASK-FORMAT.md fixes the ask as four tables plus a reply block keyed by metric id, since a PM gathers these numbers from finance, Datadog and a survey and will answer in pieces. Its examples use invented names and figures — the report-card repo is private and this one is public. WRITING.md keeps edits append-only and creates the branch at the first write rather than at launch. Cost entries gate whether a quarter renders at all, so a missing one is written as placeholder zeros, stated plainly, and flagged on a draft PR rather than left silent. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Adds the product/ bucket README and the entries skills/CLAUDE.md requires: the plugin.json path, a Product grouping in skills.sh.json, and a row in the skills README table. The plugin.json path is added for consistency with the convention, but every path in that file is currently unresolvable — see #18. It does not affect this skill, since the documented install discovers skills by scanning for SKILL.md. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Remove references to the not-yet-existing /highlights skill, fix the plugin.json path in skills/CLAUDE.md, and fix audit.py's usage string to match how it's actually invoked from SKILL.md. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
Adds a new “Product skills” bucket to the skills system, introducing /highlights (quarterly changelog drafting workflow) alongside /reportcard (quarterly reportcard.yml append workflow), and registers both skills in the plugin/catalog metadata.
Changes:
- Add
/highlightsskill docs plus a stdlib-onlyprep.pyhelper for quarter bounds + changelog format mirroring. - Add
/reportcardskill docs plus a stdlib-onlyaudit.pyhelper to audit reportcard.yml and guide the PM ask/write flow. - Register the new Product bucket and both skills in skill listings and plugin metadata (
skills/README.md,skills.sh.json,skills/.claude-plugin/plugin.json,skills/product/README.md).
Reviewed changes
Copilot reviewed 12 out of 12 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| skills/README.md | Adds “Product skills” section and links to /highlights and /reportcard. |
| skills/product/README.md | Introduces product bucket README and recommended /highlights → /reportcard order. |
| skills/product/highlights/SKILL.md | Documents the /highlights workflow, sources, fan-out, curation, and drafting steps. |
| skills/product/highlights/CURATING.md | Defines cross-source ranking/cutting heuristics for highlights curation. |
| skills/product/highlights/scripts/prep.py | Adds a CLI helper to infer/format target quarter and print the last changelog entry verbatim as a template. |
| skills/product/reportcard/SKILL.md | Documents the /reportcard workflow, including audit/ask/write/verify steps. |
| skills/product/reportcard/ASK-FORMAT.md | Specifies the exact PM ask format (tables, notes, reply block) for reportcard collection. |
| skills/product/reportcard/WRITING.md | Specifies append-only writing rules, branching timing, and handling placeholder cost entries. |
| skills/product/reportcard/scripts/audit.py | Adds a CLI helper to parse reportcard.yml, infer the next quarter, and print what’s needed. |
| skills/CLAUDE.md | Updates bucket taxonomy/registration guidance to include product/ and correct plugin.json path. |
| skills/.claude-plugin/plugin.json | Registers the new product skill directories with the plugin. |
| skills.sh.json | Adds a “Product” grouping containing highlights and reportcard. |
Comments suppressed due to low confidence (1)
skills/product/highlights/scripts/prep.py:89
groupsonly detects list items that start at column 0 (^-\s+...). Since you later calll.strip(), this looks like it’s intended to tolerate indentation; as written, indented top-level bullets won’t be detected and the "top-level groups" output can be empty/incorrect. Consider deriving the minimum bullet indentation and treating those as the top-level group lines.
groups = [l.strip()[2:] for l in block if re.match(r"^-\s+\S", l)]
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Comment on lines
+6
to
+8
| Usage: | ||
| python3 prep.py formsg # infers the quarter after the latest logged | ||
| python3 prep.py formsg --quarter q2-2026 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
Drafting a product's quarterly CHANGELOG entry means manually digging through Slack, GitHub and Notion, then deciding what's actually worth publishing — easy to miss corroborating context or invent a plausible-sounding number.
Solution
A skill that preps the quarter/format, confirms sources, fans out retrieval across Slack/GitHub/Notion in parallel, then curates and drafts the entry for review before it ever touches
CHANGELOG.md.Runs alongside
/reportcard—/highlightswrites the story,/reportcardfills in the numbers. They're separate because the jobs differ: broad retrieval and judgment vs. a mechanical, offline-capable append.Breaking changes: none, all additions.
Reviewing this PR
feat: add highlights skillSKILL.mdfor the shape,CURATING.mdfor how ranking/cutting works,scripts/prep.pyfor the quarter/format prep.docs: register highlights in the skill listingsREADME.mdentries,plugin.json,skills.sh.json.prep.pyis stdlib-only, same asreportcard'saudit.py, and can't be smoke-tested in this repo since there's no_products/directory here — it's designed to run inside a product repo.