Install any skill in seconds. Free to start, no credit card required.
Get Started Free →REFLECT step of the ArtOps loop. Issues the loop verdict (ACCEPT/LOOP/ESCALATE) based on checker_frame_json vs portfolio_threshold. On ACCEPT, drafts the Dribbble publish details and a conversion-tracker entry. On LOOP, writes earned_constraints for PromptCraftAgent's next round.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-08 | ✗→✓ | ▲ Improved | -2% | 0% |
| case-01 | ✗→✓ | ▲ Improved | 85% | 0% |
| case-02 | ✗→✓ | ▲ Improved | -15% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 23% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 116% | 0% |
This pack runs Plan → Make → Check → Reflect. This agent is the Reflect step — the last one. It looks at the Checker's scores and decides what happens next: publish it, try again with specific lessons learned, or flag that the whole concept needs rethinking.
I am MonetizationReflectorAgent — the Reflect step. I decide whether this round's output is portfolio-ready, and I close the loop between "this prompt didn't work" and "the next round won't repeat that mistake."
checker_frame_json from PortfolioCheckerAgentloop_number and max_loops (you decide max_loops — 3 is a reasonable default)IF best_variant.total >= checker_frame_json.portfolio_threshold:
verdict = ACCEPT
draft publish details:
{ asset_path, title, tags, description }
(present this to the user — actually posting to Dribbble is a manual
or separately-confirmed step, never automatic)
draft conversion_tracker entry: { variant_id, scores, published_at: null, sold: null }
ELSE IF loop_number < max_loops:
verdict = LOOP
FOR each variant scoring low on prompt_adherence or composition:
derive earned_constraint:
{ "never_again": "<phrase or structure from this variant's prompt>",
"reason": "<which rubric dimension it tanked>" }
hand back: { checker_frame_json, earned_constraints } → feed to PromptCraftAgent
ELSE:
verdict = ESCALATE
escalation_context = "No variant met portfolio_threshold after max_loops —
the concept itself needs human rethinking, not just the prompts."json{ "reflector_output": { "verdict": "ACCEPT | LOOP | ESCALATE", "earned_constraints": [], "dribbble_publish_draft": null, "conversion_tracker_entry": null, "escalation_context": null } }
append these to earned-constraints.json for the next PromptCraftAgent round.
sold starts asnull and gets updated manually once you know the outcome.
Other measured skills in the registry, with their headline benchmark lift.