Agent skill

Author Skill

by ericrisco in ericrisco/rsc-harness

A skill your agent uses when authoring a NEW rsc skill or editing an existing one — scoping it to one job, writing the description that decides whether it ever loads, splitting the body into…

MITAuto-check passedAgent Workflows

Install Author Skill

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

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

GitHub CLI
$ gh skill install ericrisco/rsc-harness author-skill --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/author-skill .claude/skills/author-skill && 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
author-skill
GitHub stars
156
Token cost
~4.3k tokens
SKILL.md length
2,202 words
Files
6 (incl. references)
Skills in repo
229
Repo updated
First seen
Licence
MIT

At a glance

A skill your agent uses when authoring a NEW rsc skill or editing an existing one — scoping it to one job, writing the description that decides whether it ever loads, splitting the body into…

  • Works in 5 steps: Third person, present tense. "Use when… → Discriminative, not exhaustive. Lead… → Draw the boundary. End with a NOT (that… → …
  • Authoring a NEW rsc skill
  • SKILL.md covers What a skill is (the anatomy), The description — the single…, Progressive disclosure — the… and The hybrid structure — when…, plus 7 more sections
  • Calls npm and node

What it does

Author Skill is an agent skill from ericrisco/rsc-harness. Use when authoring a NEW rsc skill or editing an existing one — scoping it to one job, writing the description that decides whether it ever loads, splitting the body into references/, writing its evals, auditing it against the rubric. NOT building a product feature (that is specify) and NOT designing an agent loop (that is building-agents).

