Turn usage friction into upstream OSS contributions for any dependency (skills, CLIs, libraries, agent tools)...
Convert real usage problems and feature ideas into correct upstream contributions. Works for any project, not only the AXI / firstmate stack.
CONTRIBUTING*, PR templates, CODEOWNERS, DCO/CLA, lint/test commands.Resolve owner/repo from what you were using:
SKILL.md author/url, nearby README, or git remote of the vendor treegh search, package metadata, or project docsIf ambiguous, ask which upstream to target. Prefer the canonical GitHub (or GitLab) source of truth.
Record: owner/repo, default branch, license, clone path.
In the clone (or via gh/raw URLs), locate and read in order:
CONTRIBUTING.md / .github/CONTRIBUTING.md / docs "Contributing".github/CODE_OF_CONDUCT.md (behavior expectations)CODEOWNERS, DCO/CLA bots, required checks if mentionedSummarize for the user: how to propose changes, required tests, commit/PR style, whether issues are required before PRs.
If no CONTRIBUTING file exists, fall back to: small focused PR, include repro + tests, match existing code style, link related issues.
# examples - adapt query to the bug/feature
gh issue list -R owner/repo --state open --search "KEYWORDS"
gh issue list -R owner/repo --state all --search "KEYWORDS"
gh pr list -R owner/repo --state open --search "KEYWORDS"
Outcomes:
| Finding | Action |
|---|---|
| Open issue matches | Comment with your repro/environment; fork + brief still prepared; implement only if maintainers want a PR or CONTRIBUTING allows drive-by fixes |
| Closed as fixed | Verify on latest; if still broken, open a new issue referencing the old one |
| No match | Prepare to open an issue (unless CONTRIBUTING says "PR without issue is fine" for tiny fixes) |
Run (or adapt) the helper:
scripts/prepare-contribution.sh owner/repo --slug short-topic
This should:
gh repo fork owner/repo --clone=false (noop if already forked)~/src/oss/owner/repo (or $OSS_CONTRIB_ROOT) with upstream + origin remotesDo not push drive-by commits to upstream. All branches go to origin (your fork).
Before implementation, create:
~/src/oss/owner/repo/.contribution-brief.md
Use the template in references/brief-template.md.
The brief must include enough detail that another agent session can:
Show the brief to the user and confirm before large changes.
If a matching issue exists: link it in the brief; add repro details on the issue when useful; create branch fix/<slug> or feat/<slug> from updated upstream default branch.
If none exists:
git fetch upstream
git checkout -b fix/<slug> upstream/main # or upstream/master / default
Follow the project's PR template. Include:
Fixes #N when appropriate)Prefer gh pr create from the fork against upstream default branch.
If something is useful for you but not appropriate upstream (personal workflows, machine-specific paths):
home/AGENTS.md or a personal skill), not in the PR