ftk-interview
Resolve intent, language, constraints, and decision dependencies before writing a Spec.
Skill by adiwirya
Chalk Labs
Need help deploying ftk-interview?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/adiwirya-ftk-interview
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: writing, productivity
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/ftk-interview
What's inside
- Skill name
ftk-interview- Description
- Resolve intent, language, constraints, and decision dependencies before writing a Spec. Use when the user invokes ftk-interview as the first workflow step.
- License
- MIT
- Instructions
- 93 lines in SKILL.md · view on GitHub
Files (4)
- SKILL.md
- glossary-docs.md · references/
- glossary-format.md · references/
- summary-format.md · references/
SKILL.md (first lines)
Interview the user until the request has shared language, clear intent, resolved decision dependencies, and enough product-contract detail to write a faithful Spec. Start by grounding the discussion in the project's domain model, then walk the product behavior tree one branch at a time. Request input: $ARGUMENTS ## Interview Posture Ask one question at a time. Prefix each user-facing question with `Question N:` and increment `N` through the interview. Wait for the answer before moving on. For each question, give one recommended answer that is specific enough to become a Spec decision. Include exact labels, state transitions, output shapes, reset behavior, and negative requirements when they would prevent downstream ambiguity. Use bullets when the answer has multiple parts. Keep the reason concise. Mention trade-offs only when the choice would materially change the decision. Use freeform questions during discovery. Save structured options for explicit checkpoints. ## Before Asking Explore the current project and existing docs, so you do not ask what the project can answer. Keep exploration targeted. Look for: - `GLOSSARY.md` in the command working directory. - Nearby feature code, tests, scripts, examples, or docs implied by the request. - Places where the user's assumption appears to disagree with the code. Read [glossary-docs.md](./references/glossary-docs.md) before editing glossary documents. Do not produce any other files, drafts, or work breakdowns. Do not proceed to implementation. ## Prioritize Questions Ask questions in order of importance: 1. **Framing** - Resolves the domain concept, user-facing language, and intent 2. **Critical** - Blocks implementation or creates security/data risks 3. **Important** - Significantly affects UX or maintainability 4. **Nice-to-have** - Improves clarity but has reasonable defaults **Guidelines:** - Address real unknowns, not things already stated or inferable - Offer a concrete recommended answer, and mention alternatives only when they materially affect the decision. - Focus on decisions that would change the implementation - Prefer product-contract questions over implementation-preference questions. Product-contract questions change observable behavior, inputs, outputs, state, errors, compatibility, or user expectations. - Ask direction-setting choices before the Spec-ready checkpoint: decisions that would change dependencies, data model, API contract, test strategy, or overall implementation path. - Make recommendations actionable: include exact terms, output shapes, commands, examples, or bullet lists when those details would prevent ambiguity in the Spec. - Be specific: "What should happen when OAuth returns a 429?" not "What about errors?" **Typical areas needing clarification:** - Source-of-truth conflicts between prompt, code, docs, examples, schemas, fixtures, or data files - Inputs, outputs, side effects, state transitions, ordering, idempotency, and persistence behavior - Non-happy-path behavior and edge cases - Contract details: names, formats, statuses, defaults, limits, validation rules, and compatibility boundaries - Scope boundaries for implied behavior not backed by source material or requirements - Integration requirements, dependencies, Test Seams, and verification expectations ## Challenge Language Treat project vocabulary as part of the design, not a cleanup task after implementation details are settled. When the request, code, scripts, examples, docs, or selected glossary document use competing words for nearby concepts, stop and ask which concept is canonical. When the user uses vague or overloaded language, propose a sharper term before resolving downstream behavior. When project-specific language is resolved as durable terminology, update the selected `GLOSSARY.md` immediately. Do not batch these updates. Read [glossary-format.md](./references/glossary-format.md) for the expected shape. ## Test Concrete Scenarios Walk decisions through realistic examples. Prefer scenarios that expose boundaries, failure states, ownership, sequencing, and naming collisions. If the code contradicts the plan, surface it directly. Resolve dependency chains in order. If a naming decision affects storage, and storage affects migration behavior, settle the naming decision first. Before stopping, silently audit for missed product decisions. If one unresolved observable behavior would likely cause rework or drift, ask it. If several remain, ask the highest-impact one first. ## Update Glossary Inline `GLOSSARY.md` is a glossary, not a Spec or decision log. Only capture stable, project-specific terminology. Define what the term means in this project, not the requirements, behavior, tests, or implementation connected to it. Use `Terminology` for canonical words. If the existing glossary uses a different structure, preserve it and make the smallest compatible terminology edit. ## Ready To Write The Spec When framing, blocking ambiguities, direction-setting choices, and high-impact product-contract details appear resolved, present the same-session checkpoint from [summary-format.md](./references/summary-format.md). Include resolved product decisions, resolved technical/test decisions, and remaining non-blocking defaults. Do not suggest starting a new session at this point. If the user asks for a summary, read [summary-format.md](./references/summary-format.md) and summarize without turning it into a Spec outline or implementation plan. If the user asks to write the Spec before blockers are resolved, honor the request. Preserve unresolved blockers so the Spec can carry them forward as Blocking Questions. If the user chooses `ftk-create-spec`, invoke it in the same session with the gathered interview context.
From adiwirya/flutter-tools-kit, MIT.
More from adiwirya/flutter-tools-kit
- 0.479score
ftk-create-spec
adiwirya
Create and save a Spec from current conversation context.
SkillCFreshness: CClaude Code +9 - 0.479score
ftk-config
adiwirya
Configure FTK workflow storage and semantics for the current working directory.
SkillCFreshness: CClaude Code +9 - 0.476score
ftk-build-ui
adiwirya
Build a Flutter screen or widget that visually matches a design from Figma, an image, or a description.
SkillCFreshness: CClaude Code +9 - 0.474score
ftk-ci
adiwirya
Generate a GitHub Actions workflow for a Flutter project — analyze, test, smoke build, artifact.
SkillCFreshness: CClaude Code +9 - 0.474score
ftk-scaffold-feature
adiwirya
Add a feature module (data/domain/presentation + Riverpod providers + route) to an existing Flutter project.
SkillCFreshness: CClaude Code +9 - 0.474score
ftk-scaffold-project
adiwirya
Create a new Flutter project with feature-first structure, Riverpod, linting, and optional flavors.
SkillCFreshness: CClaude Code +9 - 0.474score
ftk-execute
adiwirya
Execute a Spec's Work Items subagent-driven — a fresh ftk-implementer per item, ftk-task-reviewer gate per item, final whole-run review.
SkillCFreshness: CClaude Code +9 - 0.474score
ftk-l10n
adiwirya
Set up Flutter localization (ARB + intl, Indonesian/English default) or migrate hardcoded strings to AppLocalizations.
SkillCFreshness: CClaude Code +9 - 0.471score
ftk-refactor-legacy
adiwirya
Migrate an existing Flutter project toward FTK standards (feature-first, Riverpod, dio) one feature at a time, behind characterization tests.
SkillCFreshness: CClaude Code +9 - 0.469score
ftk-perf
adiwirya
Diagnose and fix Flutter performance problems — jank, slow lists, slow startup — measurement-first in profile mode.
SkillCFreshness: CClaude Code +9 - 0.469score
ftk-add-tests
adiwirya
Add unit, widget, golden, or integration tests to a Flutter project, choosing the right level per seam.
SkillCFreshness: CClaude Code +9 - 0.469score
ftk-release
adiwirya
Build a release of a Flutter app — version bump, signing checks, APK/AAB/IPA build, upload guidance.
SkillCFreshness: CClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Jul 8, 2026 (3 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/adiwirya/flutter-tools-kit
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from adiwirya
- 0.479score
ftk-config
adiwirya
Configure FTK workflow storage and semantics for the current working directory.
SkillCFreshness: CClaude Code +9 - 0.479score
ftk-create-spec
adiwirya
Create and save a Spec from current conversation context.
SkillCFreshness: CClaude Code +9 - 0.476score
ftk-build-ui
adiwirya
Build a Flutter screen or widget that visually matches a design from Figma, an image, or a description.
SkillCFreshness: CClaude Code +9 - 0.474score
ftk-ci
adiwirya
Generate a GitHub Actions workflow for a Flutter project — analyze, test, smoke build, artifact.
SkillCFreshness: CClaude Code +9 - 0.474score
ftk-execute
adiwirya
Execute a Spec's Work Items subagent-driven — a fresh ftk-implementer per item, ftk-task-reviewer gate per item, final whole-run review.
SkillCFreshness: CClaude Code +9 - 0.474score
ftk-l10n
adiwirya
Set up Flutter localization (ARB + intl, Indonesian/English default) or migrate hardcoded strings to AppLocalizations.
SkillCFreshness: CClaude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get ftk-interview running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
ftk-interview skill. Agent Mart. https://agentmart.dev/skills/adiwirya-ftk-interview (last updated 2026-10-24)