provider-detection
npx machina-cli add skill thomasindrias/issue-dev/provider-detection --openclawProvider Detection
This skill guides you through detecting project management providers from issue references.
RFC2119 Keywords
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC2119.
Supported Providers
| Provider | URL Pattern | Issue ID Pattern | MCP Tools Prefix |
|---|---|---|---|
| Linear | https://linear.app/*/issue/* | [A-Z]{2,5}-\d+ | mcp__plugin_linear_linear__ |
| JIRA | https://*.atlassian.net/browse/* | [A-Z]{2,10}-\d+ | mcp__atlassian_jira__ |
Detection Priority
You MUST detect providers in this order:
-
URL-based detection (highest confidence)
- Linear: URL contains
linear.app - JIRA: URL contains
atlassian.net/browseor.jira.com
- Linear: URL contains
-
Context-based detection (if no URL)
- Check if user mentioned provider name earlier in conversation
- Check for active issue context from previous commands
-
ID-only detection (lowest confidence)
- Issue ID pattern
[A-Z]{2,5}-\d+could be Linear OR JIRA - You SHOULD ask user to clarify if provider is ambiguous
- Issue ID pattern
MCP Availability Check
Before performing any operation, you MUST verify the required MCP is available:
For Linear
Check if tools starting with mcp__plugin_linear_linear__ are accessible.
For JIRA
Check if tools starting with mcp__atlassian_jira__ are accessible.
Handling Missing MCP
If the required MCP is not available:
-
You MUST inform the user clearly:
The [Provider] MCP is not configured. To use issue tracking with [Provider]: 1. Install the official [Provider] plugin: `claude plugin install [provider]@claude-plugins-official` 2. Authenticate when prompted -
You MUST NOT attempt to call unavailable MCP tools
-
You SHOULD offer to continue without issue tracking
Provider-Specific Tool Mappings
Linear MCP Tools
- Get issue:
mcp__plugin_linear_linear__get_issue - List statuses:
mcp__plugin_linear_linear__list_issue_statuses - Update issue:
mcp__plugin_linear_linear__update_issue - Create comment:
mcp__plugin_linear_linear__create_comment
JIRA MCP Tools (when available)
- Get issue:
mcp__atlassian_jira__get_issue - Get transitions:
mcp__atlassian_jira__get_transitions - Transition issue:
mcp__atlassian_jira__transition_issue - Add comment:
mcp__atlassian_jira__add_comment
Output Format
When provider is detected, you MUST output:
Provider: [Linear|JIRA|Unknown]
Issue ID: [ID]
MCP Available: [Yes|No]
Source
git clone https://github.com/thomasindrias/issue-dev/blob/main/.claude-plugin/skills/provider-detection/SKILL.mdView on GitHub Overview
Provider Detection identifies whether an issue reference belongs to Linear or JIRA by inspecting URLs and issue IDs. It follows a strict priority: URL-based detection first, then context hints, then ID-only detection. It also checks MCP availability before performing any operation and outputs a concise provider summary.
How This Skill Works
Parse the reference for known URL patterns: linear.app for Linear, atlassian.net/browse or jira.com for JIRA. If a URL is found, classify the provider and verify the corresponding MCP (mcp__plugin_linear_linear__ or mcp__atlassian_jira__) is accessible. If no URL is present, apply the ID pattern to infer the provider, and prompt for clarification if ambiguous.
When to Use It
- When a Linear issue URL is present (https://linear.app/.../issue/...).
- When a JIRA issue URL is present (URL containing atlassian.net/browse).
- When only an issue ID like ABC-123 is available and the provider is unclear.
- Before performing any operation, verify MCP availability for the detected provider.
- When multiple references are in a chat and you need a single provider mapping.
Quick Start
- Step 1: Inspect the reference for a URL or an issue ID.
- Step 2: If a URL indicates Linear or JIRA, set the provider accordingly and extract the ID.
- Step 3: Check MCP availability and use the corresponding MCP tools if available.
Best Practices
- Prioritize URL-based detection over IDs.
- Verify MCP availability (Linear or JIRA) before tool calls.
- If ID-only detection is ambiguous, ask the user to specify.
- Use the standard Output Format: Provider, Issue ID, MCP Available.
- Respect the provider-specific tool prefixes when routing commands.
Example Use Cases
- User shares https://linear.app/acme/issue/PRJ-123; output: Provider: Linear, Issue ID: PRJ-123, MCP Available: Yes
- User shares https://acme.atlassian.net/browse/PROJ-456; output: Provider: JIRA, Issue ID: PROJ-456, MCP Available: Yes
- Only issue ID PRJ-12 provided; prompt for provider due to ambiguity
- Linear MCP not configured; provide clear instruction to install plugin
- Unknown provider from URL; request confirmation or manual mapping