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 derricktang/pm-workflow-plugin --skill jobs-to-be-donegit clone --depth 1 https://github.com/derricktang/pm-workflow-pluginWrote 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/derricktang/pm-workflow-plugin/jobs-to-be-done)<a href="https://agentmods.dev/skills/derricktang/pm-workflow-plugin/jobs-to-be-done"><img src="https://agentmods.dev/badge/skills/derricktang/pm-workflow-plugin/jobs-to-be-done/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/derricktang/pm-workflow-plugin/jobs-to-be-done"><img src="https://agentmods.dev/badge/skills/derricktang/pm-workflow-plugin/jobs-to-be-done.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.00040 | $0.02960 |
| Opus 5 | $0.00020 | $0.01480 |
| Sonnet 5 | $0.00008 | $0.00592 |
| Haiku 4.5 | $0.00004 | $0.00296 |
Grade A, and why
jobs-to-be-done 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 11d 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.
This is a copy
100% identical to jobs-to-be-done — 3 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.
How it starts
The opening of the file, as written. The whole thing — 374 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Purpose
Systematically explore what customers are trying to accomplish (functional, social, emotional jobs), the pains they experience, and the gains they seek. Use this framework to uncover unmet needs, validate product ideas, and ensure your solution addresses real motivations—not just surface-level feature requests.
This is not a survey—it's a structured lens for understanding why customers "hire" your product and what would make them "fire" it.
Key Concepts
The Jobs-to-be-Done Framework
Influenced by Clayton Christensen and the Value Proposition Canvas (Osterwalder), JTBD breaks customer needs into three categories:
1. Customer Jobs:
- Functional jobs: Tasks customers need to perform (e.g., "send an invoice")
- Social jobs: How customers want to be perceived (e.g., "look professional to clients")
- Emotional jobs: Emotional states customers seek or avoid (e.g., "feel confident in my work")
2. Pains:
- Challenges: Obstacles customers face
- Costliness: What's too expensive in time, money, or effort
- Common mistakes: Errors customers make that could be prevented
- Unresolved problems: Gaps in current solutions
3. Gains:
- Expectations: What would exceed current solutions
- Savings: Time, money, or effort reductions that delight
- Adoption factors: What increases likelihood of switching
- Life improvement: How a solution makes life easier or more enjoyable
Why This Structure Works
- Separates job from solution: "Communicate with my team" (job) ≠ "email" (solution)
- Reveals underlying motivations: Functional job may be "track expenses," but emotional job is "feel in control of finances"
- Surfaces competition you didn't see: Customers "hire" non-obvious alternatives (pen and paper, spreadsheets, workarounds)
- Prioritizes by intensity: Not all pains are equal—focus on the most acute
Anti-Patterns (What This Is NOT)
- Not a feature wishlist: "I want AI, automation, and dashboards" is not a job
- Not demographics: "Millennials want mobile-first" is a persona trait, not a job
- Not generic: "Be more productive" is too vague—dig into which tasks and why
- Not one-dimensional: Focusing only on functional jobs misses social/emotional motivations
What ships with it
2 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.
- 11d ago First seen · 374 lines · 40 tokens per session scan A 0553b3a8d550
jobs-to-be-done is a skill published in the GitHub repository derricktang/pm-workflow-plugin (2 stars, last pushed 2mo ago), licensed MIT. It adds 40 tokens to every session and 2,960 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. It is 100% identical to jobs-to-be-done, differing in 3 lines, and is treated as a copy.
Other skills, from other repositories
mcp-builder
Guide for creating high-quality MCP (Model Context Protocol) servers that enable LLMs to interact with external services through well-designed tools. Use when building MCP servers to integrate external APIs or services, whether in Python (FastMCP) or Node/TypeScript (MCP SDK).
last30Days
Resolve "last30Days" to a concrete ISO date range relative to your run time — a rolling 30-day window ending today. Returns inclusive civil dates plus exact UTC instants so you have temporal context without computing dates by hand. Read-only: no writes, no network. Use before a "last 30 days" / trailing-month task…
thisWeek
Resolve "thisWeek" to a concrete ISO date range relative to your run time — this week so far (Monday → today). Returns inclusive civil dates plus exact UTC instants so you have temporal context without computing dates by hand. Read-only: no writes, no network. Use before a week-to-date task (this week's activity…
comet-hotfix
A quick workflow for fixing an existing bug in Comet, a tool that manages structured code changes. It moves through opening the change, building, checking, and archiving it.
comet-design
A workflow guide for turning an existing software change into a detailed technical design document. It builds on earlier proposal and design files and defines implementation risks, tests, and edge cases.
comet-hotfix
Comet preset path: Bug fix / hotfix. Skip brainstorming, directly open → build → verify → archive. Applicable for behavior fixes, scenarios not involving new capability design.