interview-synthesis

interview-synthesis is a skill for Claude Code from kimsanguine/hplan. It costs 93 tokens per session (1,667 once invoked), scanned A, original, MIT.

A workflow for importing AI-generated interview summaries and making a person judge the strength and meaning of each quote. Interview synthesis means combining several interviews into quotes and recurring themes.

In plain words
What is it for?
Loading interview-synthesis exports, reviewing extracted quotes, assigning evidence strength, and checking whether three of five interviews show the same strong problem. It can signal whether to proceed, conduct more interviews, pivot, or record a decision.
Why use it?
It prevents an AI summary from being treated as proof without human review. Each quote must be marked strong, medium, or weak and classified by the kind of user need or behavior it represents.

Skill for Claude Code

Written for Claude Code: allowed-tools in frontmatter. Also seen: model in frontmatter.

Part of the hplan plugin — 8 skills, 11 commands, 4 agents shipped together

Good fit Loading interview-synthesis exports, reviewing extracted quotes, assigning evidence strength, and checking whether three of five interviews show the same strong problem. It can signal whether to proceed, conduct more interviews, pivot, or record a decision.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/kimsanguine/hplan/interview-synthesis
Install

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.

Any agent
npx skills add kimsanguine/hplan --skill interview-synthesis
Clone the repo
git clone --depth 1 https://github.com/kimsanguine/hplan

Made for: Claude Code.

Or install hplan, the plugin that ships this one along with the rest of its 8 skills, 11 commands, 4 agents.

Wrote 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.

agentmods badge for interview-synthesis

