Skip to content

Commit 5197fe1

Browse files
committed
Update the linear command in humanlayer slash commands
1 parent de2574f commit 5197fe1

File tree

2 files changed

+123
-1
lines changed

2 files changed

+123
-1
lines changed

.claude/commands/linear.md

Lines changed: 123 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -401,6 +401,129 @@ When moving tickets through the workflow:
401401
linearis comments create ENG-123 --body "Moving to In Dev - starting implementation"
402402
```
403403

404+
### 5. Working with Initiatives
405+
406+
Initiatives are organization-level strategic planning entities that contain projects and can have hierarchical relationships (parent/child initiatives).
407+
408+
#### Listing Initiatives
409+
410+
```bash
411+
# List all initiatives
412+
linearis initiatives list
413+
# List with formatted output for selection
414+
linearis initiatives list | jq -r '[.[] | .name] | to_entries | .[] | "\(.key + 1): \(.value)"'
415+
# List with key fields (name, status, id)
416+
linearis initiatives list | jq '[.[] | {name, status, id}]'
417+
# Filter by status (Planned/Active/Completed)
418+
linearis initiatives list --status Active | jq '[.[] | {name, status}]'
419+
# Get initiative summary with target dates
420+
linearis initiatives list | jq -r '.[] | "\(.name)\t\(.status)\t\(.targetDate // "no target")"'
421+
# Find initiative by name
422+
linearis initiatives list | jq '.[] | select(.name == "Core Scheduling Platform") | {id, name, status, targetDate}'
423+
```
424+
#### Reading Initiative Details
425+
```bash
426+
# Read initiative by name or ID (includes projects)
427+
linearis initiatives read "Core Scheduling Platform"
428+
# Read with limited projects
429+
linearis initiatives read "Core Scheduling Platform" --projects-first 10
430+
# Get initiative with project summary
431+
linearis initiatives read "Core Scheduling Platform" | jq '{name, status, projects: [.projects[] | {name, state, progress}]}'
432+
# Get just the projects for an initiative
433+
linearis initiatives read "Core Scheduling Platform" | jq '.projects'
434+
# Get initiative owner
435+
linearis initiatives read "Core Scheduling Platform" | jq '{name, owner: .owner.name}'
436+
```
437+
#### Initiative Fields Reference
438+
Available fields in initiative objects:
439+
```json
440+
[
441+
"id",
442+
"name",
443+
"description",
444+
"content",
445+
"status",
446+
"targetDate",
447+
"owner",
448+
"createdAt",
449+
"updatedAt",
450+
"projects"
451+
]
452+
```
453+
Project fields within initiatives:
454+
```json
455+
[
456+
"id",
457+
"name",
458+
"state",
459+
"progress"
460+
]
461+
```
462+
#### CLI Options Reference
463+
```bash
464+
# linearis initiatives list [options]
465+
# --status <status> filter by status (Planned/Active/Completed)
466+
# --owner <ownerId> filter by owner ID
467+
# -l, --limit <number> limit results (default: 50)
468+
# linearis initiatives read [options] <initiativeIdOrName>
469+
# --projects-first <n> how many projects to fetch (default: 50)
470+
```
471+
472+
#### Updating Initiatives
473+
474+
```bash
475+
# Update short description
476+
linearis initiatives update "Initiative Name" --description "New short description"
477+
478+
# Update body content (full markdown)
479+
linearis initiatives update "Initiative Name" --content "# New Body Content
480+
481+
This is the full body in markdown format."
482+
483+
# Update status
484+
linearis initiatives update "Initiative Name" --status Active
485+
486+
# Update multiple fields at once
487+
linearis initiatives update "Initiative Name" --description "Updated summary" --status Completed
488+
489+
# Update by UUID
490+
linearis initiatives update <uuid> --name "Renamed Initiative"
491+
```
492+
493+
**Available update options:**
494+
- `-n, --name <name>` - New initiative name
495+
- `-d, --description <desc>` - New short description
496+
- `--content <content>` - New body content (markdown)
497+
- `--status <status>` - New status (Planned/Active/Completed)
498+
- `--owner <ownerId>` - New owner user ID
499+
- `--target-date <date>` - New target date (YYYY-MM-DD)
500+
501+
**Note:** At least one update option is required.
502+
503+
#### Example: Getting initiative context for a ticket
504+
505+
When working on a ticket, you may want to understand the broader initiative context:
506+
507+
```bash
508+
# 1. Find which initiative a project belongs to
509+
linearis initiatives list | jq '.[] | select(.projects[]?.name == "ProjectName") | {name, status, content}'
510+
511+
# 2. Get full initiative details including all projects
512+
linearis initiatives read "Initiative Name" | jq '{name, content, projects: .projects[].name}'
513+
514+
# 3. List all projects under an Active initiative
515+
linearis initiatives list --status Active | jq '.[] | {initiative: .name, projects: .projects}'
516+
```
517+
518+
#### Key Fields
519+
520+
| Field | Description |
521+
|-------|-------------|
522+
| `description` | Short description (shown in lists) |
523+
| `content` | Full body content in markdown (the "body" of the initiative) |
524+
| `projects` | Array of projects associated with the initiative |
525+
| `subInitiatives` | Child initiatives for hierarchical planning |
526+
404527
## Important Notes
405528

406529
- Tag users in descriptions and comments using `@[name](ID)` format, e.g., `@[dex](16765c85-2286-4c0f-ab49-0d4d79222ef5)`

.gitignore

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ npm-debug.log*
1212
.npm
1313

1414
# IDE and editor files
15-
.claude/
1615
.vscode/
1716
.idea/
1817
*.swp

0 commit comments

Comments
 (0)