Agent skill

Interview Framework

by tzachbon in tzachbon/smart-ralph

This skill should be used when a Ralph phase must identify critical user decisions, run a layered grill, persist partial answers, obtain explicit approval, or resume an interrupted phase interview…

MITAuto-check passed

Install Interview Framework

skills CLI
$ npx skills add tzachbon/smart-ralph --skill interview-framework -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install tzachbon/smart-ralph interview-framework --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/tzachbon/smart-ralph.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/ralph-specum/skills/interview-framework .claude/skills/interview-framework && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
interview-framework
GitHub stars
558
Token cost
~2.2k tokens
SKILL.md length
1,108 words
Files
4 (incl. references)
Skills in repo
26
Repo updated
First seen
Licence
MIT

At a glance

This skill should be used when a Ralph phase must identify critical user decisions, run a layered grill, persist partial answers, obtain explicit approval, or resume an interrupted phase interview…

  • Works in 4 steps: Complete the applicable skill discovery… → Reload this entire SKILL.md,… → Record the load manifest with… → …
  • SKILL.md covers Entry Contract, Critical Decision Test, Build the Design Tree and… and Domain Language, plus 5 more sections
  • Calls go

What it does

Interview Framework is an agent skill from tzachbon/smart-ralph. This skill should be used when a Ralph phase must identify critical user decisions, run a layered grill, persist partial answers, obtain explicit approval, or resume an interrupted phase interview before delegating artifact work.

Its SKILL.md is about 2.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files, including reference files (for example `references/algorithm.md`, `references/domain-modeling.md` and `references/examples.md`).

The repository describes itself as: Spec-driven development with smart compaction. Claude Code plugin combining Ralph Wiggum loop with structured specification workflow. The licence is MIT.

Example prompts

  • “/interview-framework”

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. Complete the applicable skill discovery pass from ${CLAUDE_PLUGIN_ROOT}/references/normal-mode-gates.md.
  2. Reload this entire SKILL.md, references/algorithm.md, references/domain-modeling.md, every selected skill body, and every selected skill…
  3. Record the load manifest with phase_gate.py record-skill-load.
  4. Begin or resume the interview with the matching phase, interview ID, discovery revision, and context digest.

What it can do on your machine

Read from SKILL.md and the folder at commit ac7251a. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • go

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Interview Framework loads about 2.2k tokens when it runs, and up to ~5k if it reads all its reference files. Until then it costs about 62 tokens; SKILL.md has 1,108 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~62
When it runs · the whole SKILL.md, loaded when a task matches
~2.2k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~5k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from tzachbon/smart-ralph at commit ac7251a, republished under its MIT licence (© tzachbon). 1,108 words, ~2,222 tokens.

Download SKILL.mdSave it as .claude/skills/interview-framework/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.
name
interview-framework
description
This skill should be used when a Ralph phase must identify critical user decisions, run a layered grill, persist partial answers, obtain explicit approval, or resume an interrupted phase interview before delegating artifact work.
version
0.3.0
user-invocable
false

Interview Framework

Treat every normal-mode interview governed by this framework as a grill. Run the approval-gated interview for start, triage, research, requirements, design, and tasks. Treat this skill and its references as the single source of truth for interview behavior. Phase commands supply exploration territory and artifact context; they do not redefine the algorithm.

Quick mode bypasses interview questions only. It still requires current discovery, contract loading, bypass receipts, delegation checks, and artifact-agent load parity.

Entry Contract

Before each new or resumed interview:

  1. Complete the applicable skill discovery pass from ${CLAUDE_PLUGIN_ROOT}/references/normal-mode-gates.md.
  2. Reload this entire SKILL.md, references/algorithm.md, references/domain-modeling.md, every selected skill body, and every selected skill resource required for the current work. Load references/examples.md only when an example is needed.
  3. Record the load manifest with phase_gate.py record-skill-load.
  4. Begin or resume the interview with the matching phase, interview ID, discovery revision, and context digest.

Block when this skill or the core algorithm reference cannot be loaded. Warn and continue when a domain skill fails to load. Put unresolved material conflicts in the first critical frontier.

Critical Decision Test

