A portable, harness-agnostic baseline for AI coding agents.
One engineering standard · one MCP list · one pinned skill set.
Built to run alongside Gentle AI, the harness layer I use — which is also where Context7 and Engram come from.
Works with Pi and Claude Code (the pair I recommend), OpenCode, Codex, Antigravity, Kilo Code,
Cursor, Gemini CLI, Oh My Pi, and anything else that reads an AGENTS.md-style rules file and speaks
MCP.
Not a product and not a framework. It is my personal working setup, cleaned up and shared because it may save you an afternoon. Nothing here is load-bearing for anyone but me — fork it, delete half of it, keep the parts that fit.
Minimal on purpose: three documents, no installer, no vendored skills, no framework to learn. You can read the whole thing in ten minutes.
| Piece | What it is | Where |
|---|---|---|
| Engineering standard | One short, enforceable standard — versions, gates, tests, structure, observability, docs — with adoption prompts and the config for every gate. Written for coding agents, so the rules are backed by gates that fail, not by prose. | standards/ |
| MCP servers | The MCP servers I run and what each one is for: Tavily, Context7, Engram — with Exa and Firecrawl as drop-in alternatives to Tavily, and the Playwright MCP as an option next to the playwright-cli skill. |
mcps/MCPS.md |
| Skills | 25 agent skills, installed globally from their upstream repos with the skills CLI into ~/.agents/skills and linked into ~/.claude/skills for Claude Code. |
skills/SKILLS.md |
This repo is one half of the setup; Gentle AI
is the other. Gentle AI is the harness layer over Pi: it plans, delegates to focused
subagents, reviews its own changes, and ships its own skills on top of the twenty-five listed below. Into
Pi it goes with pi install npm:gentle-pi.
It is also where Context7 and Engram come from — that is why mcps/MCPS.md lists them without
asking you to configure them by hand.
The two are independent. Everything here is plain documents, so you can take the standard, the MCP list and the skills and skip Gentle AI entirely.
.
├── README.md this file (en)
├── README.es.md this file (es)
├── AGENTS.md rules for working on this repo (not the standard you install)
├── LICENSE MIT
├── standards/
│ ├── README.md the standard, index (en)
│ ├── README.es.md the standard, index (es)
│ ├── en/
│ │ ├── Engineering_standards.md
│ │ ├── adopt.md
│ │ └── examples/ AGENTS.md, README.md, an ADR, gate config, CI
│ └── es/ the same, in Spanish
├── mcps/
│ └── MCPS.md the MCP servers I run
└── skills/
└── SKILLS.md install commands and inventory
Copy standards/en/Engineering_standards.md into your repo (root or docs/) and hand your coding
agent the matching prompt from standards/en/adopt.md: it configures the gates for Python (uv) or
Node/React (pnpm) and creates a short README.md and AGENTS.md. An existing repo gets a read-only
audit first, then a retrofit with one commit per step.
Start at standards/README.md.
mcps/MCPS.md lists the servers and the canonical mcpServers block. Translate it to
whatever shape your harness expects: every server is a plain npx stdio process, so only the JSON and
TOML keys differ.
Skills are not vendored here. They are installed globally from their upstream repos with the
skills CLI. It writes to ~/.agents/skills/, the directory Pi, OMP and most
other harnesses read, and links each skill into ~/.claude/skills/, the only one Claude Code reads:
# run the commands in skills/SKILLS.md, then:
npx skills ls -g
npx skills update -g -ySee skills/SKILLS.md for the command set and the inventory.
Open any coding agent — in any directory — and paste:
Set up this machine from https://github.com/umi008/dev-agent-setup (read its files over the network;
raw.githubusercontent.com works well). Do exactly this:
1. Install the global skills by running every command in skills/SKILLS.md verbatim, then run
`npx skills ls -g` and show me the result.
2. Read mcps/MCPS.md and tell me, for each server, how to declare it in the harness I am using.
Inspect the environment only: never print secret values, never write them to a file.
3. Report what you installed and what I still have to configure by hand.
Constraints: use the published files as-is — do not modify the repository, do not invent extra files.
Nothing secret lives in this repo. Provide these yourself:
| Credential | How |
|---|---|
| Your model provider | Whatever your harness expects — OAuth login (/login in OMP, claude login, codex login) or an API key such as ANTHROPIC_API_KEY / OPENROUTER_API_KEY exported from your shell rc. |
| Tavily (web search) | export TAVILY_API_KEY=... in your shell rc. The MCP entry reads it from the environment — no key is stored here. Skip the server entirely if your harness already talks to Tavily natively. |
| Exa or Firecrawl (only if you swap Tavily) | export EXA_API_KEY=... or export FIRECRAWL_API_KEY=... in your shell rc. Exa's hosted server also runs keyless, with no key at all. |
Context7 and Playwright need no credentials.
- Editing this repo?
AGENTS.mdat the root holds the conventions. It is not the standard you install — that one isstandards/en/Engineering_standards.md. - Claude Code and
AGENTS.md. Claude Code readsAGENTS.mdsince v2.1.277, but only when the project has noCLAUDE.md. If it has one, add the line@AGENTS.mdto it. - Skills stay upstream.
npx skills update -gkeeps them current instead of freezing a copy here.
MIT — see LICENSE. Take it, fork it, strip it down.