dev10x:ticket-jtbd
/dev10x:ticket-jtbd
Pisze historię JTBD dla zgłoszenia lub PR i zapisuje ją w celu, czyli w opisie PR, GitHub Issues, Linear lub JIRA.
- Autor
- dev10x-guru ↗
- Repozytorium
- dev10x-claude ↗
- Licencja
- MIT
- Ostatnia zmiana repozytorium
- 12.10.2026
Ocena i bezpieczeństwo
- Pliki w paczce
- 1
- Skrypty
- 0
- Komentarze HTML
- 0
- Adresy URL w SKILL.md
- 2
Brak sygnałów. Repozytorium zmienione 12.10.2026, bez odwołań do wycofanych modeli i API.
MIT, otwarta: można używać i zmieniać, z zachowaniem informacji o autorze.
Co robi i kiedy
Pisze historię JTBD dla zgłoszenia lub PR i zapisuje ją w celu, czyli w opisie PR, GitHub Issues, Linear lub JIRA.
Oryginalny opis (EN)
Write a JTBD Job Story and apply it to a target (PR description, GitHub issue, Linear ticket, or JIRA ticket). Delegates drafting to the dev10x:jtbd base skill, then handles the side-effecting write. TRIGGER when: a ticket or PR needs a Job Story written or updated. DO NOT TRIGGER when: JTBD is already present in the target, or user is writing commit messages (use dev10x:git-commit for that).
Jak działa
- Orchestration
- Overview
- When to Use This Skill
- Input
- Workflow
- Usage Modes
- Examples
- Integration with Other Skills
Podgląd SKILL.md
---
name: dev10x:ticket-jtbd
description: >
Write a JTBD Job Story and apply it to a target (PR description,
GitHub issue, Linear ticket, or JIRA ticket). Delegates drafting to
the dev10x:jtbd base skill, then handles the side-effecting write.
TRIGGER when: a ticket or PR needs a Job Story written or updated.
DO NOT TRIGGER when: JTBD is already present in the target, or user
is writing commit messages (use dev10x:git-commit for that).
user-invocable: true
invocation-name: dev10x:ticket-jtbd
allowed-tools:
- Skill(dev10x:jira)
- Bash(gh pr view:*)
- Bash(gh pr diff:*)
- Bash(gh pr edit:*)
- Bash(gh pr list:*)
- Bash(git log:*)
- Bash(git diff:*)
- Bash(${CLAUDE_PLUGIN_ROOT}/skills/gh-context/scripts/:*)
- mcp__claude_ai_Linear__get_issue
- mcp__claude_ai_Linear__list_issues
- mcp__claude_ai_Linear__list_comments
- mcp__claude_ai_Linear__create_comment
- mcp__claude_ai_Linear__update_issue
- Bash(secret-tool lookup:*)
- Bash(curl:*atlassian.net*)
- Bash(gh issue comment:*)
- mcp__plugin_dev10x_cli__detect_tracker
---
# Write JTBD Story to Target
## Orchestration
This skill follows `references/task-orchestration.md` patterns.
Create a task at invocation, mark completed when done:
**REQUIRED: Create a task at invocation.** Execute at startup:
1. `TaskCreate(subject="Write JTBD Job Story", activeForm="Writing Job Story")`
Mark completed when done: `TaskUpdate(taskId, status="completed")`
## Overview
This skill drafts a JTBD Job Story using the `dev10x:jtbd` base skill and
then writes the approved story to a target: PR description, GitHub
issue, Linear ticket description, or JIRA ticket.
## When to Use This Skill
- After creating a PR, to add business context before requesting review
- When preparing PRs for release notes collection
- When a PR or ticket description needs a user-facing summary
- Called by `pr:monitor` in Phase 0 when a PR is missing its Job Story
## Input
Accepts one or both of:
- **PR URL or number** — e.g., `1167` or `https://github.com/example-org/app-pos/pull/1167`
- **Linear ticket URL or ID** — e.g., `PAY-519` or `https://linear.app/example/issue/PAY-519/...`
- **GitHub issue ID** — e.g., `GH-15`
If only one is provided, infer the other:
- PR → extract ticket ID from branch name
- Ticket → find linked PR from ticket attachments
## Workflow
### Step 1: Auto-Detect Target
Determine the write target from the arguments:
| Argument | Target |
|----------|--------|
| PR number or URL | PR description |
| GitHub issue ID (GH-xxx) | GitHub issue (posted as comment) |
| Linear ticket ID (PAY-xxx) | Linear ticket description |
| JIRA ticket ID (JIRA-xxxx) | JIRA ticket description |
| Both PR + ticket | PR description (primary), ticket as context source |
### Step 2: Gather Identifiers
Extract all available identifiers for context.
**If a PR was provided**, read its branch through the MCP wrapper and
take the ticket ID from the second `/`-delimited segment:
```
mcp__plugin_dev10x_cli__pr_detect(arg="{PR_NUMBER}")
```
It returns `BRANCH` fetched from GitHub rather than local git, which
is what makes it correct in a multi-worktree checkout.
**If a ticket was provided**, find the linked PR. No MCP wrapper
covers PR search, so this is the one raw call in this skill:
```bash
gh pr list --search "{TICKET_ID}" --state open --json number --limit 1 # cli-friction: allow raw-gh-pr — no MCP wrapper covers PR search
```
### Step 3: Delegate to dev10x:jtbd Base Skill
Invoke the `dev10x:jtbd` skill in **attended mode** with all available context:
- `ticket_id`: extracted ticket ID
- `pr_number`: extracted PR number
- `mode`: attended
The `dev10x:jtbd` skill handles all context gathering, situation
identification, and draft presentation. It returns the approved
story string (or empty if user rejects).
### Step 4: Write to Target
If the user approved the story (non-empty return):
**PR description target:**
Write the updated body to a temp file (include PR# to avoid clashes),
then use `--body-file`:
1. Use the Write tool to create `/tmp/Dev10x/pr-body-{PR_NUMBER}.md`
with the Job Story prepended to the existing body
2. Run: `gh pr edit {PR_NUMBER} --repo {REPO} --body-file /tmp/Dev10x/pr-body-{PR_NUMBER}.md`
The story goes at the **top** of the description so it's the first
thing visible in PR lists and Slack previews.
**GitHub issue target:**
Post the Job Story as a comment on the GitHub issue:
1. Call the MCP tool to get the repo and number:
`mcp__plugin_dev10x_cli__detect_tracker(ticket_id="$TICKET_ID")`
2. Post the comment:
`gh issue comment "$TICKET_NUMBER" --repo "$REPO" --body "$JOB_STORY"`
**Linear ticket target:**
Prepend the Job Story to the existing ticket description:
```
mcp__claude_ai_Linear__update_issue(
id: "{TICKET_ID}",
description: "{job_story}\n\n{existing_description}"
)
```
**JIRA ticket target:**
Delegate to the `dev10x:jira` skill for JIRA updates.
1. Use the Write tool to create `/tmp/Dev10x/jira-payload-{TICKET_ID}.json`
with the JIRA REST API v3 ADF document format
2. Invoke `Skill(skill="dev10x:jira")` to apply the payload to the ticket
### Step 5: Confirm
```
Updated {target_type} with Job Story.
{target_url}
```
## Usage Modes
| Caller | dev10x:jtbd Mode | Write Target |
|--------|-----------|-------------|
| Standalone `/dev10x:ticket-jtbd 1167` | attended | PR description |
| Standalone `/dev10x:ticket-jtbd PAY-519` | attended | Linear ticket |
| Standalone `/dev10x:ticket-jtbd GH-15` | attended | GitHub issue (comment) |
| `pr:monitor` Phase 0 | attended | PR description |
## Examples
### Example 1: Write to PR
**Input:** `/dev10x:ticket-jtbd 1167`
1. Auto-detect: PR number → target is PR description
2. Extract ticket ID from branch: `PAY-519`
3. Delegate to `dev10x:jtbd` (attended) → user approves draft
4. Prepend story to PR #1167 description
5. Confirm: `Updated PR #1167 with Job Story.`
### Example 2: Write to Linear ticket
**Input:** `/dev10x:ticket-jtbd PAY-519`
1. Auto-detect: Linear ticket ID → target is Linear ticket
2. Find linked PR (if any) for additional context
3. Delegate to `dev10x:jtbd` (attended) → user approves draft
4. Prepend story to PAY-519 description
5. Confirm: `Updated PAY-519 with Job Story.`
### Example 3: Both PR and ticket
**Input:** `/dev10x:ticket-jtbd 1167 PAY-519`
1. Auto-detect: PR + ticket → primary target is PR description
2. Delegate to `dev10x:jtbd` (attended) with both identifiers
3. Prepend story to PR #1167 description
4. Confirm: `Updated PR #1167 with Job Story.`
### Example 4: Write to GitHub issue
**Input:** `/dev10x:ticket-jtbd GH-15`
1. Auto-detect: `GH-` prefix → target is GitHub issue
2. Fetch issue body and comments for context
3. Delegate to `dev10x:jtbd` (attended) → user approves draft
4. Post story as comment on GH-15
5. Confirm: `Updated GH-15 with Job Story.`
## Integration with Other Skills
```
dev10x:ticket-jtbd
├── Delegates to: dev10x:jtbd (pure base — context gathering + drafting)
├── Called by: pr:monitor Phase 0 (when JTBD missing from PR)
└── Replaces: job-story (former monolithic skill)
```
Wersje
W bazie nie ma innych skilli o nazwie dev10x:ticket-jtbd.
Migawka bazy z 28.10.2026 · wersja paczki da978b53b51b (skrót SHA-256 całej paczki)
Pobrania w ostatnich 30 dniach: 0 · ranking
Zgłoś problem z tym skillem: szkodliwa treść, błędny opis albo prośba autora o usunięcie.
Podobne skille
- 90dev10x:jtbd
Pisze historię JTBD w formie sytuacji i zadania, z jawnym aktorem i beneficjentem, na podstawie zgłoszeń i diffów. - 100writing-tickets
Pisze lub przepisuje zgłoszenia w trackerze (Linear, GitHub Issues, Jira) dla osoby lub agenta kodującego: cel, dowody, podjęte decyzje, twarde reguły i kryteria ukończenia. - 90dev10x:ticket-create
Zakłada zgłoszenie w GitHub Issues, Linear lub JIRA z opisem: przyczyna, rozwiązanie i lista zmienionych plików. - 100write-ticket
Pisze i porządkuje zgłoszenia, historyjki i raporty błędów w Jirze, Linearze, GitHub Issues, GitLab lub Asanie, z notatek lub surowego pomysłu. - 100ticket-authoring
Pisze kompletne zgłoszenia do trackera: błędy, zadania, historyjki, spiki i epiki, z polami, załącznikami i testem ukończenia, w Jira, Linear lub GitHub Issues. - 100jira-ticket-generator
Prawdopodobnie generuje zgłoszenia Jira i wspiera korporacyjne przepływy pracy.