Skip to content

rfe-auto-fix

Reviews, revises and splits batches of work items non-interactively. It takes explicit IDs or a JQL query and makes every decision autonomously.

Where /rfe-review hand-rolls its polling, auto-fix delegates control to scripts/pipeline_state.py — a 31-phase state machine running BATCH_START → FETCH → SETUP → ASSESS → REVIEW → REVISE → FIXUP, the REASSESS_* block, COLLECT, the SPLIT_* block, BATCH_DONE, ERROR_COLLECT, REPORT, DONE. The skill loops on next-action and executes what it returns: run_script runs a phase, launch_wave launches the listed background agents with pre-rendered variables, and every wave is followed by the blocking wait-for-wave barrier (exit 3 means re-run it).

In JQL mode snapshot_fetch.py fetches only what is new or changed since the last run, so an idle re-run legitimately processes zero IDs and goes straight to done. The loop must reach DONE on its own — the skill body explicitly tells the model to ignore any impulse to stop early for budget, and a Stop hook re-enters the loop if a turn ends first.

Plugin: rfe-creator | User-invocable

Contract

Skill Contract canonical-skill-v1

Review, revise, and split batches of work items of the resolved type non-interactively through a pipeline state machine.

Identity

Functions
orchestrate
Success
  • Processes every ID through assess, review dimensions, review, revise, re-assess, and split phases until DONE.
  • Emits a run report and a counts summary.

Optimization Targets

task_success judge SKILL.md @ c6eb99d

Invariants

Must Preserve
  • Run the dispatch loop to completion — never exit early or skip batches.
  • After launching a wave of agents, the next call must be wait-for-wave.
Fixed Context
toolsGlob, Bash, Agent
clipython3
knowledgerepository_contentpublic, task_inputtask_private, tool_outputtask_private

Traceability

Diagram

rfe-auto-fix diagram

Arguments

/rfe-auto-fix [--type <t>] [--jql "<query>"] [--limit N] [--batch-size N] [--data-dir <path>] [--headless] [--announce-complete] [--reprocess] [--random N] [ID ...]
Argument Required Default Description
ID - Explicit item IDs to process. Omit when using --jql or --reprocess.
--type rfe Work-item type to process. An explicit --type always wins; a headless run with no type and no IDs resolves to rfe.
--jql - Fetch the batch from Jira by JQL. The query's project is cross-checked against the resolved type's binding.
--limit - Cap the number of issues the JQL fetch returns.
--batch-size 50 Number of IDs processed per batch.
--data-dir - Alternate data directory for the snapshot fetch.
--headless - Non-interactive run (the default posture for this skill).
--announce-complete - Print a completion marker when the pipeline reaches DONE.
--reprocess - Reprocess already-seen issues instead of only new or changed ones. Works with or without --jql.
--random - Sample N issues at random from the fetch result.

Usage

/rfe-auto-fix RHAIRFE-1595 RHAIRFE-1602
/rfe-auto-fix --jql "project = RHAIRFE AND status = New" --limit 20
/rfe-auto-fix --type initiative --reprocess --batch-size 10