README.md
[![agentmods](https://agentmods.dev/badge/skills/kimsanguine/hplan/interview-synthesis.svg)](https://agentmods.dev/skills/kimsanguine/hplan/interview-synthesis)
Your own site
<a href="https://agentmods.dev/skills/kimsanguine/hplan/interview-synthesis"><img src="https://agentmods.dev/badge/skills/kimsanguine/hplan/interview-synthesis.svg" alt="Measured on agentmods" height="20"></a>
Per session 93 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,667 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5.1 $0.00093 $0.01667
Opus 5 $0.00046 $0.00834
Sonnet 5 $0.00019 $0.00333
Haiku 4.5 $0.00009 $0.00167

Measured 8d ago against content hash 4a23cb9c80e3, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-08, from the pricing page.

Security

Grade A, and why

interview-synthesis 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 8d ago.

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.

hplan/skills/interview-synthesis/SKILL.md · 115 lines

How it starts

The opening of the file, as written. The whole thing — 115 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Interview Synthesis — AI Extracts, Human Tags

Running for: $ARGUMENTS

Core Goal

  • 2026 현실 반영 — 78% PM 팀이 AI 합성 사용. 차단하지 말고 받아들이되, evidence strength 태깅은 인간에게 강제.
  • AI는 quote 추출 + 테마 클러스터링; 인간은 strong/medium/weak + Push/Pull/Habit/Anxiety 축 부여.
  • "5 interviews 중 3명이 같은 강한 Push를 말하면 Product Gate로" 규칙을 코드로 강제 (PROCEED_TO_PRODUCT_GATE verdict).

Trigger Gate

Use This Skill When

  • BuildBetter / Perspective / similar synthesis tools export JSON이 손에 있을 때
  • 인터뷰 5건 이상 — 수동 정리는 비용 비효율적
  • evidence-rubric 점수에서 interview_notes 보강이 필요할 때
  • 신규 PM이 인터뷰 evidence를 어떻게 태깅해야 하는지 학습할 때

Route to Other Skills When

  • 5/3 패턴 통과 → Product Gate (ost skill)
  • 5명 미만 → 추가 인터뷰 (skill 외 실세계 행동)
  • 태그된 quote 강도가 너무 낮음 → pivot 또는 hold 결정 → decision-log

Boundary Checks

  • ❌ AI 합성이 evidence를 대체할 수 없다. 태그 안 된 quote는 evidence가 아니다.
  • ❌ AI sentiment ≠ evidence strength. 인간이 직접 판단.

Inputs

Expected AI export JSON shape:

{
  "source": "buildbetter",
  "interviews": [
    {
      "person": "ICP candidate 1",
      "role": "HR 담당자 (선택 입력)",
      "company_size": "50-200명 (선택 입력)",
      "date": "2026-05-09",
      "quotes": [
        {"text": "지난주에 30분 또 날렸어요", "theme": "manual workaround"},
        {"text": "이거 안 되면 영업 못 따요", "theme": "economic pain"}
      ]
    }
  ]
}

role 필드 처리 정책: role이 AI export JSON에 있으면 PERSONA_SPECS.json에 그대로 기입 (결정론). 없으면 null로 저장 — 이 경우 LLM이 ICP 컨텍스트 기반으로 추론하지 않으며, 수동으로 채워야 합니다. role은 PERSONA_SPECS 생성 규칙의 "LLM 추론 금지" 원칙의 예외가 아닌, 입력 데이터 부재 시 명시적 null 처리로 대응합니다.

Steps

실행은 python3 hplan/scripts/interview_synthesis.py <subcommand> 형태로 호출합니다.

  1. python3 hplan/scripts/interview_synthesis.py import <ai_export.json> — quotes를 harness/evidence/snapshots.jsonl 에 ingest (status: awaiting_human_tag).
  2. python3 hplan/scripts/interview_synthesis.py list --untagged — 미태깅 quote 확인.
  3. quote마다 python3 hplan/scripts/interview_synthesis.py tag <quote_id> --strength strong --axes push,anxiety — 인간 입력.
  4. python3 hplan/scripts/interview_synthesis.py audit — 5/3 규칙 통과 여부 + 다음 액션 가이드.
  5. audit 결과가 PROCEED_TO_PRODUCT_GATE이면 PERSONA_SPECS.json 저장 — 태깅된 인터뷰이를 QA 라운드용 페르소나로 구조화해 harness/PERSONA_SPECS.json에 기록.

Read the full file on GitHub · 115 lines

Files

What ships with it

4 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.

Changes

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.

  1. 8d ago First seen · 115 lines · 93 tokens per session scan A 4a23cb9c80e3

Subscribe to this mod's changes

interview-synthesis is a skill published in the GitHub repository kimsanguine/hplan (2 stars, last pushed 22d ago), licensed MIT. It adds 93 tokens to every session and 1,667 once invoked, about $0.0005 per session on Opus 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-08-31.

Related

Other skills, from other repositories

codex-setup

Initialize sd0x-dev-flow infrastructure for Codex CLI and other non-Claude agents. Generates AGENTS.md, installs the commit-msg hook, copies runner scripts. The pre-push gate is opt-in via --with-push-gate. Use when setting up a new project or after updating skills.

sd0xdev/sd0x-harness · 65 tokens

smart-rebase

Smart partial rebase for squash-merge repositories. Auto-detect which commits to keep/drop when base branch was squash-merged into target. Use when: user says 'rebase', 'partial rebase', 'base already merged', 'smart rebase', or /smart-rebase. Not for: simple git rebase (the developer runs it — Claude never executes…

sd0xdev/sd0x-harness · 131 tokens

recap-doc

Post-development recap document generator. Use when: AI/Codex has implemented a feature and the user needs a guided walkthrough of what changed and why, with blind-spot detection and anticipated questions. Not for: Q&A follow-up (use /recap-ask), technical share-out for teammates (use /tech-brief), or generic code…

sd0xdev/sd0x-harness · 114 tokens

runbook

Generate and update feature release runbooks from existing docs and codebase. Use when: creating operational runbook, release handbook, deployment checklist, pre-release preparation. Not for: incident response (v2), code review (use codex-code-review), architecture design (use architecture).

sd0xdev/sd0x-harness · 59 tokens

test-review

Test coverage review via Codex exec. Use when: reviewing test sufficiency, identifying coverage gaps, test quality audit. Not for: generating tests (use codex-test-gen), code review (use codex-code-review). Output: coverage analysis + gap report.

sd0xdev/sd0x-harness · 56 tokens

debug

Interactive debugging workflow with hypothesis-driven probe loop. Use when: unknown bugs, script errors, silent failures, troubleshooting. Not for: known bugs (use bug-fix), GitHub issue analysis (use issue-analyze), code understanding (use code-explore). Output: debug report with probe journal + root cause + fix.

sd0xdev/sd0x-harness · 67 tokens