mcpField
P
pipeline-reflection-ux

pipeline-reflection-ux

github.com/oimiragieoAgent workflows4442 installsUpdated 17w ago
Repository

About pipeline-reflection-ux

A skill for keeping pipeline and reflection output concise and auditable. It specifies narration order, completion reporting, notification batching, and checks that guardrail behavior remains unchanged.

Key features

  1. 01Make Step 0 narration visible
  2. 02Report reflection completion and outcome
  3. 03Batch late-agent notifications
  4. 04Preserve guardrail semantics
  5. 05Check tests and debug-log counts

Use cases

  1. 01Make reflection spawning visible in routing
  2. 02Report reflection results with a path
  3. 03Reduce noise from late background agents
  4. 04Verify pipeline changes preserve guardrails

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/oimiragieo/agent-studio --skill pipeline-reflection-ux

After installing, type/pipeline-reflection-uxin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

commands/
pipeline-reflection-ux.md
hooks/
post-execute.cjs
pre-execute.cjs
references/
research-requirements.md
rules/
pipeline-reflection-ux.md
schemas/
input.schema.json
output.schema.json
scripts/
main.cjs
templates/
implementation-template.md

Details

From the project README

Pipeline Reflection UX

Use this skill to keep pipeline/reflection output concise, explicit, and low-noise.

Workflow

  1. Make Step 0 visible in router narration.
  2. Emit Step 0 completion before TaskList().
  3. Emit a one-line reflection outcome with report path.
  4. Batch late post-pipeline notifications into one summary.
  5. Keep guardrail semantics unchanged (block stays block).

Required Checks

  • Add/adjust tests before behavior changes.
  • Confirm no regression in routing/taskupdate/read-safety tests.
  • Verify debug-log counts improve for repeated violations/noise.

Iron Laws

  1. ALWAYS emit Step 0 narration (pending reflections count) before any TaskList() call — omitting the narration makes reflection spawning invisible to the user and breaks the pipeline audit trail.
  2. NEVER batch reflection spawns with tool calls that depend on their results — reflection agents must complete before the router proceeds to routing; mixing them creates race conditions.
  3. ALWAYS emit a one-line reflection outcome (report path + summary) after reflection-agent completes — without this, the user cannot distinguish a completed reflection from a skipped one.
  4. NEVER emit one status message per late-completing background agent — per-agent late notifications create noise storms; batch all late completions into one summary after drain gate passes.
  5. ALWAYS preserve existing block semantics when modifying pipeline narration — changing guardrail modes while fixing UX copy conflates two concerns and masks the behavioral impact of either change.

Anti-Patterns

Anti-PatternWhy It FailsCorrect Approach
Omitting Step 0 narrationReflection spawning invisible to user; pipeline audit trail brokenAlways emit "Step 0: N pending reflections..." before spawning reflection agents
Missing one-line reflection outcomeUser cannot distinguish completed reflection from skipped oneEmit report path + one-line summary after every reflection-agent completion
One status message per late-completing agentCreates noise storms; clutters pipeline outputBatch all late completions into one summary message after drain gate passes
Changing guardrail modes while fixing UX copyConflates two changes; behavioral impact of each masked in reviewSeparate UX copy changes from guardrail mode changes in distinct commits
Emitting Step 0 completion after TaskList()Violates router output contract; narration out of sequenceEmit "Step 0 complete." before calling TaskList(), not after

Memory Protocol (MANDATORY)

Before starting: Read .claude/context/memory/learnings.md

After completing:

  • New pattern → .claude/context/memory/learnings.md
  • Issue found → .claude/context/memory/issues.md
  • Decision made → .claude/context/memory/decisions.md

ASSUME INTERRUPTION: If it's not in memory, it didn't happen.

References

  • Detailed UX review: references/ui-reflection-review.md
  • Troubleshooting runbook: .claude/docs/TROUBLESHOOTING.md
  • Task tracking protocol: .claude/docs/@TASK_TRACKING_GUIDE.md

Comments

Markdown supported