Repository navigation
perf(contributor-growth): split committer-onboarding, rewire activity-sweep, tighten wording - #1548
Merged
Merged
Conversation
…r-metrics activity-sweep built its counts from four hand-written GitHub searches, each writing its query to /tmp, and read raw review bodies into context to judge substantive reviews. It now runs the family's cached contributor-metrics fetch once and reads the raw counts, merge rate and timeline from score. The card's rows, sections and wording are unchanged, and no titles, bodies or comment text reach the skill any more. To keep the card's numbers on its own definitions, the tool gains three small options: - fetch --since YYYY-MM-DD, for windows trimmed to a repository's creation date, which are not a whole number of months; - fetch --substantive-body-chars / --substantive-line-comments, so the card keeps its "body over 50 characters or 3+ inline comments" rule while the nomination skills keep the 100 / 1 default (part of the cache key only when changed, so existing caches stay valid); - score --timeline-kinds, so the card's timeline combines its four streams without the issues-triaged threads it does not show. Generated-by: Claude Opus 5
…nd intake model SKILL.md carried every branch for all three governance models (asf-pmc, github-codeowners, maintainer-roster) and all three IP intake models (icla, dco, no-cla), though a run only ever uses one of each. Move each model's blocks, byte for byte, into one sibling per model under detail/ -- the Step 0 vote bar, Step 1c account request, Step 3 access checklist and Step 4 summary example for a governance model; the Step 1a check for an intake model -- and leave a pointer at each spot saying only the configured model's file is read. Text shared by every model stays in SKILL.md. SKILL.md drops from 780 to 477 lines and from 8,042 to 5,198 measured tokens, clearing the 500-line validator warning. The only edits inside moved text are three relative link targets (detail/email-templates.md, detail/karma-grant.md) rewritten to resolve from detail/. The eval step-configs pull the new files in via also_include so the extracted prompts keep the moved text. The vendor-neutrality scorer reads SKILL.md only, so with the gh recipes now under detail/ it rates the skill capability-pure; docs/vendor-neutrality.md is regenerated to match. Generated-by: Claude Opus 5
Fold the description into one sentence and drop the when_to_use
connective text ("Trigger phrases:", "Also appropriate immediately
after ... when the user asks"), keeping every quoted trigger phrase
and the contributor-nomination follow-on, and stating the skip
condition explicitly: not while the vote is still open.
description + when_to_use go from 819 to 635 frontmatter characters
(about 205 to 159 tokens at chars/4).
Generated-by: Claude Opus 5
Wording pass on committer-onboarding and its detail files, with the maintainer approving the style: restated detail cut in favour of a pointer to its source, caveats merged with their action, imperative voice, semantic line breaks. Headings, code fences, templates, field names, thresholds and every gate are unchanged. Generated-by: Claude Opus 5
…ep-1 eval output - governance-asf-pmc said a new PMC member cannot self-subscribe to private@, contradicting karma-grant: they subscribe via Whimsy or private-subscribe@ and a moderator approves. - The asf-pmc completion example listed a manual GitHub org invite, which the checklist says the flow does not have; it now shows the automatic gitbox access. - The step-1 eval graded fields from JSON but never asked for JSON, so most cases errored on a prose answer. Its prompt now asks for one JSON object, and its extraction includes the email templates. Generated-by: Claude Opus 5
This was referenced Oct 6, 2026
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
A second optimize-skill sweep of the contributor-growth family, after #1481–#1489.
Of the nine skills, only
committer-onboardingwas over both budgets, andactivity-sweepstill wrote its own GitHub queries.One pass per commit:
contributor-metrics/tmp) replaced by one cachedcontributor-metrics fetch+score. Body 3,569 → 3,361 tokens.detail/; only the configured model's file is read. 780 → 477 lines (clears the 500-line cap).description+when_to_use~205 → ~159 tokens, paid in every session; every trigger phrase kept, skip condition made explicit.committer-onboarding overall: body 8,042 → 4,722 tokens and 780 → 364 lines; a default asf-pmc + icla run loads about 6.7k tokens with its two model files, other models less.
activity-sweep counting
Counts now come from
contributor-metrics, dated by the contributor's own activity like the rest of the family: reviews by review date (was PR creation), threads only when the contributor's own comment is in the window (was any thread updated in it), and an inclusive window start.These are corrections, not regressions.
contributor-metricsgainsfetch --since, adjustable substantive-review thresholds (activity-sweep keeps its own: body over 50 characters or at least 3 inline comments), andscore --timeline-kinds, with tests and README.The model no longer sees review titles, bodies or comment text — links, dates, counts and flags only.
Fixes
governance-asf-pmc.mdsaid a new PMC member cannot self-subscribe to private@, contradictingkarma-grant.md: they subscribe via Whimsy orprivate-subscribe@, and a moderator approves.Testing
tools/contributor-metricspytest (54, 5 new), ruff, mypy.prek run --all-filesgreen.Gen-AI disclosure: prepared with the assistance of Claude Code (Claude Opus 5); reviewed by the author.
🤖 Generated with Claude Code