Token导航 LogoToken导航TokenDH.com
研究检索敏感数据github未标认证来源可访问许可证需确认审计通过

ticket-craft门票工艺

Agent Skill

用于处理 Jira 项目、任务、缺陷、Sprint、负责人和状态流转。它适合让 Agent 辅助查询工单、汇总迭代进展、创建任务或整理需求和缺陷信息。使用时要确认项目权限、字段配置和工作流规则,不同团队的 Issue 类型、状态和必填字段可能不同;涉及批量改状态、改负责人或创建工单时,应先预览变更内容再执行。

总安装

3,264

周安装

136

GitHub Stars

590

下载量

1,088
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

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

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

命令行安装

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

skills.shnpx skills
npx skills add https://github.com/alinaqi/claude-bootstrap --skill ticket-craft

简介

用于处理 Jira 项目、任务和缺陷流转。

  • 适合查询工单、汇总迭代进展或创建新任务。
  • 使用时需确认项目权限、字段配置和工作流规则。
  • 安装命令:npx skills add https://github.com/alinaqi/claude-bootstrap --skill ticket-craft
  • 涉及批量改状态或负责人时应先预览变更内容。

SKILL.md

Ticket Craft Skill

*Write software tickets that AI agents can execute autonomously.*

Purpose: Define a ticket format that combines software engineering best practices (INVEST, Given-When-Then, Definition of Ready) with Claude Code-specific context requirements. Every ticket created with this skill is "Claude Code Ready" - meaning an agent can pick it up and execute it without asking clarifying questions.

Works with: Jira, Asana, Linear, GitHub Issues, or any ticket system.


Core Principle

┌─────────────────────────────────────────────────────────────────┐
│  A TICKET IS A PROMPT                                            │
│  ──────────────────────────────────────────────────────────────  │
│                                                                  │
│  Traditional tickets are written for humans who can:             │
│  - Ask clarifying questions in Slack                             │
│  - Draw on institutional knowledge                               │
│  - Infer intent from vague descriptions                          │
│                                                                  │
│  AI agents cannot do any of this.                                │
│                                                                  │
│  Every ticket must be SELF-CONTAINED:                            │
│  - Explicit file references (not "the auth module")              │
│  - Pattern references (not "follow our conventions")             │
│  - Verification criteria (not "make sure it works")              │
│  - Constraints (not just what to do, but what NOT to do)         │
│  - Test commands (not "run the tests")                           │
│                                                                  │
│  If Claude Code can execute it without asking a question,        │
│  the ticket is ready. If it can't, it's not.                     │
└─────────────────────────────────────────────────────────────────┘

The INVEST+C Criteria

Standard INVEST plus C for Claude-Ready:

CriterionQuestionFails If...
I - IndependentCan this be completed without waiting on another ticket?Blocked by undocumented dependencies
N - NegotiableIs there room to adjust implementation approach?Over-specifies implementation details
V - ValuableCan you articulate who benefits and how?No clear user or business value
E - EstimableDoes the team understand enough to size it?Too vague or too large to estimate
S - SmallCan one person finish this in 1-3 days?More than 5 acceptance criteria
T - TestableCan you write a pass/fail test for it?Uses vague language like "fast" or "good UX"
C - Claude-ReadyCan an AI agent execute this without clarifying questions?Missing file refs, patterns, verification, or constraints

Ticket Types

1. Feature Ticket

## [PROJ-XXX] {Verb} {Feature} for {User}

**Type:** Feature
**Priority:** {Critical | High | Medium | Low}
**Points:** {1 | 2 | 3 | 5 | 8}
**Labels:** {frontend, backend, api, database, etc.}
**Epic:** {Parent epic}

---

### User Story
As a {specific persona},
I want to {specific action},
so that {measurable benefit}.

### Background
{1-2 paragraphs on why this matters. Link to product brief, user research,
or business justification. Include any relevant metrics or user feedback.}

### Acceptance Criteria

**AC1: {Happy path scenario}**
Given {precondition},
when {action},
then {expected result}.

**AC2: {Edge case / error scenario}**
Given {precondition},
when {action},
then {expected result}.

**AC3: {Boundary condition}**
Given {precondition},
when {action},
then {expected result}.

