一键导入
feedback-to-linear
Transform user feedback into structured Linear issues with AI-enhanced parsing for labels, priority, acceptance criteria, and estimates
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Transform user feedback into structured Linear issues with AI-enhanced parsing for labels, priority, acceptance criteria, and estimates
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Guidance on when and how to apply design patterns. Use when: (1) asking which pattern to use, (2) refactoring code, (3) discussing code smells, (4) need to decouple components, (5) building extensible systems.
Expert guidance on Swift Concurrency best practices, patterns, and implementation. Use when developers mention: (1) Swift Concurrency, async/await, actors, or tasks, (2) "use Swift Concurrency" or "modern concurrency patterns", (3) migrating to Swift 6, (4) data races or thread safety issues, (5) refactoring closures to async/await, (6) @MainActor, Sendable, or actor isolation, (7) concurrent code architecture or performance optimization.
| name | feedback-to-linear |
| description | Transform user feedback into structured Linear issues with AI-enhanced parsing for labels, priority, acceptance criteria, and estimates |
| license | MIT |
Transform raw user feedback text into structured Linear issues with intelligent AI parsing.
Activate this skill with any of these phrases:
| Aspect | Details |
|---|---|
| Input | Raw feedback text (batch) + team/project selection |
| Output | Linear issues with AI-parsed metadata (title, labels, priority, acceptance criteria, estimates, links) |
| Workspace | Uses workspace from configured Linear API key |
| Mode | Batch processing with conditional confirmation |
| Duration | ~1-2 minutes for 5-10 feedback items |
When this skill is invoked, you MUST:
Objective: Gather feedback, detect context, and select target location in Linear.
Steps:
Load all MCP tools upfront (batch in parallel):
MCPSearch("select:mcp__plugin_linear_linear__list_teams")
MCPSearch("select:mcp__plugin_linear_linear__list_projects")
MCPSearch("select:mcp__plugin_linear_linear__list_issue_labels")
MCPSearch("select:mcp__plugin_linear_linear__create_issue")
Prompt user for feedback text (support multi-line, multiple items, inline URLs)
Auto-detect repo context (no prompt):
git rev-parse --git-dir)package.json, Cargo.toml, pyproject.toml, or git remotegit config --get remote.origin.urlDetected: [project-name] (iOS) - github.com/user/repo
Fetch Linear data (can run in parallel):
mcp__plugin_linear_linear__list_teams to get available teamsSingle combined question using AskUserQuestion with 3 questions:
Fetch labels for selected team:
mcp__plugin_linear_linear__list_issue_labelsInputs: User feedback text Outputs: Validated team/project, platform context, available labels, repo context Verification: Team ID is valid, labels fetched successfully
Objective: Extract structured issue data from raw feedback using AI.
Steps:
Split feedback into individual items (by line breaks, blank lines, or numbered lists)
For each feedback item, extract:
Label Matching Guidelines:
Title Convention:
[Platform]Priority Detection (Multi-Signal):
| Signal Type | +1 Priority | -1 Priority |
|---|---|---|
| User impact | "many users", "everyone", "all" | "sometimes", "rarely", "edge case" |
| Business | "can't use", "blocking", "revenue" | "cosmetic", "minor", "nice to have" |
| Severity | crash, data loss, security | typo, color, alignment |
| Tone | ALL CAPS, !!!, frustrated | casual suggestion |
Confidence Scoring:
| Field | HIGH | MEDIUM | LOW |
|---|---|---|---|
| Title | Clear action + specific issue | Transformed, some ambiguity | Vague, add [?] suffix |
| Labels | Exact compound match | Semantic inference | Weak match |
| Priority | Multiple strong signals | Some signals | Defaulted |
| Estimate | - | Always MEDIUM | - |
Description Format:
[Original user feedback, quoted or paraphrased]
## Context
[Inferred context + device/platform details]
[If repo detected: **Source repo:** project-name (repo-url)]
**Complexity Estimate:** M (Medium)
## Links
- [Screenshot](https://d.pr/abc123)
- [src/Component.tsx](https://github.com/user/repo/blob/main/src/Component.tsx)
## Acceptance Criteria
- [ ] Criterion 1
- [ ] Criterion 2
- [ ] Criterion 3
Inputs: Feedback items, available labels, repo context Outputs: Structured issue data with confidence scores Verification: All items have title, description, valid labels
Objective: Preview parsed issues and create them in Linear.
Steps:
Display preview table:
| Title | Labels | Pri | Est | Confidence |
|---|---|---|---|---|
| [iOS] Fix crash on upload | Bug, iOS | 2 | M | HIGH |
| Improve settings [?] | Enhancement | 3 | M | LOW ⚠️ |
Conditional confirmation:
AskUserQuestion:
If editing:
Create issues:
mcp__plugin_linear_linear__create_issueDisplay summary:
| Issue | URL |
|---|---|
| MOB-123 | https://linear.app/team/issue/MOB-123 |
Inputs: Parsed issue data, user confirmation (if needed) Outputs: Created Linear issues with URLs Verification: All issues created successfully
| Avoid | Why | Instead |
|---|---|---|
| Creating labels | May not match team conventions | Use existing labels only |
| Hardcoding labels | Different workspaces have different labels | Fetch dynamically |
| Asking about repo context | Adds unnecessary prompt | Auto-detect silently |
| Asking about media URLs | Adds unnecessary prompt | Auto-extract from feedback |
| Always prompting to confirm | Slows down workflow | Only prompt if LOW confidence |
| Priority 0 as default | Most feedback deserves attention | Default to 3 (Medium) |
| Generic titles | Hard to scan/triage | Include specifics from feedback |
Before completing this skill, verify:
This skill can be extended to:
See references/ai-parsing-guidelines.md for detailed semantic matching rules and examples.