tekelala/jtbd-interview-agent

AI-powered JTBD interview agent using Claude Agent SDK with Bob Moesta methodology

0 stars0 forksUpdated Jan 5, 2026
npx skills add tekelala/jtbd-interview-agent

README

JTBD Interview Agent

An AI-powered interview agent that conducts Jobs to Be Done (JTBD) interviews following Bob Moesta's methodology. Built with the Claude Agent SDK and React, featuring Skills integration for Bob Moesta's interview techniques.

Features

  • Bob Moesta Interview Style: Uses the five core techniques (Context, Contrast, Unpacking, Energy, Analogies)
  • Timeline Building: Automatically tracks the decision journey from first thought to first use
  • Forces of Progress: Maps push, pull, anxiety, and habit forces that drive decisions
  • Diet/Lifestyle Inquiry: Captures media consumption, professional networks, and physical touchpoints
  • Real-time Visualization: See timeline, forces diagram, and insights as they're captured
  • Model Selection: Choose between Claude Sonnet, Opus, or Haiku for interviews
  • Admin Panel: View, search, and manage past interviews
  • Interview Reports: Generate formatted reports with job statements and key insights
  • Export to JSON/Markdown: Save complete interview data for analysis

Project Structure

jtbd-interview-agent/
├── .claude/
│   └── skills/
│       └── bob-moesta-advisor/   # Bob Moesta JTBD interview skill
│           ├── SKILL.md          # Skill definition and methodology
│           ├── assets/           # Skill assets
│           └── references/       # Framework references
│
├── packages/
│   ├── agent/         # TypeScript agent using Claude Agent SDK
│   │   ├── src/
│   │   │   ├── interviewer.ts    # Main interview agent class
│   │   │   ├── prompts/          # System prompts & interview scripts
│   │   │   ├── tools/            # Custom interview tools
│   │   │   ├── types/            # TypeScript type definitions
│   │   │   ├── server.ts         # HTTP API server
│   │   │   ├── storage.ts        # Interview persistence
│   │   │   └── cli.ts            # Command-line interface
│   │   └── package.json
│   │
│   └── web/           # React frontend
│       ├── src/
│       │   ├── components/       # UI components
│       │   │   └── admin/        # Admin panel components
│       │   ├── pages/            # Page components
│       │   ├── hooks/            # React hooks
│       │   └── types/            # Frontend types
│       └── package.json
│
├── data/              # Interview storage
│   └── interviews/    # Saved interview JSON files
│
├── package.json       # Monorepo root
└── README.md

Skills Integration

This project uses the Claude Agent SDK (@anthropic-ai/claude-agent-sdk) with Skills support for Bob Moesta's JTBD interview methodology.

How It Works

The agent uses the SDK's query() function with Skills configuration:

import { query } from '@anthropic-ai/claude-agent-sdk';

for await (const message of query({
  prompt,
  options: {
    model: 'claude-sonnet-4-20250514',
    cwd: PROJECT_ROOT,
    settingSources: ['user', 'project'],  // Load Skills
    allowedTools: ['Skill', 'Read'],
    permissionMode: 'bypassPermissions'
  }
}))

Configuration Options

OptionDescription
settingSourcesWhere to load Skills from: user (~/.claude/skills/), project (.claude/skills/)
allowedToolsTools the agent can use. Include Skill to enable Skills
permissionModeSet to bypassPermissions for server/non-interactive use
cwdWorking directory for project Skills discovery

The bob-moesta-advisor Skill

Located in .claude/skills/bob-moesta-advisor/, this skill provides:

  • SKILL.md - Core skill definition with Bob Moesta's methodology
  • references/frameworks.md - JTBD theory, Forces of Progress, Five Skills of Innovators
  • references/interview-method.md - Interview techniques and timeline building
  • references/mattress-interview.md - Example interview transcript

The skill teaches the agent to:

  • Use the "empty vessel" interview approach
  • Apply the five techniques: Context, Contrast, Unpacking, Energy, Analogies
  • Build decision timelines backward from purchase
  • Map Forces of Progress (push, pull, anxiety, habit)
  • Capture the Information Diet for customer discovery

Getting Started

Prerequisites

Installation

  1. Clone the repository

    git clone <repo-url>
    cd jtbd-interview-agent
    
  2. Install dependencies

    npm install
    
  3. Set up environment

    Create a .env file in the project root:

    echo "ANTHROPIC_API_KEY=your-api-key-here" > .env
    

    Or export directly (for current session only):

    export ANTHROPIC_API_KEY=your-api-key-here
    
  4. Build the packages

    npm run build
    
  5. Verify installation

    # Check the build succeeded
    ls packages/agent/dist/
    # Should see: cli.js, server.js, i
    

...

Read full README

Publisher

tekelalatekelala

Statistics

Stars0
Forks0
Open Issues0
CreatedJan 5, 2026