Skip to content

feat: add reportcard skill - #19

Open
tutntut wants to merge 5 commits into
mainfrom
add-report-card-skill
Open

feat: add reportcard skill#19
tutntut wants to merge 5 commits into
mainfrom
add-report-card-skill

Conversation

@tutntut

@tutntut tutntut commented Jul 30, 2026

Copy link
Copy Markdown

Problem

Updating the report card is manual and prone to errors.

Solution

A skill that audits, asks, writes, verifies.

image image

Thereafter, it guides the user to create and push a PR:

image

Breaking changes: none. The one non-additive edit is the productivity/product/ rename in skills/CLAUDE.md, of a bucket that never existed on disk.

Reviewing this PR

# Commit What to check
1 chore: rename productivity bucket to product The taxonomy decision. 2 lines.
2 docs: remove stray trailing character Pre-existing typo, isolated. 1 line.
3 feat: add reportcard skill The substance — 604 new lines, all additions.
4 docs: register reportcard in the skill listings Mechanical.

Within commit 3: SKILL.md for the shape, then scripts/audit.py for the bucketing, then ASK-FORMAT.md and WRITING.md.

The plugin.json entry in commit 4 is added for consistency, but every path in that file is currently unresolvable — see #18. It doesn't affect this skill; the documented install discovers skills by scanning for SKILL.md.

@tutntut
tutntut requested a review from kevin9foong July 30, 2026 06:31
tutntut and others added 2 commits July 30, 2026 06:32
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>
@tutntut
tutntut force-pushed the add-report-card-skill branch from 15919c9 to 639cb3a Compare July 30, 2026 06:34
tutntut and others added 2 commits July 30, 2026 06:39
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>

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new Product skill (/reportcard) to help PMs append a new quarter to a product’s _products/<product>/reportcard.yml via a stdlib-only audit script and structured ask/write guidance, plus registers the skill in the repo’s skill listings.

Changes:

  • Introduces the new skills/product/reportcard skill with an audit script (scripts/audit.py) and supporting guides (ASK-FORMAT.md, WRITING.md).
  • Adds a new “Product skills” section to the skills docs and skills.sh grouping.
  • Updates bucket taxonomy documentation (productivity/product/) and registers the skill in skills/.claude-plugin/plugin.json.

Reviewed changes

Copilot reviewed 9 out of 9 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
skills/README.md Adds “Product skills” section and links /reportcard.
skills/product/README.md Introduces Product bucket README and lists /reportcard.
skills/product/reportcard/SKILL.md Defines the /reportcard skill entrypoint and workflow.
skills/product/reportcard/scripts/audit.py Adds stdlib-only audit script to compute target quarter and bucket metrics.
skills/product/reportcard/ASK-FORMAT.md Specifies the PM-facing ask format and reply block structure.
skills/product/reportcard/WRITING.md Specifies append-only writing and branch-creation guidance.
skills/CLAUDE.md Updates bucket taxonomy and registration requirements wording.
skills/.claude-plugin/plugin.json Registers the new /reportcard skill in the plugin manifest.
skills.sh.json Adds “Product” grouping containing reportcard.
Comments suppressed due to low confidence (1)

skills/product/reportcard/SKILL.md:13

  • This section tells users to hand off CHANGELOG work to /highlights, but /highlights is not present in this repo (so the instruction can’t be followed).
Does not source data, does not open PRs, and does not write the changelog —
`/highlights` owns that, and will be suggested if the quarter has no entry. **Never invent, interpolate, or
carry forward a metric value** — every number comes from the PM, anything

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread skills/product/reportcard/SKILL.md Outdated
@@ -0,0 +1,68 @@
---
name: reportcard
description: Add a new quarter's team, cost and metric values to an OGP product report card (_products/<product>/reportcard.yml) by auditing the last recorded quarter, then asking the PM for each missing number. Use when someone wants to update, add, or draft a quarterly report card, add a new quarter's metrics/cost/team, or mentions reportcard.yml, "Q1/Q2/Q3/Q4 report card", or the products.open.gov.sg draft editor. For writing the CHANGELOG entry, use the highlights skill instead.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in 25f75be — removed the reference to the not-yet-existing /highlights skill; the description now just says CHANGELOG writing is out of scope for this skill.

Comment thread skills/product/reportcard/WRITING.md Outdated
Comment on lines +36 to +42
- `CHANGELOG.md`: **not this skill's job** — `/highlights` owns it, because a
good entry needs a scan of Slack, GitHub and the team's planning doc.
- If the PM supplies changelog text directly, add it at the top as
`## Q<n> <year> <Mon-Mon>`, matching the previous entry's structure.
- If they do not, leave the file alone and say the quarter is missing an
entry, then point them at `/highlights`. Do not improvise one from the
metric values — numbers are not a story.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in 25f75be — reworded to drop the /highlights reference and just note this is out of scope for the skill.

Comment thread skills/product/reportcard/ASK-FORMAT.md Outdated
Comment on lines +106 to +109
The `changelog:` line is optional and exists only so a PM who already has the
text can hand it over. Leaving it blank is normal — `/highlights` writes a
proper entry from a scan of Slack, GitHub and the planning doc. Never write
one yourself from the metric values.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in 25f75be — same fix, dropped the /highlights reference.

Comment thread skills/CLAUDE.md Outdated
Comment thread skills/product/reportcard/scripts/audit.py Outdated
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>
@tutntut
tutntut marked this pull request as ready for review July 30, 2026 07:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants