yongkyuns/noon/noon-authoring
Claude Code and agent skill by yongkyuns/noon
- community
- ext:[{"type":"hook","description":"Pre/post lifecycle hooks"}]
Checking that the SKILL.md file is still in the repository.
Author and review Noon animation scenes using capability-qualified ManimCE-style Python or the shared Rust API. Use when a user asks to create, explain, repair, or verify a Noon animation, or when scene source imports noon. Not a generic ManimGL skill or a contract for modifying Noon internals.
Install
npx vskill@latest install yongkyuns/noon/noon-authoringSemi-extensibleMentions customization, but needs skill-specific knowledge. Read the extensible skills standard
SKILL.md
Noon authoring
Create understandable animations using the supported Noon surface, and distinguish source that looks plausible from output that has actually been rendered and checked. For engine changes, follow the repository's AGENTS.md; this skill is for authoring scenes and does not replace docs/architecture.md.
Discover before writing
Locate the user's trusted Noon checkout. Run commands below from its root, or use an absolute path to its scripts. A copy of this skill alone is not an installed Noon runtime. Never install another package named noon as a substitute.
The command returns JSON from the checkout's existing inventories without importing Manim, importing the Python scene facade, executing scene code, or starting a renderer. Read policy.reason, policy.dependency, policy.evidence, ready_examples, and the examples' separate parity_status and qualification_mode fields. Unknown queries or invalid inventories fail with nonzero status; do not ignore that failure.
exported is static discovery, not complete behavioral support. A ready example can still be a parity candidate. The report is a source inventory, not a guarantee about an installed binary, the current GPU, or a live session. See capabilities.
Author and inspect
- State the important visual states and transitions: what appears, what moves,
what transforms, and what disappears. Include labels, layout, and holds.
- Choose a relevant existing example, query its current
classification, and read its actual source. Retain its provenance when reusing it. Prefer a narrow proven pattern to an unsupported general recipe.
- Write ordinary
from noon import *Python for the supported CE-like surface, or
use the current shared Rust API. Keep the editable source as the deliverable. Do not import manimlib, invoke manim/manimgl, or silently switch renderers.
- Prefer the qualified local preview CLI or configured Noon MCP tools below when
available. Inspect the intended initial state, transition interiors, completion boundaries, and final membership. A final blank frame after FadeOut can be correct; a successful run alone is not visual verification. Apply the verification checks.
- Revise source based on actual diagnostics and frames. Preserve the original
mathematical and animation semantics; never conceal an unsupported operation by replacing MathTex with Text or removing an updater.
Qualified local preview route
The checkout-bound tooling package is private and is not published to npm. Install only its committed lockfile, with lifecycle hooks disabled:
The preview path also needs the current browser package and the pinned local Docker runtime. From the trusted checkout:
The setup helper prints the absolute runtimeConfig path. It pins the Playwright container/runtime and Pyodide payload, verifies their identities, and does not make the model choose Docker images, executables, checkout paths, seccomp profiles, or commands. Preview execution remains local, bounded, and --network=none inside the qualified Docker boundary.
For a one-shot still-frame run, use the shared CLI over AgentPreviewService:
The manifest and PNGs report observed source/build/requested-time/published-time/ backend provenance. Sampling is forward-only; use a fresh run after source edits. Do not claim arbitrary seek or persistent live-object editing.
When an MCP host is configured to launch tools/noon-mcp/src/server.mjs with NOON_REPO, NOON_PYTHON, and NOON_PREVIEW_RUNTIME_CONFIG as trusted startup environment, use these tools rather than inventing a second execution route:
noon_capabilities— static source/policy discovery, not a renderer claim.noon_reference— hash-checked ready example source.noon_open_scene— opens an isolated session and returns the initial PNG plus
coherent metadata.
noon_sample_frames— advances through nondecreasing times; at most 31 samples
in one call, with the shared retained-frame budget enforced across calls.
noon_inspect— metadata-only inspection of the last coherent retained state.noon_close_scene— closes the owned session; the handle becomes stale.
Session handles are transport-scoped capabilities. Treat stale/cross-scope errors, source failures, cancellation, and quota failures as real diagnostics. Cancellation, disconnect, and shutdown retire owned sessions/containers. Do not retry by bypassing the service or by starting an unrestricted browser.
If Docker or the built browser package is unavailable, fall back to capability/source review and say that rendered verification was not performed. The older local playground remains useful for interactive development, but it is not a substitute for claiming qualified CLI/MCP evidence:
Distribution identity
For reproducible setup/evaluation work, generate the checkout-bound agent manifest:
It records the private package/lock identities, direct dependency integrity/licenses, skill hash/version, capability-export provenance, runner source hashes, pinned Playwright/Pyodide identities, and environment requirements. A source-package manifest intentionally reports no loaded runtime build identity; actual preview results must supply the build identity observed by the running browser worker. See THIRD_PARTY_NOTICES.md for runtime provenance/license notices.
Semantic boundaries
Read authoring constraints before using text/math, updaters, seeking, or Rust live changes. ManimCE is the compatibility reference; ManimGL APIs are not interchangeable. An import-only change is a goal for supported behavior, not a promise that every Manim recipe works.
Use authored scene time rather than wall-clock time. Python may continue authoring after a logical segment-completion barrier; arbitrary callbacks can require host execution. Never assume the whole future Python program was statically compiled. Rust shares the scene semantics, not Python's interpreter: new Rust source requires compilation or an explicit existing hot-reload mechanism.
Completion report
Return the source, exact validation performed, observed frames/artifacts when available, and remaining limitations. Keep declared compatibility, tests actually run, and visual observations separate. No automatic fixes, hidden backend changes, or claims of full parity from class names or an uninspected final image.
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/noon-authoring/SKILL.md
Popularity
- Repository stars
- 135
- Repository forks
- 7
- 7-day trend score
- 0
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Extension points
hookPre/post lifecycle hooks
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/yongkyuns/noon/noon-authoring)