Install any skill in seconds. Free to start, no credit card required.
Get Started Free →shawndelainebellazanloop/monetization-reflector-agent
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.
Passed 21 of 25 test cases with the skill, and 5 of 25 without it.
and 19 more in the full report
18 fixed3 passed either way2 still failing2 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 18 test cases the skill fixed. Same model, same prompt, with and without the skill.
What four exact property keys structure the conversion_tracker_entry object created when an asset reaches ACCEPT?
| Checked | Without skill | With skill |
|---|---|---|
| The response includes variant_id, scores, published_at, and sold as keys in conversion_tracker_entry. | Missed | Passed |
The instructions your model reads when the skill loads.
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 —
test cases passed, vs 5 / 25 without
More skills from the same source and nearby in the registry, with their headline benchmark lift.