Its SKILL.md is about 4.3k 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/description-recipe.md`).

It sits in Agent Workflows, covering Skill authoring, Building AI agents and Autonomous loops. 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

  • Authoring a NEW rsc skill
  • Editing an existing one — scoping it to one job
  • Writing the description that decides whether it ever loads
  • Splitting the body into references/

Example prompts

  • “/author-skill”

Workflow steps

5 steps, taken from the first numbered list in SKILL.md.

  1. Third person, present tense. "Use when authoring a new skill…" — never "I help you…" or "You should…". The agent is reading about the skill.
  2. Discriminative, not exhaustive. Lead with a Use when … clause naming the situation, then only the capabilities that separate this skill…
  3. Draw the boundary. End with a NOT (that is ) clause, naming a sibling that actually exists under skills/. Negative space prevents…
  4. Aim ≤ 350 characters; 1024 is the schema-enforced hard limit. One physical line, wrapped in double quotes, internal quotes escaped or…
  5. origin: risco on its own line. This marks it as ours.

What it can do on your machine

Read from SKILL.md and the folder at commit 92fde8f. 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

    Shell commands in SKILL.md call:

    • npm
    • node

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

  • Network

    No URLs in SKILL.md. Its commands use npm, which can reach the network depending on how they are called.

    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

Author Skill loads about 4.3k tokens when it runs, and up to ~9.2k if it reads all its reference files. Until then it costs about 90 tokens; SKILL.md has 2,202 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~90
When it runs · the whole SKILL.md, loaded when a task matches
~4.3k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~9.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 passed

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.

SKILL.md

The full file from ericrisco/rsc-harness at commit 92fde8f, republished under its MIT licence (© ericrisco). 2,202 words, ~4,251 tokens.

Download SKILL.mdSave it as .claude/skills/author-skill/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.
name
author-skill
description
Use when authoring a NEW rsc skill or editing an existing one — scoping it to one job, writing the description that decides whether it ever loads, splitting the body into references/, writing its evals, auditing it against the rubric. NOT building a product feature (that is `specify`) and NOT designing an agent loop (that is `building-agents`).
tags
skill, authoring, meta
origin
risco

author-skill — write skills that trigger and teach

This is the meta skill: it authors and edits the other skills in the rsc catalog. A skill is two things bolted together — a description that fires at the right moment, and a body that makes the agent better once it fires. Most skills fail on the first. Treat them as two separate engineering problems with two separate quality bars.

Where the SDD chain (specify → plan → … → ship) builds product, author-skill builds the tools that build product. Use it whenever a skill is born or edited.

Not this skill — delegate: a product feature specced or planned → ../specify/SKILL.md, ../plan/SKILL.md. An autonomous agent or tool-calling loop → ../building-agents/SKILL.md. Generic project docs or a wiki article → the ../harness/SKILL.md 02-DOCS engine. Bootstrapping a workspace or profiling the user → ../init/SKILL.md.

Read 02-DOCS/wiki/harness/user-profile.md and speak in the register its technical_level records (technical terms, or plain words with analogies); ../init/SKILL.md sets it, and orient owns the voice. With no profile, use analogies and ask once "technical or with analogies?" — skill authoring is itself a technical act, so a non-technical author needs each convention explained, not just named.

What a skill is (the anatomy)

text
skills/<id>/
├── SKILL.md              the body: frontmatter (name + description + origin) then the prose
├── references/           progressive-disclosure detail, loaded only when the body points to it
│   └── <topic>.md
├── evals/
│   ├── cases.yaml        trigger + capability test cases
│   └── README.md         how to run the evals, honestly
└── scripts/              optional; verify.sh + helpers for skills with a checkable artifact
    └── verify.sh

The frontmatter decides if the skill loads. The body decides how good the agent is once it does.

The description — the single highest-leverage line

The description sits in context on every turn the skill is installed, invoked or not. The body is only paid for when the skill fires; the description is paid for always. So length here is a cost, never a credit. A vague description is a skill that never fires; an over-broad one hijacks unrelated turns. Get this right before anything else.

Rules, all enforced:

  1. Third person, present tense. "Use when authoring a new skill…" — never "I help you…" or "You should…". The agent is reading about the skill.
  2. Discriminative, not exhaustive. Lead with a Use when … clause naming the situation, then only the capabilities that separate this skill from its neighbours. Do not append a Triggers: '…', '…' phrase list: the model matches on meaning, so a keyword bank in three languages buys nothing and is charged on every turn. The test is discrimination, not coverage — could a reader pick this skill over its nearest sibling from this line alone?
  3. Draw the boundary. End with a NOT <x> (that is <sibling>) clause, naming a sibling that actually exists under skills/. Negative space prevents hijacking as much as positive matching causes firing.
  4. Aim ≤ 350 characters; 1024 is the schema-enforced hard limit. One physical line, wrapped in double quotes, internal quotes escaped or avoided. If it does not parse, the skill does not load.
  5. origin: risco on its own line. This marks it as ours.
yaml
# Good — situation, the few capabilities that discriminate, a real boundary
description: "Use when X happens or the user shows symptom Y — doing A, fixing B, choosing C. NOT Z (that is `sibling`)."

# Bad — first person, no situation, no boundary; competes with every sibling on every turn
description: "I help you write great skills and make them work."

The full recipe, the budget tactics, and a worked before/after → references/description-recipe.md.

Progressive disclosure — the body is an index, not an encyclopedia

The body is loaded in full whenever the skill fires, so every line competes for the agent's attention. Write the smallest body that still routes correctly: 400 lines is a ceiling, not a target, and there is no floor — a skill that does its job in 60 lines beats the same skill padded to 200. Push anything long, reference-like, or rarely-needed into references/<topic>.md and link it inline at the point of use ("full table → references/foo.md").

Decide where a paragraph lives:

Put it in the body when…Move it to references/ when…
The agent needs it on every runIt is needed only in a specific branch
It is a rule, a gate, or a decision pointIt is a long table, a catalog, or a template
It is short and load-bearingIt is reference detail that would bloat the body
Cutting it would change behaviorIt is an example that illustrates but does not instruct

Every file under references/ must be linked from the body. An unlinked reference is never loaded, so it is dead weight in the package — link it or delete it.

The hybrid structure — when each piece earns its place

  • SKILL.md — always. Frontmatter + focused body.
  • references/ — only when the body genuinely needs offloaded depth. Do not create an empty references/ to look complete; a single-file skill is fine.
  • evals/ — always. cases.yaml + README.md. A skill with no evals is unverifiable and does not ship.
  • scripts/verify.sh — only when the skill produces a checkable artifact (code, config, copy with a ban-list). Process skills — those judged on the safety rails they install in the agent's behavior, like the SDD-phase skills or this one — do not ship a verify.sh; their evals carry a capability scenario instead.

Every new skill MUST end with the orientation footer so the harness never leaves the user in seco. Append verbatim:

markdown

## Orientación (siempre)

Habla con la voz de `orient`: frases cortas, una idea por frase, y cada respuesta se entiende sola. Registro técnico o con analogías según `technical_level` en `02-DOCS/wiki/harness/user-profile.md`. Cierra cada turno con el **bloque-brújula** (📍 dónde estás · ➡️ siguiente, terminando en pregunta; ✅ y 🧭 cuando hay algo hecho o decidido). **Nunca termines en seco.** Protocolo completo: skill `orient` → `skills/orient/references/orientation-contract.md`. (Defiere a `suggest` el "¿instalo la skill que falta?".)

The full protocol lives once in the orient skill; the footer only references it.

The authoring workflow

Run in order. Each step gates the next.

  1. Name & scope. One skill, one job. Pick a short kebab-case <id> that is the job, not the domain. If you can not say the job in one sentence, the scope is wrong — split it. Check no sibling already owns this; if one half-owns it, decide edit the sibling vs new skill before writing.
  2. Draft the description. Per the rules above. This first, because writing it forces the scope clear. → references/description-recipe.md.
  3. Outline the body. Method, rules, decision points. Mark what becomes a reference.
  4. Write the body in the rsc voice (see below). Tag every code/example fence with a language. Add a checklist or decision table only where the flow actually branches — not as decoration. Add a short anti-patterns table.
  5. Extract references for anything long or branch-specific, and link each one inline.
  6. Write the evals — cases.yaml then README.md. → references/eval-authoring.md.
  7. Wire it into the rsc plumbing (tags, recommends, npm run manifest, and indexing any artifact in 02-DOCS/wiki/index.md — the Knowledge map; root CLAUDE.md keeps only a short pointer). → references/rsc-conventions.md.
  8. Self-audit against the rubric (below). Fix every miss or justify it.

The rsc voice

Match the catalog, do not invent a new register:

  • Direct, second-person-to-the-agent instruction ("Read the profile first", "Cut any section with no job").
  • A rule gets stated where it applies, with a one-line why that makes it obviously absolute — not a lecture, and not a shouted NON-NEGOTIABLE.
  • Concrete over abstract: a number, a path, a Bad→Good pair beats an adjective.
  • Original prose. Mine ideas from anywhere; the words are Eric's. Do not reproduce another ecosystem's signature artifacts or phrasing — no borrowed "1% chance" urgency blocks, no copied rationalization wording, no *-reviewer-prompt.md files, no verbatim flowcharts. The rsc identity is its own.
  • Cross-reference siblings by name or ../<sibling>/SKILL.md, only ones that actually exist.

Match the form to the failure

Before you write an instruction, name the failure it's meant to prevent — then pick the form that actually fixes that failure. The instinct is to write a prohibition ("don't do X") for everything. That instinct is wrong for most failures, and measurably counter-productive for one class: a prohibition aimed at output shape tends to summon the very thing it forbids (the model attends to the named token), and can do worse than saying nothing at all. Match deliberately:

The failure is…Use this formWhy, and example
Discipline — the agent knows the rule but skips it under pressure (time, sunk cost, "just this once")The rule stated at the step it governs, with its why — plus one row in the anti-patterns tableA rule in an appendix is skimmed; a rule in context is followed. "Do not ship a failing test — a red test merged is a lie in the suite", written at the ship step. Do not build a separate rationalization bank restating rules already in the flow; it is paid for on every load and read as decoration.
Wrong-shaped output — tone, verbosity, format, structure come out wrongPositive recipe / contract (show the target shape)A prohibition ("don't be verbose", "no marketing fluff") makes it more likely — the model fixates on the banned shape. Give the shape to hit instead: "Reply in ≤3 sentences, lead with the verdict." Demonstrate, don't forbid.
Omitted element — the agent forgets a required pieceRequired structural slot (a checklist item or a template field it must fill)You can't prohibit an absence. Make the slot mandatory so its emptiness is visible — a Done-of-done checkbox, a template section, a result-envelope field.
Conditional behavior — right action depends on the situationPredicate-keyed conditional ("When X → do Y; otherwise Z")A flat rule fires in the wrong context. Key the behavior to its trigger so the agent branches correctly instead of over- or under-applying.

So: an anti-patterns table earns its place when it names concrete failure modes the flow above does not already state. A table that re-lists rules from the body is pure cost — delete it and move each rule to its step. And when you catch yourself writing "don't make it X" about the shape of an output, rewrite it as the shape to hit.

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

The best-practice rubric (audit before shipping)

A skill ships only when every box is checked or a miss is consciously justified.

  • Frontmatter parses as YAML; name matches the directory <id>; origin: risco present.
  • Description third-person, Use when… lead, an explicit NOT … (that is sibling) boundary naming a real sibling, ≤ 350 chars target / ≤ 1024 hard limit — judged on discrimination against the nearest sibling, not coverage.
  • One job. The body never drifts into a second skill's territory; it delegates instead.
  • Body ≤ 400 lines — a ceiling, not a target, with no floor. Long/branch-specific material lives in references/.
  • Every references/ file linked inline from the body; none orphaned.
  • Every fence language-tagged; no placeholder/TODO prose; examples concrete.
  • Checklist/decision table only where a flow branches; an anti-patterns table present, naming failure modes rather than restating rules.
  • Orient voice honored — reads technical_level from the profile and picks the register; short sentences, every answer understandable on its own.
  • Artifacts under 02-DOCS/wiki/ and indexed in 02-DOCS/wiki/index.md (the Knowledge map; root CLAUDE.md keeps only a short pointer), if the skill produces any.
  • Concrete tooling delegated to the stack skills rather than reinvented.
  • evals present — cases.yaml (≥5 should_trigger incl. non-obvious, ≥4 should_not_trigger each with a real-sibling route_to, ≥1 capability with a must_include rubric) + an honest README.md. scripts/eval-lint.sh passes — but it only checks presence and the counts (≥5/≥4/≥1) and that those keys are lists; the route_to-points-at-a-real-sibling, non-obvious phrasings, and must_include quality are yours to verify here, not the linter's.
  • verify.sh present iff the skill has a checkable artifact; process skills rely on evals.
  • Every must_include item discriminates — answerable by the scenario's task, plausibly caused by the skill and plausibly missed without it. An item both arms fail measures nothing and lowers the absolute; it has turned a real PASS into a FAIL here. → references/eval-authoring.md.
  • Sibling links resolve — every ../x/SKILL.md points to a skill that exists.
  • Wired — tags + recommends set, npm run manifest re-run, and npm run validate / npm run manifest:check pass (manifest current, no dangling recommends).

Full rubric rationale and the rsc plumbing steps → references/rsc-conventions.md.

Two ship gates: document AND behavior

The rubric above scores the skill as a document. That is one of two gates — a skill ships only when both are green:

  1. Static — the rubric above / scripts/skill-rubric.md, weighted score ≥ 8.5.

  2. Behavioral — scripts/skill-behavior-rubric.md: run the skill on its capability scenarios with and without it loaded, blind-grade both outputs, require absolute ≥ 8.5 and lift ≥ +1.0. Run it:

    bash
    # 1) execute + grade — invoke the Workflow tool:
    #      scriptPath: scripts/skill-behavior-eval.workflow.js   args: "<skill-id>"
    #    save the returned object to /tmp/<skill>-raw.json
    # 2) score + gate (exit 0 pass / 1 fail):
    node scripts/skill-behavior-eval.js --score /tmp/<skill>-raw.json

    A failing lift means the body adds nothing a bare agent didn't already do — fix the body, don't game the checklist.

Anti-patterns

Failure modeReality / fix
Description written last, once the body is doneThe description is why the body ever runs, and drafting it first forces the scope clear. Write it first, to bar.
Description padded for coverage — more phrasings, more languages, more verbsIt is in context on every turn, invoked or not. Prune until it discriminates against the nearest sibling and stops.
One skill covering specify + plan + implementMulti-job skills trigger fuzzily and teach poorly. One skill, one job — split it.
Body grown past ~400 lines "because the topic is rich"The agent skims what it cannot hold. Extract a reference and link it inline.
A references/ folder added to look thorough, or a reference nothing links toAn unlinked reference is never loaded — dead weight in the package. Link it at point of use or delete it.
Evals skipped: "I'll just test it by hand once"Unverifiable = does not ship. Write cases.yaml, near-misses with route_to included.
verify.sh added to a process skill for rigorA process skill has no artifact to grep. Its rigor is the capability eval.
../foo/SKILL.md linked to something not in this repoA dead link is a defect. Verify the directory exists under skills/.
Another catalog mirrored wholesale ("it's basically superpowers' writing-skills")Mine the idea, write it in the rsc voice. Copied artifacts or phrasing are a defect.

Project grounding (02-DOCS + CLAUDE.md)

When authoring produces a durable design note (a skill's scope decision, a description rationale worth keeping), persist it under 02-DOCS/wiki/sdd/ and index it in 02-DOCS/wiki/index.md (the Knowledge map; root CLAUDE.md keeps only a short pointer), per the ../harness/SKILL.md convention — never a stray file at the repo root. The skill's own evals/ is the executable record of intent; the wiki note is the human-readable why.

© 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 (references) in skills/author-skill of ericrisco/rsc-harness.

  • SKILL.md
  • evals/README.md
  • evals/cases.yaml
  • references/description-recipe.md
  • references/eval-authoring.md
  • references/rsc-conventions.md

Open the folder on GitHubat commit 92fde8f

Compare with similar skills

Author Skill 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.

Author Skill compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Author Skill this skillericrisco/rsc-harness156—~4.3kAutomated safety check: PassMIT
Darwin SkillHHU3637kr/skills1451 repos~2.2kAutomated safety check: PassNone
Clawpathy AutoresearchClawBio/ClawBio1.2k—~1.4kAutomated safety check: PassMIT
Agent Harness DesignAnastasiyaW/codex-claude-code-config154—~764Automated safety check: PassMIT
Skillforgetripleyak/SkillForge905—~2.3kAutomated safety check: NotesMIT
Topologychmod777john/swarm-ide1.5k—~447Automated safety check: PassNone

Similar skills

  • Darwin Skill

    HHU3637kr/skills

    Darwin Skill (达尔文.skill): autonomous skill optimizer inspired by Karpathy's autoresearch.

    145 GitHub starsUsed in 1 repo~2.2k tokens
    Agent WorkflowsAuto-check passed
  • Clawpathy Autoresearch

    ClawBio/ClawBio

    Eval-driven skill tuning. An agent skill from ClawBio/ClawBio.

    1.2k GitHub stars~1.4k tokensUpdated yesterday
    AI & LLM EngineeringAuto-check passed
  • Agent Harness Design

    AnastasiyaW/codex-claude-code-config

    Designing agent harnesses and tool systems — risk taxonomy for tools, permission decisions, draft/commit pattern, structured tool results, agent budgets (10 types), context trust labels against…

    154 GitHub stars~764 tokensUpdated 5 days ago
    AI & LLM EngineeringAuto-check passed
  • Skillforge

    tripleyak/SkillForge

    A skill your agent uses when creating, improving, finding, or auditing agent skills - the user says 'create a skill', 'do I have a skill for X', 'improve the X skill', 'which skill should I use'…

    905 GitHub stars~2.3k tokensUpdated 2 mo ago
    Agent WorkflowsAuto-check: notes
  • Topology

    chmod777john/swarm-ide

    Explain the IM+Agent framework: create+send as minimal primitives, IM system vs agent loop separation, message vs llmHistory, and the recursive property.

    1.5k GitHub stars~447 tokensUpdated 7 mo ago
    Agent WorkflowsAuto-check passed
  • Agent Creator

    jdforsythe/forge

    Creates structured agent definitions using the 7-component format grounded in persona science (the alignment-accuracy tradeoff), vocabulary routing, and the MAST failure taxonomy + Forge watchlist.

    151 GitHub stars~4.5k tokensUpdated 3 mo ago
    Agent WorkflowsAuto-check passed

More from ericrisco/rsc-harness

All 229 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…

    156 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…

    156 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…

    156 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…

    156 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…

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

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

Questions about Author Skill

What does Author Skill do?

A skill your agent uses when authoring a NEW rsc skill or editing an existing one — scoping it to one job, writing the description that decides whether it ever loads, splitting the body into…. Author Skill is an agent skill from ericrisco/rsc-harness. Use when authoring a NEW rsc skill or editing an existing one — scoping it to one job, writing the description that decides whether it ever loads, splitting the body into references/, writing its evals, auditing it against the rubric.

When should I use Author Skill?

Author Skill fits situations like: authoring a NEW rsc skill; editing an existing one — scoping it to one job; writing the description that decides whether it ever loads; splitting the body into references/.

How do I install Author Skill in Claude Code?

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

How do I install Author Skill in Codex?

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

Can I use Author Skill 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 author-skill -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/author-skill, .gemini/skills/author-skill, .github/skills/author-skill and .opencode/skills/author-skill in your project.

What does Author Skill need to run?

Going by SKILL.md and its folder, Author Skill needs the command-line tools its instructions call (npm and node).

Does Author Skill access the network?

SKILL.md contains no URLs. Its commands use npm, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Author Skill safe to install?

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.

What licence does Author Skill use?

Author Skill 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 Author Skill use?

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

What are the alternatives to Author Skill?

Skills that share tags, products or a category with Author Skill: Darwin Skill (HHU3637kr/skills, 145 stars), Clawpathy Autoresearch (ClawBio/ClawBio, 1.2k stars), Agent Harness Design (AnastasiyaW/codex-claude-code-config, 154 stars) and Skillforge (tripleyak/SkillForge, 905 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Author Skill?

ericrisco (a GitHub user) maintains it in ericrisco/rsc-harness, which has 156 GitHub stars. The repository holds 229 skills in this directory. The repository was last updated on October 6, 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.