Prompt engineering has a distribution problem. The best system prompt for /debug in a Rust codebase is not the best one for Python. The best /refactor for a React project is not the best one for Django. Every AI editor has its own way of registering slash commands. Cursor reads .cursorrules, Continue.dev takes a customCommands block in config.yaml, Claude Code auto-registers from .claude/commands/, Windsurf uses .windsurfrules, Cline uses .clinerules, Zed reads .rules. None of them share.

The result: every team writes its own prompt library, forks another team's when they can find one, then quietly regrets the whole thing three months later when the good ideas were siloed and the ones that shipped were wrong for half the codebase.

We built Achilleon to fix this. It is live now at github.com/taskclan/achilleon.

What Achilleon is

Achilleon is an open registry of AI editor skills, agents, and prompt templates. MIT licensed. Every entry lives once as a single YAML file. Every merge to main regenerates ready to install bundles for every AI editor and republishes the npm package.

Today the registry has 30 skills, 5 named agents, and 6 prompt templates. Everything from /debug and /review to /roast and /haiku. Locked personality agents like @taskclan-hacker (adversarial security review) and @taskclan-architect (a design partner that talks tradeoffs, not implementation). All under the same schema, all validated in CI, all installable with one curl.

Three kinds

Every entry falls into one of three categories. Each solves a different problem.

Skills are slash commands. /debug walks a stack trace to the root cause and shows the minimal fix. /refactor rewrites a selection preserving behaviour and public API. /commit writes a good single line commit message from your diff. Each skill has a fixed system prompt and a recommended T1 tier. When you use the Taskclan Intelligence extension, the tier gets routed automatically; when you install via Cursor rules or Continue config, the prompt applies with whatever model your editor is configured for.

Agents are named chat participants with locked personalities. @taskclan-reviewer reads every line as a staff engineer would and ranks findings by blast radius. @taskclan-guru answers in the style of a Zen teacher, brief and oblique, teaching by asking. @taskclan-sensei only asks the next question, never gives the answer directly until you say "just tell me" three times. Agents are for when you want a consistent voice across every turn, not per message intent.

Prompts are parameterised templates. summarize takes a body of text plus a length and audience. extract pulls structured JSON out of unstructured input in a shape you describe. judge evaluates an AI generated answer against a rubric and returns a structured verdict. Prompts render at call time with values you supply. Install @taskclan/achilleon from npm and call render("summarize", {'{'}...{'}'}).

Install for your editor

Everything ships to seven install paths. Pick your editor:

# Cursor
curl -O https://raw.githubusercontent.com/taskclan/achilleon/main/dist/cursor/.cursorrules

# Continue.dev
curl https://raw.githubusercontent.com/taskclan/achilleon/main/dist/continue/config.yaml

# Claude Code
mkdir -p .claude/commands \
  && curl -sSL https://github.com/taskclan/achilleon/archive/main.tar.gz \
  | tar -xz --strip-components=3 -C .claude/commands \
    'achilleon-main/dist/claude-code/commands'

# Windsurf
curl -O https://raw.githubusercontent.com/taskclan/achilleon/main/dist/windsurf/.windsurfrules

# Cline
curl -O https://raw.githubusercontent.com/taskclan/achilleon/main/dist/cline/.clinerules

# Zed
curl -O https://raw.githubusercontent.com/taskclan/achilleon/main/dist/zed/.rules

# ChatGPT / Claude Desktop / Perplexity — plain markdown
curl https://raw.githubusercontent.com/taskclan/achilleon/main/dist/raw/debug.md

For SDK authors, the npm package gives you the whole registry as typed data plus a render helper for prompt templates:

npm install @taskclan/achilleon
import { skills, agents, prompts, render, getSkill } from '@taskclan/achilleon';

// Every skill and agent, typed.
for (const s of skills) console.log(s.id, s.tier);

// Render a parameterised prompt.
const filled = render('summarize', {
  text: articleBody,
  length: '5 bullets',
});

None of these paths require a Taskclan account. Skills are just system prompts; they work with whatever model your editor is configured to use. Full matrix and browsable UI at taskclan.com/skills.

How the pipeline works

One YAML file, many outputs. Every push to main runs:

  1. Schema validation. Ajv checks every YAML against schema/skill.schema.json, agent.schema.json, or prompt.schema.json. Filename must equal id. No duplicate ids. For prompts, every {'{{'} variable {'}}'} in the template must have a matching declaration and vice versa.
  2. Editor bundle regeneration. scripts/export.mjs turns the YAML into dist/cursor/, dist/continue/, dist/claude-code/, dist/windsurf/, dist/cline/, dist/zed/, and dist/raw/.
  3. npm artifact regeneration. dist/index.mjs, dist/index.cjs, dist/index.d.ts, plus dist/registry.json and per kind JSON.
  4. Drift check. If the regenerated dist/ differs from what was committed, CI fails. Contributors run npm run build locally and commit both files, so the raw URLs (which the install commands above depend on) never go stale.

Fork, add a YAML file, run npm run build, open a PR. Merge picks it up automatically in every consumer.

Why open

Prompt engineering is empirical. The best /debug prompt for TypeScript is not the best for Rust. The best /refactor for a codebase full of hooks is not the best for one full of classes. A single team shipping one prompt for everyone is always wrong somewhere, and the right prompt is often not the one that team would write.

Two other reasons to make it open:

Auditability. If your team is going to depend on these prompts every day, you should be able to read them, argue with them, and change them. Achilleon is transparent by construction. Every prompt is a public YAML file with commit history and PR discussion.

Non-duplication. If someone at another company already tuned the /security prompt for a Node backend, and Achilleon merged the improvement, you get it for free the next time your tools sync. Nobody rewrites the wheel once per company.

What next

41 entries today. It should have 400 in a year. We seeded with the skills our own team uses most; every gap the community sees is a chance to contribute.

Concrete asks:

  • If you have a slash command that works well in your codebase, PR the YAML. The system prompt is one file plus one paragraph in the PR description explaining why it works.
  • If you have a locked personality agent you swear by, PR it. Every agent needs a specific voice; there is room for @taskclan-tester, @taskclan-docs, @taskclan-onboarding, and many more.
  • If you have a parameterised prompt template you have refined, PR it. The prompt kind is new and the six seeds we shipped barely scratch the surface.
  • If your editor of choice is not in the export list, PR a new target function in scripts/export.mjs. Roo Code, Aider, Cody, Sourcegraph Assistant, all welcome.

Repo: github.com/taskclan/achilleon. Browsable gallery: taskclan.com/skills. npm: @taskclan/achilleon. Contributing guide: CONTRIBUTING.md.

← All articles