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
根据每个问题的标题和描述内容,对Linear问题进行分类,并从Sentry工作区的标签分类体系中应用一个类型标签。
official
sentry-flutter-sdk
sentry
完整的Sentry SDK配置,适用于Flutter和Dart。当被要求“为Flutter添加Sentry”、“安装sentry_flutter”、“在Dart中配置Sentry”或配置错误…时使用。
official
sentry-svelte-sdk
sentry
为Svelte和SvelteKit提供完整的Sentry SDK设置。当被要求“为Svelte添加Sentry”、“为SvelteKit添加Sentry”、“安装@sentry/sveltekit”或配置……时使用。
official
vercel-react-best-practices
sentry
来自 Vercel 工程团队的 React 和 Next.js 性能优化指南。在编写、审查或重构 React/Next.js… 时应使用此技能。
official
sentry-tanstack-start-sdk
sentry
为TanStack Start React提供完整的Sentry SDK设置。当被要求“向TanStack Start添加Sentry”、“安装@sentry/tanstackstart-react”或配置错误…时使用。
official