Screenshot
RandallLiuXin/GodotMaker
Capture gameplay screenshots using godot-e2e for visual verification.
Agent skill
by CyberAgentGameEntertainment in CyberAgentGameEntertainment/NovaShader
Pauses Unity playback at any source file:line without editing code or recompiling, and returns a snapshot of the locals, parameters, and instance fields at that exact frame.
$ npx skills add CyberAgentGameEntertainment/NovaShader --skill uloop-pause-point -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install CyberAgentGameEntertainment/NovaShader uloop-pause-point --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/CyberAgentGameEntertainment/NovaShader.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/uloop-pause-point .claude/skills/uloop-pause-point && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "uloop-pause-point" agent skill from https://github.com/CyberAgentGameEntertainment/NovaShader/tree/main/.claude/skills/uloop-pause-point into .claude/skills/uloop-pause-point/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "uloop-pause-point", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/CyberAgentGameEntertainment/NovaShader/tree/main/.claude/skills/uloop-pause-pointType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add CyberAgentGameEntertainment/NovaShader --skill uloop-pause-point -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install CyberAgentGameEntertainment/NovaShader uloop-pause-point --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/CyberAgentGameEntertainment/NovaShader.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/uloop-pause-point .agents/skills/uloop-pause-point && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "uloop-pause-point" agent skill from https://github.com/CyberAgentGameEntertainment/NovaShader/tree/main/.claude/skills/uloop-pause-point into .agents/skills/uloop-pause-point/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "uloop-pause-point", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add CyberAgentGameEntertainment/NovaShader --skill uloop-pause-point -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install CyberAgentGameEntertainment/NovaShader uloop-pause-point --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/CyberAgentGameEntertainment/NovaShader.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/uloop-pause-point .cursor/skills/uloop-pause-point && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "uloop-pause-point" agent skill from https://github.com/CyberAgentGameEntertainment/NovaShader/tree/main/.claude/skills/uloop-pause-point into .cursor/skills/uloop-pause-point/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "uloop-pause-point", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/CyberAgentGameEntertainment/NovaShader.git --path .claude/skills/uloop-pause-point--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add CyberAgentGameEntertainment/NovaShader --skill uloop-pause-point -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install CyberAgentGameEntertainment/NovaShader uloop-pause-point --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/CyberAgentGameEntertainment/NovaShader.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/uloop-pause-point .gemini/skills/uloop-pause-point && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "uloop-pause-point" agent skill from https://github.com/CyberAgentGameEntertainment/NovaShader/tree/main/.claude/skills/uloop-pause-point into .gemini/skills/uloop-pause-point/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "uloop-pause-point", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install CyberAgentGameEntertainment/NovaShader uloop-pause-pointInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add CyberAgentGameEntertainment/NovaShader --skill uloop-pause-point -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/CyberAgentGameEntertainment/NovaShader.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/uloop-pause-point .github/skills/uloop-pause-point && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "uloop-pause-point" agent skill from https://github.com/CyberAgentGameEntertainment/NovaShader/tree/main/.claude/skills/uloop-pause-point into .github/skills/uloop-pause-point/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "uloop-pause-point", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add CyberAgentGameEntertainment/NovaShader --skill uloop-pause-point -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install CyberAgentGameEntertainment/NovaShader uloop-pause-point --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/CyberAgentGameEntertainment/NovaShader.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/uloop-pause-point .opencode/skills/uloop-pause-point && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "uloop-pause-point" agent skill from https://github.com/CyberAgentGameEntertainment/NovaShader/tree/main/.claude/skills/uloop-pause-point into .opencode/skills/uloop-pause-point/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "uloop-pause-point", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
uloop-pause-pointPauses Unity playback at any source file:line without editing code or recompiling, and returns a snapshot of the locals, parameters, and instance fields at that exact frame.
Uloop Pause Point is an agent skill from CyberAgentGameEntertainment/NovaShader. Pauses Unity playback at any source file:line without editing code or recompiling, and returns a snapshot of the locals, parameters, and instance fields at that exact frame. Use for bug investigation, PlayMode/E2E verification, checking variable values at a specific frame, or confirming that a code path executed.
Its SKILL.md is about 2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 9 other files, including reference files (for example `references/capture-modes-and-history.md`, `references/captured-variables.md` and `references/condition-triggered-pause.md`).
It sits in Game Development, covering End-to-end testing. The repository describes itself as: Multi-functional shader for the Particle System that supports Universal Render Pipeline (URP) of Unity. The licence is MIT.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 7f0a400. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are bash).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Uloop Pause Point loads about 2k tokens when it runs, and up to ~18k if it reads all its reference files. Until then it costs about 83 tokens; SKILL.md has 876 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from CyberAgentGameEntertainment/NovaShader at commit 7f0a400, republished under its MIT licence (© CyberAgentGameEntertainment). 876 words, ~1,995 tokens.
.claude/skills/uloop-pause-point/SKILL.md (or your agent's skills folder). This skill also uses 8 other files; get the full folder from GitHub.A pause point captures locals at an exact frame without a source edit. Prefer it over sleeps or after-the-fact reads when input delivery, event ordering, or transition-frame fidelity matters.
control-play-mode --action Pause, arrange the scenario while paused, and add --resume-play in step 2.uloop enable-pause-point --file Assets/Scripts/Enemy.cs --line 42 --timeout-seconds 60 --await --trigger "simulate-keyboard --action Press --key Space"
# paused the game in step 1? add --resume-play, or the input never landsCapturedVariables in the hit response first, then gather extra evidence while still paused (execute-dynamic-code, one screenshot).single-shot marker (the default) disarms after the hit; clear other modes with uloop clear-pause-point.Only CapturedVariables is evidence of the values at the patched line. Before deviating, read references/quick-check-template.md.
Tables list Unity-accepted parameters plus clear's CLI-only --file/--line; other CLI-only flags (--await, --trigger, --resume-play, --expect, capture filters) are in the references.
Enable a pause point so Unity pauses when that code path is reached, either by a named UloopPausePoint.Pause marker (Id) or by resolving a source file and line (File+Line)
| Parameter | Type | Default | Description |
|---|---|---|---|
--id | string | - | Named pause point id passed to UloopPausePoint.Pause. Mutually exclusive with File/Line |
--file | string | - | Project-relative source file path to patch a pause point into. Requires Line; mutually exclusive with Id |
--line | integer | - | 1-based source line to resolve within File. Requires File; mutually exclusive with Id |
--timeout-seconds | integer | 30 | Seconds before the enable request expires and stops pausing late hits |
--mode | enum | single-shot | Capture mode: single-shot pauses once, continuous pauses on every hit, trace records hits without pausing |
--hit-when | string | - | Conditional capture expression (<name> <op> <literal>). Only matching hits are captured; requires File and Line |
--max-history | integer | 20 | Maximum number of captured hit frames to retain (1-100) |
--max-preview-elements | integer | 10 | Maximum elements in a captured collection's preview (1-1000). Also caps previews in later pause-point-status responses; status cannot change it. |
--max-caller-frames | integer | 2 | Maximum caller stack frames recorded per hit (0-8). 0 disables capture. Also caps later pause-point-status responses; status cannot change it. |
--method | string | - | Optional method simple name or Type.Method. When set, --line resolves only inside matching methods |
--snapshot-timing | enum | pre-line | pre-line captures before the resolved line runs; post-line captures after that line's statement finished, without arming the next line |
Clear one or all named UloopPausePoint.Pause markers. The response field ClearedCount is the number of markers this call transitioned to Cleared: 0 or 1 for --id, and the number transitioned for --all. Auto-disarmed and expired markers still count as 1; the record stays readable via pause-point-status (StatusBeforeClear keeps the prior state). Clearing the marker that owns the current pause releases the Editor pause and lets the game consume any state you arranged while paused: arm the next marker first, then clear the old id, or re-arm it with --await --resume-play instead of clearing.
| Parameter | Type | Default | Description |
|---|---|---|---|
--id | string | - | Named pause point id to clear |
--file | string | - | Project-relative source file of a file:line pause point. Requires --line; mutually exclusive with --id and --all |
--line | integer | - | 1-based source line of a file:line pause point. Requires --file; mutually exclusive with --id and --all |
--all | flag | - | Clear every non-cleared pause point marker (armed, auto-disarmed, or expired) |
Register a C# expression to evaluate on each paused Play Mode step
| Parameter | Type | Default | Description |
|---|---|---|---|
--id | string | - | Unique watch expression identifier |
--expression | string | - | C# expression returning an object; UloopPausePoint.TryGetCapturedValue can read the latest raw capture |
--max-history | integer | 20 | Maximum number of watch evaluations to retain (1-100) |
Show registered watch expression values and bounded evaluation history
| Parameter | Type | Default | Description |
|---|---|---|---|
--id | string | - | Optional watch expression identifier; omit to return all watches |
Clear one or all registered C# watch expressions
| Parameter | Type | Default | Description |
|---|---|---|---|
--id | string | - | Watch expression identifier to clear |
--all | flag | - | Clear every registered watch expression |
uloop pause-point-status with no target lists every marker; inspect one with --id "<file>:<line>" or with --file/--line together (never both). await-pause-point and clear-pause-point take the same two forms; await always needs a target.
On a wait timeout, PAUSE_POINT_EXPIRED, or an enable failure, read Error.Details.Hint or the failure ErrorCode, then RecommendedNextAction. After hot reload, use --method <Type.Method> to constrain --line.
On the automatic Debug-switch warning: the pause point is already armed - do not interrupt or ask mid-flow. The switch reverts on every Editor restart, so at the next stopping point propose uloop set-code-optimization debug --startup (session-only without --startup); only if the user approves. See the troubleshooting reference.
Patches do not survive compiles or domain reloads, including a Play entry with Domain Reload enabled (the enable response warns) — re-enable afterwards. uloop compile during PlayMode also resets the session.
Physics message methods, their helpers, and pre-bound delegates can miss hits on pre-existing GameObjects; the enable response warns where detectable.
An --id marker waits on a hand-written UloopPausePoint.Pause(id) call; its hits record no CapturedVariables.
For scripts under Packages/, pass the package-id path form (Packages/<package-id>/...); physical checkout paths do not resolve.
Read the one whose trigger matches:
references/quick-check-template.md — full --trigger/--await/--resume-play loop, timeouts, hit fields.references/captured-variables.md — captures, name filters, --expect value forms, caller frames, raw values.references/capture-modes-and-history.md — modes, history, --max-history, --hit-when.references/line-placement.md — choosing the line: every-frame lines, held input, input+N frames.references/watch-expressions.md — watch rules.references/condition-triggered-pause.md — runtime-condition pauses.references/fast-progressing-games.md — freezing self-progressing games, --resume-play.references/troubleshooting.md — timeouts, missed hits, hot reload, failure codes.© CyberAgentGameEntertainment, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 8 other files (references) in .claude/skills/uloop-pause-point of CyberAgentGameEntertainment/NovaShader.
Open the folder on GitHubat commit 7f0a400
Uloop Pause Point next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Uloop Pause Point this skillCyberAgentGameEntertainment/NovaShader | 1.6k | — | ~2k | Automated safety check: Pass | MIT | |
| ScreenshotRandallLiuXin/GodotMaker | 549 | 1 repos | ~1.5k | Automated safety check: Pass | Custom licence | |
| Gm ScaffoldRandallLiuXin/GodotMaker | 549 | — | ~1.9k | Automated safety check: Pass | Custom licence | |
| Godot E2ERandallLiuXin/GodotMaker | 549 | 1 repos | ~3.9k | Automated safety check: Pass | Custom licence | |
| Live2d End To Endluomo66ccff/Amahane-Hikari-Live2D | 109 | — | ~321 | Automated safety check: Pass | Custom licence | |
| New Feature Designagentic-community/mcp-gateway-registry | 964 | — | ~18k | Automated safety check: Notes | Apache-2.0 |
RandallLiuXin/GodotMaker
Capture gameplay screenshots using godot-e2e for visual verification.
RandallLiuXin/GodotMaker
Scaffold a new Godot project: project.godot + addons + base directories + e2e/conftest.py + initial git commit.
RandallLiuXin/GodotMaker
Write and run E2E (end-to-end) game tests using the godot-e2e framework.
luomo66ccff/Amahane-Hikari-Live2D
从角色需求、候选素材和真实分层开始,完成 Live2D Cubism 绑定、动态、网页验收与可回退发布;适用于 Hikari 类项目,不把生成图或网页动画冒充已完成的模型编辑。
agentic-community/mcp-gateway-registry
Design and document new features with GitHub issue, low-level design (LLD), expert review, and testing plan.
RandallLiuXin/GodotMaker
Evaluate the current tag's quality: enforce the playable-closed-loop gate, maintain a single cross-tag e2e/ suite that always reflects the current game (add tests for new mechanics, prune tests for…
CyberAgentGameEntertainment/NovaShader
Execute C with Unity APIs when existing uloop tools cannot inspect or edit enough.
CyberAgentGameEntertainment/NovaShader
Simulate keyboard input in PlayMode through Unity Input System.
CyberAgentGameEntertainment/NovaShader
Simulate Mouse.current input in PlayMode through Unity Input System.
CyberAgentGameEntertainment/NovaShader
Control Unity Editor Play Mode. An agent skill from CyberAgentGameEntertainment/NovaShader.
CyberAgentGameEntertainment/NovaShader
Launch or restart Unity Editor. An agent skill from CyberAgentGameEntertainment/NovaShader.
CyberAgentGameEntertainment/NovaShader
Hot reload applies method-body edits and can add new methods and fields (added members are visible to edited code in the same reload within the same assembly); it can also change signatures: a…
Categories
Pauses Unity playback at any source file:line without editing code or recompiling, and returns a snapshot of the locals, parameters, and instance fields at that exact frame. Uloop Pause Point is an agent skill from CyberAgentGameEntertainment/NovaShader. Pauses Unity playback at any source file:line without editing code or recompiling, and returns a snapshot of the locals, parameters, and instance fields at that exact frame.
Uloop Pause Point fits situations like: bug investigation; playMode/E2E verification; checking variable values at a specific frame; confirming that a code path executed.
Run `npx skills add CyberAgentGameEntertainment/NovaShader --skill uloop-pause-point -a claude-code`. Or copy the skill folder (.claude/skills/uloop-pause-point in CyberAgentGameEntertainment/NovaShader) into .claude/skills/uloop-pause-point in your project. Claude Code loads it when a task matches its description.
Run `npx skills add CyberAgentGameEntertainment/NovaShader --skill uloop-pause-point -a codex`. Or copy the skill folder (.claude/skills/uloop-pause-point in CyberAgentGameEntertainment/NovaShader) into .agents/skills/uloop-pause-point in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add CyberAgentGameEntertainment/NovaShader --skill uloop-pause-point -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/uloop-pause-point, .gemini/skills/uloop-pause-point, .github/skills/uloop-pause-point and .opencode/skills/uloop-pause-point in your project.
SKILL.md names no scripts, command-line tools or credentials: Uloop Pause Point is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Uloop Pause Point is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2k tokens (SKILL.md is roughly 8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 16k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Uloop Pause Point: Screenshot (RandallLiuXin/GodotMaker, 549 stars), Gm Scaffold (RandallLiuXin/GodotMaker, 549 stars), Godot E2E (RandallLiuXin/GodotMaker, 549 stars) and Live2d End To End (luomo66ccff/Amahane-Hikari-Live2D, 109 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
CyberAgentGameEntertainment (a GitHub organization) maintains it in CyberAgentGameEntertainment/NovaShader, which has 1,622 GitHub stars. The repository holds 10 skills in this directory. The repository was last updated on October 7, 2026.
Source: CyberAgentGameEntertainment/NovaShader on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.