# Stop re-explaining your codebase to every AI agent — `cast-skills`

> Source: <https://dev.to/pedrocastanha/stop-re-explaining-your-codebase-to-every-ai-agent-cast-skills-3dac>
> Published: 2026-07-15 01:12:25+00:00

Every session, the agent forgets:

So you re-explain. It rewrites. Context drifts. Tokens burn.

Dumping a 40k-token `AGENTS.md`

into every prompt is not a strategy. It’s a tax.

I wanted something simpler: **write project knowledge once**, in a format agents already understand, and install it into **every tool I actually use**.

That’s [ cast-skills](https://github.com/pedrocastanha/cast-skills).

```
npx cast-skills
```

`cast-skills`

is a small CLI that bootstraps **cross-tool AI skills** for your machine (or project):

| Skill | Job |
|---|---|
`using-project-skills` |
Always-on router. When you start a feature/fix/refactor, it loads project context and routes work through the right module + workflow. |
`creating-project-skills` |
Bootstrapper (`/skill-creator` ). Reads the repo, asks sharp questions, generates a project skill tree. |
`explaining-changes` |
After non-trivial work, offers a beginner-friendly explanation (ELI5 → runtime) as Markdown/HTML. |

Skills use the open [ SKILL.md](https://agentskills.io) format — progressive disclosure: the agent loads what it needs, not your entire wiki every turn.

cast-skills is built around Anthropic's Agent Skills approach: instead of loading one massive prompt every session, the agent progressively loads only the knowledge it needs.

The wizard auto-detects what you have and drops skills in the right place:

| Tool | Where it goes | Format |
|---|---|---|
| Claude Code | `~/.claude/skills/` |
native `SKILL.md`
|
| GitHub Copilot | `~/.copilot/skills/` |
native |
| Gemini CLI | `~/.gemini/skills/` |
native |
| Codex | `~/.agents/skills/` |
native |
| Cursor |
`.cursor/skills/` (project) |
converted `.mdc`
|
| Windsurf |
`.windsurf/rules/` (project) |
converted rules |

Native tools get `SKILL.md`

as-is. Cursor/Windsurf get an auto-converted format so you’re not maintaining six copies by hand.

```
npx cast-skills
# or
npm i -g cast-skills && cast-skills
```

Requires Node ≥ 18.

`using-project-skills`

`explaining-changes`

The point isn’t another chatbot persona. It’s **stable project memory** that survives sessions and tools.

Most of us don’t live in one harness.

Monday: Claude Code.

Tuesday: Cursor on a design-heavy UI.

Wednesday: Copilot in a boring enterprise repo.

If “project brain” only works in one tool, you still re-explain on Tuesday.

`cast-skills`

optimizes for **write once → run everywhere that speaks skills/rules**.

If your team has no conventions, the bootstrapper will still force a few useful questions. That’s a feature.

```
cd your-repo
npx cast-skills
```

Pick the tools you use → let it install the three skills → start a real task and see if the agent stops inventing your architecture from scratch.

Repo: [github.com/pedrocastanha/cast-skills](https://github.com/pedrocastanha/cast-skills)

npm: [npmjs.com/package/cast-skills](https://www.npmjs.com/package/cast-skills)

If you try it, tell me:

Issues and PRs welcome — especially path fixes for tool updates (these CLIs move the goalposts often).
