orchestrate-prep
Automates bulk preparation of Jira tickets by drawing tasks and coordinating concurrent sub-agents to handle processing.
Install
mkdir -p .claude/skills/orchestrate-prep && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/19311" && unzip -o skill.zip -d .claude/skills/orchestrate-prep && rm skill.zipInstalls to .claude/skills/orchestrate-prep
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Orchestrates bulk ticket preparation directly from the Jira source. USE FOR: batch ticket prep, bulk preparation, random ticket prep across (or within) work groups. Queries the Jira source for work groups, randomly draws unprocessed tickets matching the configured filters, dispatches up to N concurrent ticket-prep sub-agents, saves reports to a structured output directory, and reports completion back to the Jira source via the local-processing flag.Key capabilities
- →Batch prepare Jira tickets
- →Dispatch concurrent ticket-prep sub-agents
- →Save reports to structured directories
- →Sync completion status to Jira
- →Resolve work groups via fuzzy matching
How it works
The orchestrator draws unprocessed tickets from Jira, dispatches concurrent sub-agents to prepare reports, and updates the Jira source with a processed flag.
Inputs & outputs
When to use orchestrate-prep
- →Batch prepare Jira tickets for review
- →Automate bulk ticket status updates
- →Manage concurrent ticket processing tasks
About this skill
Orchestrate Prep Skill
Scope
This is an outer-control skill. Reject any invocation where
FHIR_AUGURY_AUTHORING_WORKER or another authoring callback variable is
present. The processor owns candidate scheduling and worker dispatch.
A trusted local operator may use the Dev UI at
/operations/prepare/new instead. The UI is an alternative outer client of
the same processor-owned contracts and shared publisher; this skill and the
CLI workflow below remain the supported headless fallback. The UI does not
become a worker, receive callback tokens, start/stop Aspire resources, mutate
repositories, push commits, create pull requests, or perform other GitHub
writes.
Inputs
- Ticket keys (optional) — explicit Jira keys. Omit or pass an empty list to let the Preparer create its configured scheduled run.
- Database only (optional, default
false) — suppress snapshot and site publication only when explicitly true. - Immediate-retry item IDs (optional, default none) — explicit current
erroritems whose automatic delay should be bypassed. This cannot expand the processor's total attempt budget. - Supersede reasons (optional, default none) — explicit map from item ID to a non-blank operator reason for a known non-actionable current error.
- Snapshot directory (optional, default
cache\authoring-snapshots\preparer\<runId>\). - Site output (optional, default
cache\jira-ticket-site). - Site title (optional, default
Ticket Site).
Do not accept candidate-selection filters, authored-content paths, processor database paths, concurrency controls, or worker prompts. Those concerns are owned by processor configuration.
Workflow
1. Start
For explicit keys:
fhir-augury-cli --json '{"command":"prepared-ticket-authoring","action":"start","ticketKeys":["FHIR-100","FHIR-101"],"databaseOnly":false}'
For a scheduled run:
fhir-augury-cli --json '{"command":"prepared-ticket-authoring","action":"start","ticketKeys":[],"databaseOnly":false}'
no-candidates is a successful no-op. Otherwise capture the returned
run.runId, authoringEpoch, and all item IDs.
At the processor/Orchestrator HTTP surface, a structured conflict preserves
error/detail and may provide conflictingRunIds plus a legacy-compatible
runId; the Dev UI turns those coordinates into links. The CLI retains its
existing error envelope, so use the read-only authoring list for headless
coordinate reconciliation rather than parsing prose. If transport loss makes
start outcome unknown, never replay the start. Reconcile with the ordinary
active/recent list and exact run reads, then require an explicit operator
decision before another start.
2. Poll authoritative state
fhir-augury-cli --json '{"command":"prepared-ticket-authoring","action":"status","runId":"<runId>"}'
Continue whenever run.state.isTerminal is false: queued, running,
finalizing, and recoverable error.
-
An authored item is accepted only when it is
completewith a non-emptyacceptedReceiptId. -
A
supersededitem is terminal but not authored; surface it explicitly. -
A current
erroris processor-owned automatic retry state. UseattemptsRemainingandnextAutomaticRetryAt, and keep polling by default. -
Call action
retryonly for an explicitly listed immediate-retry item that is still inerrorand hasallowedActions.canRetryNow:true. It may bypass the delay but cannot expand the budget. -
Call action
supersedeonly for an item present in the explicit reason map that is stillerror, has noacceptedReceiptId, and hasallowedActions.canSupersede:true:fhir-augury-cli --json '{"command":"prepared-ticket-authoring","action":"supersede","runId":"<runId>","itemId":"<itemId>","reason":"<explicit reason>"}' -
Never infer non-actionability, invent a reason, supersede a receipt-backed item, or treat item-level supersession as run-level supersession.
-
Never restart the whole run to retry one item.
-
Run
erroris non-terminal and recoverable; keep polling. A terminal runsupersededis failure. Return the run ID, failed or superseded item IDs, current operation IDs, accepted receipt IDs, and the processor error.
The advertised actions can become stale. After success or 409, read the
complete run again. If an immediate retry or supersede response is lost, report
outcome unknown, perform only a detail read, and never replay the mutation.
Normal success is exact run status completed. Explicit storage-only success
is exact run status completed-database-only. Either is lifecycle success
when individual items are superseded: classify the result as partial
authoring, surface every item and reason, and continue snapshot/site
publication from accepted results.
For scheduled selection, an exhausted unchanged Jira revision is not selected again automatically. A newer revision remains eligible; deliberately retrying the unchanged revision requires an explicit new run.
3. Download the canonical snapshot
Skip this step only for explicit storage-only runs.
fhir-augury-cli --json '{"command":"prepared-ticket-authoring","action":"snapshot","runId":"<runId>","snapshotPath":"cache\\authoring-snapshots\\preparer\\<runId>\\"}'
The CLI downloads the descriptor and bytes, verifies service/workflow/run and
snapshot identity, safe filenames, size, and SHA-256, then promotes one durable
pair directory. Its verified-pair.json ready manifest is written last and
binds Preparer, the coordinates, filenames, size, and both digests. Capture
the returned snapshotId, sequence, paths, and checksum. Never render from the
live processor store.
4. Publish the discussion site
dotnet run --project tools\ticket-site -- --preparer-snapshot "<snapshotPath>" --snapshot-descriptor "<descriptorPath>" --out "<siteOutput>" --title "<siteTitle>" --force
Publication success does not alter processor state. If it fails, preserve the receipts and snapshot pair, fail this outer command, and return:
runIdsnapshotId- all accepted receipt IDs
- snapshot and descriptor paths
- the publication error
Do not retry authoring or delete the snapshot because publication failed.
Successful output contains discussion\site-manifest.json. The Dev UI uses
the same publisher in-process and places its site at
/review-sites/prepare/<runId>/discussion/; processor success and publication
success remain separate.
Completion result
Return a concise structured result containing the run ID, terminal status, authoring epoch, item totals, accepted receipt IDs, superseded item IDs and reasons, snapshot ID and sequence when present, snapshot pair paths, and published site path. Processor state is the only completion authority.
When not to use it
- →Replicating data-access logic defined in ticket-prep
- →Clearing processed flags for tickets outside current scope
Prerequisites
Limitations
- →Cached directories may use deprecated naming conventions
- →Requires writable working directory on the host
How it compares
It automates bulk ticket preparation using a persistent Jira flag rather than relying on a manual markdown worklist.
Compared to similar skills
orchestrate-prep side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| orchestrate-prep (this skill) | 0 | 5mo | Review | Intermediate |
| github-project-management | 4 | 8mo | Review | Advanced |
| create-plans | 1 | 11mo | Review | Intermediate |
| issue-manage | 2 | 7mo | Review | Beginner |
Try saying
Example prompts that trigger this skill in your AI assistant.
You might also like
github-project-management
ruvnet
Comprehensive GitHub project management with swarm-coordinated issue tracking, project board automation, and sprint planning
create-plans
glittercowboy
Create hierarchical project plans optimized for solo agentic development. Use when planning projects, phases, or tasks that Claude will execute. Produces Claude-executable plans with verification criteria, not enterprise documentation. Handles briefs, roadmaps, phase plans, and context handoffs.
issue-manage
catlog22
Interactive issue management with menu-driven CRUD operations. Use when managing issues, viewing issue status, editing issue fields, performing bulk operations, or viewing issue history. Triggers on "manage issue", "list issues", "edit issue", "delete issue", "bulk update", "issue dashboard", "issue history", "completed issues".
phasing
WellApp-ai
Group slices into risk-optimized phases with timeline generation
code-task-generator
mikeyobrien
Generates structured .code-task.md files from descriptions or PDD implementation plans. Auto-detects input type, creates properly formatted tasks with Given-When-Then acceptance criteria.
flow-next
gmickel
Manage .flow/ tasks and epics. Triggers: 'show me my tasks', 'list epics', 'what tasks are there', 'add a task', 'create task', 'what's ready', 'task status', 'show fn-1-add-oauth'. NOT for /flow-next:plan or /flow-next:work.