feat: add Linear repository_dispatch workflows for issue implementation and follow-up - #5
Conversation
- Add repository_dispatch trigger with type `linear-triage` - Fix format() function to properly inject client_payload fields - Remove unused linear_team_prefix input - Update prompt to focus on Linear issue triage workflow - Update README with repository dispatch documentation - Update CLAUDE.md with accurate workflow description 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add code-review job that runs after pre-commit checks pass on non-draft PRs. Uses the code-review.yml reusable workflow with trigger_type: auto. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Move format() arguments to separate lines for better YAML parsing reliability. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The workflow runs in each repo that includes it, so it should always checkout the current repository. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
…mment - Remove synchronize trigger (don't review on every push) - Add issue_comment trigger for /review command - Split into code-review-auto and code-review-manual jobs 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add two new reusable workflows for Linear integration: - issue-implement: Triggered via repository_dispatch (linear-implement) to implement Linear issues, create PRs, and update ticket status - issue-followup: Triggered via repository_dispatch (linear-followup) to handle follow-up messages on Linear issues Both workflows use Linear MCP for ticket management and support custom prompts/allowed_tools via client_payload. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
Claude finished @isuttell's task in 1m 58s —— View job Code Reviewtldr; Solid implementation with good patterns, but found some issues: missing documentation updates, potential security concerns with unrestricted bash commands, inconsistent client_payload field naming, and the 🎯 Key FindingsCritical Issues:
Documentation Gaps:
Code Quality Observations: ✅ Good patterns:
📋 Detailed Reviewissue-implement.yml (.github/workflows/issue-implement.yml:1-112)
issue-followup.yml (.github/workflows/issue-followup.yml:1-122)
issue-triage.yml (.github/workflows/issue-triage.yml:1-103)
ci.yml (.github/workflows/ci.yml:34-45)
Documentation Updates:
🔒 Security AssessmentSecret Handling: ✅ Follows established patterns
Permissions:
Input Validation:
🏃 Performance & CICI Status: ✅ Pre-commit checks passed
Workflow Efficiency:
🧪 Testing ConsiderationsMissing:
📝 RecommendationsHigh Priority:
Medium Priority: Nice to Have: 🎭 The VerdictThis is solid foundational work that extends the Linear integration in a logical way. The architecture is clean and follows existing patterns well. However, the inconsistent field naming and missing documentation will cause friction for users setting up webhooks. The bash tool permissions are overly broad, which isn't a security vulnerability per se, but violates least-privilege principles. Ship it after addressing the field naming and documentation gaps. The other issues are nice-to-haves that can be iterated on. |
Summary
Add two new reusable workflows that extend Linear integration capabilities via
repository_dispatchtriggers, enabling automated issue implementation and follow-up handling from Linear webhooks.Changes
linear-implementdispatch event to automatically implement Linear issues, create branches/PRs, and update ticket statuslinear-followupdispatch event to handle follow-up messages on existing Linear issuesRisk Assessment
LOW
Changed Areas
Security Considerations
claude_code_oauth_token,linear_api_token)issue-triage.ymlPerformance Impact
Breaking Changes
🤖 Generated with Claude Code