CtrlK
BlogDocsLog inGet started
Tessl Logo

gh-credit-harvest

Harvest one community PR into a release branch with authorship and credit preserved, verified green, and a warm thank-you.

68

Quality

83%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Low

Low-risk findings worth noting

SKILL.md
Quality
Evals
Security

gh-credit-harvest

Harvest exactly one community PR into the real landing branch with full authorship and machine-readable credit, verified green, then thank the contributor. A PR is evidence: judge it from code, tests, comments, and checks, never the title. Do not merge, close, tag, or publish without Hunter's approval — this skill lands a credited commit and posts thanks; the workflow closes the PR.

When to use

  • You have approval to land ONE specific community PR into a release branch.
  • The PR is not yet on the landing branch (if it is, close-with-credit instead — see gh-close-issues).
  • The landing branch may be local-only (e.g. <release-branch>); a main-based "mergeable" flag does not prove it lands cleanly.

Workflow

  1. Find the real landing branch (the one Hunter named, not always main) and fetch the PR head:
    git switch <release-branch>
    git fetch origin pull/<N>/head
    git log -1 --format='%H %an <%ae>' FETCH_HEAD   # author to preserve
  2. Review from evidence, not the title. Read the diff, tests, linked issue, comments, and CI:
    gh pr view <N> --repo Hmbown/CodeWhale --json title,author,files,statusCheckRollup
    gh pr diff <N> --repo Hmbown/CodeWhale
  3. Test mergeability against the REAL landing branch (local-only branches lie via the main flag):
    git merge-tree $(git merge-base HEAD FETCH_HEAD) HEAD FETCH_HEAD   # empty/clean = no conflict
  4. Land it, preferring cherry-pick — it preserves the original author automatically:
    git cherry-pick <sha>            # one or more commits from FETCH_HEAD
  5. If it conflicts, spans noise, or needs squashing, re-apply the narrow slice and commit with explicit author + credit trailers. Resolve --author and the co-author from .github/AUTHOR_MAP (fall back to numeric noreply):
    gh api users/<handle> --jq '"\(.id)+\(.login)@users.noreply.github.com"'
    git commit --author="Name <ID+handle@users.noreply.github.com>" -m "fix(scope): what changed (#<N>)" \
      -m "Harvested from PR #<N> by @<handle>" \
      -m "Co-authored-by: Name <ID+handle@users.noreply.github.com>"
    The Harvested from PR #<N> by @<handle> line in the body is what .github/workflows/auto-close-harvested.yml matches to auto-close with credit once the commit reaches main.
  6. Format and run the focused tests for the touched crate — only land green:
    cargo fmt --all
    cargo test -p <crate>            # the crate(s) the PR touched, not the whole workspace
    python3 scripts/check-coauthor-trailers.py --author-map .github/AUTHOR_MAP --range HEAD~1..HEAD --check-authors
  7. Post a brief, warm, specific thank-you on the PR — name what the change fixed, no drama. Leave the PR open; the workflow closes it with credit when the commit lands on main:
    gh pr comment <N> --repo Hmbown/CodeWhale \
      --body "Thank you @<handle> — clean fix for <the specific bug>. Harvested into the v0.8.61 lane with your authorship preserved; it'll auto-close with credit once it reaches main."

Grounded example: PR #3221 by @hongchen1993 (honour DEEPSEEK_BASE_URL/DEEPSEEK_MODEL in exec) cherry-picks cleanly, so its author is preserved with no manual trailers; a focused cargo test -p on the touched crate is enough to land it green.

Red flags / don't

  • Don't judge or land from the title or labels alone — read code, tests, comments, and checks.
  • Don't trust the GitHub main-based mergeable flag for a local-only release branch; prove it with git merge-tree.
  • Don't squash away the original author. Cherry-pick when you can; only fall back to --author + trailers when you must.
  • Don't invent co-author emails. Use .github/AUTHOR_MAP, then numeric noreply; never raw third-party, .local, placeholder, or bot emails.
  • Don't omit the Harvested from PR #<N> by @<handle> body line — without it the PR won't auto-close with credit.
  • Don't land red, harvest more than one PR per commit, or batch unrelated changes into the harvest.
  • Don't merge, close, tag, publish, or push release artifacts without Hunter's approval. Keep the comment positive and crediting.
  • Already on the landing branch? Don't re-harvest — close-with-credit via gh-close-issues.
Repository
Hmbown/CodeWhale
Last updated
First committed

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.