Faf-skills pr
Create context-aware pull requests powered by FAF. Reads .faf project DNA to generate meaningful PR descriptions. Use when creating PRs. Foundation Layer integration ensures PRs reflect project goals.
git clone https://github.com/Wolfe-Jam/faf-skills
T=$(mktemp -d) && git clone --depth=1 https://github.com/Wolfe-Jam/faf-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/pr" ~/.claude/skills/wolfe-jam-faf-skills-pr && rm -rf "$T"
skills/pr/SKILL.mdPR - FAF-Powered Pull Requests
"Pull requests that tell the full story."
The package.json for Context
project/ ├── package.json ← npm reads this ├── project.faf ← AI reads this ├── README.md └── src/
"package.json wasn't built for this, .faf was" — .faf Inventor
"package.json gives me a list of dependencies, .faf shows me how to use them" — Claude Code (Anthropic)
Once you get used to it, it's just another file helping you code.
Foundation Layer Status
When activated, PR reads from your project's foundation:
🔗 CONNECTING TO FOUNDATION Reading: project.faf Context: project.goal, human_context, stack Status: ALIGNED ✅ PR context loaded from .faf Your PRs now reflect project DNA
When to Use This Skill
Activate when:
- User types
/pr - User asks to create a pull request
- User says "open a PR" or "make a PR"
- After completing a feature branch
- User wants help with PR descriptions
How FAF Improves PRs
Without FAF:
## Changes - Updated code - Fixed stuff
With FAF Foundation:
## Summary Implements voice streaming for FAF-Voice browser-to-xAI integration. This enables real-time voice responses with eternal memory persistence. ## Changes - Add WebSocket voice streaming handler - Implement chunked audio encoding - Add session recovery on reconnect ## Test Plan - [ ] Voice stream connects successfully - [ ] Audio plays without latency - [ ] Session survives browser refresh ## Context Part of FAF-Voice demo proving eternal voice persistence to xAI.
PR Workflow
Step 1: Read Foundation Context
Before generating PR description, read from .faf:
# From project.faf project: name: "faf-voice" goal: "Browser-to-xAI voice client with eternal memory" human_context: why: "Prove voice persistence to xAI" what: "Zero drift, zero re-explain voice assistant" testing: "vitest"
Step 2: Analyze Branch Changes
# Check current branch git branch --show-current # Compare with base branch git log main..HEAD --oneline git diff main...HEAD --stat
Step 3: Generate Context-Aware PR
Use .faf context to create meaningful PR description:
PR Title Format:
<type>: <short description>
PR Body Template:
## Summary <1-3 bullet points from .faf project.goal context> ## Changes <List of changes informed by stack context> ## Test Plan <Checklist informed by .faf testing field> ## Context <Why this matters - from human_context.why>
Step 4: Create PR
gh pr create --title "<title>" --body "<body>"
PR Templates by Type
Feature PR
## Summary Adds [feature] to support [project.goal]. ## Changes - Implement [feature component] - Add [supporting code] - Update [related files] ## Test Plan - [ ] Unit tests pass - [ ] Integration tests pass - [ ] Manual testing completed ## Context This feature enables [human_context.what]. Part of [project.name] roadmap.
Bug Fix PR
## Summary Fixes [issue] that was causing [problem]. ## Root Cause [Technical explanation] ## Changes - Fix [specific change] - Add test to prevent regression ## Test Plan - [ ] Bug no longer reproduces - [ ] Existing tests pass - [ ] New regression test added ## Context Reported in [issue link]. Affects [user impact].
Refactor PR
## Summary Refactors [component] to improve [quality aspect]. ## Motivation [Why this refactor is needed - from project context] ## Changes - Extract [module] - Rename [items] - Reorganize [structure] ## Test Plan - [ ] All existing tests pass - [ ] No behavior change - [ ] Performance maintained ## Context Prepares codebase for [upcoming feature from .faf].
Integration with Claude Code
This skill uses Claude Code patterns:
- Read .faf first - Always check project context
- Use gh CLI - GitHub CLI for PR operations
- TodoWrite - Track PR checklist items
- Bi-sync awareness - PR may reference CLAUDE.md context
FAF Fields Used for PRs
| Field | Usage |
|---|---|
| PR title prefix |
| Summary context |
| PR motivation |
| Feature description |
| Test plan structure |
| Technical details |
Example Session
User: /pr Claude: Let me check your .faf for project context. [Reads project.faf] [Runs git log main..HEAD] [Runs git diff main...HEAD --stat] Based on your branch and project context: **Title:** feat: implement voice streaming for xAI integration **Body:** ## Summary - Adds real-time voice streaming from browser to Grok API - Implements eternal memory persistence across sessions ## Changes - Add VoiceStream class with WebSocket handling - Implement AudioCodec for chunked encoding - Add session recovery on disconnect ## Test Plan - [ ] Voice stream connects successfully - [ ] Audio plays without latency - [ ] Session survives browser refresh ## Context Part of FAF-Voice demo proving eternal voice persistence to xAI. [Executes: gh pr create ...] ✅ PR created! https://github.com/user/repo/pull/123
PR Best Practices
- One logical change per PR - Keep PRs focused
- Reference .faf goal - Connect to project purpose
- Include test plan - Use .faf testing field
- Add context - Explain why, not just what
- Keep descriptions scannable - Bullets, headers, checklists
Related Skills
- Context-aware commits (PR builds on these)/commit
- Review code changes/review
- Version and changelog/release
The Foundation Promise
.faf is the format. project.faf is the file. 100% 🏆 AI Readiness is the result.
FAF Foundation Layer - Native to Claude Code "Pull requests that tell the full story."