一键导入
backlog-external
External service backlog implementation (GitHub Issues, Linear, JIRA). Used when stack.md has backlog external with a backlog_config section.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
External service backlog implementation (GitHub Issues, Linear, JIRA). Used when stack.md has backlog external with a backlog_config section.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Document a bug report with reproduction steps, severity, and expected behavior. Use when the user explicitly requests the Virtual Team bug workflow or when this workflow is the next stage of an active Virtual Team pipeline.
Quiz the developer on technical decisions in the current work. Use when the user explicitly requests the Virtual Team check workflow or when this workflow is the next stage of an active Virtual Team pipeline.
Create clean, atomic git commits following project conventions. Use when the user explicitly requests the Virtual Team commit workflow or when this workflow is the next stage of an active Virtual Team pipeline.
Extract, define, and validate API contracts as concrete schema files. Use when the user explicitly requests the Virtual Team contracts workflow or when this workflow is the next stage of an active Virtual Team pipeline.
Investigate a bug, reproduce it, trace the code, and document the root cause. Use when the user explicitly requests the Virtual Team debug workflow or when this workflow is the next stage of an active Virtual Team pipeline.
Query project conventions and architectural decisions with source references. Use when the user explicitly requests the Virtual Team decisions workflow or when this workflow is the next stage of an active Virtual Team pipeline.
| name | backlog-external |
| description | External service backlog implementation (GitHub Issues, Linear, JIRA). Used when stack.md has backlog external with a backlog_config section. |
implements: backlog
stack: external
This skill implements the backlog interface using an external project management service (GitHub Issues, Linear, Jira, etc.). It reads the service type and state mappings from stack.md.
Design principle: Local is the source of truth for documents (specs, plans, contracts). The external service is the source of truth for item status and priority ordering. This skill bridges both.
gh CLI for GitHub Issuesbacklog_config section in stack.md properly configuredstack.mdbacklog: external
backlog_config:
service: github-issues # github-issues | linear | jira
project: my-org/my-repo # GitHub: owner/repo, Linear: project slug, Jira: project key
states:
ready: "Backlog" # Service-specific state name for each workflow status
doing: "In Progress"
implemented: "In Review"
done: "Done"
labels:
feature_prefix: "feat:" # Label prefix for feature grouping (e.g., "feat:FEAT-005")
service_prefix: "svc:" # Label prefix for service tagging (e.g., "svc:be")
group_prefix: "group:" # Label prefix for story groups
issue_type: "Story" # Jira only: issue type for stories
External service manages: Item status, priority ordering, team comments/feedback, assignment, labels, sprint planning.
Local files manage: Document references (spec paths, plan paths).
The bridge: Each backlog item has an external issue ID AND a local story ID. The external issue links to the local spec file. Local operations update the external service after each status change.
For every operation, the AI:
stack.md to get the backlog_configservice:
gh CLI commands (already available, no MCP needed)Intent: Get items from the external service matching the filter.
status: ready → query for issues in the state configured as backlog_config.states.ready)For GitHub Issues:
gh issue list --repo {project} --state open --label "{label}" --json number,title,state,labels
For Linear/Jira: Use the appropriate MCP tool to list/search issues with the matching state and labels.
Priority ordering: The external service's ordering is authoritative. Items are returned in the order the service provides them.
Intent: Get a single item with full metadata.
Intent: Count items per status for a feature.
feat:FEAT-005)Intent: Generate the next story ID.
S-NNN pattern)S-{max+1}Intent: Create new issues in the external service for each backlog item.
For each item:
{id}: {title}ready stateSpec: {spec_path}Do NOT create local docs/backlog.md entries. The external service IS the backlog. However, maintain a lightweight local index file at docs/backlog-index.md that maps story IDs to external issue IDs for quick reference:
# Backlog Index
| Story | External | Feature | Status |
|---|---|---|---|
| S-010 | #42 | FEAT-005 | ready |
| S-011 | #43 | FEAT-005 | ready |
Intent: Move an item from ready to doing.
doing state in the external servicedocs/backlog-index.md status columnIntent: Mark an item as code-complete, pending PR.
implemented state in the external serviceIntent: Mark an item as done.
done state in the external serviceThese are ACTIVE for external backends:
Update the issue status in the external service. Map the workflow status to the configured state name.
Already called inline by start(), complete(), etc. — this operation exists for cases where the status needs to be updated separately (e.g., fixing a stale status).
Create or update a parent issue/epic in the external service:
{feature_id}: {title}Same as create(items) but specifically for syncing after /virtual-team:feature creates stories.
Retrieve comments from the external issue. Present them to the AI as context:
Team feedback on {id}:
- [{author}] ({date}): {comment text}
- [{author}] ({date}): {comment text}
Called by /virtual-team:implement before starting a story — ensures the AI sees any QA feedback, PO notes, or team discussion.
Retrieve the current issue ordering from the external service. This overrides any local ordering:
backlog: local in stack.md."/virtual-team:contracts sync or create it manually."Never fall back to local silently. If the external service is unavailable, tell the user explicitly. Using local as a silent fallback would cause the two sources to diverge.
To migrate from backlog: local to backlog: external:
backlog_config in stack.mddocs/backlog.md, create an issue in the external servicedocs/backlog-index.md from the syncdocs/backlog.md as a read-only archive (rename to docs/backlog-archive.md)stack.md to backlog: external