| name | faf-go |
| description | Guided interview to Gold Code (100% AI-Readiness). Use when helping users improve their .faf file through questions. Leverages Claude Code's AskUserQuestion for seamless integration. Just type /faf-go |
| category | Document Processing |
| source | antigravity |
| tags | ["python","javascript","react","api","mcp","claude","ai","agent","workflow","template"] |
| url | https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/faf-go |
FAF Go — Guided Path to 100% ✪
"Just type /faf-go, answer questions till you're done. 100% target."
.faf is an IANA-registered context format (application/vnd.faf+yaml) — a typed, portable file you own, readable by any AI. faf-cli scores on 21 slots; your app_type selects which are active, and 100% ✪ = every active slot filled. This skill is the guided interview that gets you there: the AI fills what it can detect, then asks you — via Claude Code's AskUserQuestion — only for the gaps it can't source.
When to Use This Skill
Activate when:
- User wants to improve their .faf score
- User mentions "Gold Code" or "100%"
- User has incomplete project context
- After
faf init to fill in missing fields
- User says "help me with my .faf"
Integration with Claude Code
FAF Go is built FOR Claude Code:
- AskUserQuestion - Native Claude Code UI for questions
- multiSelect: true - Allow multiple answers (e.g., "pytest + WJTTC")
- TodoWrite - Track progress through the interview
- Structured output - JSON that Claude Code understands
- Bi-sync - Answers flow to .faf AND CLAUDE.md
multiSelect Support
Some questions allow multiple selections:
stack.testing → "pytest + WJTTC"
stack.cicd → "GitHub Actions + Cloud Build"
stack.frontend → "React + Tailwind"
human_context.who → "Developers + AI agents"
When multiSelect: true, user can pick 2+ options. Results are joined with " + ".
Workflow
Step 1: Check Current State
Run faf score to understand current position:
faf score --verbose
Or get it as structured data for programmatic use:
faf score --json
--json returns the score + per-slot breakdown — the empty slots are what you interview on (the priority order is in Step 2).
Step 2: Ask Questions Using AskUserQuestion
For each missing field, use Claude Code's AskUserQuestion tool:
Priority Order (most impactful first):
project.goal - What does this project do?
human_context.why - Why does this exist?
human_context.who - Who uses this?
human_context.what - What problem does it solve?
project.main_language - Primary language
stack.database - Database choice
stack.hosting - Where is it deployed?
stack.frontend - Frontend framework
stack.backend - Backend framework
human_context.where - Environment
human_context.when - Timeline/phase
human_context.how - How the project is built (sourced from the stack)
Step 3: Apply Answers
After collecting answers, update the .faf file:
cat project.faf
faf score
Step 4: Celebrate or Continue
If score >= 100: Celebrate Gold Code achievement
If score < 100: Continue with remaining questions
Question Templates for AskUserQuestion
Single-Select Questions (pick one)
project.goal
{
"question": "What does this project do? (one clear sentence)",
"header": "Goal",
"multiSelect": false,
"options": [
{"label": "Let me type it", "description": "I'll describe it myself"},
{"label": "Help me write it", "description": "Guide me through it"}
]
}
human_context.why
{
"question": "Why does this project exist?",
"header": "Why",
"multiSelect": false,
"options": [
{"label": "Business need", "description": "Solving a business problem"},
{"label": "Personal project", "description": "Learning or hobby"},
{"label": "Open source", "description": "Community contribution"},
{"label": "Let me explain", "description": "Custom reason"}
]
stack.database
{
"question": "What database do you use?",
"header": "Database",
"multiSelect": false,
"options": [
{"label": "PostgreSQL", "description": "Relational database"},
{"label": "MongoDB", "description": "Document database"},
{"label": "SQLite", "description": "File-based database"},
{"label": "None", "description": "No database"}
]
}
stack.hosting
{
"question": "Where is this deployed?",
"header": "Hosting",
"multiSelect": false,
"options": [
{"label": "Vercel", "description": "Frontend/serverless"},
{"label": "AWS", "description": "Amazon Web Services"},
{"label": "Local only", "description": "Not deployed"},
{"label": "Other", "description": "Different platform"}
]
}
Multi-Select Questions (pick multiple, joined with " + ")
stack.testing
{
"question": "What testing tools/methodologies do you use?",
"header": "Testing",
"multiSelect": true,
"options": [
{"label": "pytest", "description": "Python testing framework"},
{"label": "Jest", "description": "JavaScript testing"},
{"label": "Vitest", "description": "Vite-native testing"},
{"label": "WJTTC", "description": "Championship methodology (Layer 2)"}
]
Result format: pytest + WJTTC (industry first, WJTTC follows)
**O