Your Agent Has Too Many Skills (and It’s Making It Worse)

The repos winning the agent performance game aren't adding more skills — they're tuning how skills load, compose, and stay out of each other's way.

We've been watching the skill ecosystem explode. 5,400+ skills in the OpenClaw registry. 1,370+ in Antigravity's installable library. Curated lists with tens of thousands of stars. But the fastest-growing repo in the space right now — everything-claude-code at 145k stars — isn't a skill collection at all. It's a performance optimization system. And that shift tells you where agent development is actually heading.

The skill bloat problem

Here's what happens when you install 40 skills into your agent harness: every single one gets parsed into the system prompt or loaded into context on every invocation. Your agent spends tokens reading skill definitions before it even starts thinking about your actual task.

Worse, skills conflict. A code-review skill that says 'always suggest tests' fights with a rapid-prototype skill that says 'skip tests, ship fast.' Your agent doesn't resolve this gracefully — it hallucinates a middle ground that satisfies neither.

The everything-claude-code repo treats this as a systems problem, not a content problem. Instead of asking 'what skills should my agent have,' it asks 'how should my agent load context so it performs well?'

Lazy loading and skill scoping

The pattern emerging across the top harness repos is straightforward: don't load skills until they're needed, and scope them tightly when you do.

In Claude Code's native architecture, this is already built in. Skills are invoked by slash command or trigger pattern — they aren't dumped into the system prompt wholesale. But most custom setups ignore this and stuff everything into CLAUDE.md or the root prompt.

The fix is a two-layer approach. Layer one: a lightweight skill index that tells the agent what's available, with one-line descriptions. Layer two: full skill definitions that only load when the agent matches a trigger. This is exactly how OpenViking (21k stars) handles it — they call it 'hierarchical context delivery,' but it's really just lazy loading for agent instructions.

REGISTRY.md — A minimal skill registry for any agent harness

# .skills/REGISTRY.md
# Skill index — agent reads this, loads full skill on match

## Available Skills

| Trigger | Skill | Path | When to load |
|---------|-------|------|--------------|
| /review | Code Review | .skills/review.md | User requests code review |
| /test | Test Writer | .skills/test-writer.md | User asks for tests or TDD |
| /deploy | Deploy Guard | .skills/deploy.md | Pre-push or deploy context |
| /refactor | Refactor Coach | .skills/refactor.md | User asks to restructure code |
| /security | Security Audit | .skills/security.md | Touching auth, input handling, or secrets |

## Loading Rules
- Load at most 2 skills per task
- If skills conflict, prefer the one matching the explicit trigger
- Never load a skill that wasn't triggered or contextually matched
- Always unload skills between tasks

## Skill Template
Each skill file in `.skills/` follows this structure:

```
---
name: Skill Name
trigger: /command or context pattern
conflicts_with: [other-skill-names]
priority: 1-10
---

<skill instructions here>
```

The skill index pattern

Here's the concrete pattern you can steal today. Instead of pasting full skill files into your agent's root config, create a skill registry that maps triggers to file paths. The agent reads the index, recognizes which skill applies, and loads only that skill's full definition.

This keeps your base context small, your agent focused, and your skills composable without conflicts.

Why this matters now

Context windows are getting bigger, but that doesn't mean you should fill them with instructions. Every token of skill definition is a token not spent on reasoning about your actual problem. The teams running production agent workflows — the ones building harness optimization systems instead of skill collections — figured this out months ago.

The awesome-openclaw-skills repo (44k stars) recently added filtering and categorization for its 5,400+ skills. That's not because people want to browse — it's because people need to pick the right 5-10 skills, not install all 5,400.

Antigravity's collection ships with bundles — pre-composed skill sets for common workflows. agent-skill-creator lets you build skills that declare their own trigger conditions. MagicSkills turns scattered SKILL.md files into composable, tool-ready capabilities. The entire ecosystem is converging on the same insight: less loaded context, better agent performance.

The skill ecosystem grew fast. Now it's optimizing. If your agent setup still loads every skill on every run, you're leaving performance on the table — and probably confusing your agent in the process. Pick your five best skills. Build a registry. Let the agent load what it needs, when it needs it. That's the harness engineering pattern that separates agents that feel smart from agents that actually are. Tomorrow: Skill security is becoming a real concern. We look at clawsec and what drift detection means for your SOUL.md.