
mael
by sminnee
Maelstrom • Accelerate your Claude Code velocity
SKILL.md
name: mael
description: "REQUIRED for git/GitHub operations: Use mael gh create-pr for PRs, mael sync before work. Also covers Linear task management and Sentry debugging. Always invoke /mael before commits or PRs."
Maelstrom CLI Skill
This skill provides CLI commands for managing Linear tasks, querying Sentry issues, and handling git/GitHub workflows directly from Claude Code.
Prerequisites
GitHub CLI
Install and authenticate the GitHub CLI (gh) for git/GitHub commands:
brew install gh
gh auth login
Environment Variables
Set these in your project's .env file:
LINEAR_API_KEY- Linear API key (required for Linear commands)SENTRY_API_KEY- Sentry auth token withevent:readscope (required for Sentry commands)
Configuration
Add integration settings to your project's .maelstrom.yaml:
# Linear integration
linear_team_id: "your-team-uuid-here"
linear_workspace_labels: # Optional: custom labels for worktrees
- alpha
- bravo
- charlie
# Sentry integration
sentry_org: "your-org-slug"
sentry_project: "your-project-id"
Linear Commands
mael linear list-tasks
List tasks in the current cycle.
mael linear list-tasks [--status STATUS]
Options:
--status: Filter by status name (partial match, case-insensitive)
Examples:
# List all tasks in current cycle
mael linear list-tasks
# List only in-progress tasks
mael linear list-tasks --status "In Progress"
mael linear read-task
Read task details as markdown, including subtasks and Sentry issues.
mael linear read-task <issue-id>
Arguments:
issue-id: Linear issue identifier (e.g., PROJ-123)
Output includes:
- Title, status, parent (if subtask), cycle, labels
- Full description
- List of subtasks with completion status
- Comments
- Attachments (Sentry links automatically fetch issue details)
mael linear start-task
Start working on a task. Sets status to "In Progress" and adds worktree label.
mael linear start-task <issue-id>
Behavior:
- Sets task status to "In Progress"
- Detects worktree from current directory (alpha, bravo, etc.)
- Adds worktree name as label, removes other worktree labels
- If task is a subtask, also updates parent task with same status/label
mael linear complete-task
Mark a task as complete.
mael linear complete-task <issue-id>
Behavior:
- Subtasks: Set status to "Done"
- Parent/standalone tasks: Set status to "Unreleased"
- If completing a subtask and all siblings are complete, parent is set to "Unreleased"
mael linear create-subtask
Create a subtask on a parent issue.
mael linear create-subtask <parent-id> <title> [description]
Arguments:
parent-id: Parent issue identifier (e.g., PROJ-123)title: Subtask titledescription: Optional subtask description
Behavior:
- Creates subtask linked to parent
- Inherits cycle from parent issue
mael linear add-plan
Add an implementation plan section to a task's description.
mael linear add-plan <issue-id> <plan-content>
Arguments:
issue-id: Linear issue identifierplan-content: Markdown content for the implementation plan
Behavior:
- Appends
## Implementation Plansection to existing description - Does not overwrite existing content
Git & GitHub Commands
mael sync
Rebase the current worktree against origin/main. Run this before starting work.
mael sync [target]
Arguments:
target(optional): Project/worktree identifier (uses current directory if omitted)
Behavior:
- Fetches latest from remote (
git fetch origin) - Rebases current branch against
origin/mainusing--autostash - On conflicts: displays helpful instructions with commands to resolve
mael gh create-pr
Create a new pull request or push updates to an existing one.
mael gh create-pr [target] [--draft]
Arguments:
target(optional): Project/worktree identifier
Options:
--draft: Create PR as a draft (only for new PRs)
Behavior:
- Fetches from origin to update tracking refs
- Force-pushes current branch to origin (
--force-with-lease -u) - If no PR exists: creates one using first commit message as title
- If PR exists: just pushes the latest changes
- Returns the PR URL
mael gh read-pr
Check PR status, review comments, and CI results.
mael gh read-pr [target]
Arguments:
target(optional): Project/worktree identifier
Output includes:
- PR number, title, URL, and merge status
- Unresolved review comments (file, line, author, preview)
- CI check status grouped by: Failed, Pending, Passing
- For failed checks: truncated logs and available artifacts
mael gh check-log
View full GitHub Actions logs for a workflow run.
mael gh check-log <run_id> [--failed-only]
Arguments:
run_id: GitHub Actions workflow run ID
Options:
--failed-only: Show only failed step logs
mael gh download-artifact
Download artifacts from a workflow run.
mael gh download-artifact <run_id> <artifact_name> [-o OUTPUT_DIR]
Arguments:
run_id: GitHub Actions run IDartifact_name: Name of artifact to download
Options:
-o, --output: Output directory (defaults to current directory)
mael gh show-code
Show committed and/or uncommitted changes in the worktree.
mael gh show-code [target] [--committed] [--uncommitted]
Arguments:
target(optional): Project/worktree identifier
Options:
--committed: Show only commits since branching from main--uncommitted: Show only working directory changes- Default (no flags): Show both
Output includes:
- Commits since diverging from
origin/mainwith full diffs - Working directory diff (
git diff HEAD)
Sentry Commands
mael sentry list-issues
List unresolved issues for the project.
mael sentry list-issues [--env ENV]
Options:
--env: Environment filter (default:prod)
Output includes:
- Short ID (e.g., PROJ-ABC)
- Title
- Last seen (relative time)
- Count: Total events (all time)
- Trend: Change in events over last 12h vs previous 12h
mael sentry get-issue
Get issue details as markdown.
mael sentry get-issue <issue-id>
Arguments:
issue-id: Sentry issue ID (numeric)
Output includes:
- Exception type and message
- Event metadata (ID, project, date)
- Tags
- Full stacktrace with code context and variable values
Status Transitions
Subtasks (issues with a parent)
- Starting work: Set to "In Progress"
- Completing work: Set to "Done"
Parent Tasks (issues with subtasks)
- Starting work: Set to "In Progress" (when first subtask starts)
- Completing work: Set to "Unreleased" only when ALL subtasks are Done/Canceled
Standalone Tasks (no parent, no subtasks)
- Starting work: Set to "In Progress"
- Completing work: Set to "Unreleased"
Workflow: Git & Pull Requests
-
Before starting work, sync with main:
mael sync -
During work, commit changes regularly (see "Workflow: Creating Commits" below)
-
When ready for review, create or update PR:
mael gh create-pr
Workflow: Checking PR Status
-
Check if PR was merged or has issues:
mael gh read-prThis shows: merge status, unresolved comments, and CI check results.
-
For failed CI checks, view full logs:
mael gh check-log <run_id> -
Download artifacts (test results, screenshots, etc.):
mael gh download-artifact <run_id> <artifact_name>
Workflow: Code Review
-
Review all changes in the worktree:
mael gh show-code -
Review only committed changes (since branching from main):
mael gh show-code --committed -
Review only uncommitted changes (working directory):
mael gh show-code --uncommitted
Workflow: Creating Commits
Git commands run directly in the worktree directory (no -C flag needed).
-
Review uncommitted changes before committing:
mael gh show-code --uncommitted -
Stage and commit with a descriptive message:
git add <files> git commit -m "Description of changes" -
For atomic commits, stage related changes together. Use
git add -pfor partial file staging if needed.
Workflow: Planning a Task
-
Get issue details:
mael linear read-task PROJ-123 -
Research codebase: Explore relevant code to understand context
-
Create subtasks for each planned phase:
mael linear create-subtask PROJ-123 "Phase 1: Core functionality" "Description here" -
Add implementation plan (optional):
mael linear add-plan PROJ-123 "Overall plan summary..."
Workflow: Working on a Task
-
Find next task:
mael linear list-tasks --status "In Progress" # or mael linear read-task PROJ-123 -
Start the task (marks In Progress, adds worktree label):
mael linear start-task PROJ-124 -
Do the implementation work
-
Complete the task:
mael linear complete-task PROJ-124
Workflow: Debugging Production Errors
-
List unresolved issues:
mael sentry list-issues -
Prioritize by: escalating trend > recency > frequency
-
Get issue details:
mael sentry get-issue 12345678 -
Investigate the stacktrace and fix the issue
Error Handling
Commands exit with code 1 and display error messages for:
- Missing environment variables (
LINEAR_API_KEY,SENTRY_API_KEY) - Missing configuration (
linear_team_id,sentry_org,sentry_project) - Issue not found
- API errors
- Missing workflow states ("In Progress", "Done", "Unreleased")
スコア
総合スコア
リポジトリの品質指標に基づく評価
SKILL.mdファイルが含まれている
ライセンスが設定されている
100文字以上の説明がある
GitHub Stars 100以上
3ヶ月以内に更新がある
10回以上フォークされている
オープンIssueが50未満
プログラミング言語が設定されている
1つ以上のタグが設定されている
レビュー
レビュー機能は近日公開予定です