- Add npm scripts: validate, validate:strict, index, readme, chain, catalog, build - Align docs to V4 and 560 skills (GETTING_STARTED, FAQ, BUNDLES, MAINTENANCE, vietnamese) - build-catalog: output to data/ for catalog, bundles, aliases; add to CI and drift check - Add yaml dep, Node setup and catalog step in CI; extend auto-commit and drift msg - Translate CI and MAINTENANCE to English; update CI_DRIFT_FIX and maintenance routine - QUALITY_BAR/CONTRIBUTING: canonical validator npm run validate; legacy note in validate-skills.js
234 lines
4.8 KiB
Markdown
234 lines
4.8 KiB
Markdown
# 🤝 Contributing Guide - V4 Enterprise Edition
|
|
|
|
**Thank you for wanting to make this repo better!** This guide shows you exactly how to contribute, even if you're new to open source.
|
|
With V4, we raised the bar for quality. Please read the **new Quality Standards** below carefully.
|
|
|
|
---
|
|
|
|
## 🧐 The "Quality Bar" (V4 Standard)
|
|
|
|
**Critical for new skills:** Every skill submitted must pass our **5-Point Quality Check** (see `docs/QUALITY_BAR.md` for details):
|
|
|
|
1. **Metadata**: Correct Frontmatter (`name`, `description`).
|
|
2. **Safety**: No harmful commands without "Risk" labels.
|
|
3. **Clarity**: Clear "When to use" section.
|
|
4. **Examples**: At least one copy-paste usage example.
|
|
5. **Actions**: Must define concrete steps, not just "thoughts".
|
|
|
|
---
|
|
|
|
## Ways to Contribute
|
|
|
|
You don't need to be an expert! Here are ways anyone can help:
|
|
|
|
### 1. Improve Documentation (Easiest!)
|
|
|
|
- Fix typos or grammar
|
|
- Make explanations clearer
|
|
- Add examples to existing skills
|
|
- Translate documentation to other languages
|
|
|
|
### 2. Report Issues
|
|
|
|
- Found something confusing? Tell us!
|
|
- Skill not working? Let us know!
|
|
- Have suggestions? We want to hear them!
|
|
|
|
### 3. Create New Skills
|
|
|
|
- Share your expertise as a skill
|
|
- Fill gaps in the current collection
|
|
- Improve existing skills
|
|
|
|
### 4. Test and Validate
|
|
|
|
- Try skills and report what works/doesn't work
|
|
- Test on different AI tools
|
|
- Suggest improvements
|
|
|
|
---
|
|
|
|
## How to Create a New Skill
|
|
|
|
### Step-by-Step Guide
|
|
|
|
#### Step 1: Choose Your Skill Topic
|
|
|
|
Ask yourself: "What do I wish my AI assistant knew better?".
|
|
Example: "I'm good at Docker, let me create a Docker skill".
|
|
|
|
#### Step 2: Create the Folder Structure
|
|
|
|
Skills live in the `skills/` directory. Use `kebab-case` for folder names.
|
|
|
|
```bash
|
|
# Navigate to skills
|
|
cd skills/
|
|
|
|
# Create your skill folder
|
|
mkdir my-awesome-skill
|
|
cd my-awesome-skill
|
|
|
|
# Create the SKILL.md file
|
|
touch SKILL.md
|
|
```
|
|
|
|
#### Step 3: Write Your SKILL.md
|
|
|
|
Every skill needs this basic structure. **Copy this template:**
|
|
|
|
```markdown
|
|
---
|
|
name: my-awesome-skill
|
|
description: "Brief one-line description of what this skill does"
|
|
---
|
|
|
|
# Skill Title
|
|
|
|
## Overview
|
|
|
|
Explain what this skill does and when to use it.
|
|
|
|
## When to Use This Skill
|
|
|
|
- Use when [scenario 1]
|
|
- Use when [scenario 2]
|
|
|
|
## How It Works
|
|
|
|
Detailed step-by-step instructions for the AI...
|
|
|
|
## Examples
|
|
|
|
### Example 1
|
|
|
|
\`\`\`
|
|
code example here
|
|
\`\`\`
|
|
|
|
## Best Practices
|
|
|
|
- ✅ Do this
|
|
- ❌ Don't do this
|
|
```
|
|
|
|
#### Step 4: Validate (CRITICAL V4 STEP)
|
|
|
|
Use the canonical validator `scripts/validate_skills.py` via `npm run validate`. **We will not merge PRs that fail this check.**
|
|
|
|
```bash
|
|
npm run validate # soft mode (warnings only)
|
|
npm run validate:strict # strict mode (what CI runs)
|
|
```
|
|
|
|
This checks:
|
|
|
|
- ✅ `SKILL.md` exists
|
|
- ✅ Frontmatter is correct
|
|
- ✅ Name matches folder name
|
|
- ✅ Quality Bar checks passed
|
|
|
|
#### Step 5: Submit Your Skill
|
|
|
|
```bash
|
|
git add skills/my-awesome-skill/
|
|
git commit -m "feat: add my-awesome-skill"
|
|
git push origin my-branch
|
|
```
|
|
|
|
---
|
|
|
|
## Skill Template (Copy & Paste)
|
|
|
|
Save time! Copy this template:
|
|
|
|
```markdown
|
|
---
|
|
name: your-skill-name
|
|
description: "One sentence describing what this skill does and when to use it"
|
|
---
|
|
|
|
# Your Skill Name
|
|
|
|
## Overview
|
|
|
|
[2-3 sentences explaining what this skill does]
|
|
|
|
## When to Use This Skill
|
|
|
|
- Use when you need to [scenario 1]
|
|
- Use when you want to [scenario 2]
|
|
|
|
## Step-by-Step Guide
|
|
|
|
### 1. [First Step Name]
|
|
|
|
[Detailed instructions]
|
|
|
|
## Examples
|
|
|
|
### Example 1: [Use Case Name]
|
|
|
|
\`\`\`language
|
|
// Example code here
|
|
\`\`\`
|
|
|
|
## Best Practices
|
|
|
|
- ✅ **Do:** [Good practice]
|
|
- ❌ **Don't:** [What to avoid]
|
|
|
|
## Troubleshooting
|
|
|
|
**Problem:** [Common Issue]
|
|
**Solution:** [How to fix it]
|
|
```
|
|
|
|
---
|
|
|
|
## Commit Message Guidelines
|
|
|
|
Use these prefixes:
|
|
|
|
- `feat:` - New skill or major feature
|
|
- `docs:` - Documentation improvements
|
|
- `fix:` - Bug fixes
|
|
- `refactor:` - Code improvements without changing functionality
|
|
- `test:` - Adding or updating tests
|
|
- `chore:` - Maintenance tasks
|
|
|
|
**Examples:**
|
|
|
|
```
|
|
feat: add kubernetes-deployment skill
|
|
docs: improve getting started guide
|
|
fix: correct typo in stripe-integration skill
|
|
```
|
|
|
|
---
|
|
|
|
## Learning Resources
|
|
|
|
### New to Git/GitHub?
|
|
|
|
- [GitHub's Hello World Guide](https://guides.github.com/activities/hello-world/)
|
|
- [Git Basics](https://git-scm.com/book/en/v2/Getting-Started-Git-Basics)
|
|
|
|
### New to Markdown?
|
|
|
|
- [Markdown Guide](https://www.markdownguide.org/basic-syntax/)
|
|
|
|
---
|
|
|
|
## Code of Conduct
|
|
|
|
- Be respectful and inclusive
|
|
- Welcome newcomers
|
|
- Focus on constructive feedback
|
|
- **No harmful content**: See `docs/SECURITY_GUARDRAILS.md`.
|
|
|
|
---
|
|
|
|
**Thank you for making this project better for everyone!**
|
|
Every contribution, no matter how small, makes a difference. Whether you fix a typo, improve a sentence, or create a whole new skill - you're helping thousands of developers!
|