From faf
Improve project.faf AI-readiness score through guided enhancements. Identifies missing sections, suggests improvements, helps reach next Podium tier (Bronze→Silver→Gold→Trophy). Use when user asks "improve my score", "enhance my FAF", "reach Gold tier", or wants better AI context quality.
How this skill is triggered — by the user, by Claude, or both
Slash command
/faf:faf-enhanceThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Guide users through improving their `project.faf` file to reach higher AI-readiness scores and Podium tiers. Provides specific, actionable enhancements based on current state and target tier.
Guide users through improving their project.faf file to reach higher AI-readiness scores and Podium tiers. Provides specific, actionable enhancements based on current state and target tier.
The Goal: Help developers systematically improve AI context quality from their current tier to Trophy (85%+) through clear, guided steps.
This skill activates automatically when the user:
faf score and wants to improveTrigger Words: enhance, improve, optimize, upgrade, better, reach tier, increase score, fix gaps
First, assess where the user is starting from:
# Check if project.faf exists
ls -la project.faf
# Get current score
faf score
Parse the score output to identify:
Run the existing enhancement command:
faf enhance
Note: In faf-cli v5.0.6, this might be called faf analyze. The command:
Based on current tier and target, prioritize actions:
For Trophy tier (target 85%+):
For Gold tier (target 70-84%):
For Silver tier (target 55-69%):
For Bronze tier (target 40-54%):
Work with the user interactively to add missing content:
Method 1: Question-Driven (Recommended) Ask targeted questions to extract information:
Method 2: Template-Driven Provide templates for missing sections:
testing:
framework: [Jest/Vitest/pytest/etc.]
approach: [unit/integration/e2e]
coverage: [X% or X tests]
architecture:
pattern: [MVC/microservices/serverless/etc.]
rationale: [why this pattern]
key_decisions:
- [decision 1 with reasoning]
- [decision 2 with reasoning]
Method 3: Auto-Detection Read project files to infer missing information:
Edit the project.faf file with new content:
# Use Edit tool to add sections
# OR guide user to edit manually
# OR use faf enhance command's interactive mode
After each improvement, re-score:
faf score
Show progress:
Continue the improve → score → improve cycle until:
Time Investment: 15-30 minutes Focus: Foundation
Essential Additions:
purpose: |
One clear sentence describing what this project does.
Optionally a second sentence about who uses it or why it exists.
architecture:
type: web-app | library | api | cli | mobile-app | desktop-app | service
stack:
language: TypeScript | Python | Rust | Go | Java | etc.
framework: React | Next.js | Django | FastAPI | etc.
runtime: Node.js 18+ | Python 3.11+ | etc.
dependencies:
- react: "^18.2.0"
- typescript: "^5.3.3"
- vite: "^5.0.0"
testing:
framework: Jest | pytest | etc.
status: X tests passing
Result: Bronze tier (40-54%) - Basic AI understanding
Time Investment: 30-60 minutes Focus: Depth
Essential Additions:
architecture:
type: web-app
pattern: Server-side rendered React with Next.js App Router
description: |
Multi-page application using Next.js 14 App Router.
TypeScript strict mode throughout.
Tailwind CSS for styling.
API routes for backend logic.
testing:
framework: Jest + React Testing Library
approach: |
- Unit tests for utilities and hooks
- Component tests for UI
- Integration tests for API routes
coverage: 78% overall, 90%+ for critical paths
commands:
test: npm test
coverage: npm run test:coverage
structure:
src/: Source code
src/app/: Next.js App Router pages
src/components/: Reusable React components
src/lib/: Utility functions
src/api/: API route handlers
public/: Static assets
build:
tool: Next.js (Turbopack)
commands:
dev: npm run dev
build: npm run build
start: npm start
output: .next/ directory
setup:
prerequisites:
- Node.js 18+
- npm 9+
install: npm install
env: Copy .env.example to .env.local
start: npm run dev
Result: Silver tier (55-69%) - Good AI understanding
Time Investment: 1-2 hours Focus: Completeness
Essential Additions:
architecture_decisions:
- decision: "Chose Next.js App Router over Pages Router"
rationale: "Better performance, simpler data fetching, React Server Components"
- decision: "TypeScript strict mode"
rationale: "Catch errors at compile time, better IDE support"
- decision: "Tailwind CSS over CSS-in-JS"
rationale: "Faster build times, smaller bundle, better performance"
api:
type: REST
endpoints:
- path: /api/users
method: GET
description: List all users
auth: JWT required
- path: /api/users/:id
method: GET
description: Get user by ID
database:
type: PostgreSQL 15
orm: Prisma
schema:
users: id, email, name, created_at
posts: id, title, content, user_id, published
migrations: prisma/migrations/
deployment:
platform: Vercel
environment: Node.js 18
build_command: npm run build
output_directory: .next
env_variables:
- DATABASE_URL
- JWT_SECRET
- API_KEY
performance:
- React Server Components for data fetching
- Image optimization with next/image
- Code splitting by route (automatic)
- Caching strategy: ISR with 60s revalidation
Result: Gold tier (70-84%) - Excellent AI understanding
Time Investment: 2-4 hours Focus: Excellence
Essential Additions:
design_patterns:
- pattern: "Repository Pattern for data access"
implementation: "lib/repositories/ directory"
rationale: "Separates data logic from business logic"
- pattern: "Composition over inheritance for components"
implementation: "Compound components pattern"
rationale: "More flexible, easier to test"
security:
authentication: JWT tokens (httpOnly cookies)
authorization: Role-based access control (RBAC)
data_validation: Zod schemas on all API inputs
xss_prevention: React automatic escaping + DOMPurify for user HTML
csrf_protection: SameSite cookies + token verification
secrets_management: Environment variables (never committed)
monitoring:
errors: Sentry integration
analytics: Vercel Analytics
performance: Web Vitals tracking
logging: Pino logger (structured JSON)
alerts: Slack webhooks for critical errors
api_advanced:
authentication: "Bearer token in Authorization header"
rate_limiting: "100 requests per minute per IP"
pagination: "?page=1&limit=20 (max 100)"
error_format:
status: 400
error: "validation_error"
message: "Email is required"
fields: {email: "Required"}
gotchas:
- issue: "Server components can't use useState/useEffect"
solution: "Move to client component with 'use client'"
- issue: "Environment variables must be prefixed NEXT_PUBLIC_ for client"
solution: "Rename or use server-side only"
- issue: "Dynamic routes require generateStaticParams for SSG"
solution: "Export generateStaticParams function"
workflow:
branching: "main (production), develop (staging), feature/*"
commits: "Conventional Commits (feat:, fix:, docs:)"
prs: "Require 1 approval, all tests passing"
deployment: "Automatic on merge to main (Vercel)"
Result: Trophy tier (85-100%) - Elite AI understanding
User: "Improve my AI-readiness score"
Skill Activates:
faf score
# Output: 🥈 Silver (58%)
# Gaps: Testing framework not documented, API endpoints not described
Q: "What testing framework are you using?" A: "Jest with React Testing Library"
Q: "What's your testing approach?" A: "Unit tests for utilities, component tests for UI"
Q: "What coverage do you have?" A: "About 78% overall"
testing:
framework: Jest + React Testing Library
approach: |
- Unit tests for utilities and hooks (lib/ directory)
- Component tests for UI (components/ directory)
- Integration tests for API routes (api/ directory)
coverage: 78% overall, 90%+ for critical paths
commands:
test: npm test
coverage: npm run test:coverage
location: __tests__/ and *.test.tsx files
faf score
# Output: 🥈 Silver (64%) - 6% improvement!
# Next: Add API documentation to reach Gold (70%)
When user doesn't know details, infer from project files:
# Check package.json
grep -E "jest|vitest|mocha|ava|tape" package.json
# Check for config files
ls jest.config.js vitest.config.ts 2>/dev/null
# Check test files
ls **/*.test.ts **/*.spec.ts 2>/dev/null | head -3
# Check dependencies
grep -E "prisma|sequelize|typeorm|mongoose|pg|mysql" package.json
# Check for schema files
ls prisma/schema.prisma schema.sql 2>/dev/null
# Check for platform-specific files
ls vercel.json netlify.toml railway.json render.yaml 2>/dev/null
# Check package.json scripts
grep -E "deploy|build" package.json
# Check for GraphQL
grep -E "graphql|apollo" package.json
# Check for REST
grep -E "express|fastify|koa|next" package.json
# Check for tRPC
grep -E "trpc" package.json
✅ Score improved after enhancements ✅ Gaps identified and filled ✅ Next tier target clarified ✅ User understands improvements made ✅ Project.faf more complete
Issue: Score didn't improve after adding content
# Solution: Validate format
faf validate
# Check for YAML errors
# Ensure sections are in correct locations
# Re-run score
faf score
Issue: Don't know what to add
# Solution: Use auto-detection
# Read package.json, config files
# Infer missing information
# Present to user for confirmation
Issue: Improvement suggestions too generic
# Solution: Be specific
# Instead of "Add testing info"
# Say "Document your Jest setup, test location, and coverage percentage"
This skill works with:
Enhancement often triggers:
Guided, Not Automated:
Incremental Progress:
Quality Over Quantity:
NO BS ZONE:
When this skill succeeds, users should:
1. faf score → Know current state (58% Silver)
2. faf enhance → Identify gaps
3. Interactive Q&A → Gather missing info
4. Edit project.faf → Add new sections
5. faf score → Measure improvement (64% Silver)
6. Repeat until target reached (70% Gold)
Typical Session:
Time Investment:
ROI: Every percentage point saves ~15 seconds per AI session. 70% score = 5 sessions/day × 20 min saved = 100 min/day saved
Generated by FAF Skill: faf-enhance v1.0.0 Podium Edition: Guided Improvement "Incremental progress. Measurable results. Trophy-grade guidance."
npx claudepluginhub wolfe-jam/faf-skillsExpert in the .faf format for persistent project context across AI tools. Scores AI-readiness, syncs context to CLAUDE.md, and manages the faf-cli toolkit. Use when working with .faf files or the FCL doctrine.
Generates AI-ready context files (.faf) for any project in ~60 seconds. Auto-detects stack, scores AI-readiness, works across Claude/Cursor/Gemini.
Assesses codebase for AI agent readiness by detecting stacks, monorepos, git setup, and evaluating style, testing, code quality, secrets, and file sizes.