Agent skill

Laravel

by ericrisco in ericrisco/rsc-harness

A skill your agent uses when building or extending a Laravel 11/12 app — Eloquent models, migrations and relationships, routing with controllers and Form Requests, queues and background jobs…

MITAuto-check: notesBackend & APIs

Install Laravel

skills CLI
$ npx skills add ericrisco/rsc-harness --skill laravel -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install ericrisco/rsc-harness laravel --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/ericrisco/rsc-harness.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/laravel .claude/skills/laravel && rm -rf skills-src

Use ~/.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/

Facts

Skill name
laravel
GitHub stars
167
Token cost
~3.5k tokens
SKILL.md length
1,049 words
Files
6 (incl. scripts, references)
Skills in repo
227
Repo updated
First seen
Licence
MIT

At a glance

A skill your agent uses when building or extending a Laravel 11/12 app — Eloquent models, migrations and relationships, routing with controllers and Form Requests, queues and background jobs…

  • Extending a Laravel 11/12 app — Eloquent models
  • SKILL.md covers Orient before you scaffold, The slim structure (where…, Eloquent and Routing, controllers, validation, plus 7 more sections
  • Runs Shell scripts from its folder; calls composer and php
  • Migrations and relationships

What it does

Laravel is an agent skill from ericrisco/rsc-harness. Use when building or extending a Laravel 11/12 app — Eloquent models, migrations and relationships, routing with controllers and Form Requests, queues and background jobs, framework-native security (validation, mass-assignment, policies, signed URLs, rate limiting), and Pest/PHPUnit feature tests. NOT pure PHP language or toolchain work (that is php).

Its SKILL.md is about 3.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 8 other files, including scripts and reference files (for example `evals/README.md`, `evals/cases.yaml` and `references/eloquent-patterns.md`).

It sits in Backend & APIs, covering Backend development, Rate limiting and Background jobs. It works with Laravel, PHP and Vue.js. 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.

When your agent uses it

  • Extending a Laravel 11/12 app — Eloquent models
  • Migrations and relationships
  • Routing with controllers and Form Requests
  • Queues and background jobs

Example prompts

  • “/laravel”

Requirements

  • A Bash shell

What it can do on your machine

Read from SKILL.md and the folder at commit e3d5b33. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Ships 1 file in scripts/ (Shell), which the agent can run.

    Shell commands in SKILL.md call:

    • composer
    • php

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Laravel loads about 3.5k tokens when it runs, and up to ~6.2k if it reads all its reference files. Until then it costs about 91 tokens; SKILL.md has 1,049 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~91
When it runs · the whole SKILL.md, loaded when a task matches
~3.5k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~6.2k

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.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NoteMentions a .env fileSKILL.md:278
    | Committing real secrets in `.env` | leaks credentials into history | `.env` is git-ignored; commit `.env.example` only

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); the scripts in this folder are not scanned.

SKILL.md

The full file from ericrisco/rsc-harness at commit e3d5b33, republished under its MIT licence (© ericrisco). 1,049 words, ~3,529 tokens.

Download SKILL.mdSave it as .claude/skills/laravel/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.
name
laravel
description
Use when building or extending a Laravel 11/12 app — Eloquent models, migrations and relationships, routing with controllers and Form Requests, queues and background jobs, framework-native security (validation, mass-assignment, policies, signed URLs, rate limiting), and Pest/PHPUnit feature tests. NOT pure PHP language or toolchain work (that is `php`).
tags
laravel, php, eloquent, queues, pest, artisan
recommends
php, mysql, redis, api-design, secure-coding, testing-web
origin
risco

Laravel (11/12 era)

Build Laravel the way the framework ships today — Laravel 12 (released 2025-02-24, PHP 8.2–8.4), continuing the slimmed Laravel 11 skeleton. That means no app/Http/Kernel.php and no app/Console/Kernel.php: middleware, routing, exception handling and providers are all configured in bootstrap/app.php, and scheduled tasks live in routes/console.php. Generate that structure, not 2019 Laravel.

This skill owns the framework surface: Eloquent, routing/controllers, queues, the artisan-shaped project, and in-framework Pest tests. The PHP language and toolchain underneath (types, enums, Composer/PSR-4, PHPStan, Pint) is the ../php/SKILL.md skill — its boundary line literally reads "NOT Eloquent/Blade/Artisan (that is laravel)"; this is the mirror.

