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.
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
Define project prerequisites and setup instructions.
Outline contribution workflows, branching strategies, and commit message formats.
Specify code quality standards, automated checks, and CI/CD pipeline requirements.
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
Create Feature Branch
git checkout main git pull upstream main git checkout -b feature/issue-123-add-featureDevelopment 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)"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.