Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add Tenon-Net/TenonAdmin --skill deep-interviewgit clone --depth 1 https://github.com/Tenon-Net/TenonAdminWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/tenon-net/tenonadmin/deep-interview)<a href="https://agentmods.dev/skills/tenon-net/tenonadmin/deep-interview"><img src="https://agentmods.dev/badge/skills/tenon-net/tenonadmin/deep-interview/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/tenon-net/tenonadmin/deep-interview"><img src="https://agentmods.dev/badge/skills/tenon-net/tenonadmin/deep-interview.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00039 | $0.06760 |
| Opus 5.5 | $0.00016 | $0.02704 |
| Sonnet 5.5 | $0.00008 | $0.01352 |
| Haiku 4.5 | $0.00004 | $0.00676 |
Grade A, and why
deep-interview scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured today.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 396 lines — stays where its author put it; the contents beside it link to each section on GitHub.
<Use_When>
- 用户需要系统梳理相互关联的目标、范围、取舍与验收条件
- The user says "deep interview", "interview me", "ask me everything", "don't assume", or "ouroboros"
- The user wants to avoid misaligned implementation from underspecified requirements
- 活动工作流要求需求交接阶段;完整的既有规格可按下文复用 </Use_When>
<Do_Not_Use_When>
- The request already has concrete file/symbol targets and clear acceptance criteria
- The user explicitly asks to skip planning/interview and execute immediately
- The user asks for lightweight brainstorming only (use
planinstead) - 已有完整 PRD/plan 且用户要求直接执行;若活动 Autopilot 要求此阶段,则核对并复用规格后交接 </Do_Not_Use_When>
<Why_This_Exists> Execution quality is usually bottlenecked by intent clarity, not just missing implementation detail. A single expansion pass often misses why the user wants a change, where the scope should stop, which tradeoffs are unacceptable, and which decisions still require user approval. This workflow applies Socratic pressure + quantitative ambiguity scoring so orchestration modes begin with an explicit, testable, intent-aligned spec. </Why_This_Exists>
<Depth_Profiles>
- Quick (
--quick): fast pre-PRD pass; target threshold<= 0.30; max rounds 5 - Standard (
--standard, default): full requirement interview; target threshold<= 0.20; max rounds 12 - Deep (
--deep): high-rigor exploration; target threshold<= 0.15; max rounds 20 - Autoresearch (
--autoresearch): same interview rigor as Standard, but specialized for$autoresearchmission readiness and.omx/specs/artifact handoff
Profile max rounds is a hard cap, not a target. Do not continue only to reach a numbered round count. Extra Socratic rigor does not override the active threshold unless the profile/config changes.
If no flag is provided, use Standard.
<Mode_Flags>
--autoresearch: switch the interview into autoresearch-intake mode for$autoresearchhandoff. In this mode, the interview should converge on a validator-ready research mission, write canonical artifacts under.omx/specs/, and preserve the explicitrefine furthervslaunchboundary for downstream skill intake. </Mode_Flags> </Depth_Profiles>
<Execution_Policy>
- Ask ONE question per round (never batch multiple interview rounds into one
questions[]form) - Ask about intent and boundaries before implementation detail
- Target the weakest clarity dimension each round after applying the stage-priority rules below
- Quick / Standard 只追问会改变实现或验收的缺口;答案已明确时继续收敛,不逐条要求用户举证。
- Deep 模式才要求至少一次明确的 pressure pass,追问关键假设或取舍;可复用当前任务已完成且仍有效的追问证据。
- Gather codebase facts via
explorebefore asking user about internals omx exploreis deprecated. Use normal repository inspection tools/subagents for simple read-only brownfield fact gathering; useomx sparkshellonly for explicit shell-native read-only evidence, and keep ambiguous or non-shell-only investigation on the richer normal path.- Always run a preflight context intake before the first interview question
- Brownfield preflight 先读取适用的
AGENTS.md与目标附近的代码或契约;仅在存在相关缺口时查阅 README、ADR、术语表或历史快照,可复用未变化的已读材料。 - Treat existing repo language as evidence, not authority: if the user uses a fuzzy, overloaded, or conflicting term, surface the specific doc/code wording and ask which meaning should govern before implementation.
- 核对可查明的当前行为;文档与代码冲突时说明证据,只有无法从既有需求确定预期且会改变结果时才提问。
- Use scenario-based edge-case grilling when relationships, boundaries, or handoff behavior are unclear: invent one concrete scenario that stresses the ambiguous boundary, then ask one focused question about the expected outcome.
- Durable docs, glossary, ADR, or memory updates are opt-in and public-safe only. Deep-interview may recommend such updates in the handoff summary, but must not automatically create or dump public docs from interview transcripts unless the user explicitly chooses that as in-scope.
- If initial context is oversized, read accessible source documents in bounded portions and record a faithful prompt-safe summary with source references. Ask the user only for inaccessible material or a decision-bearing ambiguity that cannot be resolved from those sources.
- The oversized initial-context summary gate requires a recorded faithful summary before scoring or handoff; an agent-authored summary satisfies it when the source is available. It is not an automatic user-summary request.
- The summary must preserve goals, constraints, success criteria, non-goals, decision boundaries, and references to any full source documents so downstream consumers receive a prompt-safe but faithful context
- Keep total prompt payloads within a safe budget by summarizing or trimming retained history; preserve newest/highest-signal answers and never let raw oversized context crowd out the current question
- Reduce user effort: ask only the highest-leverage unresolved question, and never ask the user for codebase facts that can be discovered directly
- 提问时给出相关仓库证据与待决定的具体取舍;符合既有授权的常规实现选择可直接说明并继续。
- Route facts before judgment in the Ouroboros style: before presenting a user-facing interview round, classify whether the needed information is a discoverable fact, a fact needing confirmation, or a human decision. The interview is with the human for judgment, not for facts the agent can inspect.
- When unresolved ambiguity depends on current external best practices, official/upstream guidance, standards, or version-aware behavior, use
$best-practice-researchas the bounded evidence wrapper before crystallizing requirements or handing off to planning/execution. - Use these transcript/spec labels only; never use them as
omx questionsourcevalues, and never replace the runtimesource: "deep-interview"contract for user-facing deep-interview questions:[from-code][auto-confirmed]— exact, high-confidence codebase facts from manifests/configs or direct source evidence, with no prescription attached.[from-code]— 仓库推断或模式证据,注明置信度;优先补充可查证据,只将影响结果且无法自行确定的决策交给用户。[from-research]— externally sourced facts such as API limits, compatibility, or public documentation; facts only, not decisions.[from-user]— goals, preferences, business logic, scope, non-goals, acceptance criteria, tradeoffs, and any decision-bearing interpretation.
- Treat
[from-code][auto-confirmed]and other non-user fact discoveries as context/transcript updates, not interview rounds: do not callomx question, do not create a pending deep-interview question obligation, and do not increment the user-facing round number for facts the agent can safely establish. - 用户决定产品范围与实质取舍;已明确的需求和授权仍然有效。常规技术选择依据仓库契约解决,不能仅因发现可用模式就再次请求确认。
- In attached-tmux Codex CLI, deep-interview uses
omx questionas the required OMX-owned structured questioning path for every interview round - When invoking
omx questionthrough attached-tmux Bash/tool paths, preserve the leader-pane return target by prefixing the command withOMX_QUESTION_RETURN_PANE=$TMUX_PANE(or a concrete%panevalue) - If you launch
omx questionin a background terminal, immediately wait for that background terminal to finish and read its JSON answer before scoring ambiguity, asking another round, or handing off - Treat
answers[]as the primaryomx questionsuccess contract. For a single interview round, readanswers[0].answer; use legacy top-levelansweronly as a compatibility fallback when needed. - If the current runtime is outside tmux and cannot render
omx question, use the native structured question tool when available; otherwise ask exactly one concise plain-text question and wait for the answer - Re-score after each answer once a faithful context summary is available. A user-facing source request counts toward the profile's round cap; display ambiguity as
not scoreduntil the summary exists. If the cap is reached without it, report the incomplete intake and do not crystallize an execution-ready spec. - Once ambiguity is at or below the active profile threshold, stop ordinary questioning. Run the practical closure audit: crystallize/handoff when readiness gates pass; otherwise ask only the final closure question needed to satisfy a named gate.
- Treat
max_roundsas a stop cap, not evidence that more rounds are needed. - Do not hand off to execution while ambiguity remains above threshold unless user explicitly opts to proceed with warning
- Do not crystallize or hand off while
Non-goalsorDecision Boundariesremain unresolved, even if the weighted ambiguity threshold is met - Treat early exit as a safety valve, not the default success path
- Persist mode state for resume safety only through the CLI/programmatic single-writer authority (
omx state write/read --input '<json>' --json, backed bysrc/state/operations.ts). The MCP state server is a read-only projection and must never become a second writer. </Execution_Policy>
What ships with it
3 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- today First seen · 396 lines · 39 tokens per session scan A e769abda6a04
deep-interview is a skill published in the GitHub repository Tenon-Net/TenonAdmin (41 stars, last pushed 14d ago), licensed Apache-2.0. It adds 39 tokens to every session and 6,760 once invoked, about $0.0002 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-11-07.
deep-interview compared with skills from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| deep-interviewTenon-Net/TenonAdmin | Skill | 41 | 14d ago | Apache-2.0 | A | 39 | Claude Code, Codex |
| bwfc-migrationFritzAndFriends/BlazorWebFormsComponents | Skill | 455 | 4mo ago | MIT | A | 115 | Claude Code, Codex |
| webforms-migrationFritzAndFriends/BlazorWebFormsComponents | Skill | 455 | 4mo ago | MIT | A | 63 | Claude Code, Codex |
| migration-standardsFritzAndFriends/BlazorWebFormsComponents | Skill | 455 | 4mo ago | MIT | A | 79 | Claude Code, Codex |
| bwfc-data-migrationFritzAndFriends/BlazorWebFormsComponents | Skill | 455 | 4mo ago | MIT | A | 130 | Claude Code, Codex |
| bwfc-identity-migrationFritzAndFriends/BlazorWebFormsComponents | Skill | 455 | 4mo ago | MIT | A | 122 | Claude Code, Codex |
| analyzer-developmentFritzAndFriends/BlazorWebFormsComponents | Skill | 455 | 4mo ago | MIT | A | 84 | Claude Code, Codex |