Godot Gdscript Patterns
925236118/AlphaAgent
Master Godot 4 GDScript patterns including signals, scenes, state machines, and optimization.
A skill your agent uses when working with a game engine's physics — rigid bodies, colliders, collision layers and masks, character controllers, joints, forces versus impulses, raycasts and…
$ npx skills add ericrisco/rsc-harness --skill gamedev-physics -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install ericrisco/rsc-harness gamedev-physics --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/ericrisco/rsc-harness.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/gamedev-physics .claude/skills/gamedev-physics && 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 "gamedev-physics" agent skill from https://github.com/ericrisco/rsc-harness/tree/main/skills/gamedev-physics into .claude/skills/gamedev-physics/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gamedev-physics", 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/ericrisco/rsc-harness/tree/main/skills/gamedev-physicsType 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 ericrisco/rsc-harness --skill gamedev-physics -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install ericrisco/rsc-harness gamedev-physics --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ericrisco/rsc-harness.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/gamedev-physics .agents/skills/gamedev-physics && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "gamedev-physics" agent skill from https://github.com/ericrisco/rsc-harness/tree/main/skills/gamedev-physics into .agents/skills/gamedev-physics/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gamedev-physics", 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 ericrisco/rsc-harness --skill gamedev-physics -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install ericrisco/rsc-harness gamedev-physics --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ericrisco/rsc-harness.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/gamedev-physics .cursor/skills/gamedev-physics && 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 "gamedev-physics" agent skill from https://github.com/ericrisco/rsc-harness/tree/main/skills/gamedev-physics into .cursor/skills/gamedev-physics/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gamedev-physics", 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/ericrisco/rsc-harness.git --path skills/gamedev-physics--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 ericrisco/rsc-harness --skill gamedev-physics -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install ericrisco/rsc-harness gamedev-physics --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ericrisco/rsc-harness.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/gamedev-physics .gemini/skills/gamedev-physics && 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 "gamedev-physics" agent skill from https://github.com/ericrisco/rsc-harness/tree/main/skills/gamedev-physics into .gemini/skills/gamedev-physics/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gamedev-physics", 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 ericrisco/rsc-harness gamedev-physicsInstalls 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 ericrisco/rsc-harness --skill gamedev-physics -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/ericrisco/rsc-harness.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/gamedev-physics .github/skills/gamedev-physics && 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 "gamedev-physics" agent skill from https://github.com/ericrisco/rsc-harness/tree/main/skills/gamedev-physics into .github/skills/gamedev-physics/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gamedev-physics", 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 ericrisco/rsc-harness --skill gamedev-physics -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install ericrisco/rsc-harness gamedev-physics --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ericrisco/rsc-harness.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/gamedev-physics .opencode/skills/gamedev-physics && 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 "gamedev-physics" agent skill from https://github.com/ericrisco/rsc-harness/tree/main/skills/gamedev-physics into .opencode/skills/gamedev-physics/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gamedev-physics", 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.
gamedev-physicsA skill your agent uses when working with a game engine's physics — rigid bodies, colliders, collision layers and masks, character controllers, joints, forces versus impulses, raycasts and…
Gamedev Physics is an agent skill from ericrisco/rsc-harness. Use when working with a game engine's physics — rigid bodies, colliders, collision layers and masks, character controllers, joints, forces versus impulses, raycasts and shapecasts, or when a simulation is unstable (tunnelling, jitter, missed overlaps). Covers the Godot, Unity and Unreal equivalents. NOT rendering or shader-driven visual jitter (that is gamedev-shaders), NOT navigation, pathfinding or navmesh (that is gamedev-pathing).
Its SKILL.md is about 3.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 7 other files, including reference files (for example `evals/README.md`, `evals/cases.yaml` and `references/character-controllers.md`).
It sits in Game Development, covering Game development. It works with Godot. The repository describes itself as: Your agent invents things because it has no memory, and can't touch your database because it has no arms. rsc is the meta-harness that gives it both, plus the trade to know the… The licence is MIT.
7 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit e3d5b33. 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 gdscript).
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.
Gamedev Physics loads about 3.7k tokens when it runs, and up to ~8.5k if it reads all its reference files. Until then it costs about 115 tokens; SKILL.md has 1,557 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 ericrisco/rsc-harness at commit e3d5b33, republished under its MIT licence (© ericrisco). 1,557 words, ~3,657 tokens.
.claude/skills/gamedev-physics/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.Make bodies collide, move, and stay stable across Godot, Unity, and Unreal. This skill owns the mental model (body types, colliders, layers/masks, character controllers, joints, queries, determinism) and maps every concept onto each engine's real API. When physics "feels broken" — jitter, tunneling, sinking, ghost collisions — the cause is almost always one of: wrong body type, a layer/mask mismatch, or moving/integrating outside the fixed physics tick. Check those first.
| Engine | Target | Banned / deprecated | Use instead |
|---|---|---|---|
| Godot | 4.x | move_and_slide(velocity, up, ...) with arguments (that is Godot 3) | Godot 4 move_and_slide() takes no args; set the velocity property first |
| Godot | 4.x | KinematicBody2D/3D, RayShape, WorldMarginShape, linear_velocity *= delta before move_and_slide() | CharacterBody2D/3D, SeparationRayShape2D/3D, WorldBoundaryShape2D/3D; move_and_slide() is already delta-scaled |
| Unity | Unity 6 (6000.x) | Rigidbody.velocity / Rigidbody2D.velocity, rb.drag, rb.angularDrag | linearVelocity (+ linearVelocityX/Y), linearDamping, angularDamping; new AddForceX/Y |
| Unity | Unity 6 | moving a dynamic Rigidbody from Update; transform.position = on a physics body | move in FixedUpdate; use MovePosition/AddForce, never write transform on a simulated body |
| Unreal | UE5 (Chaos) | any PhysX/APEX API, bUseAsyncScene, NvCloth | Chaos is the only physics backend in UE5; use UPrimitiveComponent physics + PhysicsConstraintComponent |
If you are unsure a symbol exists in the user's exact version, say so instead of inventing it.
Use when: designing which body type a thing should be; something falls through, sinks into, or passes through geometry; a rigid body jitters, drifts, or launches; setting up collision layers/masks/channels; building or fixing a character/player controller; adding joints; casting rays/shapes or overlap tests; or physics behaves differently at different frame rates.
When NOT to use (delegate):
Three categories exist in every engine; choosing wrong is the root of most bugs.
Move each the right way:
| Static | Kinematic / character | Dynamic | |
|---|---|---|---|
| Godot | StaticBody2D/3D (leave still) | CharacterBody2D/3D + move_and_slide(); AnimatableBody2D/3D for platforms (set sync_to_physics) | RigidBody2D/3D (apply_impulse, apply_force) |
| Unity | Collider, no Rigidbody (or Rigidbody2D bodyType Static) | CharacterController.Move(), or Rigidbody.isKinematic=true + MovePosition in FixedUpdate | Rigidbody (AddForce) |
| Unreal | Static/Movable mobility, Simulate Physics off | Character + CharacterMovementComponent; movable component moved by code | Simulate Physics on (SetSimulatePhysics(true)) |
A Godot RigidBody can be temporarily frozen: set freeze = true with freeze_mode = FREEZE_MODE_KINEMATIC to move it by transform without waking the solver wrongly. Prefer
AnimatableBody for a permanent kinematic mover.
Collider ≠ visual mesh. Give every body a separate, simpler collision shape.
CollisionShape children. Unity:
multiple Collider components. Unreal: multiple primitives / a body setup.Area2D/3D (signals
body_entered / area_entered); Unity collider Is Trigger (OnTriggerEnter/Stay/Exit); Unreal
set response to Overlap + Generate Overlap Events (OnComponentBeginOverlap). Use for
pickups, damage zones, checkpoints, sensors.Layer = "what I am." Mask = "what I scan for." They are separate bit sets.
collision_mask includes the other's
collision_layer — it is an OR, so detection can be asymmetric (A sees B without B seeing
A). Keep them symmetric unless you deliberately want one-way detection. An Area's mask decides
what it detects; its layer decides what detects it.LayerMask argument. Toggle a pair at
runtime with Physics.IgnoreLayerCollision.Full worked examples (player/enemy/pickup/wall, bit math, one-way platforms) →
references/layers-and-masks.md.
Two philosophies — decide up front, don't mix:
CharacterBody, Unity CharacterController, Unreal CharacterMovementComponent.Godot 4 (2D — the 3D version is identical with Vector3 and get_gravity()):
extends CharacterBody2D
const SPEED := 300.0
const JUMP_VELOCITY := -400.0
func _physics_process(delta: float) -> void:
if not is_on_floor():
velocity += get_gravity() * delta # accumulate accel: scale by delta
if Input.is_action_just_pressed("jump") and is_on_floor():
velocity.y = JUMP_VELOCITY
var dir := Input.get_axis("move_left", "move_right")
velocity.x = dir * SPEED if dir else move_toward(velocity.x, 0.0, SPEED)
move_and_slide() # Godot 4: NO args, uses `velocity`, already delta-scaledis_on_floor() / is_on_wall(), floor_max_angle (slope limit), floor_snap_length (stick to
ground on ramps/stairs), and up_direction handle ground/slope/step behavior. get_gravity() is
Godot 4.3+; on older 4.x read ProjectSettings gravity. Full per-engine controllers (Unity
CharacterController + custom gravity, Unreal movement modes, ground detection, slopes, steps,
moving platforms) → references/character-controllers.md.
Joints connect two bodies with a constraint. Godot: PinJoint, HingeJoint3D, SliderJoint3D,
Generic6DOFJoint3D, DampedSpringJoint2D. Unity: HingeJoint, FixedJoint, SpringJoint,
ConfigurableJoint, CharacterJoint. Unreal: PhysicsConstraintComponent (one 6-DOF constraint
covers hinge/slider/ball). Keep connected bodies' mass ratios close — a heavy body chained to a
light one is the classic joint-explosion.
Force vs impulse vs direct velocity (apply all in the fixed tick):
| Want | Use | Godot | Unity | Unreal |
|---|---|---|---|---|
| Continuous push (thrust, wind), mass-scaled | Force | apply_central_force | AddForce(f, Force) | AddForce |
| Instant kick (jump, explosion, hit), mass-scaled | Impulse | apply_central_impulse | AddForce(f, Impulse) | AddImpulse |
| Instant velocity change, ignoring mass | mass-independent impulse | set linear_velocity | AddForce(f, VelocityChange) | SetPhysicsLinearVelocity |
Setting velocity directly on a dynamic body teleports its momentum and can fight the solver — fine for character/kinematic bodies, use sparingly on dynamics (prefer forces/impulses).
Run queries from the fixed physics tick so results match the simulated state.
get_world_2d().direct_space_state (or 3d), build
PhysicsRayQueryParameters2D/3D / PhysicsShapeQueryParameters2D/3D, call intersect_ray,
intersect_shape, cast_motion. Node helpers: RayCast2D/3D, ShapeCast2D/3D. Queries respect
collision_mask.Physics.Raycast, SphereCast/CapsuleCast, OverlapSphere, CheckSphere (2D:
Physics2D.*). Always pass a LayerMask; prefer non-allocating RaycastNonAlloc/RaycastAll.LineTraceSingleByChannel, SweepSingleByChannel, OverlapMultiByChannel (and
...ByObjectType). Use a trace channel, set the query params (bTraceComplex).Details, snippets, and the tunneling-safe shapecast pattern → references/determinism-and-queries.md.
The rules that keep physics from jittering, drifting, or tunneling:
_physics_process(delta), Unity FixedUpdate(),
Unreal substepping / async physics tick. Read input in the frame update, apply it in the fixed
tick. Never simulate in the render frame.delta /
fixedDeltaTime — but not the output of a helper that already integrates time (Godot
move_and_slide(), Unity CharacterController.Move when you pass a per-second velocity).continuous_cd, Unity collisionDetectionMode = Continuous*, Unreal
Use CCD. Enable only on the fast bodies (it costs). Or use a shapecast/raycast-then-move.transform/position on a dynamic body —
both corrupt the broadphase and cause explosions or ghost collisions. Move via the API.Rigidbody.interpolation = Interpolate. This is visual only — it never changes the simulation.Deeper: fixed-timestep math, substepping, sleeping, why transform writes break things →
references/determinism-and-queries.md.
AnimatableBody with
sync_to_physics, Unity kinematic Rigidbody MovePosition), not a static body.mask must include the body's layer; in Unreal enable Generate Overlap Events on both.floor_snap_length / stop-on-slope).transform/position writes on dynamics; no
runtime collider scaling.move_and_slide() no args; Unity 6
linearVelocity; UE5 Chaos — no PhysX).© ericrisco, 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 5 other files (references) in skills/gamedev-physics of ericrisco/rsc-harness.
Open the folder on GitHubat commit e3d5b33
Gamedev Physics 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 |
|---|---|---|---|---|---|---|
| Gamedev Physics this skillericrisco/rsc-harness | 167 | — | ~3.7k | Automated safety check: Pass | MIT | |
| Godot Gdscript Patterns925236118/AlphaAgent | 103 | 10 repos | ~5k | Automated safety check: Pass | MIT | |
| 2D Map and Scene Generator0x0funky/agent-sprite-forge | 4.3k | — | ~2.9k | Automated safety check: Pass | MIT | |
| Godot UI Containersthedivergentai/GD-Agentic-Skills | 809 | 1 repos | ~3.7k | Automated safety check: Pass | LGPL-3.0 | |
| Godot UI Integrationzimo-xiao-zheng/godot-ui-integration | 271 | — | ~1.5k | Automated safety check: Pass | MIT | |
| Godot Wechat Minigame Adaptergodothub/godot-minigame | 187 | — | ~1.5k | Automated safety check: Pass | MIT |
925236118/AlphaAgent
Master Godot 4 GDScript patterns including signals, scenes, state machines, and optimization.
0x0funky/agent-sprite-forge
Plans and builds 2D game maps and scenes, from tilemaps and parallax backgrounds to HD-2D plates, with collision checks, a playable HTML preview and Tiled, Godot or LDtk export.
thedivergentai/GD-Agentic-Skills
Expert blueprint for responsive UI layouts using Container nodes (HBoxContainer, VBoxContainer, GridContainer, MarginContainer, ScrollContainer, HFlowContainer, SubViewportContainer).
zimo-xiao-zheng/godot-ui-integration
Build or revise Godot UI from an approved design, separated art, or a visual reference when scene structure, gameplay binding, and runtime visual verification all matter.
godothub/godot-minigame
Apply the bundled self-contained Godot WeChat Mini Game adapter kit to an official Godot checkout.
ybuild-ai/ai-game-art-pipeline-skill
Provider-neutral open-source skill for planning and producing game-runtime art assets and animation: static props/icons, canonical character sheets, combat sprites, 3D/video motion references…
ericrisco/rsc-harness
A skill your agent uses when designing or analyzing a controlled experiment — falsifiable hypothesis, sample size from an MDE, reading significance/CI/power, CUPED, or rescuing tests that won't go…
ericrisco/rsc-harness
A skill your agent uses when making a web UI conform to WCAG 2.2 Level AA — axe-core or Lighthouse a11y violations, keyboard operability, focus management, ARIA roles/names/live regions, contrast…
ericrisco/rsc-harness
A skill your agent uses when running or fixing paid acquisition on Google or Meta — campaign structure (Performance Max, Demand Gen, Search, Advantage+), platform-fit creative, budget/scaling rules…
ericrisco/rsc-harness
A skill your agent uses when measuring whether an LLM or agent system actually got better and gating merges on it: golden sets, fixing an inflated LLM-as-judge, scoring RAG (faithfulness, contextual…
ericrisco/rsc-harness
A skill your agent uses when a creative goal must become a finished media file: pick and order generative-media models per modality — AI voiceover, image-to-video clips, score — then glue them with…
ericrisco/rsc-harness
A skill your agent uses when instrumenting product or web analytics — GA4/PostHog SDK wiring, event taxonomy, funnels, double-counted events, consent gating, PII scrubbing.
Works with
Categories
A skill your agent uses when working with a game engine's physics — rigid bodies, colliders, collision layers and masks, character controllers, joints, forces versus impulses, raycasts and…. Gamedev Physics is an agent skill from ericrisco/rsc-harness. Use when working with a game engine's physics — rigid bodies, colliders, collision layers and masks, character controllers, joints, forces versus impulses, raycasts and shapecasts, or when a simulation is unstable (tunnelling, jitter, missed overlaps).
Gamedev Physics fits situations like: working with a game engines physics — rigid bodies; collision layers and masks; character controllers; forces versus impulses.
Run `npx skills add ericrisco/rsc-harness --skill gamedev-physics -a claude-code`. Or copy the skill folder (skills/gamedev-physics in ericrisco/rsc-harness) into .claude/skills/gamedev-physics in your project. Claude Code loads it when a task matches its description.
Run `npx skills add ericrisco/rsc-harness --skill gamedev-physics -a codex`. Or copy the skill folder (skills/gamedev-physics in ericrisco/rsc-harness) into .agents/skills/gamedev-physics 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 ericrisco/rsc-harness --skill gamedev-physics -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/gamedev-physics, .gemini/skills/gamedev-physics, .github/skills/gamedev-physics and .opencode/skills/gamedev-physics in your project.
SKILL.md names no scripts, command-line tools or credentials: Gamedev Physics 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.
Gamedev Physics is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.7k tokens (SKILL.md is roughly 15k 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 4.8k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Gamedev Physics: Godot Gdscript Patterns (925236118/AlphaAgent, 103 stars), 2D Map and Scene Generator (0x0funky/agent-sprite-forge, 4.3k stars), Godot UI Containers (thedivergentai/GD-Agentic-Skills, 809 stars) and Godot UI Integration (zimo-xiao-zheng/godot-ui-integration, 271 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
ericrisco (a GitHub user) maintains it in ericrisco/rsc-harness, which has 167 GitHub stars. The repository holds 227 skills in this directory. The repository was last updated on October 7, 2026.
Source: ericrisco/rsc-harness on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.