跳到正文
cccskills
免费在 GitHub 公开

tackle

Start work on a GitHub issue - assign it, move it to In Progress on the project board, branch from clean main, scan for related issues/PRs and sibling codebase patterns to replicate, then begin implementation directly with no confirmation gate. Use when the user says "work on

中文简介正在准备中。当前显示原文说明。

SatcherInstitute/health-equity-tracker星标 23(GitHub 23 + cccskills 0)
集成工具GitHub

实测评分 未实测

查看安装方法

包含的文件(1)

  • SKILL.md6.3 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

/tackle

Start work on a GitHub issue end to end: assign, move to In Progress, branch, gather context, then implement. This skill does not pause for plan approval — Step 5 goes straight into implementation.

The user passes an issue number (e.g. /tackle 5124). If none is given, ask which issue.


Step 1 — Precondition check

git status --porcelain
git branch --show-current

If the working tree is dirty: stop and ask whether to commit or stash before switching branches. Never discard uncommitted work silently.

If the current branch has an open PR against it, note that briefly — the user may want to finish it first — but don't block on it unless the tree is dirty.


Step 2 — Fetch the issue

gh issue view <number> --json id,number,title,body,labels,milestone,comments,state,assignees

If state is not OPEN: stop and tell the user.

Read the full body and all comments, not just the title — scope and constraints often live in a comment thread, not the original body.


Step 3 — Assign and move to In Progress

Always assign immediately, without asking:

gh issue edit <number> --add-assignee @me

Move the board status to In Progress. This repo's project board is SatcherInstitute org project number 5 (id PVT_kwDOBCaVcM4BeXhW), Status field id PVTSSF_lADOBCaVcM4BeXhWzhYyS0g, "In Progress" option id 47fc9ee4.

These project/field/option IDs are duplicated verbatim in /merge (Step 6) and /pr (Step 6). If the board is ever recreated, update all three skills.

ISSUE_NODE_ID=$(gh issue view <number> --json id -q .id)

# Find the existing project item id, if the issue is already on the board
ITEM_ID=$(gh api graphql -f query='
{
  organization(login: "SatcherInstitute") {
    projectV2(number: 5) {
      items(first: 100) {
        nodes { id content { ... on Issue { number } } }
      }
    }
  }
}' -q ".data.organization.projectV2.items.nodes[] | select(.content.number == <number>) | .id")

# Not on the board yet — add it
if [ -z "$ITEM_ID" ]; then
  ITEM_ID=$(gh api graphql -f query="mutation { addProjectV2ItemById(input: { projectId: \"PVT_kwDOBCaVcM4BeXhW\" contentId: \"$ISSUE_NODE_ID\" }) { item { id } } }" -q .data.addProjectV2ItemById.item.id)
fi

gh api graphql -f query="mutation { updateProjectV2ItemFieldValue(input: { projectId: \"PVT_kwDOBCaVcM4BeXhW\" itemId: \"$ITEM_ID\" fieldId: \"PVTSSF_lADOBCaVcM4BeXhWzhYyS0g\" value: { singleSelectOptionId: \"47fc9ee4\" } }) { projectV2Item { id } } }"

If the GraphQL calls fail (e.g. permissions), don't block the rest of the skill on it — note the failure and continue.


Step 4 — Branch from clean main

git fetch origin main --quiet
git checkout -b <type>/<slug> origin/main

Derive <type> from the issue's labels: bug → fix, enhancement/feature request → feat, otherwise chore. Derive <slug> from the issue title (kebab-case, trimmed to ~5 words).

Never branch from whatever happens to be checked out — always cut from origin/main directly, per this repo's branch discipline.


Step 5 — Gather context, then implement directly

No pause for confirmation here — do the research, then go straight into writing code. Summarize findings in 2-3 sentences before diving in, not a full report.

Related issues and PRs:

gh issue view <number> --json body -q .body | grep -oE '#[0-9]+'   # explicit "Related: #NNNN" links in the body
gh search issues "<keyword from title>" --repo SatcherInstitute/health-equity-tracker --state all
gh search prs "<keyword from title>" --repo SatcherInstitute/health-equity-tracker --state merged
git log --oneline --all --grep="<keyword from title>"

Specifically check whether this issue is a promised follow-up from a prior PR — search merged PR bodies for "deferred", "follow-up", or "scoped out" plus the topic keyword. If found, that PR is the canonical pattern to replicate; read it in full (gh pr view <N> --json body,files and read the changed files at their current state, not the diff).

Sibling code patterns: if the issue is "add X to topic A" and topic A has siblings that already do X (e.g. suppression detection landed on WISQARS/cancer before HIV), read those sibling files in full before writing anything. The right shape is almost always copy-and-adapt from the most recent sibling implementation, not invent-from-scratch — recent siblings encode lessons (like the WISQARS implicit-merge-key issue) that older ones don't.

Situational flags — mention inline if applicable, don't stop for them:

  • If the issue touches a skill file or CLAUDE.md: that work must ship as its own PR, on a branch cut from clean main, separate from any other change.
  • If the issue mentions data being "stale" or "old": multi-year public health data lag is normal, not a defect — confirm against the source's actual release cadence before treating it as a bug.
  • If the issue is security-adjacent: this repo is public; frame the work and any issue/PR text as neutral hardening, not a vulnerability disclosure.
  • If the issue mentions "prod": merging to main deploys to dev only; prod requires an explicit release cut (/release). Don't imply a merge here ships to production.
  • If you land on a genuine design decision or a "revisit later" note while implementing: put it in the issue or PR body as a comment, not in local memory — GitHub is the durable record for project decisions.

Then implement. Use TaskCreate/TaskUpdate to track multi-step implementation work if it has more than a couple of discrete pieces.


Notes

  • This skill assigns and moves the board status unconditionally — that's the explicit point of running it. Don't ask permission for those two actions.
  • Step 5's research is not optional even for small-looking issues — the sibling-pattern check is what prevents reinventing conventions that already exist elsewhere in the codebase.
  • Do not open a PR as part of this skill. That's /pr's job, once the implementation is ready.

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。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 的全部技能

报告此技能的问题