backlog-external
External service backlog implementation (GitHub Issues, Linear, JIRA, YouTrack).
Skill by ovargas
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/ovargas-backlog-external
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/backlog-external
What's inside
- Skill name
backlog-external- Description
- External service backlog implementation (GitHub Issues, Linear, JIRA, YouTrack). Used when stack.md has backlog external with a backlog_config section.
- License
- MIT
- Instructions
- 264 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# Backlog External — Generic External Service Implementation
```yaml
implements: backlog
stack: external
```
This skill implements the backlog interface using an external project management service (GitHub Issues, Linear, Jira, YouTrack, 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.
## Prerequisites
- An MCP connector for the configured service (Linear, Jira, YouTrack) **OR** the `gh` CLI for GitHub Issues
- The `backlog_config` section in `stack.md` properly configured
## Configuration in `stack.md`
```yaml
backlog: external
backlog_config:
service: github-issues # github-issues | linear | jira | youtrack
project: my-org/my-repo # GitHub: owner/repo, Linear: project slug, Jira: project key, YouTrack: project short name (e.g. WEB)
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/YouTrack: issue type for stories (YouTrack: the "Type" field value)
```
**YouTrack example** (`states` are the values of the project's **State** field; `project` is the short name that prefixes issue IDs like `WEB-132`):
```yaml
backlog: external
backlog_config:
service: youtrack
project: WEB # YouTrack project short name — issues are WEB-1, WEB-2, ...
states:
ready: "Open"
doing: "In Progress"
implemented: "In Review"
done: "Done"
labels: # YouTrack has no "labels" — these prefixes become tags via manage_issue_tags
feature_prefix: "feat:"
service_prefix: "svc:"
group_prefix: "group:"
issue_type: "Story" # Value of the YouTrack "Type" field
```
> **YouTrack requires a connected MCP server.** JetBrains ships a built-in **Remote MCP Server** at `https://{your-instance}.youtrack.cloud/mcp` (YouTrack 2025.3+, Cloud or Server). Add it as an MCP connector (OAuth or a permanent token, `Authorization: Bearer <token>`). Its predefined tools run under **your** account permissions.
## How It Works — The Hybrid Model
**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.
---
## Operation Implementations
### General Approach
For every operation, the AI:
1. Reads `stack.md` to get the `backlog_config`
2. Determines which tools to use based on `service`:
- **github-issues:** Use `gh` CLI commands (already available, no MCP needed)
- **linear:** Use the Linear MCP connector tools
- **jira:** Use the Jira MCP connector tools
- **youtrack:** Use the YouTrack MCP connector tools
3. Translates the operation's intent into the appropriate tool call
4. The skill describes WHAT to do, not WHICH specific tool to call — the AI maps to available tools at runtime
**YouTrack tool map (JetBrains predefined MCP tools):**
| Operation intent | YouTrack MCP tool |
|---|---|
| Search / list issues | `search_issues` (YouTrack query, e.g. `project: WEB State: {Open} tag: feat:FEAT-005`) |
| Read one issue | `get_issue` |
| Discover custom field values | `get_issue_fields_schema` |
| Create issue | `create_issue` (set project short name, summary, `State`, `Type` fields) |
| Update fields / **change state** | `update_issue` (set the `State` field to the mapped value) |
| Assign | `change_issue_assignee` |
| Add tags (feature/service/group) | `manage_issue_tags` |
| Read / add comments | `get_issue_comments` / `add_issue_comment` |
| Link epic ↔ story | `link_issues` (use the `subtask` link type) |
| Log time | `log_work` |
| Find project | `find_projects` / `get_project` |
**YouTrack specifics to respect:**
- State is a **custom field**, not a separate status API — change it with `update_issue` by setting the `State` field to the value configured in `backlog_config.states`. Call `get_issue_fields_schema` first if unsure of the exact field/value names.
- YouTrack has **tags**, not labels — the `labels.*_prefix` values become tag names applied via `manage_issue_tags`.
- The external issue ID is the readable ID (e.g. `WEB-132`); use it in `docs/backlog-index.md`.
### list(filter)
**Intent:** Get items from the external service matching the filter.
- Query the external service for issues in the configured project
- Filter by state mapping (e.g., `status: ready` → query for issues in the state configured as `backlog_config.states.ready`)
- Filter by labels for feature, service, and group (using configured prefixes)
- Parse results into the standard item format: id, title, status, feature, group, order, service
**For GitHub Issues:**
```bash
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.From ovargas/virtual-team, MIT.
More from ovargas/virtual-team
- 0.642score
grounded-claims
ovargas
Use when stating any fact about the codebase, a dependency, or prior work — separates verified claims from recalled ones so wrong premises are visible before…
SkillAFreshness: A★ 14Claude Code +9 - 0.642score
positive-framing
ovargas
Use when editing client-facing IDEA and PROPOSAL prose — reframes loss-framed phrases as gain-framed and enforces section-aware verb tense rules
SkillAFreshness: A★ 14Claude Code +9 - 0.641score
skill-awareness
ovargas
Use when starting any session — maps contexts to behavioral skills that should be active
SkillAFreshness: A★ 14Claude Code +9 - 0.637score
adr-convention
ovargas
Use when creating, reviewing, or referencing architectural decision records — defines the ADR format, three-gate creation threshold, and local/hub flavors
SkillAFreshness: A★ 14Claude Code +9 - 0.637score
git-practices
ovargas
Git conventions for branches, commits, and pull requests.
SkillAFreshness: A★ 14Claude Code +9 - 0.637score
domain-glossary
ovargas
Use when a consumer project has a CONTEXT.md file — defines the domain glossary convention for consistent terminology across specs, plans, and code.
SkillAFreshness: A★ 14Claude Code +9 - 0.637score
architecture-vocabulary
ovargas
Use when evaluating architecture in tech-review — provides formal vocabulary (Depth, Seam, Leverage, Locality, Adapter, Pass-through) with diagnostic…
SkillAFreshness: A★ 14Claude Code +9 - 0.637score
design-principles
ovargas
Use when writing production code — enforces dependency inversion and testable design through checkpoint questions before writing function signatures and…
SkillAFreshness: A★ 14Claude Code +9 - 0.637score
receiving-code-review
ovargas
Use when processing code review feedback from any source — enforces verify-before-implementing with no performative agreement
SkillAFreshness: A★ 14Claude Code +9 - 0.637score
subagent-driven-development
ovargas
Use when /virtual-team:implement --sdd is active — defines orchestration protocol for fresh subagent per task with two-stage review
SkillAFreshness: A★ 14Claude Code +9 - 0.637score
token-efficient
ovargas
Use when the user activates compressed output mode ("caveman mode", "terse", "compress") — drops conversational filler while preserving artifact quality.
SkillAFreshness: A★ 14Claude Code +9 - 0.634score
backlog
ovargas
Abstract backlog operations interface.
SkillAFreshness: A★ 14Claude Code +9
Signals
- Stars
- 14
- Forks
- 1
- Open issues
- 0
- Last commit (this folder)
- Oct 8, 2026 (20 days ago)
- Last release
- Oct 8, 2026 (20 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/ovargas/virtual-team
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from ovargas
- 0.642score
grounded-claims
ovargas
Use when stating any fact about the codebase, a dependency, or prior work — separates verified claims from recalled ones so wrong premises are visible before…
SkillAFreshness: A★ 14Claude Code +9 - 0.642score
positive-framing
ovargas
Use when editing client-facing IDEA and PROPOSAL prose — reframes loss-framed phrases as gain-framed and enforces section-aware verb tense rules
SkillAFreshness: A★ 14Claude Code +9 - 0.641score
skill-awareness
ovargas
Use when starting any session — maps contexts to behavioral skills that should be active
SkillAFreshness: A★ 14Claude Code +9 - 0.637score
adr-convention
ovargas
Use when creating, reviewing, or referencing architectural decision records — defines the ADR format, three-gate creation threshold, and local/hub flavors
SkillAFreshness: A★ 14Claude Code +9 - 0.637score
git-practices
ovargas
Git conventions for branches, commits, and pull requests.
SkillAFreshness: A★ 14Claude Code +9 - 0.637score
domain-glossary
ovargas
Use when a consumer project has a CONTEXT.md file — defines the domain glossary convention for consistent terminology across specs, plans, and code.
SkillAFreshness: A★ 14Claude Code +9
Cite this page
backlog-external skill. Agent Mart. https://agentmart.dev/skills/ovargas-backlog-external (last updated 2026-10-24)