本文へ移動
cccskills
無料GitHub で公開

update-recipes

Refresh the ReadMe contributor recipes (code tabs, line highlights, and prose) after frontend changes land on main. Runs scripts/readme_recipes/sync_recipes.py, then scans recipe prose against the merged diff. Called by /merge after frontend PRs; also usable standalone via /update-recipes [PR number].

日本語の概要は準備中です。原文の説明を表示しています。

SatcherInstitute/health-equity-trackerスター 23(GitHub 23 + cccskills 0)
連携ツールGitHub

実行スコア 未検証

インストール方法を見る

含まれるファイル(1)

  • SKILL.md4.4 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

/update-recipes

The recipes on healthequitytracker.readme.io quote real source files and go stale silently. This skill keeps their code tabs and highlights in sync mechanically and flags prose that needs a human decision.

The optional argument is a merged PR number (e.g. /update-recipes 5250). With no argument, use the latest commit on local main.


Step 1: Decide whether to run

Get the changed paths:

gh pr view <number> --json files --jq '.files[].path'   # with a PR number
git show --name-only --format= HEAD                      # without

Skip the skill with a one-line note unless a path starts with frontend/src/ or frontend/.env. Also skip with a note if README_API_KEY is unset after source ~/.zshenv (never print it).

Local main must be at the merge commit so the script reads the merged code. /merge guarantees this in its Step 4; standalone, verify all three conditions and stop if any fails, since a wrong-branch or dirty checkout would publish recipes from unmerged code:

git fetch origin main
BRANCH=$(git rev-parse --abbrev-ref HEAD)                # must equal "main"
STATUS=$(git status --porcelain)                         # must be empty
LOCAL_SHA=$(git rev-parse HEAD)
MERGE_SHA=$(gh pr view <number> --json mergeCommit --jq '.mergeCommit.oid')
[ "$BRANCH" = "main" ] && [ -z "$STATUS" ] && [ "$LOCAL_SHA" = "$MERGE_SHA" ] \
  || { echo "Refusing to sync: not on clean main at merge commit ($BRANCH, dirty=$([ -n "$STATUS" ] && echo yes || echo no), local=$LOCAL_SHA vs merge=$MERGE_SHA)"; exit 1; }

Step 2: Sync tabs and highlights

source ~/.zshenv && python3 scripts/readme_recipes/sync_recipes.py check
  • Exit 0: recipes are current.
  • Exit 1 (drift): only code tabs or line highlights changed, which is mechanical. Run python3 scripts/readme_recipes/sync_recipes.py push and report which recipes moved.
  • Exit 2 (anchor error or unexpected recipe shape): a symbol or file the recipes point at was renamed or removed, or a live recipe no longer matches recipes.json. Do not push. Tell the user which recipe broke and offer a follow-up PR that updates scripts/readme_recipes/recipes.json.
  • Exit 3 (API error or no key): the check did not complete. Do not push; report the error and move on.
  • Exit 4 (bad command line): you mistyped the invocation; fix it and rerun.

Pass a slug as a second argument (check <slug>) to limit the run to one recipe.


Step 3: Scan recipe prose

The script never touches step titles or bodies. Map the changed paths (relative to frontend/src/) to recipes:

Changed pathRecipe slug
data/loading/DataSourceConfigs.ts, data/loading/VariableProviderMap.tssetting-up-a-new-data-provider
data/providers/*.test.tscreating-test-cases-for-the-new-data-provider
data/config/MetricConfig*.ts, charts/mapGlobals.tssetting-up-the-metric-configuration
data/config/DatasetMetadata*.ts, data/config/MetadataMap.tsupdating-metadata-configuration-for-new-dataset-integration
utils/MadLibs.tsupdating-the-madlibs-configuration-for-new-dataset-integration
featureFlags.ts, frontend/.env.*merging-behind-a-feature-flag

For each mapped recipe, fetch it (GET https://api.readme.com/v2/branches/1.0/recipes/<slug> with Authorization: Bearer $README_API_KEY and a User-Agent header, since the default Python one gets a 403) and check whether any step title or body names a file, symbol, path or behavior the change removed or altered. If so, show the user the proposed wording and ask before PATCHing. The whole content object must be sent back, so change only the step title/body fields you mean to.


Step 4: Report

One line: Recipes: <current/pushed (which)/skipped/needs recipes.json update/prose flagged>.


Notes

  • scripts/readme_recipes/recipes.json declares which source files each recipe quotes and which text anchors drive the highlights. Adding a recipe means adding an entry there.
  • The recipes are external to the repo and nothing fails when they go stale, so this skill is the only safety net.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

コメント

ログインなしで書き込めます。使ってみた感想、質問、動かなかった環境などを気軽にどうぞ。

まだコメントはありません。最初のコメントを書いてみませんか。

送信するとすぐに公開されます。メールアドレスや電話番号などの個人情報は書かないでください。URL は 2 つまでです。

0 / 1000 文字

このフォームは reCAPTCHA で保護されており、Google のプライバシーポリシーと利用規約が適用されます。

同じリポジトリのスキル

Force-push the current branch to infra-test to trigger a GCP deploy, wait for it to complete, then run each associated DAG pipeline one at a time and wait for each to finish. On full success, updates the PR description with a checklist confirming real GCP infra-test results. Use when the user wants to verify backend changes on the test environment before merging, or run /infra-test.

日本語の概要は準備中です。原文の説明を表示しています。

SatcherInstitute/health-equity-tracker232026年10月24日 更新

merge

無料

Force-merge an open PR to main (bypassing review requirements), delete the local branch, pull the updated main, and push it to the personal fork remote. Use when the user wants to close out a PR without waiting for review, or run /merge.

日本語の概要は準備中です。原文の説明を表示しています。

SatcherInstitute/health-equity-tracker232026年10月24日 更新

next

無料

Figure out the best new thing to work on. Pulls open items from the GitHub project board, weighs assignment and labels, then prioritizes cleanly closeable scoped work and issues that would wrap up a milestone. Use when the user wants to know what to work on next, or run /next.

日本語の概要は準備中です。原文の説明を表示しています。

SatcherInstitute/health-equity-tracker232026年10月24日 更新

pr

無料

Polish an open PR for review. Classify the diff by bucket (frontend / python / go) and run only the relevant checks — Biome+tsc+Playwright for frontend, black+pylint+pytest for python, build+test for go. Address open review comments, update CLAUDE.md docs if stale, rewrite the PR title and description, then watch CI until all checks pass (diagnosing and reporting any failures). Use when the user wants to close out a PR, verify it's ready for review, or run /pr.

日本語の概要は準備中です。原文の説明を表示しています。

SatcherInstitute/health-equity-tracker232026年10月24日 更新

Summarize what's new on dev since the last release and investigate for footguns — config/infra changes, breaking changes, anything that could bring down production. Use before cutting a release, or run /pre-release.

日本語の概要は準備中です。原文の説明を表示しています。

SatcherInstitute/health-equity-tracker232026年10月24日 更新

release

無料

Cut a new production release — pre-flight checks, auto-increment tag, publish GitHub release, monitor prod deploy, verify prod loads, targeted Playwright smoke tests, then trigger nightly E2E. Use when the user wants to ship a release or run /release.

日本語の概要は準備中です。原文の説明を表示しています。

SatcherInstitute/health-equity-tracker232026年10月24日 更新

SatcherInstitute のスキルをすべて見る

このスキルの問題を報告する