linear-initiative

作者: sentry

根據 Linear 倡議,為 SDK 儲存庫建立 Linear 專案。用於在多個 SDK 中推出功能時,從…建立 SDK 專案。

npx skills add https://github.com/getsentry/sdk-skills --skill linear-initiative

Linear 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.

TeamSuffixCategoryEnabled
sentry-javaAndroidMobileYes
sentry-capacitorCapacitorJavaScript, MobileYes
sentry-cocoaAppleMobileYes
sentry-dartDart/FlutterMobileYes
sentry-dotnet.NETBackendYes
sentry-electronElectronJavaScriptYes
sentry-elixirElixirBackendYes
sentry-goGoBackendYes
sentry-godotGodotGamingYes
sentry-javaJavaBackendYes
sentry-javascriptJavaScriptJavaScriptYes
sentry-kotlin-multiplatformKMPMobileYes
sentry-laravelLaravelBackendYes
sentry-lynxLynxMobileNo
sentry-nativeNativeGamingYes
sentry-phpPHPBackendYes
sentry-powershellPowerShellBackendNo
sentry-pythonPythonBackendYes
sentry-react-nativeReact NativeJavaScript, MobileYes
sentry-rubyRubyBackendYes
sentry-rustRustBackendYes
sentry-symfonySymfonyBackendYes
sentry-unityUnityGamingYes
sentry-unrealUnrealGamingYes

Project Naming

Naming rules:

  1. Remove any text in parentheses or brackets from the initiative name
  2. 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

  1. Get the initiative identifier from the user if not provided. This can be an initiative ID, name, or URL.

  2. Fetch the initiative details using mcp__linear-server__query_data:

    Query: "Get initiative [identifier] with its name, description, targetDate, and any associated projects"
    
  3. Present initiative summary to the user including:

    • Initiative name
    • Description/content
    • Target date (if set)
    • Any existing projects already linked
  4. 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)
  5. If user selects individual, ask them to specify which teams from the table.

  6. 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
  7. 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
  8. Report results showing:

    • Successfully created projects with links
    • Any failures and reasons
  9. (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:

  1. Fetch "Session Replay" initiative details
  2. Confirm the initiative found is correct
  3. Ask about naming preference (with suffix, no suffix, or custom)
  4. 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.
  5. 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 initiative parameter 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.

來自 sentry 的更多技能

generate-frontend-forms
sentry
使用 Sentry 新表單系統建立表單的指南。適用於實作表單、表單欄位、驗證或自動儲存功能時使用。
official
sentry-snapshots-cocoa
sentry
完整的 Sentry Snapshots 設定,適用於 Apple/Cocoa 專案。當被要求「設定 SnapshotPreviews」、「設定 Apple 快照測試」、「上傳 Apple 快照至…」時使用。
official
architecture-review
sentry
員工級別的程式碼庫健康檢查。找出單體模組、靜默失敗、型別安全漏洞、測試覆蓋缺口,以及LLM友善性問題。
official
linear-type-labeler
sentry
根據每個問題的標題與描述內容,從 Sentry 工作區的標籤分類法中分類 Linear 問題,並套用對應的類型標籤。
official
sentry-flutter-sdk
sentry
完整的 Sentry SDK 設定,適用於 Flutter 和 Dart。當被要求「為 Flutter 加入 Sentry」、「安裝 sentry_flutter」、「在 Dart 中設定 Sentry」或設定錯誤…時使用。
official
sentry-svelte-sdk
sentry
完整的 Sentry SDK 設定,適用於 Svelte 和 SvelteKit。當被要求「將 Sentry 加入 Svelte」、「將 Sentry 加入 SvelteKit」、「安裝 @sentry/sveltekit」或進行設定時使用…
official
vercel-react-best-practices
sentry
來自 Vercel Engineering 的 React 與 Next.js 效能優化指南。此技能應在撰寫、審查或重構 React/Next.js… 時使用。
official
sentry-tanstack-start-sdk
sentry
完整的 Sentry SDK 設定,適用於 TanStack Start React。當被要求「將 Sentry 加入 TanStack Start」、「安裝 @sentry/tanstackstart-react」或設定錯誤…時使用。
official