Grill only a decision that meets both conditions:

  • The answer cannot be established by inspecting the project, prior artifacts, configuration, or selected skill contracts.
  • Different answers would materially change scope, observable behavior, architecture, risk acceptance, delivery sequencing, or the acceptance standard.

Inspect facts with read-only tools or an Explore agent. Exclude setup choices, administrative preferences, status questions, facts the repository can answer, and low-impact polish. Treat a prescribed task action in a loaded domain skill as reference material during preload; do not execute it until the phase has approval and delegation begins.

Before building the tree, read the goal, state, .progress.md, prior phase artifacts, the configured .index/index.md, and the applicable CONTEXT.md reached through CONTEXT-MAP.md when present. Open only relevant indexed entries. Inspect code, configuration, tests, and existing specs for every discoverable fact. Run independent read-only lookups in parallel; a pending fact blocks only the nodes that depend on it.

  • Fact: discoverable from project evidence. Resolve it through inspection; never ask the user.
  • Decision: a consequential preference, priority, boundary, or tradeoff only the user can settle. Put it on the design tree.

Build the Design Tree and Traverse the Layered Frontier

Build a design tree from the phase territory. Each node contains a stable decision ID, dependencies, known evidence, viable options, recommendation, tradeoffs, and material consequences. Track nodes as open, investigating, resolved, or explicitly out of scope. The frontier contains every open critical decision whose prerequisites are resolved.

Ask the whole currently unblocked critical frontier. Use as many AskUserQuestion calls as needed, with at most four questions per call. Batch independent decisions together.

Before every AskUserQuestion call, call open-frontier for every decision ID in that batch.

After each response:

  1. Call deterministic classify-reply on the whole reply before applying any part of it.
  2. Persist every answered decision immediately with record-answer.
  3. Preserve unanswered pending decisions when the response is partial.
  4. Recompute the frontier from new answers and inspected facts.
  5. Ask the next unblocked frontier until no critical node remains open.

Ask the whole current frontier in one round. Number each question (Q1, Q2, and so on). Use AskUserQuestion for the round when the tool is available. If AskUserQuestion is unavailable, render the same numbered round in the response and wait for the answers.

Turn an Other response into a specific dependent question in the next frontier. Never use a generic follow-up. Add branches exposed by concrete answers or contradictions, and remove branches that evidence resolves.

Each question must:

  • Give 2-4 viable options.
  • Put the recommended option first and label it (Recommended) unless the options are symmetric.
  • State the recommendation rationale and the material tradeoff in the question or option description.
  • Avoid straw-man alternatives and unnecessary flexibility.

Give a recommended answer with a short rationale. Provide 2-4 meaningful options. Require that the design-tree frontier is empty before final confirmation. Continue only when the user confirms the resulting shared understanding through the explicit approval choice.

See references/algorithm.md for the complete state machine.

Show full SKILL.md (436 more words)Show less

Domain Language

Apply references/domain-modeling.md during every grill. Challenge terms that conflict with the applicable CONTEXT.md, replace fuzzy or overloaded words with a proposed canonical term, and use boundary or edge-case scenarios to test the model. Record resolved domain terms promptly. Keep implementation details out of CONTEXT.md. This interview framework does not create ADRs; design.md remains the specification's technical-decision record.

Reply Semantics

Classify the entire reply before applying it.

Substantive reply

Apply text that answers one or more active decisions. Persist answered decisions and keep the rest open. A substantive answer can include control words without losing its decision content.

Control-only reply

These replies do not answer any active decision by themselves:

  • apply the changes
  • continue
  • proceed
  • go ahead

Keep the active frontier open and ask it again. Do not infer defaults or approval from a control-only reply.

Bare skip

Treat bare skip, after an active question, as authorization to default the remaining phase interview. Call skip with explicit defaults and assumptions; this moves to awaiting_confirmation, not a delegable terminal state. Continue to final approval and confirm decision ID skip-confirmation. A sentence that contains skip plus substantive decision text is a substantive reply, not bare skip.

Final Approval

