WhitehatD

Crag — AI skill for Claude Code

AI community

The bedrock layer for AI coding agents.

How to install Crag

This entry records only its repository, not the path inside it, so there is no exact command to give. Open WhitehatD/crag and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

What Crag does

The bedrock layer for AI coding agents. One governance.md. Any project. Never stale. Universal skills + cross-agent compilation (Claude, Cursor, Codex, Gemini, Aider).

Alternatives in AI

  • TokenTracker — Local-first AI token usage & cost tracker for 31 coding tools incl 1.4k ★
  • Engrim — The Universal Cross-Model Episodic Memory Standard 219 ★
  • Base — AI builder operating system 172 ★

README

crag

**Your rules. Every agent. Verified.**

AI coding agents ignore your rules because your rules live in nine different files that all drift apart. crag ends that: one `governance.md`, compiled into exactly the files your tools actually read — and, when you opt in, it verifies that what your agents *learned* is still true before it becomes law.

npx @whitehatd/crag

![crag detects your AI tools and compiles only what they need](https://raw.githubusercontent.com/WhitehatD/crag/master/assets/poster-demo.gif)

[![npm version](https://img.shields.io/npm/v/%40whitehatd%2Fcrag?color=%23e8bb3a&label=npm&logo=npm)](https://www.npmjs.com/package/@whitehatd/crag) [![Test](https://github.com/WhitehatD/crag/actions/workflows/test.yml/badge.svg)](https://github.com/WhitehatD/crag/actions/workflows/test.yml) [![License: Apache 2.0](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](./LICENSE) [![Node](https://img.shields.io/node/v/%40whitehatd%2Fcrag)](https://nodejs.org) [![Zero dependencies](https://img.shields.io/badge/dependencies-0-brightgreen)](./package.json) [![99 repos audited](https://img.shields.io/badge/benchmark-99%20repos%20%C2%B7%200%20crashes-brightgreen)](./benchmarks/leaderboard.md) [![55% zero AI config](https://img.shields.io/badge/audit-55%25%20zero%20AI%20config%20in%2099%20repos-orange)](./benchmarks/leaderboard.md)

**[crag.sh](https://crag.sh)** | [Audit Tool](https://crag.sh/audit) | [Leaderboard](https://crag.sh/leaderboard) | [Dashboard](https://app.crag.sh) | [Docs](https://crag.sh/docs) | [VS Code](https://marketplace.visualstudio.com/items?itemName=whitehatd.vscode-crag) | [Neovim](https://github.com/WhitehatD/crag.nvim) | [Status](https://crag.sh/status)


The problem

You told Cursor to run the linter. You told Claude Code too, in a different file. Copilot has a third file. Then you changed the rule — in one of them.

Now every agent follows a different version of your rules, your CI enforces a fourth, and nobody di