Skip to content
Back to skills

Contributor

ASecurity

Use this skill when contributing to ANY open source repo or team codebase — forking, branching, committing, opening PRs, or responding to review comments. Triggers on: "open a PR", "contribute to", "fork this repo", "submit my changes", "respond to review", "address feedback", "my PR got a comment", "prepare contribution", "make my PR better", "ready to submit". Produces PRs that look professional, get reviewed faster, and get merged. Handles the full contributor lifecycle from fork to merge.

  • 6 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added June 5, 2026
ai-agentsrustgobashgitapi

Works with

  • api

Security analysis

A100/100

Pro scans all 12 files and shows the line behind each finding

Scanned June 5, 2026

npx -y skills add Zarl-prog/Smart-git-commit --skill contributor --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Contributor?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Contributor
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/zarl-prog-contributor/badge)](https://www.skillsdirectory.com/skills/zarl-prog-contributor)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: smart-git-commit-contributor
description: >
  Use this skill when contributing to ANY open source repo or team
  codebase — forking, branching, committing, opening PRs, or responding
  to review comments. Triggers on: "open a PR", "contribute to",
  "fork this repo", "submit my changes", "respond to review",
  "address feedback", "my PR got a comment", "prepare contribution",
  "make my PR better", "ready to submit". Produces PRs that look
  professional, get reviewed faster, and get merged. Handles the full
  contributor lifecycle from fork to merge.
---

# Smart Git Commit — Contributor Skill

Extends the base skill with a full contributor workflow. Use this when
contributing to any open source repo. Follow every phase in order.

<!-- line-limit: 400 -->

---

## Phase 0: Fork and Sync Check

Run the fork sync checker:

```bash
bash contributor/scripts/fork-check.sh
```

Checks performed:
- Is this a fork? (`git remote -v` shows both `origin` and `upstream`)
- Is the fork up to date with upstream main?
  - `git fetch upstream`
  - `git log HEAD..upstream/main --oneline`
- If behind: rebase before doing anything else
  - `git rebase upstream/main`
- If no upstream set: asks for the original repo URL
  - `git remote add upstream <url>`

**Output**: `SYNCED` or list of commits the contributor is behind.

---

## Phase 1: Branch Naming

Run the branch name enforcer:

```bash
bash contributor/scripts/branch-name.sh
```

**Never contribute from `main` or `master`.**

Enforced pattern:
```
<type>/<issue-number>-<short-description>
```

Examples:
- `feat/234-add-oauth-login`
- `fix/189-resolve-token-expiry`
- `docs/301-update-contributing-guide`
- `chore/445-upgrade-axios`

If on the wrong branch: creates a correctly named one automatically:
```bash
git checkout -b <correct-name>
```

---

## Phase 2: Commit Quality

Reuse the existing SKILL.md phases 1–7 for every commit.

Every commit uses the **5-part format**:
```
CONTEXT / CHANGE / WHY / IMPACT / footers
```

Read `skills/smart-git-commit/SKILL.md` Phase 5 for full rules.

**Remember**: Maintainers judge contribution quality by commit quality.
A structured commit = trusted contributor, faster review.

---

## Phase 3: PR Readiness Check

Run the readiness checker:

```bash
bash contributor/scripts/pr-readiness.sh
```

Checklist (hard stops marked with **✗**, warnings marked with **⚠**):

| Check | Type |
|-------|------|
| ✗ Tests pass (run the repo's test suite) | Hard stop |
| ✗ No secrets in diff (reuse scan-secrets.sh) | Hard stop |
| ✗ Not targeting `main` directly (must be feature branch) | Hard stop |
| ✗ Fork is synced with upstream (no merge conflicts) | Hard stop |
| ⚠ CONTRIBUTING.md rules followed | Warning |
| ⚠ Related issue linked | Warning |
| ⚠ Docs updated if behavior changed | Warning |
| ⚠ Screenshots added if UI changed | Warning |
| ⚠ Breaking change documented | Warning |

**Output**: `READY` or list of blocking items with fix instructions.

---

## Phase 4: PR Title Construction

Read `contributor/templates/pr-title.md` for the complete guide.

Formula:
```
<type>(<scope>): <imperative summary under 72 chars>
```

Same rules as commit subject line — imperative mood, no period.

**The PR title IS the merge commit message on most repos.**
It must make sense in a CHANGELOG.

| Good | Bad |
|------|-----|
| `feat(auth): add Google OAuth login with refresh token rotation` | `Added oauth stuff and fixed some things` |
| `fix(api): handle null response on connection timeout` | `fixed a bug` |

---

## Phase 5: PR Body Construction

Read `contributor/templates/pr-body-full.md` for the complete template.

Build a PR body with these exact sections:

| Section | Content |
|---------|---------|
| **What changed and why** | Paste CHANGE and WHY from commit messages |
| **Context** | Paste CONTEXT from commit messages |
| **Type of change** | Checkboxes for bug fix, feature, breaking, docs, perf, refactor |
| **How to test** | Numbered steps a maintainer can follow to verify |
| **Screenshots** | Before/after if UI changed |
| **Related issues** | `Closes #N` or `Refs #N` |
| **Checklist** | Tests, secrets, docs, CONTRIBUTING, breaking changes |
| **Notes for maintainer** | Trade-offs, follow-up work, things to flag |

---

## Phase 6: Create the PR

1. Read `contributor/templates/pr-body-full.md` to build the body
2. Run the readiness check: `bash contributor/scripts/pr-readiness.sh`
3. If **READY**:

```bash
gh pr create \
  --title "<phase 4 title>" \
  --body "<phase 5 body>" \
  --draft
```

**Always draft first** — never open a ready-for-review PR without
telling the user and getting confirmation.

After creation: show the PR URL and say "mark as ready when you've
done a final self-review."

---

## Phase 7: Responding to Review Comments

**Triggers**: "my PR got a comment", "respond to review",
"address feedback", "maintainer said..."

Run the review response helper:

```bash
bash contributor/scripts/review-response.sh
```

### Response Rules

1. **Always thank** the reviewer by name first (one line, genuine)
2. For each comment: **acknowledge** → **explain your thinking** → **show the fix**
3. **Never argue**, never get defensive
4. If you disagree: explain your reasoning once, clearly, then **defer**
5. After fixing: **push new commits**, **resolve conversations**, **post summary**

### Response Format

Read `contributor/templates/review-response.md` for the template.

### After All Fixes Are Addressed

```bash
git add <fixed files>
git commit  # Use 5-part format with type "fix" or "refactor"
git push origin <branch>
gh pr comment --body "All review comments addressed in <commit hash>"
```

Files in this skill

  • CONTRIBUTOR-SKILL.md5.6 KB
  • references/first-contribution.md8.1 KB
  • references/pr-anatomy.md9.3 KB
  • references/review-etiquette.md6.6 KB
  • scripts/branch-name.sh4.7 KB
  • scripts/fork-check.sh3.2 KB
  • scripts/pr-readiness.sh6.8 KB
  • scripts/review-response.sh5.1 KB
  • templates/pr-body-full.md959 B
  • templates/pr-title.md2.7 KB
  • templates/review-response.md3.7 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.