Agent skill

Report Indicator Changes

by owid in owid/etl

Draft a short update message to a topic-owner reviewer after landing substantial dataset or chart changes on staging.

MITAuto-check passedData & Analytics

Install Report Indicator Changes

skills CLI
$ npx skills add owid/etl --skill report-indicator-changes -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install owid/etl report-indicator-changes --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/owid/etl.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/report-indicator-changes .claude/skills/report-indicator-changes && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
report-indicator-changes
GitHub stars
158
Token cost
~2.6k tokens
SKILL.md length
1,261 words
Files
1
Skills in repo
35
Repo updated
First seen
Licence
MIT

At a glance

Draft a short update message to a topic-owner reviewer after landing substantial dataset or chart changes on staging.

  • Works in 4 steps: Greeting + status one-liner → What's changed → Open questions / things to discuss → …
  • Data & Analytics work in your project
  • SKILL.md covers When to use this skill, Inputs to gather before drafting, Output structure and Style guide, plus 5 more sections
  • Calls make and git

What it does

Report Indicator Changes is an agent skill from owid/etl. Draft a short update message to a topic-owner reviewer after landing substantial dataset or chart changes on staging. The message lists the indicator changes with staging admin links, surfaces open design questions with option tables, and closes with a Chart Diff sign-off CTA. The output is markdown so the user can paste it into either Slack or a GitHub PR comment. Use after a dataset redesign or restructure when the iteration with the reviewer is back-and-forth and you need them to verify on staging before…

Its SKILL.md is about 2.6k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Data & Analytics. It works with Slack and GitHub. The repository describes itself as: A compute graph for loading and transforming OWID's data. The licence is MIT.

When your agent uses it

  • Data & Analytics work in your project

Example prompts

  • “/report-indicator-changes”

Workflow steps

4 steps, taken from the step headings in SKILL.md.

  1. Greeting + status one-liner
  2. What's changed
  3. Open questions / things to discuss
  4. CTA — Chart Diff sign-off

What it can do on your machine

Read from SKILL.md and the folder at commit 69ab20e. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • make
    • git

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Report Indicator Changes loads about 2.6k tokens when it runs. Until then it costs about 158 tokens; SKILL.md has 1,261 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~158
When it runs · the whole SKILL.md, loaded when a task matches
~2.6k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from owid/etl at commit 69ab20e, republished under its MIT licence (© owid). 1,261 words, ~2,568 tokens.

