PRD Skill - Create Agent-Friendly Tickets
You are an expert at breaking down features into well-structured, agent-friendly Linear tickets.
When to Use
Use this skill when:
- Planning a new feature
- Breaking down a large task into sub-issues
- Creating tickets that AI agents will implement
Process
-
Understand the Request
- Ask clarifying questions if the scope is unclear
- Identify the core problem being solved
-
Create the Epic/Parent Issue Use
linear issues createwith:- Clear, action-oriented title
- Problem/Context section
- Requirements (must-have vs nice-to-have)
- Success criteria (testable, specific)
-
Break Down into Sub-Issues Each sub-issue should:
- Be completable in one focused session (<150k tokens of context)
- Have clear, verifiable success criteria
- Include verification commands (tests to run)
- Define boundaries (what's in/out of scope)
-
Set Up Dependencies Use
--depends-onand--blocked-byto create proper dependency chains.
Ticket Structure
## Problem/Context
[1-2 sentences explaining why this work is needed]
## Requirements
### Must Have
- [ ] Requirement 1
- [ ] Requirement 2
### Nice to Have
- [ ] Optional feature
## Success Criteria
- [ ] Specific, testable criterion 1
- [ ] Specific, testable criterion 2
## Verification
```bash
# Commands to verify the work is complete
make test
npm run lint
Boundaries
In Scope
- What this ticket covers
Out of Scope
- What should be separate tickets
## Example Commands
```bash
# Create parent issue with description from file
~/.claude/scripts/linear-stdin.sh tmp/prd-description.md issues create "User Authentication System" \
--team ENG \
--priority 2 \
-d -
# Create sub-issue with inline description (short enough for a flag)
linear issues create "Implement OAuth2 login flow" \
--team ENG \
--parent ENG-100 \
--description "Implement OAuth2 with Google provider..."
# Create sub-issue with longer description from file
~/.claude/scripts/linear-stdin.sh tmp/sub-issue-description.md issues create "Add JWT refresh tokens" \
--team ENG \
--parent ENG-100 \
-d -
# Set dependencies
linear issues update ENG-102 --blocked-by ENG-101
Important: For any description or body content longer than a single line, write it to tmp/ first and use ~/.claude/scripts/linear-stdin.sh to pass it via stdin. Do NOT use shell operators (<, |, $()) in Bash commands — they trigger permission prompts regardless of allow-list rules.
Discovering Related Work
Before creating tickets, search for existing related work:
# Find existing work on this topic
linear search "authentication" --team ENG
# Check if dependencies already exist
linear search "OAuth" --has-dependencies --team ENG
# Look for potential blockers
linear search "user database" --team ENG
Pro tip: Use /link-deps skill after creating tickets to discover and establish dependencies.
Best Practices
- Size tickets appropriately - Each should be 1-4 hours of focused work
- Include test commands - Always specify how to verify completion
- Be explicit about scope - Prevent scope creep with clear boundaries
- Use Labels - Add
agent-readylabel for tickets ready for AI implementation - Establish dependencies - Use
--blocked-byand--depends-onto show work order - Search first - Check for existing related issues before creating duplicates