Orient before you scaffold

A wrong version assumption generates dead code. Detect the version and skeleton first.

bash
composer show laravel/framework            # exact installed version
ls bootstrap/app.php                        # present  -> L11/12 slim skeleton
ls app/Http/Kernel.php 2>/dev/null          # present  -> L10 or older (Kernel era)
php artisan --version                       # confirms runtime + version

If bootstrap/app.php exists and app/Http/Kernel.php does not, you are on L11/12 — use the modern idioms below. Then pick your path:

SituationDo
Greenfieldlaravel new <app>, then a starter kit: React (React 19 + TS + Inertia 2 + shadcn/ui), Vue (Vue 3 + Inertia 2 + shadcn-vue), or Livewire (Livewire 3 + Volt + Flux UI). Optional WorkOS AuthKit for auth.
Brownfield L11/12Follow the repo's existing conventions; do not "reorganize" into folders it dropped.
Pre-11 (Kernel era)Migrate to bootstrap/app.php deliberately; move Kernel middleware to withMiddleware(), schedule to routes/console.php. Treat as a project, not an inline tweak.

The slim structure (where things live now)

text
bootstrap/app.php      # withRouting(), withMiddleware(), withExceptions(), withProviders()
routes/web.php         # web routes (CSRF-protected, session)
routes/api.php         # api routes (stateless) — present once you opt in
routes/console.php     # closures + the SCHEDULER (Schedule::command(...)->daily())
app/Models/            # Eloquent models
app/Http/Controllers/  # thin controllers
app/Http/Requests/     # Form Requests (validation + authorization)
app/Jobs/              # queued jobs
app/Policies/          # authorization policies
php
// Bad: hunting for or editing app/Http/Kernel.php to register middleware (L11/12 deleted it).
// Good: bootstrap/app.php
return Application::configure(basePath: dirname(__DIR__))
    ->withRouting(web: __DIR__.'/../routes/web.php', commands: __DIR__.'/../routes/console.php')
    ->withMiddleware(function (Middleware $middleware) {
        $middleware->alias(['subscribed' => EnsureUserIsSubscribed::class]);
        $middleware->web(append: [TrackLastSeen::class]);
    })
    ->withExceptions(function (Exceptions $exceptions) {
        $exceptions->dontReport(InvalidOrderException::class);
    })->create();

Eloquent

Mass assignment is the #1 Laravel footgun. A model must declare an allowlist; an open blocklist on user input lets a request set any column (is_admin, balance).

php
// Bad: anything in the request body can be written, including columns you never meant to expose.
class Post extends Model {
    protected $guarded = [];
}

// Good: explicit allowlist. Casts give you typed attributes back out of the DB.
class Post extends Model {
    protected $fillable = ['title', 'body', 'published_at'];

    protected function casts(): array {
        return [
            'published_at' => 'datetime',
            'status'       => PostStatus::class,   // backed-enum cast
            'meta'         => 'array',             // json <-> array
            'api_token'    => 'encrypted',         // at-rest encryption
        ];
    }

    public function tags(): BelongsToMany { return $this->belongsToMany(Tag::class); }
}

N+1 is the most common Laravel performance bug — a query per row instead of one. Eager load.

php
// Bad: 1 query for posts + 1 per post for its author = N+1.
foreach (Post::all() as $post) { echo $post->author->name; }

// Good: eager load up front -> 2 queries total.
foreach (Post::with('author')->get() as $post) { echo $post->author->name; }

Migrations define the schema; the casts() method (L11+ method form, not the old $casts array) maps columns to enums/arrays/encrypted values. Relationship deep dives (polymorphic, has-many-through, scopes, observers, custom casts, accessors via the Attribute class) live in references/eloquent-patterns.md.

Routing, controllers, validation

Keep controllers thin: they take a validated request, call a service/model, return a response. Push branching logic out of routes — business logic in routes/web.php is untestable and unreusable.

Form Requests do validation AND authorization in one object — the authorize() gate runs before rules(), so an unauthorized request never reaches your validation or controller.

