<< All versions

Skill v1.0.0

currentLLM-judged scan90/100
wp-media/maestro/issue-workflow
──Details
PublishedOctober 22, 2026 at 07:37 AM
Content Hashsha256:9d52c6998db97a3c...
Git SHA275537dc10d5
──Files
Files (1 file, 3.2 KB)
SKILL.md3.2 KBactive
SKILL.md · 62 lines · 3.2 KB

version: "1.0.0" name: issue-workflow description: Fetch a GitHub issue and run the full grooming → implementation → review → QA pipeline.


Issue Workflow

Config loading

Read .claude/maestro.json to resolve project-specific values:

  • {TEMP_ROOT} = .ai.temp_root
  • {REPO} = .ai.repo
  • {SLUG} = .ai.slug
  • {E2E_URL} = .ai.e2e.local_url
  • {E2E_BOOT} = .ai.e2e.boot_cmd
  • {E2E_SETTINGS} = .ai.e2e.settings_path
  • {E2E_CI} = .ai.e2e.ci_integration

Repository: {REPO} (from .claude/maestro.json)

When the user asks to work on an issue by number, such as:

  • /task 123
  • issue 123
  • #123

follow this workflow. The orchestrator runs inline in this conversation — read the user's opening message before kicking it off, since it uses that for escalation calibration (high autonomy / standard / high oversight).

Tooling

Use shell commands as the primary approach. The GitHub MCP (mcp_github_*) may be used if it is connected — but shell is always the safe fallback and is preferred for reliability.

OperationShell (primary)GitHub MCP (if connected)
Issue fetchbash .claude/skills/issue-workflow/scripts/issue-sync.sh <N>mcp_github_github_issue_read
Branch creationbash .claude/skills/issue-workflow/scripts/make-issue-branch.sh—
Staging & committinggit add / git commit—
Pushinggit push -u origin <branch>—
PR creationgh pr createmcp_github_github_create_pull_request
CI monitoringgh pr checks <PR#>mcp_github_github_pull_request_read

Steps

  1. Extract the issue number from the user's message.
  1. Fetch the issue — run bash .claude/skills/issue-workflow/scripts/issue-sync.sh <N> (or use the MCP equivalent). Read the resulting file at {TEMP_ROOT}/issues/<N>/issue.md.
  1. Check for parent epics — if Parent Epic (GitHub) or Parent Epics (Task List) has entries, sync each parent with issue-sync.sh <epic-N> and read those files at {TEMP_ROOT}/issues/<epic-N>/issue.md for context.
  1. Check if this is an Epic — if the issue has label epics, Issue Type EPIC, or has sub-issues listed, ask the user: "Work the epic as a whole, or a specific sub-issue?" If a sub-issue is chosen, sync it and proceed with the epic context in mind.
  1. Determine base branch — default is origin/develop unless the user specified otherwise.
  1. Invoke the `orchestrator` skill inline (do not spawn it as a sub-agent — it runs in this conversation context so it can read the user's intent for escalation calibration):

> Inputs: issue number N, issue file {TEMP_ROOT}/issues/<N>/issue.md, base branch

The orchestrator skill manages everything from here: calibration → grooming → spec review → dispatch → implementation → lead review → push & PR → CI → QA → finalize. It spawns the specialist agents (grooming-agent, challenger, backend-agent, frontend-agent, release-agent, lead-reviewer, qa-engineer, ticket-writer) as isolated sub-agents, but the orchestrator itself stays inline so it can surface decisions back to the user naturally.

Monitor progress at {TEMP_ROOT}/issues/<N>/workflow-log.html.

All versions