AgentSkillsCN

linear

为 GenLayer Heartbeat 项目使用模板创建并管理 Linear 问题。适用于用户输入“/linear”时使用。

SKILL.md
--- frontmatter
name: linear
description: Create and manage Linear issues using templates for the GenLayer Heartbeat project. Use when user says /linear.
user-invocable: true
allowed-tools: [Read, Grep, Glob, AskUserQuestion, mcp__linear-server__create_issue, mcp__linear-server__update_issue, mcp__linear-server__get_issue, mcp__linear-server__list_issues, mcp__linear-server__list_cycles, mcp__linear-server__list_teams, mcp__linear-server__list_projects, mcp__linear-server__list_issue_labels, mcp__linear-server__list_issue_statuses]
hooks: []

Linear

Create and manage Linear issues using the GenLayer Node issue template.

Overview

This skill handles Linear issue management for the GenLayer Node team (which also manages Heartbeat):

  • Creates issues using the standard template format
  • Converts plans/reports into properly formatted Linear issues
  • Supports creating issues in backlog or specific cycles

Issue Template

All issues are created with this structure:

markdown
## Problem Statement

[What problem are we solving and why?]

## Proposed Solution

[High-level approach]

## Acceptance Criteria

1. Given X, when Y, then Z (behavior specifications)
2. [Performance: <100ms response (if applicable)]
3. [Testing requirements (if applicable)]
4. [AI-generated code reviewed by human requirements (if applicable)]
5. [Edge cases considered beyond AI suggestions (if applicable)]

## Specific AI-Execution Plan

\`\`\`
[What parts will be solved by the AIs above]
\`\`\`

## Human Contribution Focus

[What parts will require human creativity/decision-making?]

## Technical Notes

[Implementation details, gotchas, AI limitations encountered]

## Lessons Learned *(optional)*

[What was learned while planning the ticket?]

Note: "Lessons Learned" is optional at creation. Include if there are insights discovered while planning. Omit section if empty.

Content Extraction from Plans

When given a plan/analysis/report, extract content using these mappings:

Template SectionExtract From Document
titleDocument heading, Executive Summary first sentence
problem_statementExecutive Summary, Problem, Current Pattern sections
proposed_solutionProposed Solution, Approach, Strategy, Key Insight
acceptance_criteriaBenefits, Expected Outcomes - convert to Given/When/Then
ai_execution_planImplementation Steps - actionable steps for Claude agent (see format below)
human_contributionRisks needing judgment, Decisions Needed, Open Questions
technical_notesRisks and Mitigations, Gotchas, Related Files

Priority when content fits multiple sections:

  1. problem_statement = WHY (motivation, pain)
  2. proposed_solution = WHAT (high-level approach)
  3. ai_execution_plan = HOW AI does it (specific steps)
  4. acceptance_criteria = HOW we verify (success criteria)
  5. human_contribution = WHAT humans decide
  6. technical_notes = WHAT could go wrong

Empty sections: Omit entirely. Never use placeholder text.

AI-Execution Plan Format

The AI-Execution Plan must be actionable steps another Claude agent can execute:

code
## AI Execution Steps

### Step 1: [Action] [What] in [Where]
- File: path/to/file.ts
- Pattern: [what to look for]
- Action: [Add/Remove/Update] [specific change]
- Verify: [how to confirm done]

### Step 2: ...

Each step needs:

  • File/Pattern: Where to make changes
  • Action: Specific change to make
  • Verify: How to confirm it's done

Proposal Wizard

Before creating a ticket, show a proposal for discussion:

code
## Ticket Proposal

**Title:** [inferred title]

### Metadata
| Field | Value | Reasoning |
|-------|-------|-----------|
| Labels | Improvement | Code quality enhancement |
| Project | Tech Debt | Refactoring work |
| Estimate | 2pt | 13 files, mechanical changes, ~1 day |
| Cycle | next | User specified |
| State | Todo | Auto (cycle specified) |
| Related | NOD-310 | Found in plan references |

### Description Preview
[First lines of each section...]

---
**Ready to create?** Or adjust any options?

Wait for user approval before creating.

CRITICAL: Re-approval Required After Changes

When user requests ANY changes (even simple ones like "assign to X"):

  1. Apply the requested changes
  2. Show the FULL updated proposal again
  3. Wait for EXPLICIT approval ("yes", "create it", "looks good")
  4. NEVER create the ticket immediately after changes are requested

Available Labels (Node Team)

LabelUse When
BugFixing broken behavior, errors, crashes
FeatureNew functionality that didn't exist
ImprovementEnhancing existing functionality, refactoring, code quality
OptimizationPerformance improvements, code cleanup, efficiency
ProductivityDeveloper tooling, automation, skills, CI/CD
DocumentationDocs updates, README, API docs
TestAdding or improving tests
PerformanceSpeed/memory optimizations, benchmarks
Critical PathBlocking other work, urgent priority
SpikeResearch, exploration, proof of concept
ReleaseRelease process tickets, version releases, changelog generation

Metadata Inference

FieldInferenceHow
labelsAutoInfer from work type (see table above)
projectAutoTech Debt/Staking Node/Monitoring from affected area
estimateAutoBased on effort calculation (see below)
priorityAskOnly infer if "critical"/"blocking" language
cycleUserUse what user says, default backlog
stateAutoTodo if cycle specified, else Backlog
assigneeAskAsk or leave unassigned
related_toExtractScan for NOD-XXX patterns in plan
linksExtractScan for URLs in plan
parent_idUserOnly if explicitly requested
blocks/blocked_byExtractScan for "blocks"/"depends on" language
due_dateUserOnly if explicitly provided

Estimate Guide (Total Effort = AI + Human Review + Iterations)

PointsTimeScope
1pt~4 hours1-3 files, simple, 1 iteration
2pt~1 workday1-5 files, moderate, 2 iterations
3pt~2 workdays5-10 files, some complexity
5pt~2-4 workdays10-20 files, significant refactoring
8pt~1 workweek20+ files, architectural, critical path

Complexity multipliers (+1 point each):

  • Touches consensus/critical path
  • Has risks/edge cases listed
  • Requires testing strategy
  • Cross-module changes

Quick Reference

Creates

  • Linear issues in the Node team with proper template formatting

Required Fields

  • title - Issue title
  • problem_statement - What problem are we solving?

Optional Template Fields

  • proposed_solution, acceptance_criteria, ai_execution_plan, human_contribution, technical_notes

Optional Metadata

FieldDescriptionExample
assigneeWho will work on it"me", "darien"
labelsIssue labels["Bug", "Improvement"]
projectProject name"Tech Debt"
cycleSprint cycle"current", "next", 26
priority1=Urgent, 2=High, 3=Normal, 4=Low2
estimateStory points3
stateInitial state (auto: Todo if cycle set)"Backlog", "Todo"
due_dateDeadline"2026-02-15"

Optional Relationships

FieldDescriptionExample
parent_idCreate as sub-issue"NOD-123"
linksAttach URLs[{url, title}]
blocksIssues this blocks["NOD-456"]
blocked_byIssues blocking this["NOD-100"]
related_toRelated issues["NOD-310"]

Usage

When called by developer skill or directly:

  1. Request required information if not provided
  2. Format content using the template
  3. Create issue in Linear with appropriate metadata

Configuration

  • Team: Node (NOD)
  • Default State: Backlog (unless cycle specified)

Full Documentation

See skill.yaml for complete procedure, patterns, and template details.