Install any skill in seconds. Free to start, no credit card required.
Get Started Free →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 and answer questions till done.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-02 | ✗→✓ | ▲ Improved | 189% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 158% | 0% |
| case-08 | ✗→✓ | ▲ Improved | -23% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 9% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 133% | 0% |
"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.
Activate when:
faf init to fill in missing fieldsFAF Go is built FOR Claude Code:
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 " + ".
Run faf score to understand current position:
bashfaf score --verbose
Or get it as structured data for programmatic use:
bashfaf score --json
--json returns the score + per-slot breakdown — the empty slots are what you interview on (the priority order is in Step 2).
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 languagestack.database - Database choicestack.hosting - Where is it deployed?stack.frontend - Frontend frameworkstack.backend - Backend frameworkhuman_context.where - Environmenthuman_context.when - Timeline/phasehuman_context.how - How the project is built (sourced from the stack)After collecting answers, update the .faf file:
bash# Read current .faf cat project.faf # Update fields (use Edit tool) # Then verify: faf score
If score >= 100: Celebrate Gold Code achievement If score < 100: Continue with remaining questions
json{ "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"} ] }
json{ "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"} ] }
json{ "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"} ] }
json{ "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"} ] }
json{ "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)
Ordering: When both selected, industry tests come first:
pytest + WJTTC (not WJTTC + pytest)json{ "question": "What CI/CD tools do you use?", "header": "CI/CD", "multiSelect": true, "options": [ {"label": "GitHub Actions", "description": "GitHub-native CI/CD"}, {"label": "Cloud Build", "description": "Google Cloud CI/CD"}, {"label": "CircleCI", "description": "CircleCI pipelines"}, {"label": "None", "description": "No CI/CD yet"} ] }
Result format: GitHub Actions + Cloud Build
json{ "question": "What frontend technologies do you use?", "header": "Frontend", "multiSelect": true, "options": [ {"label": "React", "description": "React framework"}, {"label": "Next.js", "description": "React meta-framework"}, {"label": "Svelte", "description": "Svelte framework"}, {"label": "None/API-only", "description": "No frontend"} ] }
json{ "question": "Who uses this project?", "header": "Users", "multiSelect": true, "options": [ {"label": "Developers", "description": "Software developers"}, {"label": "End users", "description": "Non-technical users"}, {"label": "AI agents", "description": "Claude, Gemini, etc."}, {"label": "Internal team", "description": "Your team only"} ] }
Result format: Developers + AI agents
When user selects multiple options, join them with " + ":
python# Example: User selects ["pytest", "WJTTC"] selected = ["pytest", "WJTTC"] value = " + ".join(selected) # "pytest + WJTTC"
This creates readable, scannable values in the .faf file:
yamlstack: testing: pytest + WJTTC cicd: GitHub Actions + Cloud Build
User: /faf-go
Claude: Let me check your current .faf status.
[Runs: faf score --verbose]
Your score is 45%. Let's get you to Gold Code!
[Uses AskUserQuestion for project.goal]
User: [Selects option or types custom]
Claude: Great! Now let's capture why this project exists.
[Uses AskUserQuestion for human_context.why]
... continues until 100% ...
Claude: ✪ GOLD CODE ACHIEVED!
Your AI now has complete context for championship performance.Track progress with todos:
javascript[ {"content": "Answer project.goal question", "status": "completed"}, {"content": "Answer human_context.why question", "status": "in_progress"}, {"content": "Answer stack.database question", "status": "pending"}, {"content": "Verify Gold Code achieved", "status": "pending"} ]
Outside Claude Code, the same destination is reached with the CLI's own interactive interview:
bashfaf go # interactive terminal interview (--resume continues a session)
This skill is the Claude-native version of that interview — AskUserQuestion instead of terminal prompts. For structured, programmatic data, use faf score --json.
When 100% ✪ is achieved:
✪ 100% — Gold Code
project.faf: complete
CLAUDE.md: synced from .fafOptionally run faf sync to emit CLAUDE.md / AGENTS.md from the .faf. Your AI now starts every session with complete project context.
> .faf is the format. project.faf is the file. > 100% ✪ AI-Readiness is the result.
MIT · part of the FAF skill family (faf-context · faf-wizard · faf-expert). Native to Claude Code.
Other measured skills in the registry, with their headline benchmark lift.