Skip to content

AI assistants

The engine ships with a Claude Code skill in claude-skill/etl-engine.md — a single markdown file that encodes the operational knowledge for authoring Rabbit-in-a-Hat mappings, configuring etl.conf, and debugging failed runs. Drop it into your Claude Code setup and you can ask detailed engine questions without the assistant needing the source or the hosted docs.

The same content is portable to other AI tools — see Other AI tools below.

Installing the Claude Code skill

Claude Code loads skills from one of two locations. Pick whichever suits your workflow:

User scope — available in every Claude Code session

mkdir -p ~/.claude/skills
cp claude-skill/etl-engine.md ~/.claude/skills/

The skill is now available globally on this machine, regardless of which directory you start Claude Code in.

Project scope — committed alongside your ETL project

cd <your-etl-project>
mkdir -p .claude/skills
cp /path/to/claude-skill/etl-engine.md .claude/skills/
git add .claude/skills/etl-engine.md
git commit -m "Add ETL Engine Claude skill"

The skill is now available to anyone who clones the project. This is the recommended scope for production engagements where multiple people on the team use Claude Code on the same mappings.

Using the skill

In any Claude Code session, invoke it with:

/etl-engine

…and ask whatever you need:

  • "How do I map a SNOMED code to a concept id?"
  • "What does Errors break ETL of table mean?"
  • "Show me the pre-map + VocabMap pattern."
  • "Why is my visit_occurrence_id NULL?"
  • "What's the difference between Map with and without a default?"

The skill stays grounded in the documented behaviour of the engine — it will tell you when it doesn't know something rather than invent syntax.

Updating the skill

When you upgrade the engine to a new release, replace the skill file with the version from the new release's claude-skill/ directory — the skill is regenerated each release to match what the engine actually does.

cp <new-release>/claude-skill/etl-engine.md ~/.claude/skills/
# or, for project scope:
cp <new-release>/claude-skill/etl-engine.md <your-project>/.claude/skills/

Other AI tools

The skill body — everything below the ----bracketed frontmatter at the top of etl-engine.md — is plain markdown. Any AI assistant that accepts a system prompt or rules file can use it.

Tool Where to put it
Cursor Save the body as .cursorrules in your project root.
GitHub Copilot Save as .github/copilot-instructions.md.
Continue Reference as a system message in the Continue config.
ChatGPT (Custom GPT) Paste the body into the Custom GPT's instructions panel.
Gemini / Generic LLM Provide as context in any conversation, or as the system prompt for a custom assistant.

Strip the frontmatter (----bracketed block at the very top) before using the body outside Claude Code — that block is only meaningful to Claude Code's skill loader. The rest is tool-agnostic markdown.

Why two files would be cleaner than one

A future release may ship the skill body as a separate .md file without frontmatter, and the Claude-specific frontmatter as a thin wrapper that includes it. Until then: strip the frontmatter manually for non-Claude-Code tools.

Privacy and data flow

The skill file is a static knowledge base — installing it does not make Claude Code (or any other tool) phone home, and does not share your mappings, source data, or run logs with anyone. The skill just teaches Claude about the engine; what you ask Claude is up to you and is governed by Claude Code's own data policies, not by the skill or by Rook IT.

Building your own skill

If you have proprietary mapping conventions or in-house glossary terms you want a Claude skill to know about, you can either extend this skill or write a project-specific companion skill that lives alongside it. A skill is just a markdown file with a small frontmatter block — see Anthropic's Claude Code skill documentation for the format. Two skills can coexist; Claude reaches for whichever is most relevant to the question.