Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add Milad-Akarie/cue --skill cue-animationsgit clone --depth 1 https://github.com/Milad-Akarie/cueWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/milad-akarie/cue/cue-animations)<a href="https://agentmods.dev/skills/milad-akarie/cue/cue-animations"><img src="https://agentmods.dev/badge/skills/milad-akarie/cue/cue-animations/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/milad-akarie/cue/cue-animations"><img src="https://agentmods.dev/badge/skills/milad-akarie/cue/cue-animations.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00098 | $0.07037 |
| Opus 5.5 | $0.00039 | $0.02815 |
| Sonnet 5.5 | $0.00020 | $0.01407 |
| Haiku 4.5 | $0.00010 | $0.00704 |
Grade A, and why
cue-animations scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 788 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Cue Animation Skill
Core Mental Model
Cue separates animation into four concerns:
| Piece | Role |
|---|---|
Cue |
When to animate (the trigger) |
Actor |
What is animated (wraps the child) |
Act |
Which property changes (fade, slide, scale, etc.) |
CueMotion |
How it moves (spring preset or timed curve) |
General Flutter Conventions (Always Apply)
- Always create
Widgetclasses, never helper functions that return widgets. UseStatelessWidgetorStatefulWidgetfor any reusable or extracted UI — notWidget _buildFoo()methods or top-level functions. - Use shorthand constructors everywhere, not fully qualified class constructors:
// Padding / EdgeInsets
.all(16) not EdgeInsets.all(16)
.only(top: 8) not EdgeInsets.only(top: 8)
.symmetric(h: 16) not EdgeInsets.symmetric(horizontal: 16)
.fromLTRB(...) not EdgeInsets.fromLTRB(...)
// BorderRadius
.circular(12) not BorderRadius.circular(12)
.vertical(top: .circular(16)) not BorderRadius.vertical(...)
// Alignment
.topLeft / .center / .bottomRight not Alignment.topLeft
// MainAxisAlignment / CrossAxisAlignment / MainAxisSize
.center / .spaceBetween / .min not MainAxisAlignment.center
// BoxFit / Clip / TextOverflow
.cover / .antiAlias / .fade not BoxFit.cover
// Colors
Colors.transparent / Colors.white (unchanged — no shorthand available)
Step-by-Step Procedure
- Pick the trigger — choose the right
Cuefactory for the use case. - Set the motion — always provide
motion:onCue(or onActor/Actfor overrides). - Wrap children in
Actor— or useCue(acts: [...])for a single child. - Choose acts — use shorthand factories (
.fadeIn(),.slideY(),.scale(), etc.). - Add stagger if needed — use
delay:onActorto offset multiple children.
Trigger Reference
// One-shot entrance when widget mounts
// Supports: repeat, reverseOnRepeat, repeatCount, onEnd
Cue.onMount(
motion: .smooth(),
repeat: false, // loop the animation
reverseOnRepeat: false, // ping-pong when looping
repeatCount: 3, // finite loop count (null = infinite)
onEnd: (forward) { ... }, // fires on completion in either direction
acts: [...],
child: child,
)
// Toggled by a boolean — forward on true, reverse on false
Cue.onToggle(toggled: isExpanded, motion: .smooth(), child: child)
// Restarts forward every time value changes
Cue.onChange(value: currentTab, motion: .smooth(), fromCurrentValue: true, child: child)
// Driven by pointer hover
Cue.onHover(motion: .interactive(), child: child)
// Driven by focus
Cue.onFocus(motion: .smooth(), child: child)
// Scrubbed continuously as the widget travels through the viewport (parallax-style).
// Progress = 0 when leading edge enters bottom of viewport, 1 when it reaches the top.
// Prefer non-overshoot motions (.smooth, .linear, .easeOut) — springs with bounce
// look jarring when scrubbed.
Cue.onScroll(child: child)
// Plays once when widget scrolls into view; stays complete. Does NOT reverse on scroll-out.
// Until revealed it scrubs like onScroll; once visible it plays forward with its motion.
// Use enabled: false to skip the animation and jump to completed state.
Cue.onScrollVisible(enabled: true, child: child)
// Scrubbed by external progress (e.g. drag)
Cue.onProgress(progress: dragNotifier, child: child)
// Index-based (page carousels, staggered lists)
// Works with CuePageController, CueTabController, CueIndexController
Cue.indexed(controller: cuePageController, index: index, child: child)
// Fully imperative
Cue(controller: myController, child: child)
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2mo ago First seen · 788 lines · 98 tokens per session scan A e6c9a68d5a99
cue-animations is a skill published in the GitHub repository Milad-Akarie/cue (121 stars, last pushed 1mo ago), licensed MIT. It adds 98 tokens to every session and 7,037 once invoked, about $0.0004 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
cue-animations compared with skills from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| cue-animationsMilad-Akarie/cue | Skill | 121 | 1mo ago | MIT | A | 98 | Claude Code, Codex |
| display-glasses-with-jetpack-compose-glimmerandroid/skills | Skill | 10k | yesterday | Apache-2.0 | A | 112 | Claude Code |
| glance-canonical-layoutsandroid/skills | Skill | 10k | yesterday | Apache-2.0 | A | 56 | Claude Code |
| expo-design-systemexpo/skills | Skill | 4.1k | yesterday | MIT | A | 197 | Claude Code, Codex |
| flutter-build-responsive-layoutflutter/agent-plugins | Skill | 3.2k | 2d ago | BSD-3-Clause | A | 51 | Claude Code |
| omh-apple-designrlaope/oh-my-hermes | Skill | 5.2k | yesterday | MIT | A | 83 | Claude Code, Codex |
| axiom-audit-liquid-glassCharlesWiltgen/Axiom | Skill | 1.3k | yesterday | MIT | A | 32 | Codex |