php
// app/Http/Requests/StoreOrderRequest.php
final class StoreOrderRequest extends FormRequest {
    public function authorize(): bool {
        return $this->user()->can('create', Order::class);   // policy check, before rules
    }

    public function rules(): array {
        return [
            'sku'      => ['required', 'string', 'exists:products,sku'],
            'quantity' => ['required', 'integer', 'min:1', 'max:100'],
        ];
    }
}

// Controller: route-model binding + the Form Request = a tiny method.
public function store(StoreOrderRequest $request): RedirectResponse {
    $order = Order::create($request->validated());          // only allow-listed, validated data
    ProcessOrder::dispatch($order);
    return to_route('orders.show', $order);
}

For JSON APIs, shape output with API Resources (JsonResource). The transport contract — resource naming, versioning, status-code semantics, pagination shape — is the api-design skill, not this one; this skill covers implementing it in Laravel.

Queues & scheduling

A job that implements ShouldQueue is pushed to the queue and runs out-of-band instead of inline — that is what gets a slow email/payment off the request cycle.

php
final class ProcessOrder implements ShouldQueue {
    use Queueable, Batchable;

    public int $tries = 3;                       // attempts before it lands in failed_jobs
    public int $timeout = 120;                   // seconds before the worker kills it

    public function backoff(): array { return [10, 60, 300]; }  // exponential-ish retry spacing

    public function __construct(public Order $order) {}

    public function handle(): void {
        if ($this->batch()?->cancelled()) return; // respect a cancelled batch
        // ... charge, fulfil ...
    }
}

ProcessOrder::dispatch($order);                   // queued (or inline if driver is sync)

Batches let you fan out and react when the group finishes; allowFailures() keeps the batch going when individual jobs fail.

php
Bus::batch([new ProcessOrder($a), new ProcessOrder($b)])
    ->allowFailures()
    ->then(fn (Batch $b) => Log::info("done: {$b->totalJobs}"))
    ->dispatch();

Driver choice:

NeedUse
Simple, low volume, no extra infradatabase driver (a jobs table)
High throughput + a dashboard (retries, runtime, failures)Redis + Horizon — Horizon manages the workers and gives you the monitor

Schedule recurring work in routes/console.php (the L11/12 home for the scheduler — there is no app/Console/Kernel.php):

php
// routes/console.php
Schedule::command('orders:reconcile')->dailyAt('02:00');
Schedule::job(new PruneStaleCarts)->hourly();

Worker deployment, Horizon config, the retry/backoff/timeout matrix, failed_jobs + queue:retry, and supervisor/queue:work flags are in references/queues-and-scheduling.md.

Security (framework-native)

ControlUseWhy
ValidationForm Request rules()reject malformed input at the edge, before the controller
Mass-assignment guard$fillable allowlist (see Eloquent)stops a request writing columns you never exposed
AuthorizationPolicies + Gates, $user->can(...), authorize()keeps authz out of controllers and consistent
Tamper-proof linkssigned URLs (URL::signedRoute, signed middleware)unsubscribe/verify links that can't be forged
Abuse limitingrate limiting (throttle middleware, RateLimiter::for)caps brute-force / scraping per user or IP
Secrets at restHash::make/Hash::check for passwords, Crypt for reversible databcrypt/argon2 hashing; never store plaintext

CSRF protection is automatic on web routes; do not disable it. Read config through config(), never env() outside config/*.php — once configs are cached (config:cache in prod) env() returns null everywhere else. Cross-stack OWASP/threat-modeling is the secure-coding skill; the table above is the framework-native layer this skill owns.

Show full SKILL.md (419 more words)Show less

Testing

Pest is the default runner in new Laravel apps (PHPUnit still fully supported). Use RefreshDatabase for a clean schema per test and model factories for data.

php
uses(RefreshDatabase::class);

it('processes a paid order', function () {
    $user = User::factory()->create();
    $this->actingAs($user)
        ->post('/orders', ['sku' => 'ABC', 'quantity' => 2])
        ->assertRedirect();

    $this->assertDatabaseHas('orders', ['sku' => 'ABC', 'quantity' => 2]);
});

The sync-driver gotcha. Tests use the sync queue driver by default, so a dispatched job runs inline during the test — it does not sit on a queue. If you assert "the email was sent" you are accidentally testing execution. To test that work was dispatched, fake the queue first:

php
it('dispatches order processing', function () {
    Queue::fake();                               // jobs are now recorded, not run
    $order = Order::factory()->create();

    ProcessOrder::dispatch($order);

    Queue::assertPushed(ProcessOrder::class);    // assert dispatch, not side effects
});

Http::fake() and Event::fake() work the same way for outbound HTTP and events. Cross-stack browser/E2E (Playwright/Cypress) strategy is the testing-web skill; this skill covers in-framework Pest/PHPUnit feature and unit tests.

Ecosystem (reach for these by name)

Pennant (feature flags / A-B), Pulse (real-time perf: slow queries, job throughput), Folio (page-based routing), Horizon (Redis queue dashboard). First-party — prefer them over rolling your own.

Anti-patterns

PatternWhy it is badDo instead
protected $guarded = [] on a user-facing modelany request column becomes mass-assignable (is_admin, balance)explicit $fillable allowlist
Hunting for / re-creating app/Http/Kernel.php on L11/12the file was deleted; your middleware never registersconfigure in bootstrap/app.php withMiddleware()
Lazy access inside a loop/Blade ($post->author per row)N+1 — one query per roweager load with with()
Fat controllers / logic in routes/web.phpuntestable, unreusable, no authz boundarythin controller + Form Request + service/model
Asserting a queued job's side effects in a testsync driver runs it inline — you test execution, not dispatchQueue::fake() + Queue::assertPushed()
env() outside config/*.phpreturns null once config:cache runs in prodread via config(); env() only inside config files
$tries unset on a flaky jobone transient failure = permanent failureset $tries + backoff()
Committing real secrets in .envleaks credentials into history.env is git-ignored; commit .env.example only
Old $casts = [...] array (deprecated form)misses the L11+ casts() method idiomsthe casts(): array method

Verify

Run scripts/verify.sh from a Laravel project root. It validates composer.json, checks the framework version, runs Pint (style, read-only --test) and the test runner (Pest/artisan test) if present, and greps for protected $guarded = [] under app/Models. It degrades gracefully — prints a skip notice and exits 0 — when there is no Laravel project or no vendor/ dir, so it never blocks a non-Laravel repo.

References & siblings

  • references/eloquent-patterns.md — relationship catalog (polymorphic, has-many-through), eager-load strategies, query/local scopes, observers, attribute casts + custom casts, accessors/mutators via the Attribute class.
  • references/queues-and-scheduling.md — driver selection, Horizon install/config, retry/backoff/timeout matrix, batch chaining, failed_jobs + queue:retry, worker deployment (supervisor, queue:work flags), graceful restarts.
  • PHP language/toolchain underneath Laravel: ../php/SKILL.md.
  • Cross-stack OWASP/threat-modeling: ../secure-coding/SKILL.md.
  • API contract design, MySQL/Redis server tuning, browser E2E strategy: the api-design, mysql / redis, and testing-web skills respectively.

© ericrisco, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 5 other files (scripts, references) in skills/laravel of ericrisco/rsc-harness.

  • SKILL.md
  • evals/README.md
  • evals/cases.yaml
  • references/eloquent-patterns.md
  • references/queues-and-scheduling.md
  • scripts/verify.sh

Open the folder on GitHubat commit e3d5b33

Compare with similar skills

Laravel 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.

Laravel compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Laravel this skillericrisco/rsc-harness167—~3.5kAutomated safety check: NotesMIT
Livewire Developmentcoollabsio/coolify63k—~964Automated safety check: PassMIT
Livewire Developmentyungifez/skuul4091 repos~1.9kAutomated safety check: PassMIT
Laravel SpecialistJeffallan/claude-skills12k1 repos~2.1kAutomated safety check: PassMIT
Configure Nightwatchtrypostit/trypost678—~2.7kAutomated safety check: PassMIT
Passport Developmenttrypostit/trypost678—~1.9kAutomated safety check: PassMIT

Similar skills

  • Livewire Development

    coollabsio/coolify

    A skill your agent uses for any task or question involving Livewire.

    63k GitHub stars~964 tokensUpdated yesterday
    Backend & APIsAuto-check passed
  • Livewire Development

    yungifez/skuul

    A skill your agent uses for any task or question involving Livewire.

    409 GitHub starsUsed in 1 repo~1.9k tokens
    Backend & APIsAuto-check passed
  • Laravel Specialist

    Jeffallan/claude-skills

    Builds Laravel 10+ applications with Eloquent models, Sanctum authentication, Horizon queues, API resources and Livewire components, tested with Pest or PHPUnit.

    12k GitHub starsUsed in 1 repo~2.1k tokens
    Backend & APIsAuto-check passed
  • Configure Nightwatch

    trypostit/trypost

    Configures Laravel Nightwatch data collection, sampling rates, filtering rules, and redaction policies.

    678 GitHub stars~2.7k tokensUpdated yesterday
    Backend & APIsAuto-check passed
  • Passport Development

    trypostit/trypost

    Develops OAuth2 API authentication with Laravel Passport. An agent skill from trypostit/trypost.

    678 GitHub stars~1.9k tokensUpdated yesterday
    Backend & APIsAuto-check passed
  • Spa Auth Development

    gdarko/laravel-vue-starter

    Activate when working on SPA authentication flow, Sanctum cookie-based auth, Vue Router guards, auth store, login/register/password reset pages, or CORS/session configuration.

    145 GitHub stars~668 tokensUpdated 6 mo ago
    Backend & APIsAuto-check: notes

More from ericrisco/rsc-harness

All 227 skills in this repo
  • Ab Testing

    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…

    167 GitHub stars~2.4k tokensUpdated yesterday
    Auto-check passed
  • Accessibility

    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…

    167 GitHub stars~3.4k tokensUpdated yesterday
    Auto-check passed
  • Ads

    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…

    167 GitHub stars~2.2k tokensUpdated yesterday
    Auto-check passed
  • Agent Eval

    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…

    167 GitHub stars~3.2k tokensUpdated yesterday
    Auto-check passed
  • AI Media

    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…

    167 GitHub stars~3.3k tokensUpdated yesterday
    Auto-check passed
  • Analytics

    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.

    167 GitHub stars~2.8k tokensUpdated yesterday
    Auto-check passed

Categories

Questions about Laravel

What does Laravel do?

A skill your agent uses when building or extending a Laravel 11/12 app — Eloquent models, migrations and relationships, routing with controllers and Form Requests, queues and background jobs…. Laravel is an agent skill from ericrisco/rsc-harness. Use when building or extending a Laravel 11/12 app — Eloquent models, migrations and relationships, routing with controllers and Form Requests, queues and background jobs, framework-native security (validation, mass-assignment, policies, signed URLs, rate limiting), and Pest/PHPUnit feature tests.

When should I use Laravel?

Laravel fits situations like: extending a Laravel 11/12 app — Eloquent models; migrations and relationships; routing with controllers and Form Requests; queues and background jobs.

How do I install Laravel in Claude Code?

Run `npx skills add ericrisco/rsc-harness --skill laravel -a claude-code`. Or copy the skill folder (skills/laravel in ericrisco/rsc-harness) into .claude/skills/laravel in your project. Claude Code loads it when a task matches its description.

How do I install Laravel in Codex?

Run `npx skills add ericrisco/rsc-harness --skill laravel -a codex`. Or copy the skill folder (skills/laravel in ericrisco/rsc-harness) into .agents/skills/laravel in your project. Codex loads it when a task matches its description.

Can I use Laravel in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ericrisco/rsc-harness --skill laravel -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/laravel, .gemini/skills/laravel, .github/skills/laravel and .opencode/skills/laravel in your project.

What does Laravel need to run?

Going by SKILL.md and its folder, Laravel needs a shell for the scripts in its folder and the command-line tools its instructions call (composer and php). Our summary lists: A Bash shell.

Does Laravel access the network?

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.

Is Laravel safe to install?

Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Laravel use?

Laravel is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Laravel use?

About 3.5k tokens (SKILL.md is roughly 14k 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 2.6k tokens, read only when the agent opens those files.

What are the alternatives to Laravel?

Skills that share tags, products or a category with Laravel: Livewire Development (coollabsio/coolify, 63k stars), Livewire Development (yungifez/skuul, 409 stars), Laravel Specialist (Jeffallan/claude-skills, 12k stars) and Configure Nightwatch (trypostit/trypost, 678 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Laravel?

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.