Skip to content

Optimize the contributor-growth skill family #1348

Description

@potiuk

Part of #1342 — apply the setup-family optimization recipe to the contributor-growth family.

6 skills, 28,197 body tokens in total; 3 over the 200-token always-on budget, 1 over the 5,000-token body budget.

skill body tokens (budget 5,000) always-on tokens, est. (budget 200) lines (cap 500)
contributor-sentiment 4,726 ~233 ⚠ 463
onboarding-concierge 3,374 ~267 ⚠ 318
contributor-activity-sweep 3,323 ~203 ⚠ 366
committer-onboarding 7,310 ⚠ ~164 712 ⚠
contributor-nomination 4,761 ~179 461
contributor-to-committer 4,703 ~185 505 ⚠

Body tokens are from docs/mode-economics.md; always-on figures are a chars ÷ 4 estimate of description + when_to_use. ⚠ marks a budget exceeded. Line counts include the generated pre-flight block.

Order of work (per the umbrella):

  1. Trim the frontmatter of every skill marked ⚠ in the always-on column.
  2. Split any over-cap body, moving sub-action-specific rules into sibling files byte-for-byte.
  3. Wording pass on the rest, with headings, golden-rule headlines, code blocks and the pre-flight block kept byte-identical.
  4. Run each touched skill's eval suite before and after, outside the sandbox.

Record any inconsistencies found but not fixed (eval-coupled wording, stale headings) in the PR description.

Activity

  1. Kaap10 commented on Oct 1, 2026

    @Kaap10
    Contributor

    Hi @potiuk

    I'd like to pick up #1348 and optimize the contributor-growth skill family following the #1342 recipe.

    To keep reviews atomic and bite-sized, I plan to break the work into focused PRs:

    Phase 1: Always-On Frontmatter Trimming (Priority 1 — Target $\le 200$ tokens)

    • PR 1: onboarding-concierge (~275 tokens ⚠ $\rightarrow \le 200$)
    • PR 2: sentiment (~241 tokens ⚠ $\rightarrow \le 200$)
    • PR 3: activity-sweep (~209 tokens ⚠ $\rightarrow \le 200$)

    Phase 2: Body Budget Trimming (Target $\le 5,000$ tokens)

    • PR 4: contributor-to-committer (5,741 tokens ⚠ $\rightarrow \le 5000$)
    • PR 5: nomination (5,610 tokens ⚠ $\rightarrow \le 5000$)

    For every PR, all quoted routing triggers, confirmation gates, byte-identical headings/golden rules, and eval fixtures will be strictly preserved, with measured_tokens stamps updated.

  2. Kaap10 commented on Oct 2, 2026

    @Kaap10
    Contributor

    Phase 1 Progress Update (Always-On Frontmatter Trimming)

    Phase 1 is complete — all 3 target skills are now trimmed well below the $\le 200$ token budget with routing triggers fully intact:

    Skill PR Before After Savings
    onboarding-concierge #1481 ~275 tokens ~133 tokens -51.7%
    sentiment #1482 ~241 tokens ~131 tokens -45.6%
    activity-sweep #1483 ~209 tokens ~111 tokens -46.8%

    Outcome: Saved ~350 always-on tokens, reducing magpie-contributor-growth footprint from ~0.7k to ~0.6k.

  3. Kaap10 commented on Oct 2, 2026

    @Kaap10
    Contributor

    Phase 2 Progress Update (Skill Body Budget Optimization)

    Phase 2 is now complete - both over-budget skills in magpie-contributor-growth have been trimmed well below the $\le 5,000$ token ceiling with zero behavioral changes, all companion references intact, and structural surface hashes reconciled:

    Skill PR Before After Savings Ceiling Status
    contributor-to-committer #1487 ~5,741 tokens 4,592 tokens -20.0% (-1,149 tokens) ✅ $\le 5,000$
    nomination #1489 ~5,610 tokens 4,471 tokens -20.3% (-1,139 tokens) ✅ $\le 5,000$
  4. Kaap10 commented on Oct 5, 2026

    @Kaap10
    Contributor

    The optimization recipe for the contributor-growth skill family is fully delivered and merged:

    Phase 1: Always-On Frontmatter Trimming ($\le 200$ tokens)

    Phase 2: Skill Body Budget Trimming ($\le 5,000$ tokens)

  5. potiuk commented on Oct 6, 2026

    @potiuk
    MemberAuthor

    Closing: the contributor-growth optimization is complete. Summary of everything that landed:

    Phase 1 — always-on frontmatter (≤ 200 tokens) — thanks @Kaap10

    Phase 2 — body budget (≤ 5,000 tokens) — thanks @Kaap10

    Phase 3 — second sweep (#1548)

    • committer-onboarding: split per governance model (asf-pmc / github-codeowners / maintainer-roster) and IP-intake model (icla / dco / no-cla) into detail/, so only the configured model's text is read; routing metadata trimmed; maintainer-approved wording pass. Body 8,042 → 4,722 tokens, 780 → 364 lines (back under the 500-line cap); always-on ~205 → ~159.
    • activity-sweep: four hand-written GraphQL searches (writing to /tmp) replaced by one cached contributor-metrics fetch; counts now dated by the contributor's own activity like the rest of the family.
    • Fixes: private@ self-subscribe wording, gitbox access in the asf-pmc example, and the committer-onboarding step-1 eval (it never asked for JSON, so 6–7 of 9 cases errored on every run; now 26/27 graded).

    Phase 4 — vendor neutrality (#1549)

    • About 30 direct gh calls replaced by contract operations: new read operations on contract:change-request and contract:tracker, repository_metadata / put_file on contract:source-control, and a new contract:people. GitHub is one adapter; Jira is a second tracker backend.
    • contributor-metrics reads code-host and tracker activity separately, so a project reviewing on GitHub with issues in Jira gets correct numbers from both. GitHub-only output is unchanged.
    • Family: capability-pure skills 3 → 6, none vendor-coupled. Evals 145/145.

    Where the family stands now (body tokens, budget 5,000): activity-sweep 3,490 · calibrate 3,730 · candidate-screen 3,695 · committer-onboarding 4,722 · identity-map 3,486 · onboarding-concierge 3,368 · sentiment 4,618 · contributor-to-committer 5,210 · nomination 5,316. Every skill is under the 500-line cap and the always-on budget. contributor-to-committer and nomination have grown slightly past 5,000 again with the later contract and information-only changes; that is small enough to pick up in a future pass rather than keep this issue open.

    Follow-ups, not blocking: GitLab / Forgejo / Bitbucket adapters for the new contract operations, and updating three skill descriptions that still say "GitHub activity" now that the tracker can be Jira.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions