Skill

Generate Comprehensive Contributor Guides

AI skill drafting a full CONTRIBUTING guide - setup, git workflow, commit conventions, PR template, and community norms - tailored to your stack.


91
Spark score
out of 100
Updated 5 months ago
Version 1.0.0
Models

Add to Favorites

Why it matters

Automate the creation of detailed contributor guides for open-source projects, ensuring clarity on setup, development, and community standards to foster greater participation.

Outcomes

What it gets done

01

Define project prerequisites and setup instructions.

02

Outline contribution workflows, branching strategies, and commit message formats.

03

Specify code quality standards, automated checks, and CI/CD pipeline requirements.

04

Detail issue reporting, feature request processes, and community communication guidelines.

Install

Add it to your toolbox

Run in your project directory:

curl -fsSL https://spark.entire.vc/get/vb-contributing-guide | bash

Overview

Contributing Guide Writer Agent

An AI skill that drafts a complete CONTRIBUTING.md guide for open source projects, covering setup, git workflow, commit conventions, and community norms. It produces a full pull request template, issue templates, and CI and code-review expectations, using a typical Node.js and npm stack as its worked example. Reach for it when a project has no contributor guide yet, or an outdated one, and needs a structured document covering setup through code review and recognition.

What it does

This skill turns an AI agent into a specialized author of CONTRIBUTING.md documentation for open source projects. Rather than producing a single generic template, it walks through the full lifecycle a new contributor experiences: environment setup and prerequisites, the git branching and pull request workflow, commit message conventions, code quality gates, issue and feature-request templates, and the human side of an open source project - response-time expectations, code review process, and contributor recognition. Given a project's specifics, it drafts a structured guide covering Getting Started, Development Process, Types of Contributions, Submission Guidelines, Code Standards, and Community Guidelines, then layers in concrete, copy-pasteable examples: prerequisite version numbers, setup commands, branch-naming patterns, Conventional Commits examples, and a ready-to-use pull request template with a Type of Changes and Testing checklist.

When to use - and when NOT to

Use it when a project has no CONTRIBUTING guide yet, or has one that is stale, generic, or missing sections contributors keep asking about (how do I set this up, what is the commit format, how long until someone reviews my PR). It is also useful when standardizing contribution docs across multiple repositories in the same organization, since it produces the same section structure and tone each time. It is not the right tool for writing project-specific technical documentation, such as API references or architecture docs, or for enforcing CI configuration - it drafts the guide, it does not wire up the linting, testing, or pre-commit tooling it describes. It also should not be used to auto-publish a guide unreviewed: the generated setup commands, package manager version numbers, and CI tool names are the skill's own worked examples and need to be swapped for the project's real stack before the guide is committed.

Inputs and outputs

Input is essentially a request to write a CONTRIBUTING guide plus whatever project context is available - repository name, primary language, package manager, testing framework, and any existing conventions. Output is a complete Markdown CONTRIBUTING guide with nested sections: prerequisites and quick setup, available dev scripts, a step-by-step git workflow (fork, branch, commit, push, PR) illustrated with GitHub CLI commands, a Conventional Commits guide with the standard type list (feat, fix, docs, style, refactor, test, chore) and worked examples, a full pull request template, guidance on pre-commit hooks and CI checks (linting, type-checking, unit and integration tests, build verification), bug report and feature request issue templates, stated response-time expectations for issues and PRs, the code review and merge process, and a closing section on contributor recognition (badges, contributors page, swag).

Integrations

The generated guide references common open source tooling by name as worked examples - Git and the GitHub CLI (gh) for the fork and branch and PR flow, Husky and lint-staged for pre-commit hooks, ESLint and Prettier for linting, Jest for unit tests, and Conventional Commits as the commit message standard. These are illustrative defaults drawn from a typical Node.js and npm project; the skill does not connect to any of these tools directly, it only writes documentation that references them, and the specific tool names should be adapted to whatever stack the target project actually uses.

Who it's for

Open source maintainers who need a comprehensive CONTRIBUTING guide but don't want to write one from scratch, developer relations and community managers standardizing contributor experience across a portfolio of repositories, and engineering teams open-sourcing an internal project for the first time who need to document a workflow that previously only lived in team knowledge.

Source README

Clone and setup

git clone https://github.com/org/project.git
cd project
npm install
npm run setup # runs initial configuration

Verify installation

npm test
npm run lint


#

## Development Scripts
```bash
npm run dev          # Start development server
npm run test:watch   # Run tests in watch mode
npm run lint:fix     # Auto-fix linting issues
npm run type-check   # TypeScript type checking

### Branching Strategy
```markdown
## Git Workflow

1. **Fork and Clone**
   ```bash
   gh repo fork org/project --clone
   cd project
   git remote add upstream https://github.com/org/project.git
  1. Create Feature Branch

    git checkout main
    git pull upstream main
    git checkout -b feature/issue-123-add-feature
    
  2. Development Cycle

    # Make changes
    npm run test        # Ensure tests pass
    npm run lint:fix    # Fix style issues
    git add .
    git commit -m "feat: add new feature (#123)"
    
  3. Push Changes

    git push origin feature/issue-123-add-feature
    # Create pull request via GitHub UI or gh CLI
    gh pr create --title "Add new feature" --body "Fixes #123"
    

### Commit and PR Guidelines

#

### Commit Message Format
```markdown
## Commit Messages

Use [Conventional Commits](https://conventionalcommits.org/):

type(scope): description

[optional body]

[optional footer(s)]


**Types:**
- `feat`: New features
- `fix`: Bug fixes
- `docs`: Documentation changes
- `style`: Code style changes (formatting, etc.)
- `refactor`: Code refactoring
- `test`: Adding or updating tests
- `chore`: Maintenance tasks

**Examples:**
```bash
feat(auth): add OAuth2 integration
fix(api): handle null response in user endpoint
docs: update installation instructions
test(utils): add unit tests for date helpers

#

### Pull Request Template
```markdown
## Pull Request Guidelines

#

## PR Template
Use this template for all pull requests:

```markdown
### Description
Brief description of changes and motivation.

### Type of Changes
- [ ] Bug fix (non-breaking change)
- [ ] New feature (non-breaking change)
- [ ] Breaking change (fix or feature that changes existing functionality)
- [ ] Documentation update

### Testing
- [ ] Tests pass locally
- [ ] Added new tests for new functionality
- [ ] Completed manual testing

### Checklist
- [ ] Code follows project style guidelines
- [ ] Self-review completed
- [ ] Documentation updated
- [ ] No merge conflicts

### Code Quality Standards

#

### Automated Checks
```markdown
## Quality Assurance

#

## Pre-commit Hooks
We use Husky for pre-commit checks:

```json
// package.json
{
  "husky": {
    "hooks": {
      "pre-commit": "lint-staged",
      "commit-msg": "commitlint -E HUSKY_GIT_PARAMS"
    }
  },
  "lint-staged": {
    "*.{js,ts,tsx}": ["eslint --fix", "prettier --write"],
    "*.{md,json}": ["prettier --write"]
  }
}

CI/CD Pipeline

All PRs must pass:

  • ✅ Linting (ESLint + Prettier)
  • ✅ Type checking (TypeScript)
  • ✅ Unit tests (Jest, 80%+ coverage)
  • ✅ Integration tests
  • ✅ Build verification

### Issues and Discussion Guidelines

#

### Issue Templates
```markdown
## Non-code Contributions

#

## Bug Reports
Use our bug report template:

```markdown
**Bug Description**
Clear description of the issue.

**Steps to Reproduce**
1. Go to '...'
2. Click on '...'
3. See error

**Expected vs Actual Behavior**
- Expected: X should happen
- Actual: Y happened

**Environment**
- OS: [e.g., macOS 12.0]
- Browser: [e.g., Chrome 95]
- Version: [e.g., 1.2.3]

Feature Requests

**Problem Statement**
What problem does this solve?

**Proposed Solution**
How should this work?

**Considered Alternatives**
What other approaches did you consider?

### Community and Communication

#

### Response Time Expectations
```markdown
## Community Standards

#

## Response Times
- **Issues**: Aim to respond within 48 hours
- **Pull Requests**: Initial review within 72 hours
- **Discussions**: Community-managed, no guaranteed response time

#

## Code Review Process
1. Automated checks must pass
2. Requires approval from at least one maintainer
3. Address all review feedback
4. Squash commits before merge (we can help with this)

#

## Getting Help
- 💬 **Discussions**: For questions and ideas
- 🐛 **Issues**: For bugs and feature requests
- 💬 **Discord**: Real-time chat ([invite link])
- 📧 **Email**: Security issues only

Recognition and Incentives

Contributor Recognition

## Recognition

#

## Badges and Achievements
- 🥇 First contribution
- 🔧 Regular contributor (5+ merged PRs)
- 📝 Documentation hero
- 🐛 Bug hunter
- 🌟 Community helper

#

## Swag and Rewards
- Stickers for first contributions
- T-shirt after 10 significant contributions
- Speaking opportunities at conferences for regular contributors

Always adapt contributor guides to your project's specific tech stack, community size, and contribution patterns. Include relevant tools, maintain current examples, and regularly gather feedback from contributors to improve your guide.

FAQ

Common questions

Discussion

Questions & comments · 0

Sign In Sign in to leave a comment.