linear-initiative
Tạo các dự án Linear cho kho lưu trữ SDK dựa trên một sáng kiến Linear. Sử dụng khi triển khai một tính năng trên nhiều SDK, tạo các dự án SDK từ…
npx skills add https://github.com/getsentry/sdk-skills --skill linear-initiativeLinear Project Creator
Uses the content of a Linear initiative and creates projects for selected SDKs.
Requirements
This skill requires the Linear MCP server to be configured.
SDK Teams
Only teams with Enabled=Yes are included when creating projects.
| Team | Suffix | Category | Enabled |
|---|---|---|---|
| sentry-java | Android | Mobile | Yes |
| sentry-capacitor | Capacitor | JavaScript, Mobile | Yes |
| sentry-cocoa | Apple | Mobile | Yes |
| sentry-dart | Dart/Flutter | Mobile | Yes |
| sentry-dotnet | .NET | Backend | Yes |
| sentry-electron | Electron | JavaScript | Yes |
| sentry-elixir | Elixir | Backend | Yes |
| sentry-go | Go | Backend | Yes |
| sentry-godot | Godot | Gaming | Yes |
| sentry-java | Java | Backend | Yes |
| sentry-javascript | JavaScript | JavaScript | Yes |
| sentry-kotlin-multiplatform | KMP | Mobile | Yes |
| sentry-laravel | Laravel | Backend | Yes |
| sentry-lynx | Lynx | Mobile | No |
| sentry-native | Native | Gaming | Yes |
| sentry-php | PHP | Backend | Yes |
| sentry-powershell | PowerShell | Backend | No |
| sentry-python | Python | Backend | Yes |
| sentry-react-native | React Native | JavaScript, Mobile | Yes |
| sentry-ruby | Ruby | Backend | Yes |
| sentry-rust | Rust | Backend | Yes |
| sentry-symfony | Symfony | Backend | Yes |
| sentry-unity | Unity | Gaming | Yes |
| sentry-unreal | Unreal | Gaming | Yes |
Project Naming
Naming rules:
- Remove any text in parentheses or brackets from the initiative name
- Add suffix in square brackets
Format: [Clean Initiative Name] [[Suffix]]
Example: Initiative "SDK Handling HTTP 413 (Content Too Large)" → "SDK Handling HTTP 413 [Python]"
Instructions
-
Get the initiative identifier from the user if not provided. This can be an initiative ID, name, or URL.
-
Fetch the initiative details using
mcp__linear-server__query_data:Query: "Get initiative [identifier] with its name, description, targetDate, and any associated projects" -
Present initiative summary to the user including:
- Initiative name
- Description/content
- Target date (if set)
- Any existing projects already linked
-
Ask which SDK teams should have projects created. Present options:
- All SDK teams (all enabled teams from the table)
- By category: JavaScript, Backend, Mobile, or Gaming (filter by Category column, only enabled)
- Individual selection (let user specify specific teams)
-
If user selects individual, ask them to specify which teams from the table.
-
Ask about project naming:
- Default: Use initiative name with team suffix (e.g., "Session Replay [Python]")
- No suffix: Use initiative name only (same name for all projects)
- Custom: Let user specify a custom naming pattern
-
For each selected team, create a project using
mcp__linear-server__create_project:- name: Use the initiative name with suffix from the SDK Teams table (if suffixes enabled)
- team: The team name
- description: "Have a look at the initiative for a full description of this project."
- initiative: Link to the source initiative
- state: Set to "Backlog" (use status ID
d4127831-7550-41f2-918c-d7699c6c7b95) - targetDate: If the initiative has a target date set, apply it to the project
-
Report results showing:
- Successfully created projects with links
- Any failures and reasons
-
(Optional) Ask about creating issues in each project:
- Warn the user: "Issues may be automatically synced to GitHub. Do you want to create an issue in each project?"
- Require explicit confirmation before proceeding
- If confirmed, ask for issue content preference:
- Full description: Use the complete initiative description as the issue body
- Placeholder: "Have a look at the initiative for a full description."
- Create one issue per project using
mcp__linear-server__create_issue:- title: Same as project name (e.g., "SDK Handling HTTP 413 [Python]")
- team: The team name
- project: Link to the created project
- description: Based on user's choice above
Example Usage
User: "Create projects for the Session Replay initiative across all Mobile SDKs"
Response flow:
- Fetch "Session Replay" initiative details
- Confirm the initiative found is correct
- Ask about naming preference (with suffix, no suffix, or custom)
- Create projects with names like:
- "Session Replay [Android]" (sentry-java)
- "Session Replay [Capacitor]" (sentry-capacitor)
- "Session Replay [Apple]" (sentry-cocoa)
- "Session Replay [Dart/Flutter]" (sentry-dart)
- etc.
- Report created project links
Notes
- Always confirm the initiative details before creating projects
- Check for existing projects to avoid duplicates
- Projects are automatically linked to the initiative when the
initiativeparameter is provided - If a project already exists for a team under this initiative, skip it and notify the user
- GitHub Sync Warning: Some teams have Linear-GitHub sync enabled. Issues created in Linear may automatically create corresponding GitHub issues. Always confirm with the user before creating issues.