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.
.claude/skills/sickn33-faf-go/SKILL.md| 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.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 7,559 | 5,502 | -27% | 1 | 1 | 0% | 1,160 | 2,980 | +157% | 0 | 0 | — |
case-02 | fail→pass | 6,187 | 5,902 | -5% | 1 | 1 | 0% | 1,002 | 2,895 | +189% | 0 | 0 | — |
case-03 | fail→fail | 7,676 | 5,862 | -24% | 1 | 1 | 0% | 1,075 | 2,917 | +171% | 0 | 0 | — |
case-04 | pass→pass | 6,076 | 2,748 | -55% | 1 | 1 | 0% | 818 | 3,071 | +275% | 0 | 0 | — |
case-05 | pass→pass | 6,205 | 3,110 | -50% | 1 | 1 | 0% | 991 | 3,207 | +224% | 0 | 0 | — |
case-06 | fail→pass | 7,413 | 2,870 | -61% | 1 | 1 | 0% | 1,189 | 3,068 | +158% | 0 | 0 | — |
case-07 | pass→pass | 16,418 | 2,106 | -87% | 1 | 1 | 0% | 1,513 | 2,949 | +95% | 0 | 0 | — |
case-08 | fail→pass | 22,938 | 2,314 | -90% | 1 | 1 | 0% | 3,833 | 2,957 | -23% | 0 | 0 | — |
case-09 | fail→pass | 15,915 | 2,028 | -87% | 1 | 1 | 0% | 2,680 | 2,925 | +9% | 0 | 0 | — |
case-10 | fail→pass | 7,812 | 2,360 | -70% | 1 | 1 | 0% | 1,276 | 2,967 | +133% | 0 | 0 | — |
case-11 | fail→pass | 11,230 | 1,736 | -85% | 1 | 1 | 0% | 1,820 | 2,861 | +57% | 0 | 0 | — |
case-12 | fail→pass | 7,471 | 2,332 | -69% | 1 | 1 | 0% | 1,119 | 2,984 | +167% | 0 | 0 | — |
case-13 | pass→pass | 8,967 | 2,811 | -69% | 1 | 1 | 0% | 1,139 | 3,075 | +170% | 0 | 0 | — |
case-14 | pass→pass | 4,473 | 3,283 | -27% | 1 | 1 | 0% | 642 | 3,112 | +385% | 0 | 0 | — |
case-15 | fail→pass | 9,914 | 2,159 | -78% | 1 | 1 | 0% | 1,542 | 2,957 | +92% | 0 | 0 | — |
case-16 | fail→pass | 12,684 | 3,905 | -69% | 1 | 1 | 0% | 1,930 | 3,193 | +65% | 0 | 0 | — |
case-17 | pass→pass | 6,913 | 1,612 | -77% | 1 | 1 | 0% | 842 | 2,845 | +238% | 0 | 0 | — |
case-18 | pass→pass | 5,804 | 2,194 | -62% | 1 | 1 | 0% | 702 | 2,994 | +326% | 0 | 0 | — |
case-19 | fail→pass | 35,399 | 2,436 | -93% | 1 | 1 | 0% | 3,404 | 3,034 | -11% | 0 | 0 | — |
case-20 | pass→pass | 4,725 | 2,842 | -40% | 1 | 1 | 0% | 666 | 3,107 | +367% | 0 | 0 | — |
case-21 | pass→fail | 5,143 | 3,046 | -41% | 1 | 1 | 0% | 817 | 3,028 | +271% | 0 | 0 | — |
case-22 | pass→pass | 15,075 | 1,651 | -89% | 1 | 1 | 0% | 2,360 | 2,890 | +22% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +41 percentage points is the difference between those two pass rates over the 22 comparable cases. 2 cases got worse with the skill loaded, and they are included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.