### Out of Scope
- {Explicitly state what this ticket does NOT include}
- {Prevents scope creep and keeps ticket small}

---

### Claude Code Context

#### Relevant Files (read these first)
- `src/services/example.ts` - Existing service to extend
- `src/models/example.ts` - Data model definition
- `src/api/routes/example.ts` - Existing endpoint patterns to follow

#### Pattern Reference
Follow the pattern in `src/services/user.ts` for service layer implementation.
Follow the pattern in `src/api/routes/users.ts` for route definition.
Follow the pattern in `tests/services/user.test.ts` for test structure.

#### Database Changes
- {Table to create/modify, columns, types}
- {Migration file location: `supabase/migrations/` or `prisma/migrations/`}
- {RLS policies if using Supabase}

#### API Contract

POST /api/{resource} Request: {field1: string, field2: number} Response: {id: string, field1: string, created_at: string} Error: {error: string, code: number}

#### Constraints
- Do NOT modify {specific files or modules}
- Do NOT add new dependencies without approval
- Follow existing error handling in `src/core/exceptions.ts`
- {Any performance budgets: response time < 200ms, bundle size < 50KB}

#### Verification

Run specific tests

npm test -- --grep "{feature name}"

Lint check

npm run lint

Type check

npm run typecheck

Full validation

npm test -- --coverage


#### Environment Variables

- Existing: {list vars already in.env that are relevant}
- New required: {list any new vars needed}

---

### Dependencies

- Blocked by: {PROJ-XXX} ({brief description})
- Blocks: {PROJ-YYY} ({brief description})

### Design

- Mockup: {link to Figma/design if applicable}

2. Bug Ticket

## [BUG-XXX] Fix: {Component} - {Symptom}

**Type:** Bug
**Priority:** {Critical | High | Medium | Low}
**Points:** {1 | 2 | 3 | 5}
**Labels:** {regression, ux-bug, data-bug, security-bug}
**Severity:** {Blocks users | Degrades experience | Cosmetic}

---

### Bug Summary
{One sentence: what is broken and who is affected.}

### Environment
- Browser/OS: {e.g., Chrome 120 / macOS 14.2}
- Environment: {Production | Staging | Local}
- User type: {Anonymous | Authenticated | Admin}
- First observed: {date}

### Steps to Reproduce
1. {Navigate to / perform action}
2. {Perform next action}
3. {Perform next action}
4. **Observe:** {incorrect behavior}

### Expected Behavior
{What should happen instead.}

### Actual Behavior
{What actually happens. Include error messages, console output, screenshots.}

### Impact
- Users affected: {percentage or count}
- Frequency: {every time | intermittent | specific conditions}
- Workaround: {exists / none}

---

### Claude Code Context

#### Suspected Root Cause
{Where the bug likely lives, if known.}
- File: `src/components/LoginForm.tsx:87`
- Issue: `isSubmitting` state set to `true` on validation error but never reset

#### Relevant Files
- `src/components/LoginForm.tsx` - Form component with the bug
- `tests/components/LoginForm.test.tsx` - Existing tests (gap here)
- `src/hooks/useAuth.ts` - Auth hook used by the form