Download SKILL.mdSave it as .claude/skills/report-indicator-changes/SKILL.md (or your agent's skills folder).
name
report-indicator-changes
description
Draft a short update message to a topic-owner reviewer after landing substantial dataset or chart changes on staging. The message lists the indicator changes with staging admin links, surfaces open design questions with option tables, and closes with a Chart Diff sign-off CTA. The output is markdown so the user can paste it into either Slack or a GitHub PR comment. Use after a dataset redesign or restructure when the iteration with the reviewer is back-and-forth and you need them to verify on staging before merge. Not for the canonical comms announcement — for that, see `draft-data-update-slack-post`.
metadata.internal
true
metadata.owner
paarriagadap

Report indicator changes to a topic-owner reviewer

This skill drafts the kind of message you send to a topic owner when a dataset update or chart redesign needs their sign-off on staging — typically after the data work has landed and before merging to master. It's the iterative back-and-forth that mediates the final design. The draft is plain markdown so the user can post it in Slack or as a GitHub PR comment.

When to use this skill

  • A restructured / redesigned dataset is live on staging and a topic owner is the gatekeeper for chart-level decisions (categories, labels, titles, which charts to publish vs skip).
  • You want to capture a clear status update + open questions in a single scannable message that the reviewer can answer in chat.
  • The conversation will likely iterate over multiple rounds (round 1 = list changes, round 2 = reply to their feedback, round 3 = pick between alternatives, etc.).

Don't use this skill for:

  • The canonical comms-manager Slack form (audience-facing announcement for the OWID communications channel) — use draft-data-update-slack-post for that. Different audience, different shape.
  • Routine PR review handoffs — those just need a PR description.
  • One-off questions that don't need a structured update.

Inputs to gather before drafting

  1. Dataset path — namespace/version/short_name (e.g. lgbt_rights/2026-05-11/lgbti_national_policy_dataset). Used to query the staging DB for the affected variables and to construct admin URLs.

  2. Staging site URL — read from OWID_ENV.site (run from etl.config import OWID_ENV; print(OWID_ENV.site)), or infer from the current git branch (staging-site-<branch>).

  3. Reviewer handle — Slack handle for a Slack post, or GitHub username for a PR comment. Check workbench/<dataset>/ for prior drafts to confirm.

  4. What's changed since the last round — concise list of indicator-level changes since the previous message: new indicators built, categories renamed or collapsed, alternative versions added, decisions taken. Tip: git log --oneline <since> plus the latest commit messages.

  5. One or two open design questions — choices the reviewer needs to weigh in on (label wording, schema A vs B, include or skip a category, etc.). If there's nothing actionable for them, the message isn't ready.

  6. Chart Diff URL — the wizard chart-diff for this branch, pre-filtered to the view the reviewer needs:

    http://staging-site-<branch>/etl/wizard/chart-diff?show_reviewed=&show-narrative-charts=False&show-article-citations=False

    The three query params are:

    • show_reviewed= (empty value) — keeps already-reviewed charts visible. Without it, the page hides them by default, which can make the diff list look empty after the reviewer's first pass and surprise them.
    • show-narrative-charts=False — hides charts that are parents of narrative charts. They show in their own grouped section by default; for a topic-owner pass we usually want the flat list.
    • show-article-citations=False — hides the article-citation list under each chart. Useful in the dense first pass; switch back on when the reviewer wants to weigh chart-impact.

Output structure

Write the draft to workbench/<dataset>/<reviewer-slug>-update-<N>.md, picking a short reviewer slug (their first name, GitHub handle, or "reviewer" if it's ambiguous). Keep it short — ideally under ~600 words. Four sections:

1. Greeting + status one-liner

Friendly and brief. Examples:

  • Hi @<handle>! Quick update on where we are:
  • Hi @<handle>! Reposting with the latest staging changes — here's where we landed:
2. What's changed

Group indicator changes by type for scannability. Each group is a short bold heading + a bullet list of indicators with markdown links to the staging admin pages. Headings should reflect what's actually in this round — pick whatever buckets make the changes easy to read. Examples from past rounds: "New indicators", "Renamed categories", "Alternative versions to pick between", "Dropped indicators", "Existing indicators kept as-is". Skip groups that don't apply. If there's only one kind of change, a single flat list (no headings) is fine.

Each bullet uses the staging admin variable URL format:

http://staging-site-<branch>/admin/variables/<id>

Markdown link example:

markdown
- [Same-sex sexual acts](http://staging-site-data-lgbti-policy-v2/admin/variables/1229636) — 5 categories incl. "Criminalized but not enforced"

Get IDs from staging:

bash
make query SQL="SELECT id, shortName FROM variables WHERE catalogPath LIKE 'grapher/<namespace>/<version>/<short_name>/<table>%'"
3. Open questions / things to discuss

Numbered list. Each question is short. When a question has multiple options for the reviewer to pick between, use a markdown table showing what each option produces (categories, counts, downstream effect). Example shape:

markdown
**1. Mixed enforcement category — keep or fold?**

| Option | Categories | Count |
|---|---|---|
| A | 5 (incl. "Banned but not enforced") | 71 countries with the new tier |
| B | 4 (folds enforcement back into "Banned") | cleaner legend |

Lean toward A — it surfaces the recent US 2025 story.

If a question is closed (yes/no), just ask it directly without the table.

4. CTA — Chart Diff sign-off

Single closing paragraph. Asks the reviewer to look at the Chart Diff for any tweaks they want — FAUST text, colors, sort order, charts to add or drop. End with what unblocks the merge:

Once you sign off there and pick X, I'll do Y and we can move to merge.

Show full SKILL.md (550 more words)Show less

Style guide

  • Conversational, short paragraphs, no jargon the reviewer wouldn't know.
  • No emojis unless the user explicitly requests them.
  • All links cited inline as markdown — no bare URLs anywhere. Long staging admin URLs especially.
  • Acknowledge corrections explicitly when the reviewer flags something we missed: "Good catch — I had forgotten X. Done now." Keeps trust through iteration.
  • Multi-option comparisons go in markdown tables, not bullet lists — the reviewer needs to weigh trade-offs at a glance.
  • When in doubt about whether to make a code change, propose it in the message and ask before doing it. Don't surprise the reviewer with changes they didn't ask for.
  • Don't use "chart" as a verb. "We haven't built a chart for it yet" reads natural; "we haven't charted it yet" doesn't.
  • Avoid "mock up" when offering to build a quick exploratory chart for the reviewer. "Happy to build one" lands the offer without the throwaway tone.
  • Don't pin the dataset name to a version date. "X 2026-05-14 update" reads stiff. Prefer "X update" or "latest X update" — the date sits in the PR / commit log where it belongs.
  • Don't reference the PR number in the body of a message that's being posted as a PR comment. The PR is implicit context; calling it out again ("on PR #6123") makes the prose read like an internal status report rather than a conversational ping.

What NOT to put in the message

  • Snake_case column names or internal slugs unless the reviewer is technical and asked to see them.
  • Long YAML or code blocks — link to the file in GitHub instead.
  • "We should probably do X" speculation — frame as a question or a proposed option with trade-offs.
  • Internal-team jargon (CI run names, PR numbers without context, etc.).

Iteration pattern across rounds

Each round of the back-and-forth has a slightly different shape. A typical sequence:

  • Round 1 — first update: The opening message after a substantial garden + grapher landing. Long-ish: lists all indicators by group, surfaces the headline open questions, links to Chart Diff. Establishes the design framing.
  • Round 2 — reply to their feedback: Point-by-point response to the reviewer's comments. Mirrors the reviewer's numbering. Owns mistakes, proposes options.
  • Round 3 — status check-in / pick a winner: Shorter. Confirms what's landed, surfaces 1–2 remaining picks (often via a two-option pick: "version A or version B?"). Asks for Chart Diff re-pass.
  • Round N — Sign-off and merge prep (last round): Confirms reviewer's picks are landed, links Chart Diff one more time, asks for final go-ahead.

Examples

Canonical drafts from the LGBTI v2 redesign cycle (PR #6110) live under workbench/lgbti_national_policy_dataset/ — ls that directory for files matching *-update-*.md and *-reply-*.md. The set covers:

  • A full first-round update with grouped indicator lists, three open questions with option tables, and a Chart Diff CTA.
  • A point-by-point reply to a numbered list of reviewer questions.
  • A short status check-in with a two-option pick (e.g. "version A or version B?") and a Chart Diff re-pass CTA.

Read these before drafting a new round for a different dataset — the patterns transfer.

Artifacts

  • workbench/<dataset>/<reviewer>-update-<N>.md — the draft, ready to paste into Slack or a GitHub PR comment.

Cross-references

  • update-dataset — for the upstream pipeline work that produces the changes being reported here.
  • draft-data-update-slack-post — for the canonical comms-manager-facing Slack announcement once everything is merged.
  • check-chart-preview — for visually verifying a chart on staging before sending the message.

© owid, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .claude/skills/report-indicator-changes of owid/etl.

Open the folder on GitHubat commit 69ab20e

Compare with similar skills

Report Indicator Changes next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Report Indicator Changes compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Report Indicator Changes this skillowid/etl158—~2.6kAutomated safety check: PassMIT
Token Meter Communicationsplunk/token-meter110—~1.1kAutomated safety check: PassMIT
Async Communication Etiquetteaiming-lab/MetaClaw3.5k—~224Automated safety check: PassMIT
Token Meter Intakesplunk/token-meter110—~1.4kAutomated safety check: WarnMIT
Qv PR Minetetherto/qvac674—~1.2kAutomated safety check: PassApache-2.0
ComposioComposioHQ/composio30k1 repos~1.7kAutomated safety check: PassMIT

Similar skills

  • Token Meter Communication

    splunk/token-meter

    A skill your agent uses when a Token Meter task will produce Slack, GitHub, release, contributor, or user-facing status communication.

    110 GitHub stars~1.1k tokensUpdated today
    AI & LLM EngineeringAuto-check passed
  • A skill your agent uses when writing messages in async channels (Slack, GitHub issues, email threads) where the reader may not have context and cannot ask follow-up questions immediately.

    3.5k GitHub stars~224 tokensUpdated 4 mo ago
    AI & LLM EngineeringAuto-check passed
  • Token Meter Intake

    splunk/token-meter

    A skill your agent uses when a Token Meter Slack or GitHub request needs contextual intake, clarification, triage, acknowledgment, or closure.

    110 GitHub stars~1.4k tokensUpdated today
    AI & LLM EngineeringAuto-check: warnings
  • Qv PR Mine

    tetherto/qvac

    Show the current user's open PRs across every pod registered under .github/teams/, grouped by merge readiness, with copy-paste Slack ping messages routed to the owning pod's team.

    674 GitHub stars~1.2k tokensUpdated today
    AI & LLM EngineeringAuto-check passed
  • Composio

    ComposioHQ/composio

    Route and complete Composio work across Composio For You and Composio Platform.

    30k GitHub starsUsed in 1 repo~1.7k tokens
    Productivity & AutomationAuto-check passed
  • Remove bracketed NemoClaw tags from GitHub issue and PR titles.

    23k GitHub stars~693 tokensUpdated today
    Marketing & SEOAuto-check passed

More from owid/etl

All 35 skills in this repo
  • Find every OWID surface that references a chart, indicator, MDIM, or explorer — articles (links vs embeds), explorers, narrative charts, data insights, static viz, key-chart slots, MDIM views.

    158 GitHub stars~4.9k tokensUpdated today
    Auto-check passed
  • Add a scatter view (with GDP per capita on x) to existing OWID charts via the admin API, mirroring the admin UI's "Add scatter type" defaults, then retire the old standalone "X vs.

    158 GitHub stars~19k tokensUpdated today
    Auto-check passed
  • Add new survey question codes (e.g. An agent skill from owid/etl.

    158 GitHub stars~11k tokensUpdated today
    Auto-check: notes
  • Build or refresh an OWID static visualization end to end — resolve what data it needs from an old static viz image, an indicator, or a grapher chart; check both the ETL catalog and the producer's…

    158 GitHub stars~8.3k tokensUpdated today
    Auto-check passed
  • Propose redirects from (soon-to-sunset) grapher charts to the matching views of published MDIMs.

    158 GitHub stars~9.6k tokensUpdated today
    Auto-check: notes
  • Take (soon-to-sunset) OWID explorers to redirected MDIMs, end to end.

    158 GitHub stars~7.3k tokensUpdated today
    Auto-check: notes

Works with

Questions about Report Indicator Changes

What does Report Indicator Changes do?

Draft a short update message to a topic-owner reviewer after landing substantial dataset or chart changes on staging. Report Indicator Changes is an agent skill from owid/etl. Draft a short update message to a topic-owner reviewer after landing substantial dataset or chart changes on staging.

When should I use Report Indicator Changes?

Report Indicator Changes fits situations like: data & Analytics work in your project.

How do I install Report Indicator Changes in Claude Code?

Run `npx skills add owid/etl --skill report-indicator-changes -a claude-code`. Or copy the skill folder (.claude/skills/report-indicator-changes in owid/etl) into .claude/skills/report-indicator-changes in your project. Claude Code loads it when a task matches its description.

How do I install Report Indicator Changes in Codex?

Run `npx skills add owid/etl --skill report-indicator-changes -a codex`. Or copy the skill folder (.claude/skills/report-indicator-changes in owid/etl) into .agents/skills/report-indicator-changes in your project. Codex loads it when a task matches its description.

Can I use Report Indicator Changes in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add owid/etl --skill report-indicator-changes -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/report-indicator-changes, .gemini/skills/report-indicator-changes, .github/skills/report-indicator-changes and .opencode/skills/report-indicator-changes in your project.

What does Report Indicator Changes need to run?

Going by SKILL.md and its folder, Report Indicator Changes needs the command-line tools its instructions call (make and git).

Does Report Indicator Changes access the network?

SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Report Indicator Changes safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Report Indicator Changes use?

Report Indicator Changes is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Report Indicator Changes use?

About 2.6k tokens (SKILL.md is roughly 10k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Report Indicator Changes?

Skills that share tags, products or a category with Report Indicator Changes: Token Meter Communication (splunk/token-meter, 110 stars), Async Communication Etiquette (aiming-lab/MetaClaw, 3.5k stars), Token Meter Intake (splunk/token-meter, 110 stars) and Qv PR Mine (tetherto/qvac, 674 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Report Indicator Changes?

owid (a GitHub organization) maintains it in owid/etl, which has 158 GitHub stars. The repository holds 35 skills in this directory. The repository was last updated on October 7, 2026.

Source: owid/etl on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.