Skip to main content

Alexis Reyna · Skills

Skills you can install in one command

Each of these is a single SKILL.md that teaches an agent — or a person — one thing I learned the expensive way. They came out of a shipped multichain storefront, so the examples are real code and the gotchas are ones that actually cost me an afternoon.

Install everything

Run this from the root of any project. It writes each skill to .claude/skills/<name>/SKILL.md, where Claude Code picks them up automatically on the next session.

bash — install all
# from your project root
for s in capability-gate blazor-interop theme-tokens; do mkdir -p .claude/skills/$s && curl -fsSL https://www.alexisreyna.dev/skills/$s/SKILL.md -o .claude/skills/$s/SKILL.md; done
# confirm they landed
ls .claude/skills/
blazor-interop capability-gate theme-tokens

The skills

Download the file directly, or copy the one-line install for a single skill. Nothing here needs a package manager, an account, or a build step.

capability-gate

Feature flags that cannot lie

A capability is a claim about deployed infrastructure. This skill enforces that the claim and its proof live in one committed artifact, validated at startup, with no bypass — so a flag can never promise a contract that isn't deployed.

What you getThe five-hop path from manifest to UI, the fail-closed validator, and why the escape hatch you're about to add is the whole bug.

SKILL.md·193 lines·11.3 KB
Download

blazor-interop

JS that survives enhanced navigation

Blazor Web App has three separate mechanisms that replace DOM nodes under you, each with different rules. This encodes the module shape that survives all three, plus the lifecycle traps that only appear after a route change.

What you getWhy your script works on hard refresh and dies on navigation — and the idempotent-singleton + double-rAF pattern that fixes it.

SKILL.md·238 lines·11.0 KB
Download

theme-tokens

Design tokens that don't silently collapse

Four token systems, a three-tier light/dark/system cascade, and one environment quirk that renders text pure black if you write CSS the way every style guide tells you to. Leads with the rule that inverts the standard advice.

What you getNever chain custom properties. Plus why a shared component relies on a token being undefined, and how promoting it to :root breaks the whole site.

SKILL.md·218 lines·11.2 KB
Download

One at a time

The exact command behind each “Copy install” button, in case you’d rather see it than trust it.

bash — capability-gate
mkdir -p .claude/skills/capability-gate && curl -fsSL https://www.alexisreyna.dev/skills/capability-gate/SKILL.md -o .claude/skills/capability-gate/SKILL.md
bash — blazor-interop
mkdir -p .claude/skills/blazor-interop && curl -fsSL https://www.alexisreyna.dev/skills/blazor-interop/SKILL.md -o .claude/skills/blazor-interop/SKILL.md
bash — theme-tokens
mkdir -p .claude/skills/theme-tokens && curl -fsSL https://www.alexisreyna.dev/skills/theme-tokens/SKILL.md -o .claude/skills/theme-tokens/SKILL.md

What these actually are

A Claude Code skill is a markdown file with a name and a description in its frontmatter. The description decides when the agent loads it; the body is instructions it follows in place of its defaults. That’s the entire format — no runtime, no dependencies.

I wrote these to be read by a human as much as executed by an agent. If you never install one, the capability-gate essay covers the same ground in prose.