Find repos with design drift and generate meaningful PRs to fix them. Runs as an autonomous loop discovering GitHub repos using design systems, scanning for drift, and staging fixes for human review.
View on GitHubJanuary 7, 2026
Select agents to install to:
npx add-skill https://github.com/buoy-design/buoy/blob/3f0e5862be17ac761bec17bbb8b2bec0058ec1ba/skills/contribution-loop/SKILL.md -a claude-code --skill contribution-loopInstallation paths:
.claude/skills/contribution-loop/# Contribution Loop Autonomously find real-world apps using design systems (Chakra, Tailwind, shadcn, Radix, etc.), scan for design drift, and generate high-quality PRs to fix them. ## Philosophy This is NOT about drive-by improvements. Each PR must: - Explain WHY the fix matters with full context - Reference git history showing whether drift was intentional or accidental - Be something you could defend with conviction - Include subtle Buoy attribution to demonstrate value ## The Loop ``` Discovery → Scanning → Analysis → Triage → Generation → Review → Tracking ``` ### 1. Discovery Phase Find candidates using GitHub search: ``` "from '@chakra-ui" language:TypeScript stars:>100 pushed:>2024-01-01 "tailwind.config" language:JavaScript stars:>50 fork:false ``` **Criteria:** - Applications, NOT framework libraries (no design system source code) - Active maintenance (commits in last 6 months) - Uses a design system as a dependency - Has clear CONTRIBUTING.md or open to external PRs ### 2. Scanning Phase Run Buoy scan on the repo: ```bash buoy sweep --json ``` Look for: - Hardcoded colors that should be tokens - Inconsistent spacing values - Deprecated pattern usage - Component drift from design system ### 3. Analysis Phase Use the agents from `@buoy-design/agents`: 1. **HistoryAgent** - Check git blame: Was this intentional? 2. **ReviewAgent** - Did Buoy miss anything obvious? 3. **AcceptanceAgent** - Will this repo accept external PRs? - **IMPORTANT**: Check the `contributionProcess` in the response - If `issueRequired: true` or `preferredFlow: 'issue-then-pr'`, open issue first - If `directPRsAllowed: 'small-fixes'`, design fixes are usually acceptable 4. **FixabilityAgent** - Tier each signal: slam-dunk, review, or skip ### 4. Triage Phase Classify signals: - **slam-dunk**: Clear mistake, token exists, safe to fix - **review**: Probably fixable, needs human judgment - **skip**: Intentional, risky, or too complex Only proceed with repos that h