@dabble/linear-cli 1.0.1 → 1.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/linear.mjs +967 -37
- package/claude/commands/done.md +6 -10
- package/claude/commands/next.md +9 -51
- package/claude/commands/standup.md +5 -5
- package/claude/skills/{linear-cli.md → linear-cli/SKILL.md} +43 -0
- package/claude/skills/product-planning/SKILL.md +108 -0
- package/package.json +1 -1
- package/claude/skills/product-planning.md +0 -136
package/claude/commands/done.md
CHANGED
|
@@ -15,11 +15,11 @@ Help the developer wrap up their work on the current Linear issue.
|
|
|
15
15
|
2. **Summarize the work** by checking:
|
|
16
16
|
- `git log --oneline <base>..HEAD` to see commits
|
|
17
17
|
- `git diff --stat <base>..HEAD` to see files changed
|
|
18
|
-
3. **Ask what they want to do
|
|
19
|
-
-
|
|
20
|
-
-
|
|
21
|
-
- Add
|
|
22
|
-
- Just clean up (
|
|
18
|
+
3. **Ask what they want to do:**
|
|
19
|
+
- Create PR and close
|
|
20
|
+
- Close issue (no PR)
|
|
21
|
+
- Add notes and close
|
|
22
|
+
- Just clean up (keep issue open)
|
|
23
23
|
|
|
24
24
|
## After Selection
|
|
25
25
|
|
|
@@ -50,11 +50,7 @@ You've made 3 commits on ISSUE-12: Add caching layer
|
|
|
50
50
|
- src/cache.ts (new file, 45 lines)
|
|
51
51
|
- src/api.ts (modified, +12 -3)
|
|
52
52
|
|
|
53
|
-
|
|
54
|
-
1. Create PR and close issue
|
|
55
|
-
2. Close issue (no PR)
|
|
56
|
-
3. Add notes and close
|
|
57
|
-
4. Just clean up worktree (don't close)
|
|
53
|
+
[Presents options above]
|
|
58
54
|
```
|
|
59
55
|
|
|
60
56
|
## Notes
|
package/claude/commands/next.md
CHANGED
|
@@ -21,47 +21,11 @@ Skip straight to starting work on that issue (see "Starting Work on an Issue" be
|
|
|
21
21
|
|
|
22
22
|
### Presenting Options
|
|
23
23
|
|
|
24
|
-
|
|
25
|
-
-
|
|
26
|
-
-
|
|
27
|
-
-
|
|
28
|
-
|
|
29
|
-
### Format
|
|
30
|
-
|
|
31
|
-
```
|
|
32
|
-
Here's what's ready to work on:
|
|
33
|
-
|
|
34
|
-
1. ISSUE-5: Add caching layer [Backlog] (assigned to you)
|
|
35
|
-
2. ISSUE-8: Fix login timeout [Backlog]
|
|
36
|
-
3. ISSUE-12: Update API docs [Backlog]
|
|
37
|
-
4. ISSUE-18: Do Something Else [Backlog]
|
|
38
|
-
5. ISSUE-29: Another thing [Backlog]
|
|
39
|
-
... and 7 more unblocked issues
|
|
40
|
-
6. Product planning - brainstorm features, review backlog, plan next phase
|
|
41
|
-
|
|
42
|
-
Which would you like to work on?
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
### If NO unblocked issues:
|
|
46
|
-
|
|
47
|
-
```
|
|
48
|
-
No unblocked issues at the moment.
|
|
49
|
-
|
|
50
|
-
1. Product planning - brainstorm features, review backlog, plan next phase
|
|
51
|
-
|
|
52
|
-
Would you like to work on product planning?
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
### If exactly ONE issue:
|
|
56
|
-
|
|
57
|
-
```
|
|
58
|
-
There's one issue ready to work on:
|
|
59
|
-
|
|
60
|
-
1. ISSUE-5: Add caching layer [Backlog] (assigned to you)
|
|
61
|
-
2. Product planning - brainstorm features, review backlog, plan next phase
|
|
62
|
-
|
|
63
|
-
Which would you like?
|
|
64
|
-
```
|
|
24
|
+
Present interactive options:
|
|
25
|
+
- Up to **3 issues** (CLI already sorts yours first)
|
|
26
|
+
- **Always** include "Product planning" as an option
|
|
27
|
+
- If >3 issues, note how many more
|
|
28
|
+
- User can always type a specific issue ID
|
|
65
29
|
|
|
66
30
|
## Starting Work on an Issue
|
|
67
31
|
|
|
@@ -70,25 +34,19 @@ When the user selects an issue (or provides one directly via `/next ISSUE-12`):
|
|
|
70
34
|
1. Run `linear issue start <id>` to assign and set In Progress
|
|
71
35
|
2. Run `linear branch <id>` to create a git branch
|
|
72
36
|
3. Run `linear issue show <id>` to display full context
|
|
73
|
-
4. **Enter plan mode**
|
|
74
|
-
|
|
75
|
-
This ensures every issue starts with a proper implementation plan before writing code.
|
|
37
|
+
4. **Enter plan mode** to explore the codebase and design an implementation approach
|
|
76
38
|
|
|
77
39
|
## If they choose "Product planning"
|
|
78
40
|
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
"What would you like to focus on?"
|
|
82
|
-
- Review and prioritize the backlog
|
|
41
|
+
Ask what they want to focus on:
|
|
42
|
+
- Review and prioritize backlog
|
|
83
43
|
- Brainstorm new features
|
|
84
44
|
- Plan the next phase
|
|
85
|
-
- Something specific
|
|
86
45
|
|
|
87
|
-
Then follow the product-planning skill guidelines
|
|
46
|
+
Then follow the product-planning skill guidelines.
|
|
88
47
|
|
|
89
48
|
## Notes
|
|
90
49
|
|
|
91
50
|
- Always use long flags (--unblocked, not -u) for clarity
|
|
92
51
|
- The CLI already sorts your assigned issues first
|
|
93
|
-
- If presenting options, use the AskUserQuestion tool for a clean interface
|
|
94
52
|
- The "Product planning" option ensures there's always something productive to do
|
|
@@ -24,10 +24,10 @@ Run `linear standup` to get:
|
|
|
24
24
|
## After Running
|
|
25
25
|
|
|
26
26
|
1. Present the output from `linear standup` to the user
|
|
27
|
-
2.
|
|
28
|
-
-
|
|
29
|
-
-
|
|
30
|
-
-
|
|
27
|
+
2. Ask what they want to do next:
|
|
28
|
+
- Draft standup message (for Slack/Teams)
|
|
29
|
+
- Find next issue (run /next)
|
|
30
|
+
- Resolve blockers
|
|
31
31
|
|
|
32
32
|
## Example Flow
|
|
33
33
|
|
|
@@ -52,7 +52,7 @@ Here's your standup summary:
|
|
|
52
52
|
- 4 commits on beautiful-tech
|
|
53
53
|
- PR #42 merged: ISSUE-5: Add caching layer
|
|
54
54
|
|
|
55
|
-
|
|
55
|
+
[Presents options above]
|
|
56
56
|
```
|
|
57
57
|
|
|
58
58
|
## Notes
|
|
@@ -41,18 +41,26 @@ linear login # Interactive setup
|
|
|
41
41
|
linear logout # Remove config
|
|
42
42
|
linear whoami # Show current user/team
|
|
43
43
|
|
|
44
|
+
# Roadmap (overview)
|
|
45
|
+
linear roadmap # Projects with milestones and progress
|
|
46
|
+
|
|
44
47
|
# Issues
|
|
45
48
|
linear issues --unblocked # Ready to work on (no blockers)
|
|
46
49
|
linear issues --open # All non-completed issues
|
|
50
|
+
linear issues --backlog # Backlog issues only
|
|
47
51
|
linear issues --in-progress # Issues currently in progress
|
|
48
52
|
linear issues --mine # Only your assigned issues
|
|
53
|
+
linear issues --project "Name" # Issues in a project
|
|
54
|
+
linear issues --milestone "M1" # Issues in a milestone
|
|
49
55
|
linear issues --label bug # Filter by label
|
|
50
56
|
# Flags can be combined: linear issues --in-progress --mine
|
|
51
57
|
linear issue show ISSUE-1 # Full details with parent context
|
|
52
58
|
linear issue start ISSUE-1 # Assign to you + set In Progress
|
|
53
59
|
linear issue create --title "Fix bug" --project "Phase 1" --assign --estimate M
|
|
60
|
+
linear issue create --title "Task" --milestone "Beta" --estimate S
|
|
54
61
|
linear issue create --title "Blocked task" --blocked-by ISSUE-1
|
|
55
62
|
linear issue update ISSUE-1 --state "In Progress"
|
|
63
|
+
linear issue update ISSUE-1 --milestone "Beta"
|
|
56
64
|
linear issue update ISSUE-1 --append "Notes..."
|
|
57
65
|
linear issue update ISSUE-1 --blocks ISSUE-2 # Add blocking relation
|
|
58
66
|
linear issue close ISSUE-1
|
|
@@ -65,6 +73,19 @@ linear project show "Phase 1" # Details with issues
|
|
|
65
73
|
linear project create "Name" --description "..."
|
|
66
74
|
linear project complete "Phase 1"
|
|
67
75
|
|
|
76
|
+
# Milestones
|
|
77
|
+
linear milestones --project "P1" # Milestones in a project
|
|
78
|
+
linear milestone show "Beta" # Details with issues
|
|
79
|
+
linear milestone create "Beta" --project "P1" --target-date 2024-03-01
|
|
80
|
+
|
|
81
|
+
# Reordering (drag-drop equivalent)
|
|
82
|
+
linear projects reorder "P1" "P2" "P3" # Set project order
|
|
83
|
+
linear project move "Urgent" --before "Phase 1" # Move single project
|
|
84
|
+
linear milestones reorder "Alpha" "Beta" --project "P1"
|
|
85
|
+
linear milestone move "Beta" --after "Alpha" --project "P1"
|
|
86
|
+
linear issues reorder ISSUE-1 ISSUE-2 ISSUE-3 # Set issue order
|
|
87
|
+
linear issue move ISSUE-5 --before ISSUE-1 # Move single issue
|
|
88
|
+
|
|
68
89
|
# Labels
|
|
69
90
|
linear labels # List all labels
|
|
70
91
|
linear label create "bug" --color "#FF0000"
|
|
@@ -112,6 +133,13 @@ gh pr create --title "ISSUE-5: Add caching layer"
|
|
|
112
133
|
|
|
113
134
|
## Workflow Guidelines
|
|
114
135
|
|
|
136
|
+
### Getting oriented
|
|
137
|
+
```bash
|
|
138
|
+
linear roadmap # See all projects, milestones, progress
|
|
139
|
+
linear issues --project "P1" # Issues in a specific project
|
|
140
|
+
linear issues --milestone "M1" # Issues in a specific milestone
|
|
141
|
+
```
|
|
142
|
+
|
|
115
143
|
### Starting work on an issue
|
|
116
144
|
```bash
|
|
117
145
|
linear issues --unblocked # Find what's ready
|
|
@@ -163,6 +191,21 @@ linear issue update ISSUE-2 --append "## Notes\n\nDiscovered X, trying Y approac
|
|
|
163
191
|
linear issue comment ISSUE-2 "Found the root cause in auth.ts:142"
|
|
164
192
|
```
|
|
165
193
|
|
|
194
|
+
### Organizing with milestones
|
|
195
|
+
Milestones group related issues within a project:
|
|
196
|
+
|
|
197
|
+
```bash
|
|
198
|
+
# Create milestone for a release
|
|
199
|
+
linear milestone create "Beta" --project "Phase 1" --target-date 2024-03-01
|
|
200
|
+
|
|
201
|
+
# Add issues to milestone
|
|
202
|
+
linear issue create --title "Core feature" --milestone "Beta" --estimate M
|
|
203
|
+
linear issue update ISSUE-5 --milestone "Beta"
|
|
204
|
+
|
|
205
|
+
# Reorder milestones to reflect priority
|
|
206
|
+
linear milestones reorder "Alpha" "Beta" "Stable" --project "Phase 1"
|
|
207
|
+
```
|
|
208
|
+
|
|
166
209
|
### Completing a phase
|
|
167
210
|
```bash
|
|
168
211
|
linear issue close ISSUE-7 # Close remaining issues
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: product-planning
|
|
3
|
+
description: Facilitate product thinking and structure work in Linear.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Product Planning
|
|
7
|
+
|
|
8
|
+
Help users think through product ideas and structure them as actionable work in Linear.
|
|
9
|
+
|
|
10
|
+
## Mindset
|
|
11
|
+
|
|
12
|
+
- **Thought partner, not ticket factory** - Understand before creating issues
|
|
13
|
+
- **Problem before solution** - What problem? For whom? How painful?
|
|
14
|
+
- **Default to smaller** - Cut scope ruthlessly, defer the non-essential
|
|
15
|
+
- **Incremental delivery** - Ship value early, learn, iterate
|
|
16
|
+
|
|
17
|
+
## Style
|
|
18
|
+
|
|
19
|
+
Like Jason Fried without swearing. Concise, simple wording. Short back-and-forth dialog over long answers. Casual.
|
|
20
|
+
|
|
21
|
+
## Start: Gather Context
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
linear roadmap # Projects, milestones, progress
|
|
25
|
+
linear issues --open # Active work
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
Read `product.md` if it exists—contains product vision, brand, tech decisions, prior planning context.
|
|
29
|
+
|
|
30
|
+
## Process
|
|
31
|
+
|
|
32
|
+
### 1. Explore the Problem
|
|
33
|
+
|
|
34
|
+
Before solutions:
|
|
35
|
+
- What problem? For whom? How painful?
|
|
36
|
+
- What job is the user hiring this product/feature to do?
|
|
37
|
+
- What happens if we don't solve it?
|
|
38
|
+
- What constraints? (time, tech, dependencies)
|
|
39
|
+
- What's uncertain or risky?
|
|
40
|
+
|
|
41
|
+
Proactively search the web when exploring unfamiliar territory (competitors, market, technical approaches).
|
|
42
|
+
|
|
43
|
+
### 2. Design the Solution
|
|
44
|
+
|
|
45
|
+
- What approaches exist? Tradeoffs?
|
|
46
|
+
- What's the riskiest assumption to test first?
|
|
47
|
+
- What's the **simplest version** that delivers value?
|
|
48
|
+
- What can wait for later?
|
|
49
|
+
- How will users discover and use this? What's prominent vs. hidden?
|
|
50
|
+
|
|
51
|
+
Cut scope aggressively—except for core/differentiating features where polish and detail set you apart.
|
|
52
|
+
|
|
53
|
+
For technical work, explore the existing codebase first to understand patterns and architecture.
|
|
54
|
+
|
|
55
|
+
### 3. Structure the Work
|
|
56
|
+
|
|
57
|
+
**Sizing:** XS/S/M = single issue, < 1 day. L/XL = needs breakdown.
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
# Parent issue (the goal)
|
|
61
|
+
linear issue create --title "User auth system" --estimate L --project "Phase 2"
|
|
62
|
+
|
|
63
|
+
# Sub-issues (the steps)
|
|
64
|
+
linear issue create --title "Design auth flow" --parent ISSUE-10 --estimate S
|
|
65
|
+
linear issue create --title "Implement login" --parent ISSUE-10 --estimate M
|
|
66
|
+
linear issue create --title "Add sessions" --parent ISSUE-10 --blocked-by ISSUE-11 --estimate M
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
### 4. Organize
|
|
70
|
+
|
|
71
|
+
**Milestones** for phases within a project:
|
|
72
|
+
```bash
|
|
73
|
+
linear milestone create "Beta" --project "Phase 2" --target-date 2024-03-01
|
|
74
|
+
linear issue create --title "Core feature" --milestone "Beta" --estimate M
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
**Dependencies** make `--unblocked` useful:
|
|
78
|
+
```bash
|
|
79
|
+
linear issue create --title "Need API credentials" --blocks ISSUE-5
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
### 5. Prioritize
|
|
83
|
+
|
|
84
|
+
```bash
|
|
85
|
+
linear projects reorder "Phase 1" "Phase 2" "Phase 3"
|
|
86
|
+
linear milestones reorder "Alpha" "Beta" --project "Phase 2"
|
|
87
|
+
linear issue move ISSUE-5 --before ISSUE-1
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
## Update product.md
|
|
91
|
+
|
|
92
|
+
After planning, update `product.md` with any new or refined:
|
|
93
|
+
- Product vision, problem statement, target users
|
|
94
|
+
- Brand voice or positioning
|
|
95
|
+
- Technical architecture decisions
|
|
96
|
+
- Key decisions made and rationale
|
|
97
|
+
- Deferred items and why
|
|
98
|
+
|
|
99
|
+
Create the file if it doesn't exist. Keep it concise.
|
|
100
|
+
|
|
101
|
+
## Session Summary
|
|
102
|
+
|
|
103
|
+
Track progress throughout the session, then summarize:
|
|
104
|
+
|
|
105
|
+
1. **Created** - Issues/milestones with IDs
|
|
106
|
+
2. **Decided** - Key decisions and rationale
|
|
107
|
+
3. **Deferred** - What we cut (and why)
|
|
108
|
+
4. **Next** - `linear issues --unblocked`
|
package/package.json
CHANGED
|
@@ -1,136 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: product-planning
|
|
3
|
-
description: Help with product planning, feature brainstorming, and backlog management using Linear.
|
|
4
|
-
allowed-tools: Bash(linear:*), Bash(curl:*)
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Product Planning Skill
|
|
8
|
-
|
|
9
|
-
Help the developer think through product direction, brainstorm features, and manage their Linear backlog.
|
|
10
|
-
|
|
11
|
-
## When to Use This Skill
|
|
12
|
-
|
|
13
|
-
Use this skill when the developer wants to:
|
|
14
|
-
- Brainstorm new features or improvements
|
|
15
|
-
- Review and prioritize the backlog
|
|
16
|
-
- Break down large ideas into actionable issues
|
|
17
|
-
- Plan a new phase or milestone
|
|
18
|
-
- Think through product strategy
|
|
19
|
-
|
|
20
|
-
## Approach
|
|
21
|
-
|
|
22
|
-
### 1. Understand Current State
|
|
23
|
-
|
|
24
|
-
First, gather context:
|
|
25
|
-
|
|
26
|
-
```bash
|
|
27
|
-
# See all open issues (backlog + in progress, excludes completed)
|
|
28
|
-
linear issues --open
|
|
29
|
-
|
|
30
|
-
# See active projects/phases
|
|
31
|
-
linear projects
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
### 2. Facilitate Discussion
|
|
35
|
-
|
|
36
|
-
Ask good questions to help clarify thinking:
|
|
37
|
-
|
|
38
|
-
- "What problem are we trying to solve?"
|
|
39
|
-
- "Who benefits from this feature?"
|
|
40
|
-
- "What's the simplest version that would be valuable?"
|
|
41
|
-
- "What are the dependencies or blockers?"
|
|
42
|
-
- "How does this fit with the current phase?"
|
|
43
|
-
|
|
44
|
-
### 3. Break Down Ideas
|
|
45
|
-
|
|
46
|
-
When a feature is identified, help break it into Linear issues:
|
|
47
|
-
|
|
48
|
-
**For small features (S/M):**
|
|
49
|
-
- Create a single issue with clear acceptance criteria
|
|
50
|
-
- Assign appropriate estimate
|
|
51
|
-
|
|
52
|
-
**For large features (L/XL):**
|
|
53
|
-
- Create a parent issue describing the overall goal
|
|
54
|
-
- Break into sub-issues, each S or M sized
|
|
55
|
-
- Identify dependencies between sub-issues
|
|
56
|
-
|
|
57
|
-
```bash
|
|
58
|
-
# Create parent issue
|
|
59
|
-
linear issue create --title "User authentication system" --estimate L --project "Phase 2"
|
|
60
|
-
|
|
61
|
-
# Create sub-issues
|
|
62
|
-
linear issue create --title "Design auth flow" --parent ISSUE-10 --estimate S
|
|
63
|
-
linear issue create --title "Implement login endpoint" --parent ISSUE-10 --estimate M
|
|
64
|
-
linear issue create --title "Add session management" --parent ISSUE-10 --estimate M --blocked-by ISSUE-12
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
### 4. Organize Into Phases
|
|
68
|
-
|
|
69
|
-
If planning a new phase:
|
|
70
|
-
|
|
71
|
-
```bash
|
|
72
|
-
# Create the phase
|
|
73
|
-
linear project create "Phase 3: User Dashboard" --description "Build the main user-facing dashboard with key metrics"
|
|
74
|
-
|
|
75
|
-
# Add issues to it
|
|
76
|
-
linear issue create --title "Dashboard layout" --project "Phase 3" --estimate M
|
|
77
|
-
```
|
|
78
|
-
|
|
79
|
-
## Brainstorming Prompts
|
|
80
|
-
|
|
81
|
-
When the developer is stuck, try these prompts:
|
|
82
|
-
|
|
83
|
-
**For new features:**
|
|
84
|
-
- "What do users complain about most?"
|
|
85
|
-
- "What manual process could we automate?"
|
|
86
|
-
- "What would make you excited to use this product?"
|
|
87
|
-
|
|
88
|
-
**For improvements:**
|
|
89
|
-
- "Where do users get confused?"
|
|
90
|
-
- "What takes too long?"
|
|
91
|
-
- "What breaks most often?"
|
|
92
|
-
|
|
93
|
-
**For prioritization:**
|
|
94
|
-
- "What would have the biggest impact with the least effort?"
|
|
95
|
-
- "What's blocking other work?"
|
|
96
|
-
- "What do users ask for most?"
|
|
97
|
-
|
|
98
|
-
## Output Format
|
|
99
|
-
|
|
100
|
-
After a planning session, summarize:
|
|
101
|
-
|
|
102
|
-
1. **New issues created** - List with IDs and estimates
|
|
103
|
-
2. **Backlog changes** - Any reprioritization or updates
|
|
104
|
-
3. **Next steps** - What to work on next
|
|
105
|
-
4. **Open questions** - Things that need more thought
|
|
106
|
-
|
|
107
|
-
## Example Session
|
|
108
|
-
|
|
109
|
-
```
|
|
110
|
-
Developer: "I want to add user notifications"
|
|
111
|
-
|
|
112
|
-
Claude: Let me check the current state...
|
|
113
|
-
[runs linear issues --all]
|
|
114
|
-
|
|
115
|
-
Good context. A few questions:
|
|
116
|
-
1. What triggers notifications? (events, mentions, etc.)
|
|
117
|
-
2. Where do they appear? (in-app, email, push?)
|
|
118
|
-
3. Is this blocking other work?
|
|
119
|
-
|
|
120
|
-
Developer: "Just in-app for now, triggered by comments on their issues"
|
|
121
|
-
|
|
122
|
-
That's a nicely scoped M-sized feature. Let me create it:
|
|
123
|
-
[runs linear issue create --title "In-app notifications for issue comments" --estimate M --project "Phase 2"]
|
|
124
|
-
|
|
125
|
-
Created ISSUE-15. Should I break this down further, or is it small enough to tackle as one unit?
|
|
126
|
-
```
|
|
127
|
-
|
|
128
|
-
## Integration with /next
|
|
129
|
-
|
|
130
|
-
When invoked from the `/next` command (user chose "product planning"), start by asking:
|
|
131
|
-
|
|
132
|
-
"What would you like to focus on today?"
|
|
133
|
-
- Review and prioritize the backlog
|
|
134
|
-
- Brainstorm new features
|
|
135
|
-
- Plan the next phase
|
|
136
|
-
- Something specific (let them describe)
|