#### Test Gap Analysis
- Existing tests cover: {what's currently tested}
- Missing test: {what test would have caught this bug}

#### Bug Fix Workflow (TDD)
1. Write a failing test that reproduces the bug
2. Verify the test fails (confirms the bug exists)
3. Fix the bug with minimum code change
4. Verify the test passes
5. Run full test suite to check for regressions

#### Verification

Run the specific test

npm test -- --grep "LoginForm submit"

Run related tests

npm test -- src/components/LoginForm.test.tsx

Full regression check

npm test


#### Constraints

- Fix the bug only - do NOT refactor surrounding code
- Do NOT change the component's public API
- Ensure all existing tests continue to pass

3. Tech Debt Ticket

## [TECH-XXX] Refactor: {Area} - {Improvement}

**Type:** Tech Debt
**Priority:** {High | Medium | Low}
**Points:** {3 | 5 | 8}
**Labels:** {refactor, performance, maintainability, testing}

---

### Problem Statement
{What is wrong with the current implementation and why it matters.
Include concrete pain points: slow CI, frequent bugs, developer confusion.}

### Current State
- File: `{path}` ({N} lines)
- Test coverage: {X}%
- Cyclomatic complexity: {N}
- Related bugs: {PROJ-XXX, PROJ-YYY}
- Pain frequency: {how often this causes issues}

### Proposed Change
{What specifically should change and why this approach.}

### Acceptance Criteria
- [ ] {Specific structural change completed}
- [ ] All existing tests pass without modifying test assertions
- [ ] No public API changes (existing consumers unaffected)
- [ ] Test coverage >= {X}%
- [ ] {Measurable improvement metric}

### Risk Assessment
- Risk level: {Low | Medium | High}
- Mitigation: {run full regression, deploy behind flag, etc.}

### Business Justification
{Why this is worth doing now. E.g., "Reduces average bug fix time from 4h to 1h"
or "Enables upcoming feature PROJ-XXX which requires clean separation."}

---

### Claude Code Context

#### Relevant Files
- `{file}` - Current implementation to refactor
- `{test file}` - Existing tests (must not break)
- `{dependent file}` - Consumer of the API being refactored

#### Pattern Reference
Follow the pattern established in `{good example file}` for the new structure.

#### Constraints
- Do NOT change public APIs or exports
- Do NOT modify test assertions (tests should pass as-is)
- Do NOT introduce new dependencies
- Keep backwards compatibility

#### Verification

Existing tests must pass unchanged

npm test

No type errors

npm run typecheck

Lint clean

npm run lint

Coverage target

npm test -- --coverage


4. Epic Breakdown Ticket

## [EPIC-XXX] {Epic Name}

**Type:** Epic
**Priority:** {Critical | High | Medium}
**Target:** {Sprint/milestone}

---

### Objective
{One paragraph: what this epic achieves and why it matters.}

### Success Metrics
- {Measurable outcome 1}
- {Measurable outcome 2}

### User Workflows
{The user journey this epic covers, broken into steps.}
1. {Step 1: Discovery/Entry}
2. {Step 2: Core Action}
3. {Step 3: Completion/Result}

### Ticket Breakdown

| # | Ticket | Type | Points | Dependencies |
|---|--------|------|--------|-------------|
| 1 | {title} | Feature | 3 | None |
| 2 | {title} | Feature | 5 | #1 |
| 3 | {title} | Feature | 3 | None |
| 4 | {title} | Feature | 2 | #2, #3 |
| 5 | {title} | Tech Debt | 3 | None |

### Slicing Strategy
{How the epic was broken down. Reference the technique used.}

### Agent Team Mapping
{If using agent teams, how features map to agents.}
- Feature Agent 1: Tickets #1, #2
- Feature Agent 2: Tickets #3, #4
- Parallel execution: #1 and #3 can run simultaneously
- Sequential: #2 depends on #1, #4 depends on #2 and #3

Epic Slicing Techniques

When breaking an epic into tickets, use one of these strategies:

TechniqueWhen to UseExample
By workflow stepClear user journeyBrowse > Play > Save > Share
By data variationMultiple data typesText posts, images, videos
By user roleDifferent permissionsAnonymous, authenticated, admin
By CRUDData operationsCreate, Read, Update, Delete
Happy path firstIncremental deliverySuccess flow first, then errors
By boundarySystem integrationFrontend, API, database separately

Rules of Thumb

  • Each ticket: 1-3 days of work for one developer/agent
  • More than 5 acceptance criteria = split the ticket
  • More than 8 story points = definitely split
  • Every ticket should be independently deployable (even behind a flag)
  • Order tickets: simplest, most foundational first

The Claude Code Ready Checklist

Before a ticket is ready for an AI agent to execute, verify:

┌─────────────────────────────────────────────────────────────────┐
│  CLAUDE CODE READY CHECKLIST                                     │
│  ──────────────────────────────────────────────────────────────  │
│                                                                  │
│  CONTEXT                                                         │
│  ☐ Relevant files listed with full paths                         │
│  ☐ Pattern reference points to a real file to follow             │
│  ☐ API contract defined (request/response shapes)                │
│  ☐ Database changes specified (tables, columns, migrations)      │
│  ☐ Environment variables listed (existing + new)                 │
│                                                                  │
│  SCOPE                                                           │
│  ☐ Out of Scope section explicitly states what NOT to do         │
│  ☐ Constraints section lists files/modules NOT to modify         │
│  ☐ Ticket covers one logical change (atomic)                     │
│  ☐ Estimable at ≤ 5 story points                                │
│                                                                  │
│  VERIFICATION                                                    │
│  ☐ Test command provided (exact command, not "run tests")        │
│  ☐ Lint command provided                                         │
│  ☐ Typecheck command provided                                    │
│  ☐ Acceptance criteria are Given-When-Then or checkboxed         │
│  ☐ Each criterion is independently pass/fail testable            │
│                                                                  │
│  QUALITY                                                         │
│  ☐ Title is imperative verb + object + context                   │
│  ☐ Title under 80 characters                                     │
│  ☐ Description explains WHY, not just WHAT                       │
│  ☐ 2-5 acceptance criteria (not more)                            │
│  ☐ No vague language ("fast", "good UX", "clean")               │
│                                                                  │
│  If any box is unchecked, the ticket is NOT ready.               │
└─────────────────────────────────────────────────────────────────┘

Anti-Patterns (Never Do These)

1. The Title-Only Ticket

Title: Fix login
Description: (empty)

Why it fails: No context, no acceptance criteria, no file references. Claude Code will guess and likely guess wrong.

2. The Novel

Title: Implement new onboarding
Description: (3 pages mixing UI, backend, analytics, email, and future ideas)

Why it fails: Not small, not independent. Agent teams can't parallelize this. Split into 5+ tickets.

3. The Vague Requirement

Acceptance Criteria:
- Should be fast
- UX should be good
- Should work on mobile

Why it fails: Unmeasurable, untestable. Replace with: "Response time < 200ms", "Passes WCAG 2.1 AA", "No horizontal scroll at 320px viewport."

4. The Over-Specified Solution

Title: Use Redis to cache user sessions
Description: Install Redis, configure connection pooling, set TTL to 3600...

Why it fails: Prescribes the solution instead of the problem. Should describe "Session lookups take 500ms, need < 50ms" and let the agent choose the approach.

5. The Missing Files Ticket

Description: Update the auth module to support OAuth.

Why it fails for AI: "The auth module" could be 20 files. Claude Code needs: src/services/auth.ts, src/middleware/auth.ts, src/routes/auth.ts - specific paths.

6. The No-Verification Ticket

Acceptance Criteria:
- OAuth login works
- Users can sign in with Google

Why it fails: No test command, no verification steps. Claude Code performs dramatically better when it can verify its own work.


Good vs Bad Examples

Bad: Vague Feature Ticket

Title: Add rate limiting to the API
Description: We need rate limiting on our endpoints.

Good: Claude Code Ready Feature Ticket

Title: Add sliding window rate limiter to /api/generate endpoint

User Story:
As an API consumer, I want requests to be rate-limited
so that the service remains available under heavy load.

Acceptance Criteria:
AC1: Given an authenticated user making requests,
     when they exceed 10 requests per minute,
     then return 429 with Retry-After header.

AC2: Given a rate-limited user,
     when the window expires,
     then requests succeed again.

AC3: Given an unauthenticated request,
     when it hits /api/generate,
     then return 401 (rate limiting only applies to authed users).

Claude Code Context:
- Pattern: Follow `src/middleware/throttle.ts` for middleware structure
- File: Create `src/middleware/rateLimit.ts`
- Test: Create `tests/middleware/rateLimit.test.ts`
- Route: Modify `src/api/routes/generate.ts` to add middleware
- Constraint: Do NOT modify existing middleware or other endpoints

Verification:
  npm test -- --grep "rate-limit"
  npm run lint
  npm run typecheck

Mapping Tickets to Agent Teams

When using the agent-teams workflow, tickets map directly to the 10-task pipeline:

Ticket SectionMaps ToAgent
Title + DescriptionTask 1: {name}-specFeature Agent
Acceptance CriteriaTask 3: {name}-testsFeature Agent (writes tests from AC)
Pattern ReferenceTask 5: {name}-implementFeature Agent (follows pattern)
Verification sectionTask 6-7: verify + validateQuality Agent + Feature Agent
ConstraintsEnforced throughoutAll agents
Claude Code ContextLoaded at startFeature Agent reads first

Ticket → Agent Team Flow

1. Create ticket using templates above
2. Ticket becomes the feature spec in _project_specs/features/
3. Team Lead reads spec, creates 10-task dependency chain
4. Feature Agent uses ticket's Claude Code Context to start
5. Quality Agent uses ticket's Acceptance Criteria to verify
6. Review Agent reviews against ticket's Constraints
7. Security Agent scans based on ticket's scope
8. Merger Agent creates PR referencing the ticket ID

Ticket Title Conventions

TypeFormatExample
FeatureAdd {feature} for {user}Add episode bookmarking for listeners
EnhancementImprove {what} in {where}Improve search performance in episode feed
BugFix: {Component} - {Symptom}Fix: PlayerBar - audio stops on tab switch
Tech DebtRefactor: {Area} - {Goal}Refactor: AuthService - extract token management
SecuritySecurity: {What} in {Where}Security: add input sanitization to comment API
ChoreChore: {What}Chore: upgrade React from 18 to 19

Rules:

  • Start with an imperative verb (Add, Fix, Improve, Refactor, Remove)
  • Under 80 characters
  • Include the component/area affected
  • Be specific enough to distinguish from other tickets

Story Points for AI Agents

AI agents estimate differently than humans. Use this calibration:

PointsScopeAgent TimeExample
1Single file, < 20 lines changed~5 minFix a typo, update a config value
21-2 files, straightforward~15 minAdd a field to a form, update an API response
32-4 files, clear path~30 minNew API endpoint following existing pattern
54-8 files, some decisions~1 hourNew feature with tests, models, and routes
88+ files, complex~2 hoursIntegration with external service, new data model
13Too large, split required-Full authentication system, major refactor

Rule: If > 5 points, consider splitting. If 13, always split.


Integration with Ticket Systems

Jira

  • Use custom field "Claude Code Context" for the AI-specific section
  • Use labels: claude-ready, needs-context, ai-blocked
  • Link tickets with "blocks/blocked by" for dependency chains

Asana

  • Use custom fields for Priority, Points, Type
  • Use subtasks for the 10-task pipeline steps
  • Use tags: claude-ready, needs-refinement

Linear

  • Use issue templates with the Claude Code Context section built-in
  • Use labels for ticket type and claude-readiness
  • Use projects to group tickets into epics

GitHub Issues

  • Use issue templates (.github/ISSUE_TEMPLATE/)
  • Use labels: feature, bug, tech-debt, claude-ready
  • Use milestones for epics

Command: /create-ticket

When the user asks to create a ticket, follow this workflow:

Step 1: Gather Context

Ask the user:

  1. What type? (Feature / Bug / Tech Debt)
  2. Brief description of what needs to be done
  3. Which part of the codebase is involved?

Step 2: Auto-Detect Context

  • Read the relevant files to understand current implementation
  • Identify the pattern to follow from existing code
  • Find existing tests to understand test conventions
  • Check for related files that might be affected

Step 3: Generate Ticket

Use the appropriate template above, filling in:

  • All Claude Code Context fields (auto-detected)
  • Acceptance criteria (derived from description)
  • Verification commands (from project's CLAUDE.md or package.json)
  • Constraints (based on codebase analysis)

Step 4: Validate with Checklist

Run the Claude Code Ready Checklist against the generated ticket. Flag any unchecked items for the user to address.

Step 5: Output

Present the ticket in the template format, ready to paste into Jira/Asana/Linear.


Definition of Ready (for Sprint)

A ticket can enter a sprint when:

  • Passes INVEST+C criteria
  • Claude Code Ready Checklist is complete
  • Dependencies are identified and unblocked
  • Story points assigned
  • Design/mockups attached (if applicable)
  • Acceptance criteria reviewed by team

Definition of Done

A ticket is done when:

  • All acceptance criteria verified (pass/fail)
  • Tests written and passing
  • Code reviewed (no Critical/High issues)
  • Security scan passed
  • Lint and typecheck clean
  • Coverage >= 80% for new code
  • PR created with full pipeline results
  • Documentation updated (if applicable)

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

36.83%
按下载量换算401

Claude

28.86%
按下载量换算314

Cursor

21.84%
按下载量换算238

Gemini CLI

10.04%
按下载量换算109

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

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

来源信息

继续浏览同类 Skills