plugins/oss-contrib/skills/oss-contrib/SKILL.md
Use when contributing to open source projects from forked repositories. Handles upstream sync, CONTRIBUTING.md compliance, code style matching, PR preparation, and project-specific patterns. Activates for fork management, PR template filling, and upstream workflow compliance.
npx skillsauth add sagargupta16/claude-skills oss-contribInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
| Step | Action |
|------|--------|
| 1. Sync | git fetch upstream && git merge upstream/main |
| 2. Research | Read CONTRIBUTING.md, PR templates, CLA requirements |
| 3. Branch | Create feature branch from synced default branch |
| 4. Code | Match upstream style exactly - no personal preferences |
| 5. Test | Run upstream's test suite, match their test patterns |
| 6. PR | Follow their PR template, fill all required fields |
Before writing any code:
Sync fork with upstream
git fetch upstream
git checkout main
git merge upstream/main
git push origin main
Read contribution guide
CONTRIBUTING.md in repo root.github/PULL_REQUEST_TEMPLATE.mdCreate feature branch
git checkout -b fix/issue-description
Scope the change
The most important rule: match the upstream project's style exactly.
Before writing code, check:
.editorconfig, pyproject.toml, .eslintrc)Do NOT apply personal preferences. Do NOT run your own formatters unless they match upstream's config.
Create reference files in references/ for projects you regularly contribute to. Each file should document:
Many open source projects require specific PR template fields. Always check:
Some projects (e.g., Apache Airflow) require an AI disclosure checkbox:
- [x] This PR was generated with the help of AI tools
Always fill this honestly if the project requires it.
| Type | How to Sign | Detection |
|------|-------------|-----------|
| CLA (Contributor License Agreement) | Web form, usually one-time per project | Look for CLA bot comment on PR |
| DCO (Developer Certificate of Origin) | git commit -s (adds Signed-off-by trailer) | Look for DCO check in CI |
Some projects (e.g., awslabs repos) require specific license text in contributions:
Before submitting to any open source project:
| Mistake | Prevention |
|---------|-----------|
| Forgetting to sync upstream before branching | Always git fetch upstream first |
| Applying personal code style | Run upstream's linter, check recent merged PRs |
| Modifying files outside fix scope | Review git diff before committing |
| Missing PR template fields | Read template file, fill every section |
| Not running full test suite locally | Run tests before pushing |
| Adding unnecessary refactoring | Keep changes minimal and focused |
| Ignoring CI failures | Fix all failures before requesting review |
| Skipping AI disclosure checkbox | Always fill honestly if required |
| Missing CLA/DCO signing | Check CONTRIBUTING.md for requirements |
| Bundling multiple fixes in one PR | One logical change per PR |
| Self-promotional PRs (awesome-list adds) | Focus on real problems the project has |
If fork relationship is broken (e.g., repo was made private then public):
When PRs go unreviewed:
testing
Use when the user asks to audit a session for uncaptured learnings. Activates on "audit this session", "session audit", "what did we miss", "end of session check", or "/starter-session-audit". Scans the conversation for corrections, preferences, decisions, and new context, then proposes where to save each.
testing
Use when setting up new repositories, auditing existing ones, or preparing repos for public visibility. Generates .gitignore, .env.example, README, and LICENSE files. Detects committed secrets and flags security issues.
tools
Use when triaging open Renovate PRs across your own repos into merge / close / defer. Activates on "renovate triage", "review dep PRs", "monthly deps", or on the 1st of a month if deps are grouped monthly.
development
Use when restructuring code without changing behavior -- extracting functions, renaming, moving files, reducing duplication, migrating between patterns (JS to TS, CJS to ESM), or addressing code smells. Covers safe refactoring workflows for any language.