When the critical frontier is exhausted or skipped:

  1. Present the decision brief: resolved decisions, recommended approach, tradeoffs, defaults, assumptions, and material conflicts.
  2. Call await-confirmation with a stable confirmation decision ID and the proposed approach.
  3. Ask one explicit approval question through AskUserQuestion:
    • Approve and delegate (Recommended)
    • Revise decisions
    • Cancel
  4. Accept only an explicit approval selection. Control-only replies do not approve.
  5. On approval, call confirm --source approve-and-delegate, run check-delegation, and delegate immediately in the same response. Do not ask another question or stop between approval and delegation.

When the user requests revisions, call one revise transition with every affected --decision-id before updating answers. Recompute any dependent frontier, return to final approval using the same confirmation ID, and keep the same interview record until the brief is approved again.

Artifact Approval

Artifact review is a separate approval gate after delegation. apply the changes during artifact review means revise the artifact using the supplied feedback, redisplay the walkthrough, and remain in artifact approval. It never approves the artifact or advances the phase.

Persistence

Use phase_gate.py transitions after each state change. Append every completed frontier round to .progress.md without treating that Markdown as enforcement state:

markdown
### <Phase> Grill - Round <N>
- Facts resolved: <fact and evidence>
- Decisions: <decision-id> -> <answer>
- Out of scope: <explicitly excluded branch or none>
- Domain language: <canonical term and definition or none>
- Frontier after round: <remaining unblocked decisions or empty>

For triage, store enforcement state in the epic .epic-state.json. For spec phases, use .ralph-state.json.

References

  • references/algorithm.md - Critical-frontier state machine and reply handling.
  • references/domain-modeling.md - Required context discovery, language challenges, scenarios, and glossary updates.
  • references/examples.md - Optional examples for frontier, partial-answer, skip, approval, and artifact revision cases.

© tzachbon, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 3 other files (references) in plugins/ralph-specum/skills/interview-framework of tzachbon/smart-ralph.

  • SKILL.md
  • references/algorithm.md
  • references/domain-modeling.md
  • references/examples.md

Open the folder on GitHubat commit ac7251a

Compare with similar skills

Interview Framework next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Interview Framework compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Interview Framework this skilltzachbon/smart-ralph558—~2.2kAutomated safety check: PassMIT
Interviewalirezarezvani/claude-skills28k—~1.1kAutomated safety check: PassMIT
Interviewcodewhale-hq/Codewhale41k—~232Automated safety check: PassMIT
RalphYeachan-Heo/oh-my-claudecode40k—~7.5kAutomated safety check: PassMIT
Interview Meaddyosmani/agent-skills103k6 repos~3.8kAutomated safety check: PassMIT
Interview Coachsickn33/agentic-awesome-skills47k2 repos~751Automated safety check: PassMIT

Similar skills

  • Interview

    alirezarezvani/claude-skills

    Phase 1 of building a Claude Managed Agent — interview the founder about the one job the agent should do, then produce a build sheet (CMA primitives table + v1/v2 deferrals + eval plan) WITHOUT…

    28k GitHub stars~1.1k tokensUpdated 1 mo ago
    Agent WorkflowsAuto-check passed
  • Interview

    codewhale-hq/Codewhale

    Ask one useful structured question at a time only when material product/implementation choices are genuinely missing; remember answers and produce a brief/spec.

    41k GitHub stars~232 tokensUpdated today
    Auto-check passed
  • Ralph

    Yeachan-Heo/oh-my-claudecode

    Self-referential loop until task completion with configurable verification reviewer

    40k GitHub stars~7.5k tokensUpdated today
    Product & Project ManagementAuto-check passed
  • Interview Me

    addyosmani/agent-skills

    Asks one question at a time, each with a best guess attached, until the agent is about 95 percent sure what you really want, before any plan, spec or code.

    103k GitHub starsUsed in 6 repos~3.8k tokens
    Agent WorkflowsAuto-check passed
  • Interview Coach

    sickn33/agentic-awesome-skills

    Full job search coaching system — JD decoding, resume, storybank, mock interviews, transcript analysis, comp negotiation.

    47k GitHub starsUsed in 2 repos~751 tokens
    Business, Finance & HRAuto-check passed
  • Interview

    Q00/ouroboros

    Socratic interview to crystallize vague requirements. An agent skill from Q00/ouroboros.

    6.2k GitHub stars~13k tokensUpdated yesterday
    Agent WorkflowsAuto-check passed

