Token导航 LogoToken导航

Agent Skill · 研究检索

job-stories(工作故事)

job-stories 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

job-stories 是研究检索类 Agent Skill,可用宿主为 Codex、Claude、Cursor、Gemini CLI,通过GitHub 仓库获取,权限为需要联网;许可证信息还不明确,第三方扫描已通过,按安装量在研究检索类的 73,675 个 Skill 里排第 38,990。

总安装 1,482周安装 63GitHub Stars 103下载 519核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
unknown

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:job-stories(工作故事)
来源仓库:https://github.com/borghei/claude-skills
仓库路径:skills/job-stories
安装命令:
npx skills add https://github.com/borghei/claude-skills --skill job-stories
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/borghei/claude-skills --skill job-stories

这个 Skill 是做什么的

研究检索类 Skill 主要解决「找资料、核对事实、把来源整理清楚」的问题,通常会让助手先检索再总结。

job-stories 基于 Jobs-to-Be-Done 框架撰写聚焦情境、动机与结果的轻量级需求描述。适用于产品定义与 backlog 梳理,避免角色假设带来的偏差。通过 npx skills add 从 GitHub 安装,具体模板与示例见仓库文档。

安装前建议确认权限范围与维护状态,注意是否触发联网或外部资源访问。适用宿主包括 Codex、Claude、Cursor、Gemini CLI,接入前应确认版本、权限和运行环境要求。

来源仓库内路径:skills/job-stories

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 Codex、Claude、Cursor、Gemini CLI;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 npx skills add https://github.com/borghei/claude-skills --skill job-stories;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要需要联网,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

job-stories 怎么安装?

在终端执行 npx skills add https://github.com/borghei/claude-skills --skill job-stories。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

job-stories 支持哪些 AI 工具?

公开资料标注支持 Codex、Claude、Cursor、Gemini CLI。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

job-stories 需要什么权限?

权限级别是需要联网。该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

job-stories 是免费的吗?

公开资料没有标注明确许可证,收费和商用限制都无法确认。正式使用前请到来源仓库核对授权说明。

job-stories 用的人多吗?

公开数据是累计安装 1,482 次,近一周安装 63 次,下载 519 次,GitHub 103 星。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

job-stories 安全吗?

第三方扫描结果为通过,但这只覆盖已知的静态检查项,不能替代自己读一遍源码和安装命令。

值得选的地方和要先想清楚的地方

值得选的地方

  • 同时适配 4 种工具,换客户端不用重新找替代品。
  • 第三方扫描已通过,常见的高风险行为没有命中。

先想清楚的地方

  • 许可证没有明确标注,能不能商用、能不能再分发都不确定。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 Codex,想直接扩展它能力的人。
  • 需要处理研究检索类任务、又不想每次都手写提示词的人。

不太适合

  • 需要明确授权才能用到公司项目里的场景。
  • 需要厂商级技术支持和 SLA 的生产系统。

研究检索类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
find-skills

寻找技能 · Codex、Claude

31,199,81316,486操作浏览器MIT有提醒
self-improving-agent

自我改进 Agent · OpenClaw

16,464,0023,396接触敏感数据MIT-0通过
soultrace

灵魂追踪 · Codex、Claude

7,588,94412需要联网未明确有提醒
self-improving

自我完善 · OpenClaw

6,829,2841,046需要联网MIT-0通过
microsoft-foundry

微软代工厂 · Codex、Claude

6,614,144764调用外部服务未明确有提醒
job-stories

工作故事 · 本页

1,482103需要联网未明确通过

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

Job Stories Expert

Overview

Write job stories using the Jobs-to-Be-Done (JTBD) framework. Unlike traditional user stories that focus on roles ("As a user..."), job stories focus on the situation, motivation, and desired outcome. This shift produces requirements that are more grounded in real user context and less likely to encode assumptions about who the user is.

When to Use

  • Feature definition -- When you need to articulate what to build and why, grounded in user context.
  • Backlog creation -- When populating a backlog with work items that stay focused on user outcomes.
  • Requirement workshops -- When collaborating with stakeholders to define what "done" looks like.
  • Design briefs -- When giving designers context about the situation and motivation behind a feature.

