From devflow
Backend operations dispatcher for issue tracking (Jira, GitLab, GitHub) and VCS (GitHub PRs, GitLab MRs). Loads DevFlow configuration, validates parameters, and executes the correct MCP tool calls. Use this when any workflow step needs to perform backend operations like fetching issues, creating issues, transitioning status, creating branches, or creating PRs/MRs. Never invoked directly by users.
npx claudepluginhub joshuarweaver/cascade-code-general-misc-4 --plugin codingthefuturewithai-claude-code-primitivesThis skill uses the workspace's default tool permissions.
Backend operations dispatcher for issue tracking and VCS.
Creates isolated Git worktrees for feature branches with prioritized directory selection, gitignore safety checks, auto project setup for Node/Python/Rust/Go, and baseline verification.
Executes implementation plans in current session by dispatching fresh subagents per independent task, with two-stage reviews: spec compliance then code quality.
Dispatches parallel agents to independently tackle 2+ tasks like separate test failures or subsystems without shared state or dependencies.
Backend operations dispatcher for issue tracking and VCS.
Say exactly: "SKILL INVOKED: build-ops"
Load DevFlow configuration to determine backends and extract parameters.
Step 1: Find config file
~/.claude/plugins/config/devflow/config.md/devflow-setup to configure backends."Step 2: Parse config and extract values
Read the config file and extract ALL of the following:
| Variable | Config Key | Required For |
|---|---|---|
| ISSUES_BACKEND | issues.backend | Issue operations (jira, gitlab, github, none) |
| ISSUES_ENABLED | issues.enabled | Whether issues are active |
| VCS_BACKEND | vcs.backend | PR/MR operations (github, gitlab) |
| CLOUD_ID | cloudId | Jira/Confluence calls |
| DEFAULT_PROJECT | default_project | GitLab calls |
Store ALL extracted values for downstream use. Do NOT discard any.
Before ANY MCP tool call or CLI command in this skill, validate EVERY parameter.
For EVERY parameter on EVERY call, verify where the value came from:
| Source | Allowed? | Action |
|---|---|---|
| Value read from plugin config in this session | YES | Use it |
| Value returned from a PREVIOUS call to the SAME backend's MCP server | YES | Use it |
| Value provided by the user in this conversation | YES | Use it |
| Value from a DIFFERENT backend's MCP server or CLI | NO | STOP. Backends are isolated. Say: "I cannot use [value] from [source backend] for [target backend]. These backends are completely independent." |
| Value that "looks right" or was inferred | NO | STOP. Say: "I need the actual [parameter name]. Where should I get this value?" |
| Anything else | UNKNOWN | ASK the user. Do not proceed without a verified value. |
Identifiers NEVER cross backend boundaries:
Content (titles, descriptions, text) CAN flow between backends. Identifiers CANNOT.
| Parameter | ONLY Source | NEVER |
|---|---|---|
| cloudId | Config cloudId OR getAccessibleAtlassianResources response | Guess, infer, construct |
| issueKey | User input $ARGUMENTS | Construct from other data |
| project_id | Config default_project OR list_projects + user selection | Guess from repo name |
| transitionId | getTransitionsForJiraIssue response | Hardcode or guess |
Route to the correct reference file based on config and requested operation.
| Requested Operation | Config Match | Reference |
|---|---|---|
| Fetch, search, or view issue | ISSUES_BACKEND = "jira" | references/issues-jira.md |
| Fetch, search, or view issue | ISSUES_BACKEND = "gitlab" | references/issues-gitlab.md |
| Fetch, search, or view issue | ISSUES_BACKEND = "github" | references/issues-github.md |
| Create issue | ISSUES_BACKEND = "jira" | references/issues-jira.md |
| Create issue | ISSUES_BACKEND = "gitlab" | references/issues-gitlab.md |
| Create issue | ISSUES_BACKEND = "github" | references/issues-github.md |
| Update or transition issue | ISSUES_BACKEND = "jira" | references/issues-jira.md |
| Update or transition issue | ISSUES_BACKEND = "gitlab" | references/issues-gitlab.md |
| Close issue | ISSUES_BACKEND = "github" | references/issues-github.md |
| Any issue operation | ISSUES_BACKEND = "none" | Skip. Say: "Issue tracking disabled. No external tracker configured." |
| Requested Operation | Config Match | Reference |
|---|---|---|
| Create PR, view PR, link issue | VCS_BACKEND = "github" | references/vcs-github.md |
| Create MR, view MR, link issue | VCS_BACKEND = "gitlab" | references/vcs-gitlab.md |
| Requested Operation | Config Match | Reference |
|---|---|---|
| List/select Jira projects | ISSUES_BACKEND = "jira" | references/issues-jira.md § Project Discovery |
| List/select GitLab projects | ISSUES_BACKEND = "gitlab" | references/issues-gitlab.md § Project Discovery |
| Get current GitHub repo | ISSUES_BACKEND = "github" | references/issues-github.md § Repository Context |