SOC II triage workflow for creating Linear tickets, branches, OpenSpec proposals, commits, and PRs. Use when asked to triage an issue, create a triage ticket, or start SOC II workflow.
SOC II triage workflow for creating Linear tickets, branches, OpenSpec proposals, commits, and PRs. Use when asked to triage an issue, create a triage ticket, or start SOC II workflow.
SOC II Triage Workflow
Orchestrates the complete triage process: Linear ticket → branch → OpenSpec proposal → implementation → commit → PR
⚠️ BEFORE YOU START
This skill prevents 5 common errors and saves ~60% tokens by using subagents.
Metric
Without Skill
With Skill
Setup Time
30+ min
5-10 min
Common Errors
5+
0
Token Usage
50k+
~20k
Known Issues This Skill Prevents
Forgetting to create Linear ticket before starting work
Branch names not matching ticket identifiers
Commits missing ticket prefix (e.g., ICE-1965:)
OpenSpec proposals not validated before implementation
Context pollution from long-running workflows
Workflow Overview
This skill guides you through a 7-step triage workflow:
Create Linear Ticket - Use linearis CLI
Create Git Branch - Named after ticket identifier
Create OpenSpec Proposal - /openspec:proposal
User Validates Proposal - Review tasks and spec
Apply OpenSpec Changes - /openspec:apply
Commit Changes - with ticket prefix
/git-commit
Push & Create PR - Optional, user decides
Quick Start
Step 1: Create Linear Ticket
# Run the helper script to create ticket
uv run scripts/create_linear_ticket.py "Issue title" --team TeamName --description "Details"
Why this matters: The ticket identifier (e.g., ICE-1965) becomes the prefix for branch names and commits.
Step 2: Create Branch from Ticket
# Use the helper script (gets GitHub username automatically)
uv run scripts/create_branch.py ICE-1965 --push
# Creates: nodnarbnitram/ICE-1965
Why this matters: Branch format username/identifier enables traceability and ownership clarity.
Step 3: Create OpenSpec Proposal
Use the slash command:
/openspec:proposal Add two-factor authentication
Why this matters: OpenSpec ensures alignment on requirements before implementation.
Critical Rules
✅ Always Do
✅ Create Linear ticket FIRST before any code changes
✅ Use ticket identifier as branch name prefix
✅ Validate OpenSpec proposal with user before /openspec:apply
✅ Prefix all commits with ticket number (e.g., ICE-1965: Fix bug)
✅ Use subagents to keep main context clean
❌ Never Do
❌ Start coding without a Linear ticket
❌ Apply OpenSpec changes without user validation
❌ Commit without ticket prefix
❌ Push to main/master directly
❌ Skip the proposal validation step
Common Mistakes
❌ Wrong:
git commit -m "Fix authentication bug"
✅ Correct:
git commit -m "ICE-1965: Fix authentication bug"
Why: SOC II compliance requires ticket traceability in all commits.
Known Issues Prevention
Issue
Root Cause
Solution
Missing ticket prefix
Forgot to extract identifier
Use /git-commit with prefix instruction
Branch name mismatch
Manual typing error
Use script to create branch from ticket
Proposal not validated
Rushed workflow
Always pause for user confirmation
Context bloat
Long workflows
Delegate to subagents for each step
Detailed Workflow Steps
Phase 1: Ticket Creation
Use subagent to create Linear ticket:
> Create a Linear ticket for: [issue description]
The subagent will:
Run linearis issues create with appropriate parameters