contribute
Skill2 starsChanged 6 months agoMITView on GitHub
Run a local-first, gate-checked workflow for contributing to public upstream GitHub repositories the user does not own. Use when reviewing contribution status, onboarding an upstream repo, finding and qualifying issues, preparing a claim, testing a patch, drafting a Design Issue or PR, or reconciling local candidate state with GitHub. Trigger with "/contribute", "what is my PR status", "find a contribution", "claim this issue", "draft an upstream PR", or a public GitHub repository URL.
15 other projects use a version of this.
Adopted by
Most recently taken up by
- egregore-labs/egregoretheir own version, first seen Nov 6, 2026
- grafana/gcxtheir own version, first seen Nov 2, 2026
- Devolutions/IronRDPtheir own version, first seen Nov 1, 2026
- inite-ai/inite-visibilitytheir own version, first seen Nov 1, 2026
- inite-ai/inite-brain-servicetheir own version, first seen Nov 1, 2026
- manor-os/manor-aitheir own version, first seen Oct 31, 2026
Used with
Projects with it also use review-pr.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
DockerSkillreview-pr
Review one or more incoming Docker documentation pull requests as a maintainer. Independently validate technical claims, assess editorial fit and information architecture, choose a verdict, and draft exact inline or PR-wide feedback behind a confirmation gate. Use for requests such as "review PR 123", "is this PR correct?", "does this information belong here?", "validate this PR", or "help review backlog PRs". Do not use to maintain or fix a PR you own; use maintain-pr for that.
Also in 3 projects that use this
Other versions15 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 15
- mindfold-ai/Trellis★ 15ksame name
- gluestack/gluestack-ui★ 5.3ksame name
- Devolutions/IronRDP★ 3.3ksame name
- grafana/gcx★ 819same name
- egregore-labs/egregore★ 293same name
- manor-os/manor-ai★ 158same name
- inite-ai/inite-brain-service★ 43same name
- yusukebe/skills★ 36same name
- marwan562/agents-skills★ 8same name
- zajca/pohunek★ 8same name
5 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
The file
Show its rules and text
We split this skill into the rules it gives an agent
17 rules. 0 are common, 11 are distinctive, and 6 are very specific to this project.
0
Common
Most of the 14 edited versions we read keep these.
11
Distinctive
This author's own choices. Worth a look.
6
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- could be automatic: a setting could enforce it
- Very specific: line 74
Use Read, Glob, and Grep to inspect local instructions and state.
- Very specific: line 114
Before claim, work, or submission, require the repository dossier named by the candidate's research_path.
- Distinctive: line 118
Read these dossier facts before selecting an artifact:
- Distinctive: line 127
Use submission policy for the evidence and decision rules.
- Very specific: line 133
Prefer existing candidates with status: open or shortlist, sorted by scout_score.
- Distinctive: line 146
Before claiming, verify live:
- Distinctive: line 154
Use the repo-analyzer for structured eligibility checks.
- Very specific: line 161
Read assets/claim-template.md, adapt it to upstream tone, and run the shortlist-to-claimed transition:
- Distinctive: line 168
If a gate blocks, report the gate ID, evidence, and fix.
- Very specific: line 175
Read the upstream clone's instructions.
- Distinctive: line 180
Do not push a fork until the local evidence passes.
- Distinctive: line 194
Run the working-to-submitted gates before drafting:
- Very specific: line 200
Use assets/pr-template.md and the draft-writer to prepare the correct artifact.
- Distinctive: line 221
Never describe a local candidate state as a live GitHub fact without checking GitHub.
- Distinctive: line 239
“What is my PR status?”: Run the dashboard and live reconciliation, report drift and review blockers, then stop.
- Distinctive: line 243
“Claim owner/repo issue 42.”: Verify dossier and competition, run gates, prepare the claim from the template, and wait for approval.
- Distinctive: line 245
“Submit this fix.”: Run native verification and submission gates, select the artifact from collaboration posture, show the exact draft, and …
“Common” is measured: kept by at least 6 in 10 of the 14 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Contribute Command Center
Overview
Operate an upstream-contribution system whose durable state is readable local text, not a database or cloud service:
- GitHub is authoritative for live issue and PR state.
- Candidate files live at
~/.contribute-system/candidates/OWNER__REPO__issueNUMBER.md. - Repo dossiers live at
~/.contribute-system/research/OWNER__REPO.md. - An append-only event log lives at
~/.contribute-system/log.jsonl.
This skill applies only to contributions into repositories outside the user's
own accounts and organizations. Treat jeremylongshore/* and
intent-solutions-io/* as out of scope. If a candidate points to an owned
repository, report a scout defect and stop this workflow.
Prerequisites
ghauthenticated for the intended GitHub accountjqavailable onPATH- Runtime state beneath
~/.contribute-system/ - Upstream clones beneath
~/000-projects/contributing-clanker/ - The target repository's instructions read before any edit or command
Use Read, Glob, and Grep to inspect local instructions and state. Use
Write or Edit only for candidate and dossier content authorized by this
workflow. Use AskUserQuestion at the submission boundary. Delegate isolated
research or testing with Agent only where the referenced subagent owns that
job. Run external programs only through the declared scoped Bash entries.
Authentication
GitHub operations use the OAuth token already held by the authenticated gh
CLI session. Begin network work with gh auth status. Never request, print,
store in candidate files, or pass a token on the command line. If authentication
is absent or lacks scope, stop and tell the user which gh operation failed.
Instructions
Step 1: Detect invocation mode
Inspect the arguments before refreshing everything.
- A GitHub URL or
owner/reposlug enters Repo Intake Mode. Follow repo intake, enforce the owned-repo scope guard, surface the resulting briefing, and stop. - A status or reconciliation request enters Operations Mode. Follow operations.
- A candidate-specific request proceeds through the smallest applicable steps below. Do not redo completed discovery merely because the skill was invoked.
Step 2: Refresh relevant state
For general status, run ${CLAUDE_SKILL_DIR}/scripts/dashboard.sh and show its
ASCII output verbatim in a fenced block. Then reconcile the local snapshot with
live upstream PR state using gh. Report open and draft PRs, active candidates,
tracker drift, stale or missing dossiers, and material recent gate events.
For a single candidate, refresh only that candidate's issue, competing PRs, dossier freshness, and any linked PR. GitHub state outranks candidate frontmatter when they disagree.
Step 3: Require a current dossier and first-touch fit
Before claim, work, or submission, require the repository dossier named by the
candidate's research_path. If it is missing, older than 14 days, or lacks the
required fit fields, run the bundled researcher in build or refresh mode.
Read these dossier facts before selecting an artifact:
collaboration_surface:open,guarded, orclosedcounterparty_design_intentpositioning_risk:none,adjacent-builder, ordirect-competitorcompeting_license_fencelocal_test_fit:isolated,partial, orfull-stack-onlymerged_prs_by_userand rejection patterns
Use submission policy for the evidence and decision rules. Never pitch as a gap something maintainers document as an intentional choice or excluded threat.
Step 4: Discover
Prefer existing candidates with status: open or shortlist, sorted by
scout_score. When the queue is thin or the user requests new work, run the
bundled scout in baseline, refresh, or a bounded ad-hoc mode. The scout owns
GitHub search, duplicate screening, scoring, candidate writes, and event-log
entries; summarize its candidate files rather than repeating its search.
For Wasteland federation work, read
the federation contract before proposing
a claim. Its Dolt wl claim and wl done lifecycle replaces GitHub issue
comments but still produces a GitHub PR.
Step 5: Qualify
Before claiming, verify live:
gh pr list --repo OWNER/REPO --search "ISSUE_NUMBER" --state=all
gh api repos/OWNER/REPO/commits --jq '.[0:3] | map({date: .commit.author.date, message: .commit.message[0:60]})'
gh api repos/OWNER/REPO/contents/CONTRIBUTING.md --jq '.content' | base64 -dUse the repo-analyzer for structured eligibility checks. Reject or pause when there are competing active PRs, superseding work, stale maintainer engagement, unresolved license constraints, a stack mismatch, or no honest way to meet the local verification bar. Never fabricate an end-to-end test result.
Step 6: Prepare a claim
Read assets/claim-template.md, adapt it to upstream tone, and run the
shortlist-to-claimed transition:
${CLAUDE_SKILL_DIR}/scripts/transition.sh shortlist→claimed CANDIDATE_FILEIf a gate blocks, report the gate ID, evidence, and fix. A gate override requires
the user's explicit instruction and a specific logged reason. Show the final
claim draft and wait for human approval. Never post gh issue comment or run
wl claim autonomously.
Step 7: Work and verify
Read the upstream clone's instructions. Make only the agreed change and run its
native tests and linters. The test-runner may isolate verbose logs beneath
~/.contribute-system/test-logs/. Report exact commands, pass and failure
counts, duration, coverage when available, skipped checks, and the log path.
Do not push a fork until the local evidence passes. Do not force-push. Preserve the upstream's branch, commit, DCO, AI-disclosure, generated-file, and vendoring rules recorded in the dossier.
Step 8: Prepare submission
Choose the first-touch artifact from collaboration_surface:
| Surface | First touch |
open | Design Issue unless upstream explicitly asks for a direct small PR |
guarded | Tiny mergeable PR, then a Design Issue after identity is banked |
closed | Non-proposal micro-fix PR only; otherwise ship nothing |
Run the working-to-submitted gates before drafting:
${CLAUDE_SKILL_DIR}/scripts/transition.sh working→submitted CANDIDATE_FILEUse assets/pr-template.md and the draft-writer to prepare the correct artifact.
Apply the trust ladder, positioning disclosure, attribution stripping, DCO, and
Omarchy rules in submission policy.
Show the user the exact file list, test summary, title, and complete body. Wait
for explicit approval before creating any external issue, PR, review, comment,
or wl done update. After submission, record the returned PR number and URL in
the candidate file and append the event.
Output
Lead with the requested result, followed by evidence and the next decision.
- Status: dashboard block, live GitHub differences, action-needed items
- Discovery: ranked candidates with score, fit, competition, and why now
- Qualification:
claim,wait, orskipwith decisive evidence - Claim: exact draft plus gate receipt, awaiting approval
- Work: changed files and verification receipt
- Submission: exact issue or PR draft plus gate receipt, awaiting approval
- Reconciliation: counts of updated, unchanged, and unresolved candidates
Never describe a local candidate state as a live GitHub fact without checking GitHub. Never describe a draft as posted.
Error Handling
| Failure | Response |
gh is unauthenticated or under-scoped | Stop; identify the failed operation and direct the user to gh auth login or scope refresh |
| GitHub rate limit or transient failure | Preserve local state; report that live reconciliation is incomplete and retry later |
| Candidate and GitHub disagree | Treat GitHub as authoritative and propose the exact local transition |
| Dossier missing, stale, or incomplete | Build or refresh with the researcher before claim or submission |
| Gate blocks | Surface gate ID, evidence, and remediation; never bypass silently |
| Test suite requires unavailable full stack | Run only an honest isolated check or reject the candidate as unverifiable |
| Runtime mirror has drifted | Run ${CLAUDE_SKILL_DIR}/scripts/doctor.sh, then reinstall only after reviewing its findings |
| Any external action lacks approval | Stop at the draft boundary |
Examples
- “What is my PR status?” Run the dashboard and live reconciliation, report drift and review blockers, then stop.
- “Find a contribution.” Refresh relevant state, invoke scout, qualify the strongest receivable candidates, and return ranked choices.
- “Claim owner/repo issue 42.” Verify dossier and competition, run gates, prepare the claim from the template, and wait for approval.
- “Submit this fix.” Run native verification and submission gates, select the artifact from collaboration posture, show the exact draft, and wait.
Resources
- Current end-to-end workflow
- Repository intake and briefing
- Submission, trust, and approval policy
- Dashboard, reconciliation, audit, and recap operations
- Candidate file schema
- Wasteland federation flow
- Named contribution anti-patterns
- Bundled agents:
agents/scout.md,agents/researcher.md,agents/draft-writer.md, andagents/test-runner.md - Templates:
assets/claim-template.md,assets/pr-template.md, andassets/evidence-template.md
Success Criteria
The workflow uses current live evidence, stays outside owned repositories, selects work that is receivable and locally verifiable, passes deterministic gates, preserves upstream conventions, exposes no credentials, and performs no external submission without explicit human approval.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

