Advanced JTBD · Next Move Theory · Claude Code · MIT

Research in. A Jobs-to-be-Done map out.

Two Claude Code skills that turn desk research, chat corpora, interview transcripts and notes into a full job list — segments, jobs in When / Want to / So that form, a link graph, product-fit ratings and a Next Move Theory segment map — built on Ivan Zamesin's Advanced JTBD canon, not generic Christensen JTBD. One renders it to a FigJam board. The other renders one self-contained HTML file that needs no account.

2skills sharing one engine
2sub-agents: extract, then audit
0invented facts — every field is sourced or blank
MITopen source, read the code first
01 · How it works

One source of truth, two renders

You hand it research. It extracts every customer job it can find, labels each one by its source — a direct quote, the research author's hypothesis, or an AI assumption — and sorts jobs into segments defined by the job itself, not by demographics.

Everything lives in one file, work/jobs.json. The job-list document, the FigJam board and the HTML page are all views generated from it — never the other way around. Edit the file, re-render; nothing drifts out of sync.

Honesty is the whole point. A made-up "fact" is worse than a blank. A field with no source becomes a "—", not a guess.

🧭

Method: Advanced Jobs To Be Done + Next Move Theory, the canon by Ivan Zamesin — distinct from Clayton Christensen's generic JTBD. A job is When (context, trigger, negative emotions, consideration set) / Want to (one infinitive, success criteria) / So that (one higher-level job, positive emotions).

The pipeline

Stages run in order; the skill stops at three checkpoints for you to review before building on your edits.

1 · extract
jtbd-extractor
Per source, in parallel. Raw text → job fragments with evidence quotes.
2 · merge
jobs.json
Dedupe, sort into segments, assign job type (regular / orientation / Tax / Fake / emotional / viral).
3 · audit · ⛔ checkpoint
jtbd-auditor
Checks every field against the evidence, flags Fake Job mislabels, misses Tax Jobs.
5 · render
FigJam board
Cards by segment column, a copy with the link graph next to it.
HTML file
Cards, graph and segment map in one page. Click a card, see only its links.
6 · graph · ⛔ checkpoint
edit the links
FigJam: drag on the board, read edits back. HTML: edit jobs.json, redraw in under a second.
7–8 · fit + map
product fit + segment map
now / minimal work / none, per job — then a Next Move Theory segment map.
02 · The two skills

Same engine, one difference: where it renders

Install one, or both — the right person to ask is whoever's about to use it.

/jtbd-research-to-figjam/jtbd-research-to-html
Outputa FigJam boardone self-contained HTML file
Needsthe Figma MCP, a Figma accountnothing but Python 3 and a browser
Editing the graphdrag cards by hand, skill reads edits backedit jobs.json, re-render in under a second
Collaborationseveral people on one boardshare the file, or print to PDF
Works offlinenoyes

Two sub-agents, shared by both skills

  • jtbd-extractor — reads one research source, pulls out every job it can find, returns a jobs.json fragment with evidence quotes. Run once per source, in parallel.
  • jtbd-auditor — reviews the merged file: checks every field against the evidence, flags anything unsupported, catches Fake Job mislabels and missed Tax Jobs.
03 · Install

Into your Claude Code, in one command

Read the code before you run it against your own research — it's MIT-licensed, 38 KB of Markdown and Python, nothing hidden.

As a Claude Code pluginRecommended

/plugin marketplace add VladislavDerkach/jtbd-job-mapper /plugin install jtbd-job-mapper@jtbd-job-mapper

Installs both skills and both sub-agents. Update later with /plugin update jtbd-job-mapper@jtbd-job-mapper.

One-line installer

curl -fsSL https://jtbd-job-mapper.dervlad.com/install.sh | bash

Downloads both skills and both agents straight into ~/.claude/.

Clone and install locally

git clone https://github.com/VladislavDerkach/jtbd-job-mapper.git cd jtbd-job-mapper ./install-local.sh

Same result, from your own clone.

Copied