write-a-saga

Author saga test cases capturing multi-step UI transitions as golden frames or animated APNG goldens.

Updated Jun 12, 2026
One-click install
npx skills add https://github.com/missingbulb/GoogleCalendarEventCreator --skill write-a-saga-missingbulb
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: write-a-saga
Source: https://github.com/missingbulb/GoogleCalendarEventCreator/tree/main/.claudinite/shared/packs/executable-requirements/skills/write-a-saga
Command: npx skills add https://github.com/missingbulb/GoogleCalendarEventCreator --skill write-a-saga-missingbulb

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Proving that a UI behaves correctly across a sequence of transitions — where causality and timing matter — cannot be done with single static screenshots. This Skill defines how to write saga cases that capture multi-step stories as ordered golden frames or one animated APNG golden, keeping them deterministic and pixel-exact. ## Core Features & Use Cases - Step-based storyboards: Write a saga as an ordered list of steps, each with a user-facing caption and an action against the fake world, producing one golden frame per step (<slug>.<id>.step-NN.png). - Animated APNG goldens: Record the real UI moving between steps as a single lossless APNG per leaf, with dead-delay stripping, frame deduplication, and gesture ring markers. - Determinism guarantees: Drive the same real entry point as other test kinds, keep byte-identity comparison, and write per-frame expected | actual | diff output on mismatch. - Use Case: When a requirement states "a message sent before I arrived never appears; one sent after I arrived does", author a 3–6 step saga that proves the transition rather than decomposing it into independent resting states. ## Quick Start Write a saga case under dev/requirements/saga that proves the transition described in my requirement, with captions and golden frames for each step.

Frequently Asked Questions about write-a-saga

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I write a saga test case for UI transitions?▼

Write a saga as an ordered list of steps, each with a caption narrating the story in user terms plus an action against the fake world. The runner captures one golden frame per step, and all frames must be pixel-exact like any other golden.

When should I use a saga instead of single golden frames?▼

Use a saga when the requirement is the story itself — what arriving, acting, or time passing changes. Single frames prove resting states; sagas prove transitions and causality that cannot be decomposed without losing the claim.

How do animated APNG goldens stay deterministic?▼

Render time is virtual, so scripted waits produce identical frames that get deduplicated and clamped. APNG encoding is lossless unlike GIF, preserving byte-identity comparison, and mismatches write per-frame expected, actual, and diff images.

Why must a saga drive the real entry point?▼

A saga must exercise the same shipped app shell or render function as every other test kind. Otherwise it becomes a scripted slideshow of hand-arranged states that proves nothing about real behavior.

How many steps should a saga case have?▼

Keep sagas to 3–6 frames. A longer story usually indicates two separate sagas, since each saga is one leaf whose frames are that single case's expected output.