More from tzachbon/smart-ralph

All 26 skills in this repo
  • Communication Style

    tzachbon/smart-ralph

    This skill should be used when generating spec artifacts (research.md, requirements.md, design.md, tasks.md), formatting agent output, structuring phase results, or when any Ralph agent needs…

    558 GitHub stars~551 tokensUpdated 22 days ago
    Auto-check passed
  • Reality Verification

    tzachbon/smart-ralph

    This skill should be used when the user asks to "verify a fix", "reproduce failure", "diagnose issue", "check BEFORE/AFTER state", "VF task", "reality check", "check test quality", "mock-only…

    558 GitHub stars~877 tokensUpdated 22 days ago
    Auto-check passed
  • Spec Workflow

    tzachbon/smart-ralph

    This skill should be used when the user asks to "build a feature", "create a spec", "start spec-driven development", "run research phase", "generate requirements", "create design", "plan tasks"…

    558 GitHub stars~1.1k tokensUpdated 22 days ago
    Auto-check passed
  • Ralph Specum Design

    tzachbon/smart-ralph

    This skill should be used only when the user explicitly asks to use $ralph-specum-design, or explicitly asks Ralph Specum in Codex to run the design phase.

    558 GitHub stars~1.5k tokensUpdated 22 days ago
    Auto-check passed
  • Ralph Specum Tasks

    tzachbon/smart-ralph

    This skill should be used only when the user explicitly asks to use $ralph-specum-tasks, or explicitly asks Ralph Specum in Codex to run the tasks phase.

    558 GitHub stars~1.6k tokensUpdated 22 days ago
    Auto-check passed
  • Smart Ralph

    tzachbon/smart-ralph

    This skill should be used when the user asks about "ralph arguments", "quick mode", "commit spec", "max iterations", "ralph state file", "prototype overlay", "execution modes", "ralph loop"…

    558 GitHub stars~2k tokensUpdated 22 days ago
    Auto-check passed

Questions about Interview Framework

What does Interview Framework do?

This skill should be used when a Ralph phase must identify critical user decisions, run a layered grill, persist partial answers, obtain explicit approval, or resume an interrupted phase interview…. Interview Framework is an agent skill from tzachbon/smart-ralph. This skill should be used when a Ralph phase must identify critical user decisions, run a layered grill, persist partial answers, obtain explicit approval, or resume an interrupted phase interview before delegating artifact work.

How do I install Interview Framework in Claude Code?

Run `npx skills add tzachbon/smart-ralph --skill interview-framework -a claude-code`. Or copy the skill folder (plugins/ralph-specum/skills/interview-framework in tzachbon/smart-ralph) into .claude/skills/interview-framework in your project. Claude Code loads it when a task matches its description.

How do I install Interview Framework in Codex?

Run `npx skills add tzachbon/smart-ralph --skill interview-framework -a codex`. Or copy the skill folder (plugins/ralph-specum/skills/interview-framework in tzachbon/smart-ralph) into .agents/skills/interview-framework in your project. Codex loads it when a task matches its description.

Can I use Interview Framework in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add tzachbon/smart-ralph --skill interview-framework -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/interview-framework, .gemini/skills/interview-framework, .github/skills/interview-framework and .opencode/skills/interview-framework in your project.

What does Interview Framework need to run?

Going by SKILL.md and its folder, Interview Framework needs the command-line tools its instructions call (go).

Does Interview Framework access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Interview Framework safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Interview Framework use?

Interview Framework is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Interview Framework use?

About 2.2k tokens (SKILL.md is roughly 8.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 2.8k tokens, read only when the agent opens those files.

What are the alternatives to Interview Framework?

Skills that share tags, products or a category with Interview Framework: Interview (alirezarezvani/claude-skills, 28k stars), Interview (codewhale-hq/Codewhale, 41k stars), Ralph (Yeachan-Heo/oh-my-claudecode, 40k stars) and Interview Me (addyosmani/agent-skills, 103k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Interview Framework?

tzachbon (a GitHub user) maintains it in tzachbon/smart-ralph, which has 558 GitHub stars. The repository holds 26 skills in this directory. The repository was last updated on September 16, 2026.

Source: tzachbon/smart-ralph on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.