When NOT to Use

  • When you need strategic backlog items with business context -- use wwas/ instead.
  • When you need lightweight stories for a team already fluent in user story format.
  • When the work is purely technical with no direct user-facing situation.

JTBD Discovery Canvas

Before writing job stories, run a Jobs-to-Be-Done discovery canvas to understand what customers are trying to achieve, where they struggle, and what outcomes they value most. This canvas produces the situational context that feeds directly into job story writing.

When to Run Discovery First

  • Starting a new product area with no existing user research.
  • Entering a new market segment or persona.
  • Backlog items feel disconnected from real user needs.
  • Team debates "what to build" without grounding in customer jobs.

Discovery Canvas Template

1. Customer Jobs

Functional Jobs:

  • [Tasks customers need to perform — keep each bullet 4-8 words]

Social Jobs:

  • [Ways customers want to be perceived socially]

Emotional Jobs:

  • [Emotional states customers seek to achieve or avoid]
2. Pains

Challenges:

  • [Obstacles customers face when performing their jobs]

Costliness:

  • [What customers find too costly in time, money, or effort]

Common Mistakes:

  • [Frequent errors customers make that could be prevented]

Unresolved Problems:

  • [Problems not solved by current solutions]
3. Gains

Expectations:

  • [Ways current solutions fail to meet expectations]

Savings:

  • [Ways savings in time, money, or effort would delight customers]

Adoption Factors:

  • [Factors that would increase the likelihood of adoption]

