Claude Skills
CollectionsCompareWorkflowsNominate
Sign inSign up
© 2026 Curated Agent Skills·Learn more about Agent Skills
Back to repository

activity

verified

This skill should be used when the user asks to "collect Linear activity", "generate Linear report", "show my Linear issues", "what did I work on in Linear", or requests activity summaries from Linear for specific date ranges. Provides workflow for collecting issues, projects, and cycles via Linear MCP.

View on GitHub

Marketplace

cc-plugin

jongwony/cc-plugin

Plugin

linear

Repository

jongwony/cc-plugin

linear/skills/activity/SKILL.md

Last Verified

February 1, 2026

Install Skill

Select agents to install to:

Scope:
npx add-skill https://github.com/jongwony/cc-plugin/blob/main/linear/skills/activity/SKILL.md -a claude-code --skill activity

Installation paths:

Claude
.claude/skills/activity/
Powered by add-skill CLI

Instructions

# Linear Activity Reporter

Collect Linear activity data via MCP and generate time-organized markdown reports.

## Workflow

### Phase 1: Initialize Context

```python
user = mcp__plugin_linear_linear__get_user(query="me")
teams = mcp__plugin_linear_linear__list_teams(limit=250)
```

Extract: `userId`, `displayName`, `email`, `teamIds`, `teamNames`

**On error**: Check MCP configuration in `~/.claude.json`, verify Linear workspace access.

**Multiple teams**: Present team selection via `AskUserQuestion` with multiSelect.

### Phase 2: Calculate Date Range

| Request | Action |
|---------|--------|
| Explicit date ("2025-11-05") | Use directly |
| Relative ("yesterday", "last week") | Calculate with `date` command |
| Not specified | Prompt with `AskUserQuestion` |

Convert to ISO 8601: `YYYY-MM-DDTHH:MM:SSZ`

### Phase 3: Collect Activity Data

Execute parallel MCP calls per team:

| Data Type | MCP Function | Key Filters |
|-----------|--------------|-------------|
| Issues Created | `list_issues` | `assignee="me"`, `createdAt` |
| Issues Updated | `list_issues` | `assignee="me"`, `updatedAt` |
| Comments | `list_comments` | `issueId` (filter date client-side) |
| Projects | `list_projects` | `member="me"`, `createdAt`/`updatedAt` |
| Cycles | `list_cycles` | `teamId` (filter date client-side) |

MCP uses `>=` comparison only. Filter end date client-side.

For API details: [references/api-reference.md](references/api-reference.md)

### Phase 4: Process Data

1. Convert UTC to local timezone (detect via `datetime.now().astimezone()`)
2. Group by hour (00-23) and team
3. Categorize by activity type
4. Deduplicate by issue/project ID

### Phase 5: Generate Reports

Output directory: `~/.claude/tmp/linear-activity/reports/`

```bash
mkdir -p ~/.claude/tmp/linear-activity/reports/
```

**Files:**
- `YYYY-MM-DD.md` - Human-readable markdown
- `YYYY-MM-DD.json` - Machine-readable (for calendar-sync)

For format specification: [references/output-template.md](references/out

Validation Details

Front Matter
Required Fields
Valid Name Format
Valid Description
Has Sections
Allowed Tools
Instruction Length:
3368 chars