audit-agents
FreeAudit or rewrite AGENTS.md so it holds only lasting principles. Run it only when the user asks for it by name; never invoke it on your own.
The English summary is being prepared. Showing the original description.
Architecture rules for GPU rendering with TypeGPU/WebGPU — games, data visualisation, canvases, any app that draws with the GPU. Use when adding or changing passes, shaders, buffers, textures, pipelines, frame orchestration, GPU resource lifetimes, or checks that judge rendered output.
The English summary is being prepared. Showing the original description.
Review the instructions the agent will receive before you install.
The stack is TypeGPU on WebGPU: typed schemas, bind group layouts and pipelines, with WGSL where it's clearer. Don't add a second rendering library.
For 3D models and textures, use Blender if it's available. Prefer a Blender MCP server when one is installed; otherwise run headless (blender -b --python script.py). Keep the scripts in the repo, so every asset is reproducible from code rather than hand-edited.
math package (npm math, whose API.md lists every export): vectors, matrices, quaternions, frustum and shape culling, noise, seeded randomness.
Float32Arrays for upload.root.destroy() does not free what the root created.dispose.Depth is an access contract (read, read-write, prepassed), and the convention is engine-wide. Prefer reverse-Z on depth32float (clear 0, compare greater). Compare direction, clear value and format change together or not at all.
Opaque geometry never alpha-blends. Translucent passes read depth and never write it.
A line drawn in pieces joins by construction. Additive pieces overlap and fade over the overlap, so the joins sum to one; blended pieces are cut square, since two over-composited fades never sum to one. Blended layers of one thing draw in layer order, not in the order their pieces were made.
Dynamic light is data every material reads through one shading function. Effects offer a bounded per-frame list of short-lived point lights; the shared shade call sums them for every lit layer. A glow sprite brightens air, never the surfaces round it, and a per-layer lighting hack drifts from the others.
Overlays and UI are composited after post-processing, unlit and ungraded. Anything that belongs in the world is drawn in the world.
The depth prepass and the colour pass share one vertex stage with an @invariant position, so their depth matches bit for bit.
Use 4× MSAA (the count WebGPU guarantees). Interpolate at the centroid any varying that a later screen-space test depends on.
Composite each annotation as one group. Its backing paints below its foreground strokes; selection priority moves the whole group. Fix occlusion through paint order, not by erasing intended backing coverage. Bound effect tails separately from stacking.
Bound final rendered geometry, including every independent multiplier and drawn LOD. Give shader variation bounds, CPU validation and culling one owner. View-dependent width expansion must not silently expand height; source dimensions alone cannot prove a final size cap.
$idx(0)). TypeGPU numbers the rest.frag_depth, which disables early-Z.let is immutable. Reassigning one invalidates the pipeline while the app looks healthy.cast, meta, …); an identifier named after one fails the module at parse time.performance.now(), Date or unseeded randomness inside a pass. A held clock gives deterministic captures.When a world-space width change barely moves the screenshot, trace the full width path through screen-space minimums, core/glow layers and postprocessing before tuning again. Compare native tactical and close views with the same camera and event. For moving subpixel features, inspect consecutive frames in the crowded gameplay view as well as isolated crops; a thin still can conceal flicker or disappear against terrain.
For cadence or synchronization claims, capture startup and multiple complete work/rest cycles, including their longest pauses. Pair native motion frames with source-event timestamps per actor; overlapping visible trails do not prove simultaneous launches, and a short staggered opening does not prove sustained independence. Test random timing across several seeds and report measured gaps rather than promising uninterrupted activity.
Spatial membership cannot identify which authored forest generated a trunk. Overlapping shapes can duplicate trees or assign another source's canopy. Export immutable original source associations from native generation, retain lossless prop IDs in the consumer, and place each source trunk once. Exact rectangle export ordinal also needs an explicit authored-ID mapping when other shapes are interleaved. Prove this through public exports and production placement, including empty sources and ordinary props outside the generated ranges.
Membership, numeric sampling and rendered acceptance are separate claims. Preserve the first failed production readback and its compiled source; a matching membership flag does not resolve a failed distance oracle. At a stopping point, preserve an unactivated candidate and restore the runtime baseline instead of widening its bar.
A paused fast-forward can finish delivering data before the UI draws that publication. Await its drawn tick and presentation clock before moving the camera. Otherwise a retained buffer may see an extra detail tier on one reset and look like a leak. Attribute differences with actual allocation creation/destruction records before changing capacity policy or weakening byte assertions.
A falling or resting body's authority can change its support after a building collapses. Refresh the published position for the same corpse identity without restarting its death clip, changing its facing, or making a faded corpse return. A static anchor change must invalidate the corpse publication version; moving only the cached object leaves GPU instances at the old height. Enemy anchors come from the side's last observed corpse state, so rendering cannot infer an unseen collapse from the current physical world.
No reviews yet. Tell others what you thought.
No login needed. Share how it worked for you, ask a question, or note where it did not run.
No comments yet. Be the first to write one.
Audit or rewrite AGENTS.md so it holds only lasting principles. Run it only when the user asks for it by name; never invoke it on your own.
The English summary is being prepared. Showing the original description.
Audit the choices an implementing agent made, not its diff — a pure decision audit that traces the session's history into a choices ledger, changes no code, and never blocks an unsupervised run. Working code still embeds architecture the user never chose; surface it because future work inherits it. Use when the user wants to review the decisions the AI made on their behalf, before merging or committing AI-implemented work, when integrating a delegated subagent's pass, or when a fix "works" but might be a point fix.
The English summary is being prepared. Showing the original description.
Audit and prioritize performance work through bounded-work and forward-progress checks. Use when asked to find performance issues, investigate freezes/500s/OOMs, review retries or polling for no-progress loops, rank a performance backlog, or implement the next simple performance fixes.
The English summary is being prepared. Showing the original description.
Audit whether tests earn their maintenance cost and which suite owns each contract. Use when pruning redundant tests, investigating implementation coupling or test-only production hooks, reviewing the value of proposed coverage, or auditing an entire subsystem. Use write-tests to implement the resulting test changes.
The English summary is being prepared. Showing the original description.
Run fast, progressive experiments to map tunable parameters and their effects. Use when optimizing code, prompts, configurations, or other artifacts against a goal or benchmark, or when a long research run needs a planned hypothesis queue, focused trials, and durable findings.
The English summary is being prepared. Showing the original description.
Shoot software UI like a film. A sequence of hero shots, each a steep, oblique, extreme close-up of the interface floating in black, with a razor-thin focal plane, a slow motivated camera drift, and UI that acts on its own, hard-cut on the action, ending on one line of copy and a still logo. Use when asked for a launch video, product film, feature trailer, teaser, promo clip, hero shot, or any "cinematic" footage of an app or UI. This skill covers camera, framing, light, and edit. It is stack-agnostic.
The English summary is being prepared. Showing the original description.