Life Improvement:

  • [Ways a solution could make customers' lives easier or more enjoyable]
4. Assumptions to Validate
  • [Assumption 1]
  • [Assumption 2]
  • [Assumption 3]

From Canvas to Job Stories

Each row in the discovery canvas maps to job story components:

Canvas SectionMaps ToExample
Customer Jobs (Functional)Motivation (I want to...)"I want to reconcile my accounts"
Pains (Challenges)Situation (When...)"When I discover a discrepancy during month-end close"
Gains (Expectations)Outcome (So I can...)"So I can submit accurate reports before the deadline"

Process:

  1. Run the discovery canvas with stakeholders or from research data.
  2. Identify the highest-impact job-pain-gain clusters.
  3. Write one job story per cluster using the When/Want/So format below.
  4. Validate assumptions before committing to build.

Next Steps After Discovery

  1. Generate prioritized opportunity statements from the canvas (Recommended)
  2. Convert the canvas into a value proposition draft
  3. Generate interview questions to validate top assumptions
  4. Generate a hypothesis backlog for rapid experiments

The Job Story Format

When [situation], I want to [motivation], so I can [outcome].
ComponentFocusQuestion It Answers
When [situation]The context or triggerWhat is happening when the user needs this?
I want to [motivation]The action or capability desiredWhat does the user want to do in this moment?
So I can [outcome]The expected result or benefitWhat does success look like for the user?

Key Principle: Focus on the Job, Not the Role

User stories say "As a [role]..." which anchors the requirement to a persona. Job stories remove the role and instead describe the *situation* -- the real-world context that creates the need. This matters because:

  • The same person may have different needs in different situations.
  • Different people in the same situation often have the same need.
  • Situations are observable and testable; roles are abstract labels.

Example comparison:

User StoryJob Story
As a budget manager, I want to see a spending report so I can track expenses.When I am preparing my weekly budget, I want to see spending so far this period, so I can adjust before overspending.
As an admin, I want to export user data so I can comply with data requests.When I receive a data subject access request, I want to export all data associated with that person, so I can respond within the 30-day legal deadline.

The job story version is more specific, more testable, and provides better design guidance.

Writing Good Job Stories

Situations (When...)

Good situations are:

  • Specific and observable -- You could watch someone be in this situation.
  • Contextual -- They describe what is happening, not who the person is.
  • Triggering -- They explain what creates the need right now.
Weak SituationStrong Situation
When I use the appWhen I open the app for the first time after signing up
When I need dataWhen I am in a client meeting and need to reference last quarter's results
When I manage my teamWhen a team member submits a time-off request that overlaps with a project deadline

Motivations (I want to...)

Good motivations are:

  • Action-oriented -- They describe doing something, not having something.
  • Solution-agnostic -- They describe the capability, not the implementation.
  • Singular -- One motivation per story.
Weak MotivationStrong Motivation
I want a dashboardI want to see my team's progress at a glance
I want better notificationsI want to be alerted only when something requires my action
I want to manage users and permissionsI want to grant a new team member access to the project (split into two if needed)

Outcomes (So I can...)

Good outcomes are:

  • Benefit-focused -- They describe the end result, not the means.
  • Measurable or observable -- You can tell if the outcome was achieved.
  • Meaningful -- They connect to something the user genuinely cares about.
Weak OutcomeStrong Outcome
So I can use the featureSo I can complete my weekly report in under 10 minutes
So I can be productiveSo I can identify which tasks are blocked before standup
So I can do my jobSo I can respond to the customer within our 4-hour SLA

INVEST Quality Criteria

Apply INVEST to every job story before it enters the backlog:

CriterionQuestionRed Flag
IndependentCan this story be delivered without depending on another story?"This only works after story X is done"
NegotiableIs the implementation open to discussion, or is it prescribing a solution?Motivation says "I want a dropdown menu" instead of "I want to select from available options"
ValuableDoes the outcome deliver clear value to the user?Outcome is vague ("so I can use it") or internal ("so the database is normalized")
EstimableCan the team estimate the effort?Situation is too vague to understand scope
SmallCan this be completed in one sprint?Story covers multiple distinct situations or motivations
TestableCan you write acceptance criteria that verify the outcome?Outcome is subjective ("so I feel confident")

Story Template

For each job story, produce a card with the following structure:

### [Title]

**Job Story:**
When [situation], I want to [motivation], so I can [outcome].

**Design:** [Link to design file or "TBD"]

**Acceptance Criteria:**

1. [ ] [Observable outcome that verifies the story is complete]
2. [ ] [Observable outcome]
3. [ ] [Observable outcome]
4. [ ] [Observable outcome]
5. [ ] [Observable outcome]
6. [ ] [Observable outcome]

Acceptance Criteria Guidelines

  • Write 6-8 acceptance criteria per story.
  • Focus on outcomes, not implementation steps.
  • Each criterion should be independently verifiable.
  • Use the pattern: "[Thing] [does/shows/enables] [expected behavior] [under condition]."
  • Include edge cases and error states, not just the happy path.

Good acceptance criteria examples:

  1. The spending summary shows all transactions from the current period, grouped by category.
  2. Transactions from previous periods are excluded from the current period total.
  3. The summary updates within 5 seconds of a new transaction being recorded.
  4. If no transactions exist for the current period, a message explains that no spending has been recorded yet.
  5. The summary is accessible on mobile screens without horizontal scrolling.
  6. Category totals match the individual transaction amounts (no rounding discrepancies).

Bad acceptance criteria examples (avoid):

  • The API returns a 200 status code (implementation detail)
  • The React component renders correctly (implementation detail)
  • It works (not testable)
  • The user is happy (not observable)

Worked Example

Context: A budgeting application for personal finance.

Weekly Budget Check

Job Story: When I am preparing my weekly budget on Sunday evening, I want to see how much I have spent so far this month by category, so I can decide where to cut back before the month ends.

Design: [Link to Figma mock]

Acceptance Criteria:

  1. The spending view shows the current month's transactions grouped by category (e.g., groceries, dining, transport).
  2. Each category displays the total spent and the remaining budget for that category.
  3. Categories that have exceeded their budget are visually distinguished from those within budget.
  4. Tapping a category shows the individual transactions within it.
  5. The view loads within 2 seconds on a standard mobile connection.
  6. If no budget has been set for a category, the category still appears with total spent but no remaining budget indicator.
  7. The date range is fixed to the current calendar month and is clearly displayed.
  8. A "last updated" timestamp shows when transaction data was last synced.

Integration with Other Skills

  • Use summarize-meeting/ to capture the discovery conversations that inform job stories.
  • Use wwas/ when you need to add strategic business context (the "Why") to backlog items.
  • Feed completed job stories into ../jira-expert/ for ticket creation.
  • Use brainstorm-okrs/ to connect job stories back to team objectives.

References

  • See references/jtbd-guide.md for Jobs-to-Be-Done theory, comparison with user stories, and story splitting techniques.
  • See assets/job_story_template.md for ready-to-use templates.

Troubleshooting

ProblemLikely CauseResolution
Team writes situations that are too vague ("When I use the app...")Insufficient user research; situations invented at desk rather than observedRequire each situation to reference a specific interview quote, support ticket, or analytics event; use the "could you video this?" test
Motivations prescribe a specific solution ("I want a dropdown...")Team conflates solution with capability; negotiability criterion failingRewrite using "I want to [verb] [object]" pattern without naming UI elements; apply the INVEST-N check before acceptance
Outcomes are not measurable ("So I can be productive")Outcome too abstract; not grounded in observable behaviorAsk "How would you know the user achieved this?" -- if you cannot describe an observable signal, the outcome needs rewriting
Job stories are too large for a single sprintMultiple situations or motivations packed into one storySplit by situation (different contexts become separate stories) or by outcome (different success criteria become separate stories)
Team defaults to user story format despite trainingHabit and muscle memory; Jira templates still use "As a..." formatUpdate Jira issue templates to use JTBD format; run a conversion workshop with 5 real user stories rewritten as job stories
Acceptance criteria describe implementation steps instead of outcomesEngineering team writing criteria from their perspective rather than the user's perspectiveApply the "would the user care about this?" filter; replace API/database criteria with observable behavior statements
Job stories lack connection to strategic objectivesJTBD format focuses on user context but does not inherently include business "why"Pair each job story with a WWAS "Why" statement from wwas/; or add an optional "Supports:" field linking to an OKR

Success Criteria

  • 100% of job stories in the backlog follow the "When / I want to / So I can" format correctly
  • All situations reference observable, specific contexts (pass the "could you video this?" test)
  • All motivations are solution-agnostic (no UI element names or implementation details)
  • Each story has 6-8 acceptance criteria focused on observable outcomes, not implementation
  • Every job story passes all 6 INVEST criteria before entering a sprint
  • Defect rate on stories written in JTBD format is 20%+ lower than stories written in traditional format (measured over 3 months)
  • Team members can articulate the difference between a job story and a user story and choose the appropriate format for the context

Scope & Limitations

In Scope: Writing job stories using JTBD "When/Want/So" format, applying INVEST quality criteria, writing outcome-focused acceptance criteria, converting existing user stories to job stories, facilitating story-writing workshops, integrating job stories with Jira backlog items.

Out of Scope: Strategic backlog items with business context (hand off to wwas/), product ideation and opportunity discovery (hand off to discovery/brainstorm-ideas/), detailed technical specifications, UX research and user interviewing methodology.

Limitations: Job stories work best when the team has access to real user research (interviews, observation, support data). Without user context, teams will invent situations that may not reflect reality. The format is less natural for purely technical or infrastructure work where there is no direct user situation. Job stories and user stories are complementary -- some teams use both formats for different types of work.

Integration Points

IntegrationDirectionWhat Flows
wwas/ComplementaryWWAS adds strategic "Why" context; job stories add situational "When" context. Use both when needed
summarize-meeting/Meetings -> StoriesDiscovery conversations and refinement sessions produce the situations that inform job stories
../jira-expert/Stories -> JiraCompleted job stories become Jira tickets with structured descriptions
discovery/brainstorm-ideas/Ideas -> StoriesValidated product ideas decompose into job stories for the backlog
execution/brainstorm-okrs/OKRs -> StoriesTeam objectives define the outcomes that job stories should connect to
execution/prioritization-frameworks/Stories -> PrioritizationJob stories scored via RICE or other frameworks for sprint planning

平台分布

Codex

39.92%
按下载量换算207

Claude

27.93%
按下载量换算145

Cursor

18.88%
按下载量换算98

Gemini CLI

10.58%
按下载量换算55

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills