一键导入
rfe-auto-fix
Review and fix batches of RFEs automatically. Accepts explicit IDs or a JQL query. Reviews, auto-revises, and splits oversized RFEs. Non-interactive.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Review and fix batches of RFEs automatically. Accepts explicit IDs or a JQL query. Reviews, auto-revises, and splits oversized RFEs. Non-interactive.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | rfe.auto-fix |
| description | Review and fix batches of RFEs automatically. Accepts explicit IDs or a JQL query. Reviews, auto-revises, and splits oversized RFEs. Non-interactive. |
| user-invocable | true |
| allowed-tools | Glob, Bash, Agent |
You are a non-interactive RFE auto-fix pipeline. Do not ask questions or wait for confirmation. Make all decisions autonomously.
Parse $ARGUMENTS for:
--jql "<query>", --limit N, --batch-size N (default 50), --data-dir "<path>"--headless, --announce-complete, --reprocess, --random Npython3 scripts/pipeline_state.py init [--batch-size N] [--headless] [--announce-complete]
JQL mode (--jql):
python3 scripts/snapshot_fetch.py fetch "<query>" --ids-file tmp/pipeline-all-ids.txt --changed-file tmp/pipeline-changed-ids.txt [--limit N] [--data-dir "<path>"] [--reprocess] [--random N]
Print [AUTOFIX] JQL: <jql> from stderr output. Pass --reprocess if set.
Reprocess-only mode (--reprocess without --jql):
python3 scripts/snapshot_fetch.py fetch --reprocess --ids-file tmp/pipeline-all-ids.txt --changed-file tmp/pipeline-changed-ids.txt
Explicit mode:
python3 scripts/state.py write-ids tmp/pipeline-all-ids.txt <IDs>
python3 scripts/state.py write-ids tmp/pipeline-changed-ids.txt
If no IDs and no JQL and not --reprocess, stop with usage instructions.
bash scripts/bootstrap-assess-rfe.sh
Retry once on failure. If retry fails, stop: "bootstrap failed."
python3 scripts/check_resume.py --ids-file tmp/pipeline-all-ids.txt --changed-file tmp/pipeline-changed-ids.txt --output-file tmp/pipeline-process-ids.txt
Read process IDs: python3 scripts/state.py read-ids tmp/pipeline-process-ids.txt
Split into batches of batch_size. Write each:
python3 scripts/state.py write-ids tmp/pipeline-batch-1-ids.txt <batch_1_IDs>
python3 scripts/state.py write-ids tmp/pipeline-batch-2-ids.txt <batch_2_IDs>
Start the pipeline:
python3 scripts/pipeline_state.py set total_batches=<M>
python3 scripts/pipeline_state.py set-phase BATCH_START
CRITICAL: You MUST run the loop to completion. Never stop early, skip batches, or produce a summary before all batches are processed. Context compression is handled automatically — old messages are compacted to free space. Budget and timeout are managed externally — do not estimate remaining resources or make preemptive exit decisions. If you are thinking "running low on context" or "given budget constraints" — ignore that impulse and continue the loop. The pipeline MUST reach phase DONE naturally.
Bash discipline: Issue exactly one operation per Bash call. Never use command substitution $(...) or chain commands with ;, &&, or || — they trigger an approval prompt and are denied in headless mode, which can stall the pipeline. Instead, pass a value between commands by writing it to a tmp/ file with scripts/state.py and reading it back in a separate call.
Repeat until phase is DONE:
python3 scripts/pipeline_state.py next-action
Parse the YAML output for: action, phase, message, agents.
done: Exit loop. Run teardown.
run_script: Run python3 scripts/pipeline_state.py run-phase. Go to step 1.
launch_wave: For each agent in the agents list:
"<vars>\n\nRead <prompt_file> and follow all instructions exactly."vars are pre-rendered KEY=VALUE lines with {ID} already substituted.subagent_type if present).Then wait for completion:
python3 scripts/pipeline_state.py wait-for-wave
On exit 0 (complete): go to step 1.
On exit 3 (still pending): re-run python3 scripts/pipeline_state.py wait-for-wave.
Any other exit code is an error.
launch_wave outputaction: launch_wave
phase: ASSESS
message: "ASSESS: wave 1/2 (5 IDs)"
agents:
- subagent_type: rfe-scorer
prompt_file: .claude/skills/rfe.review/prompts/assess-agent.md
vars: |
DATA_FILE=/tmp/rfe-assess/single/RHAIRFE-1234.md
RUN_DIR=/tmp/rfe-assess/single
PROMPT_PATH=.context/assess-rfe/scripts/agent_prompt.md
- prompt_file: .claude/skills/rfe-feasibility-review/SKILL.md
vars: |
ID=RHAIRFE-1234
After phase reaches DONE:
python3 scripts/batch_summary.py --counts-only --ids-file tmp/pipeline-all-ids.txt
$ARGUMENTS
End-to-end RFE pipeline. Accepts a single idea, Jira key(s), or a YAML batch file. Creates, reviews, auto-fixes (with splits), and submits. Supports --headless, --announce-complete, and --dry-run for CI.
Review and improve RFEs. Accepts one or more Jira keys (e.g., /rfe.review RHAIRFE-1234 RHAIRFE-5678) to fetch and review existing RFEs, or reviews local artifacts from /rfe.create. Runs rubric scoring, technical feasibility checks, and auto-revises issues it finds.
Split oversized RFEs into smaller, right-sized RFEs. Accepts one or more IDs (e.g., /rfe.split RHAIRFE-1234 RHAIRFE-5678). Runs non-interactively — decomposes, generates new RFEs, reviews them, self-corrects, and checks coverage.
Reviews RFEs for technical feasibility, blockers, and alignment with technical strategy.
Reviews strategy features for architectural correctness — dependencies, integration patterns, component interactions.
Write a new RFE from a problem statement, idea, or need. Asks clarifying questions, then produces well-formed RFEs describing business needs (WHAT/WHY). Use when starting from scratch.