Skip to content
Back to skills

Collection

ASecurity

**AUTO-TRIGGER when user says:** "create PR", "format PR", "prepare PR body", "what category for this PR", "generate PR keywords" Formats TogetherOS pull requests with proper category (Cooperation Path), keywords, progress markers, and validation. Auto-selects category from module, generates relevant keywords, ensures correct structure for automation. Use proactively without asking permission when task matches skill purpose.

  • 24 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 8, 2026
code-qualitytypescriptgobashdockertestinggitapidatabasedevopssecurity

Works with

  • cli
  • api

Security analysis

A100/100

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

Scanned September 8, 2026

npx -y skills add mattnigh/skills_collection --skill collection --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Collection?

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

Security grade badge for Collection
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/mattnigh-collection-3be141c3/badge)](https://www.skillsdirectory.com/skills/mattnigh-collection-3be141c3)

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: pr-formatter
description: |
  **AUTO-TRIGGER when user says:** "create PR", "format PR", "prepare PR body", "what category for this PR", "generate PR keywords"

  Formats TogetherOS pull requests with proper category (Cooperation Path), keywords, progress markers, and validation. Auto-selects category from module, generates relevant keywords, ensures correct structure for automation.

  Use proactively without asking permission when task matches skill purpose.
---

# TogetherOS PR Formatter & Validator

This skill handles all PR creation, formatting, validation, and pre-push checks for TogetherOS.

## What This Skill Does

- Auto-selects Cooperation Path category from module
- Generates 3-5 relevant keywords
- Formats PR body with exact structure for automation
- Validates PR is merge-ready before suggesting merge
- Runs pre-push validation checks
- Addresses Codex/Copilot comments until all checks green

## The 8 Cooperation Paths

Every PR must be tagged with ONE of these paths:

1. **Collaborative Education** — Learning, co-teaching, peer mentorship, skill documentation
2. **Social Economy** — Cooperatives, timebanking, mutual aid, repair/reuse networks
3. **Common Wellbeing** — Health, nutrition, mental health, community clinics, care networks
4. **Cooperative Technology** — Open-source software, privacy tools, federated services, human-centered AI
5. **Collective Governance** — Direct legislation, deliberation, empathic moderation, consensus tools
6. **Community Connection** — Local hubs, events, volunteer matching, skill exchanges
7. **Collaborative Media & Culture** — Storytelling, documentaries, cultural restoration, commons media
8. **Common Planet** — Regeneration, local agriculture, circular materials, climate resilience

## Module → Path Mapping

Use this mapping to auto-select the appropriate Cooperation Path:

- **bridge** → Cooperative Technology
- **governance** → Collective Governance
- **social-economy**, **timebank**, **support-points** → Social Economy
- **moderation**, **discourse** → Collective Governance
- **community**, **events**, **volunteer** → Community Connection
- **education**, **learning**, **mentorship** → Collaborative Education
- **health**, **wellness**, **care** → Common Wellbeing
- **media**, **culture**, **storytelling** → Collaborative Media & Culture
- **environment**, **sustainability**, **agriculture** → Common Planet
- **infrastructure**, **monorepo**, **ci-cd**, **api** → Cooperative Technology (default for tech work)

## Workflow Steps

### 1. Pre-Push Validation (REQUIRED)

**Before creating ANY PR, run these checks:**

```bash
# 1. Update target branch
git fetch origin yolo

# 2. Check if feature branch is up-to-date
git merge-base --is-ancestor origin/yolo HEAD
# If fails, need to rebase/merge

# 3. Merge/rebase onto latest target
git merge origin/yolo
# OR: git rebase origin/yolo

# 4. Verify no merge conflicts
git status | grep -q "Unmerged paths" && echo "CONFLICTS FOUND - FIX FIRST"

# 5. Verify TypeScript compiles
cd apps/web && npx tsc --noEmit

# 6. Run tests (when available)
npm run test 2>/dev/null || echo "No tests configured yet"

# 7. Verify CI would pass
# Check lint, build, etc. locally before pushing
```

**Pre-Push Checklist:**
- ✅ Feature branch is up-to-date with target branch
- ✅ No merge conflicts exist
- ✅ TypeScript compiles without errors
- ✅ Tests pass (when tests exist)
- ✅ CI would pass (run checks locally)

**Only After All Checks Pass:**
```bash
git push origin feature-branch
gh pr create --base yolo --head feature-branch
```

### 2. Generate Keywords

Generate 3-5 keywords by combining:

1. **Module name** (always include)
2. **Technical components**: API, UI, database, routing, auth, etc.
3. **Action type**: scaffold, integration, refactor, feature, bugfix
4. **Domain concepts**: From the 8 Paths and their subcategories (see docs/cooperation-paths.md)

**Example for bridge module:**
- `bridge`, `ai-assistant`, `streaming`, `citations`, `knowledge-base`

**Example for governance module:**
- `governance`, `proposals`, `voting`, `consensus`, `deliberation`

**Example for social-economy module:**
- `social-economy`, `timebanking`, `mutual-aid`, `cooperatives`, `transactions`

### 3. Format PR Body

Create PR with this EXACT format:

```markdown
Category: [Selected Cooperation Path Name]
Keywords: [keyword1, keyword2, keyword3, ...]

## Summary
[What changed and why]

## Files Changed
[List with brief description]

## Progress
progress:{module}=+X

[Proof lines if validation run]
```

**CRITICAL FORMAT RULES:**
- First line MUST be `Category:` (plain text, no bold, no markdown)
- Second line MUST be `Keywords:` (plain text, no bold, no markdown)
- Then blank line, then markdown sections
- Progress marker in body for auto-update on merge
- Always include verification: "Verified: All changes tested during implementation, build passes"

### 4. Create PR with gh CLI

```bash
gh pr create --base yolo --head feature-branch --title "[Title]" --body "[Formatted body]"
```

**Note:** If `gh` CLI is not authenticated, output the PR creation URL and the formatted PR body for manual creation.

### 5. Post-Push CI Verification (IMPORTANT)

**After pushing, monitor for AI reviewer comments:**

**Note:** Lint and smoke tests are **disabled on yolo branch** - don't expect those checks.

**Active checks on yolo:**
- GitHub Copilot code review comments
- Codex AI review comments
- Build verification
- Other automated reviewers

**Process:**
1. After PR created, wait ~60 seconds for AI reviewers to analyze (Codex + Copilot)
2. **Check for inline code comments** (use multiple API endpoints):
   ```bash
   # CRITICAL: Check Codex inline review comments (try multiple endpoints)

   # Endpoint 1: Pull request comments
   gh api repos/coopeverything/TogetherOS/pulls/<PR#>/comments \
     --jq '.[] | select(.user.login == "chatgpt-codex-connector") | {file: .path, line: .line, body: .body}'

   # Endpoint 2: Pull request reviews
   gh api repos/coopeverything/TogetherOS/pulls/<PR#>/reviews \
     --jq '.[] | select(.user.login == "chatgpt-codex-connector")'

   # Endpoint 3: Issue comments (general PR comments)
   gh api repos/coopeverything/TogetherOS/issues/<PR#>/comments \
     --jq '.[] | select(.user.login == "chatgpt-codex-connector")'

   # Check Copilot inline comments (all endpoints)
   gh api repos/coopeverything/TogetherOS/pulls/<PR#>/comments \
     --jq '.[] | select(.user.login | contains("copilot")) | {file: .path, line: .line, body: .body}'

   gh api repos/coopeverything/TogetherOS/pulls/<PR#>/reviews \
     --jq '.[] | select(.user.login | contains("copilot"))'
   ```
3. **MANDATORY: Always verify on web UI** (not just when API returns empty):
   ```bash
   gh pr view <PR#> --web
   ```
   **Verification checklist:**
   - [ ] Open "Files Changed" tab
   - [ ] Scroll through EVERY changed file
   - [ ] Look for comment badges/icons on line numbers
   - [ ] Read ALL inline comments (not just review summary)
   - [ ] Confirm P1 issues identified in API queries match web UI
   - [ ] Look for comments that API might have missed

   **CRITICAL:** GitHub API sometimes returns empty results even when comments exist. Web UI inspection is REQUIRED for every PR, not optional.
4. **Categorize feedback by priority**:
   - **P1 (Critical)**: MUST fix - security, build artifacts, breaking changes
   - **P2 (Important)**: SHOULD fix - code quality, performance, best practices
   - **P3 (Nice-to-have)**: CAN defer - style, minor suggestions
5. **Fix all P1 issues before proceeding**:
   - Read the issue carefully
   - Fix the code
   - Commit: `git commit -m "fix: address Codex P1 - [description]"`
   - Push to update PR
   - Wait for re-review
6. Check for Copilot sub-PRs:
   ```bash
   gh pr list --author "app/copilot-swe-agent" --search "sub-pr-<PR#>"
   ```
7. Repeat until all AI reviewers satisfied and checks green

**Commands:**
```bash
# Check inline comments (preferred method)
gh api repos/coopeverything/TogetherOS/pulls/<PR#>/comments \
  --jq '.[] | select(.user.login == "chatgpt-codex-connector" or (.user.login | contains("copilot")))'

# View PR on web if API queries fail
gh pr view <PR#> --web

# Check general PR comments
gh pr view <PR#> --comments

# Check CI status
gh pr checks <PR#>

# View specific check logs
gh run view <run-id> --log-failed

# After fixing issues
git add . && git commit -m "fix: address Codex P1 - [specific issue]"
git push
```

### 6. PR Verification (Before Suggesting Merge)

**Always run this checklist before saying "ready to merge":**

```bash
# 1. Check mergeable status
gh pr view <PR#> --json mergeable,baseRefName

# 2. Verify base is yolo (not main!)
# baseRefName should be "yolo"

# 3. Review CI checks
gh pr checks <PR#>

# 4. Check for unresolved comments
gh pr view <PR#> --comments

# 5. Fix conflicts if needed
git fetch origin yolo && git merge origin/yolo

# 6. Fix CI failures if needed
gh run view <run-id> --log-failed
```

**Never Say "Ready to Merge" Until:**
- ✅ Mergeable status = MERGEABLE
- ✅ All CI checks passing (green)
- ✅ All Copilot/Codex comments addressed
- ✅ No unresolved review comments
- ✅ All commits quality-checked

**See:** `docs/dev/pr-checklist.md`

## Core Conventions

- **Base Branch**: `yolo` **⚠️ NEVER USE main AS BASE - ALWAYS USE yolo**
- **PR Target**: ALL PRs go to `yolo`, **NEVER to main**
- **Branch Pattern**: `feature/{module}-{slice}`
- **CI on yolo**: Lint/smoke disabled, Copilot/Codex enabled

## Example Usage

### Example 1: Format PR for Bridge Module
```
Use Skill: pr-formatter
Context: Completed bridge streaming UI on branch feature/bridge-streaming
Module: bridge
Slice: streaming
Changes: Added streaming UI components, API handlers, and tests
```

**Expected Output:**
```markdown
Category: Cooperative Technology
Keywords: bridge, ai-assistant, streaming, ui-components, real-time

## Summary
Implemented streaming UI for the Bridge AI assistant module, enabling real-time
response rendering with proper citation display.

## Files Changed
- packages/ui/src/components/bridge/StreamingChat.tsx - New streaming chat component
- apps/web/app/api/bridge/stream/route.ts - Streaming API endpoint
- packages/ui/src/components/bridge/CitationDisplay.tsx - Citation rendering

## Progress
progress:bridge=+15

Verified: All changes tested during implementation, build passes
```

### Example 2: Validate PR Before Merge
```
Use Skill: pr-formatter
Context: PR #42 created, need to check if it's ready to merge
Action: Run full PR verification checklist
```

**Expected Actions:**
1. Run `gh pr view 42 --json mergeable,baseRefName`
2. Run `gh pr checks 42`
3. Check for Copilot/Codex comments: `gh pr view 42 --comments`
4. Verify all checks passing and comments resolved
5. Report: "PR #42 is ready to merge" or "PR #42 has issues: [list]"

### Example 3: Address AI Reviewer Feedback
```
Use Skill: pr-formatter
Context: PR #42 has Copilot comments about potential issues
Action: Review and address all feedback
```

**Expected Actions:**
1. Read all Copilot/Codex comments
2. For each valid concern: Fix code, commit, push
3. For false positives: Add reply explaining context
4. Wait for checks to re-run
5. Verify all green before reporting ready

## Integration with Other Skills

**With yolo1:**
- yolo1 calls pr-formatter to format PR body before creation
- Uses auto-selected category and keywords
- Includes progress marker from status-tracker
- Monitors CI and addresses feedback

**With status-tracker:**
- Includes progress marker in formatted PR body
- Ensures correct syntax for automation trigger

**Standalone:**
- Format PR manually: "format PR for bridge module"
- Validate existing PR: "check if PR #42 is ready"
- Pre-push check: "validate before pushing"
- Address feedback: "fix Copilot comments on PR #42"

## Keyword Generation Details

### Technical Component Keywords
- **API**: `api`, `endpoint`, `route`, `handler`, `rest`, `graphql`
- **UI**: `ui`, `component`, `interface`, `design-system`, `styling`
- **Database**: `database`, `schema`, `migration`, `postgres`, `prisma`
- **Auth**: `authentication`, `authorization`, `jwt`, `session`, `permissions`
- **Testing**: `tests`, `e2e`, `unit-tests`, `integration-tests`
- **DevOps**: `ci-cd`, `deployment`, `docker`, `github-actions`

### Action Type Keywords
- **scaffold**: Initial setup, boilerplate, structure
- **integration**: Connecting systems, third-party services
- **refactor**: Code cleanup, optimization, restructuring
- **feature**: New functionality, capabilities
- **bugfix**: Error correction, issue resolution
- **enhancement**: Improvements to existing features

### Domain Keywords from 8 Paths
Reference `docs/cooperation-paths.md` for full taxonomy of domain-specific keywords.

**Examples:**
- **Collaborative Education**: `learning`, `mentorship`, `peer-learning`, `skill-sharing`
- **Social Economy**: `cooperatives`, `timebanking`, `mutual-aid`, `solidarity`
- **Governance**: `proposals`, `voting`, `consensus`, `deliberation`, `decision-making`
- **Technology**: `open-source`, `privacy`, `federation`, `ai`, `automation`

## Safety Guidelines

1. **Always verify base branch is yolo** - Never create PR to main
2. **Run pre-push validation** - Don't push failing code
3. **Test before PR creation** - Build must pass
4. **Include progress marker** - Enable automation
5. **Use exact format** - First two lines: `Category:` and `Keywords:` (plain text)
6. **Address all AI feedback** - Don't ignore Copilot/Codex comments
7. **Wait for green checks** - Don't suggest merge until all pass

## Troubleshooting

**PR automation not triggering?**
- Check first line is exactly `Category: [Path Name]` (no bold, no extra formatting)
- Verify second line is exactly `Keywords: [list]`
- Ensure progress marker syntax: `progress:module=+X`

**Pre-push validation failing?**
- Run each check individually to isolate issue
- Fix TypeScript errors before pushing
- Merge latest yolo to resolve conflicts
- Check CI logs for specific failures

**Copilot/Codex comments not appearing?**
- Wait ~60 seconds after PR creation
- Check PR comments manually on GitHub
- Refresh with `gh pr view <PR#> --comments`

**AI feedback seems wrong?**
- Review the suggestion carefully - often it's valid
- If truly incorrect, reply with explanation
- Don't ignore - address all comments

## Reference

**Full Documentation:**
- PR checklist: `docs/dev/pr-checklist.md`
- Category taxonomy: `docs/cooperation-paths.md`
- Progress tracking: `docs/dev/progress-tracking-automation.md`

**Related Skills:**
- **yolo1**: Full implementation workflow (calls this skill)
- **status-tracker**: Progress tracking (provides progress marker)

Files in this skill

  • 0Chan-smc__claude-code-workflow-lab__claude__skills__frontend-dev-guidelines__SKILL.md15.1 KB
  • 17hz__nextjs-template__claude__skills__example-skill__SKILL.md316 B
  • 1ambda__dataops-platform__claude__skills__context-synthesis__SKILL.md3.5 KB
  • 1natsu172__dotfiles__claude__skills__git-analysis__SKILL.md5.4 KB
  • 1natsu172__dotfiles__claude__skills__github-pr-best-practices__SKILL.md7.7 KB
  • 23Maestro__prospect-pipeline__claude__skills__npid-fastapi-skill.md26.1 KB
  • 360AYA25__ClaudeN8N__claude__skills__n8n-code-javascript__SKILL.md15.7 KB
  • 360AYA25__ClaudeN8N__claude__skills__n8n-code-python__SKILL.md17.5 KB
  • 360AYA25__ClaudeN8N__claude__skills__n8n-expression-syntax__SKILL.md9.4 KB
  • 360AYA25__ClaudeN8N__claude__skills__n8n-mcp-tools-expert__SKILL.md12.5 KB
  • 360AYA25__ClaudeN8N__claude__skills__n8n-node-configuration__SKILL.md16.6 KB
  • 360AYA25__ClaudeN8N__claude__skills__n8n-workflow-patterns__SKILL.md11.2 KB
  • 3x-Projetos__claude-memory-framework__claude__skills__scientist__SKILL.md14.8 KB
  • 5MinFutures__futures-arena__claude__skills__migration-tracker__SKILL.md16.2 KB
  • 5MinFutures__futures-arena__claude__skills__planning-guidelines__SKILL.md11.8 KB
  • 92Bilal26__TaskPilotAI__claude__skills__assessment-builder__SKILL.md17.5 KB
  • 92Bilal26__TaskPilotAI__claude__skills__book-scaffolding__SKILL.md19.1 KB
  • 92Bilal26__TaskPilotAI__claude__skills__code-validation-sandbox__SKILL.md6.2 KB
  • 92Bilal26__TaskPilotAI__claude__skills__exercise-designer__SKILL.md18.1 KB
  • 92Bilal26__TaskPilotAI__claude__skills__learning-objectives__SKILL.md24.5 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…