faf-go – skill Lập trình cho agent AI
Phỏng vấn có hướng dẫn để đạt Gold Code (100% sẵn sàng cho AI). Dùng khi giúp người dùng cải thiện file .faf qua các câu hỏi. Tận dụng AskUserQuestion của Claude Code để tích hợp liền mạch. Chỉ cần gõ /faf-go và trả lời các câu hỏi đến khi xong.
Cài skill faf-go bằng một lệnh
Chọn công cụ bạn đang dùng, copy lệnh và dán vào terminal. Skill sẽ nằm trong thư mục skills của công cụ đó và sẵn sàng dùng ở phiên làm việc tiếp theo.
Claude Code
mkdir -p ~/.claude/skills && curl -fsSL https://skill.dn1nguoi.com/z/faf-go-1d160.tgz | tar xz -C ~/.claude/skills
Gọi trong Claude Code: /faf-go – rồi mô tả công việc bạn muốn làm.
Codex
mkdir -p ~/.codex/skills && curl -fsSL https://skill.dn1nguoi.com/z/faf-go-1d160.tgz | tar xz -C ~/.codex/skills
Gọi trong Codex: $faf-go – rồi mô tả công việc bạn muốn làm.
Hermes Agent
mkdir -p ~/.hermes/skills && curl -fsSL https://skill.dn1nguoi.com/z/faf-go-1d160.tgz | tar xz -C ~/.hermes/skills
Gọi trong Hermes Agent: /faf-go – rồi mô tả công việc bạn muốn làm.
DeepSeek
mkdir -p ~/.deepcode/skills && curl -fsSL https://skill.dn1nguoi.com/z/faf-go-1d160.tgz | tar xz -C ~/.deepcode/skills
Gọi trong DeepSeek: /faf-go – rồi mô tả công việc bạn muốn làm.
Nội dung SKILL.md
Nội dung SKILL.md gốc bằng tiếng Anh.
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 initto 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 " + ".
Score and instruction-file boundaries
A 100% score measures filled slots under the installed CLI rules, not complete or correct project knowledge. Keep unknowns explicit instead of inventing answers to improve the score. Use the question tools actually available in the host; the examples below are Claude-specific shapes. Before any faf sync, inspect its diff/output paths and preserve existing CLAUDE.md/AGENTS.md instructions and user edits; filling context does not authorize overwriting repository policy or syncing secrets into agent-readable files. Report sync only if it actually ran and its output was checked.
Workflow
Step 1: Check Current State
Run faf score to understand current position:
faf score --verboseOr 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):
1. project.goal - What does this project do?
2. human_context.why - Why does this exist?
3. human_context.who - Who uses this?
4. human_context.what - What problem does it solve?
5. project.main_language - Primary language
6. stack.database - Database choice
7. stack.hosting - Where is it deployed?
8. stack.frontend - Frontend framework
9. stack.backend - Backend framework
10. human_context.where - Environment
11. human_context.when - Timeline/phase
12. human_context.how - How the project is built (sourced from the stack)
Step 3: Apply Answers
After collecting answers, update the .faf file:
# Read current .faf
cat project.faf
# Update fields (use Edit tool)
# Then verify:
faf scoreStep 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)
Ordering: When both selected, industry tests come first:
pytest + WJTTC(notWJTTC + pytest)- WJTTC can also run standalone
stack.cicd
{
"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
stack.frontend
{
"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"}
]
}human_context.who
{
"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
Processing Multi-Select Answers
When user selects multiple options, join them with " + ":
# Example: User selects ["pytest", "WJTTC"]
selected = ["pytest", "WJTTC"]
value = " + ".join(selected) # "pytest + WJTTC"This creates readable, scannable values in the .faf file:
stack:
testing: pytest + WJTTC
cicd: GitHub Actions + Cloud BuildExample Session
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!
All active scoring slots are filled; accuracy and project coverage still need review.TodoWrite Integration
Track progress with todos:
[
{"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"}
]CLI Fallback
Outside Claude Code, the same destination is reached with the CLI's own interactive interview:
faf 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.
Success Metrics
- User reaches 100% score
- All required fields filled with meaningful content
- No placeholder values (TBD, Unknown, None where inappropriate)
- User understands what each field is for
On Completion
When 100% ✪ is achieved:
✪ 100% — Gold Code
project.faf: complete
CLAUDE.md: synced from .faf
`… (nội dung đầy đủ có trong gói tải về)
Skill liên quan
- web3-testing – Kiểm thử smart contract toàn diện bằng Hardhat và Foundry với unit test, integration…
- roast – Dùng khi ai đó yêu cầu roast một ý tưởng, kiểm tra áp lực hoặc stress-test một ý tưởng…
- fastapi-pro – Xây dựng API bất đồng bộ hiệu năng cao với FastAPI, SQLAlchemy 2.0 và Pydantic V2. Thành…
- fastapi-templates – Tạo dự án FastAPI sẵn sàng production với mẫu async, dependency injection và xử lý lỗi…
- weekly-review-planning – Reset đầu tuần: cam kết, công việc bị đình trệ, kế hoạch tuần tới.
- sample-text-processor – Skill mẫu cấp BASIC, dùng làm fixture cho skill-tester. Đếm từ và ký tự, áp dụng các…
- finishing-a-development-branch – Dùng khi triển khai đã hoàn tất, mọi test đều pass, và cần quyết định cách tích hợp công…
- scenario-war-room – Mô hình hóa what-if đa chức năng cho các kịch bản nhiều biến số chồng chéo. Khác với…