The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.
Shared harness for agent skills, hooks, and plugins
This repository keeps agent rules and skills in one place, then links them into the paths each tool expects. It also adds plugins and hooks so agents can use the same skills and block risky commands like `export`.
Builders who want their agent setup to behave the same across Claude Code, Codex, Cursor, and Copilot.
You can keep one shared set of rules and workflows across several agents instead of maintaining separate copies.
What it does
Shared skills library
Skills live in `.agents/skills/` and are reused across agents.
Plan and implement workflow
Skills like `codely-plan-create` and `codely-plan_phase-implement` break work into reviewed phases.
Documentation capture skill
`codely-doc-create` turns conversation corrections into reusable convention docs.
Conventional commit helper
`codely-git-conventional_commit` creates a commit with the team format and co-author trailer.
Output style plugin
The `ste100` plugin changes Claude Code responses to ASD-STE100 simplified technical English.
TypeScript code intelligence plugin
The `ts7-lsp` plugin adds go-to-definition, references, and diagnostics for TypeScript and JavaScript.
Export-blocking hooks
Hooks stop shell commands that contain `export` to reduce secret leaks.
Symlink generators
Make targets and scripts link shared skills and rules into each agent's expected folders.
How to get it
- 1Install the skills with the skills.sh installer
npx skills@latest add codelytv/agent-harness
- 2Add this repository as a plugin marketplace and install the plugin
/plugin marketplace add CodelyTV/agent-harness /plugin install codely-skills@codely
README
π€ Agent Harness
Our agent harness: Skills, plugins, hooks, and utilities to improve the quality of your agent.
ποΈ Skills
Skills live in .agents/skills/ and are shared across every agent.
β‘ Quickstart
-
Install the skills with the
skills.shinstaller:npx skills@latest add codelytv/agent-harness -
Pick the skills you want and the coding agents you want to install them on.
-
Run a skill in your agent, for example
/codely-doc-create. -
Done. Your agent now follows Codely's conventions.
Alternative: Claude Code plugin
-
Add this repository as a plugin marketplace and install the plugin:
/plugin marketplace add CodelyTV/agent-harness /plugin install codely-skills@codely -
Run a skill in Claude Code, for example
/codely-doc-create. -
Done. Every skill in this repo is now available in Claude Code.
π¦ Available skills
Skills are grouped by category:
π Harness
| Skill | What it does |
|---|---|
codely-doc-create | Generates convention documentation from the current conversation, turning feedback and corrections into reusable docs. |
Two ways to use codely-doc-create:
- After a conversation β run
/codely-doc-createto turn the corrections the agent received during the session into a new doc. - Before a conversation β run
/codely-doc-create <description>to formalize a convention you want to document upfront.
πΊοΈ RPI
| Skill | What it does |
|---|---|
codely-plan-create | Breaks a task into reviewable phases (vertical slices), defines the public contracts to change, and saves an approved plan file. |
codely-plan_phase-implement | Executes a single phase of a plan at a time, updates its checkboxes, and stops for review without committing automatically. |
codely-plan-create-github | Same planning flow, but stored as GitHub issues: a parent plan issue and one native sub-issue per phase. |
codely-plan_phase-implement-github | Implements one phase issue at a time on its linked branch and opens a pull request that closes the issue on merge. |
Typical flow:
- Plan the work with
/codely-plan-create <task>to produce a phased plan file under.agents/plans/. - Implement it phase by phase with
/codely-plan_phase-implement <plan-file-path>, reviewing and committing after each one.
π Git
| Skill | What it does |
|---|---|
codely-git-conventional_commit | Creates a Git commit following the team's Conventional Commits conventions and co-author trailer. |
Run /codely-git-conventional_commit to stage and commit your changes with a conventional message.
π£οΈ Output styles
Output styles change how the agent writes to you, not how it writes code.
| Plugin | What it does |
|---|---|
ste100 | Answers in ASD-STE100 Simplified Technical English: short sentences, active voice, one word per meaning, no idioms. |
/plugin marketplace add CodelyTV/agent-harness
/plugin install ste100@codely
Then run /config, look for Output Style, and select ASD-STE100.
π§ Code intelligence
| Plugin | What it does |
|---|---|
ts7-lsp | TypeScript/JavaScript go-to-definition, references, and diagnostics through the TypeScript 7 native compiler LSP. |
The native compiler (the Go rewrite formerly known as tsgo) indexes large monorepos roughly 10x faster and with far
less CPU than the official typescript-lsp plugin, which spawns typescript-language-server + tsserver.
Requires a TypeScript 7+ tsc binary on PATH (e.g. npm install -g typescript).
/plugin marketplace add CodelyTV/agent-harness
/plugin install ts7-lsp@codely
/plugin disable typescript-lsp@claude-plugins-official
π Unified rules and skills via .agents/
Each AI agent reads instructions from a different path. Maintaining them separately is error-prone, so this project centralizes everything and uses symlinks so each agent reads from its expected path while the content lives in a single place:
- Rules are written once in
AGENTS.md(one per directory if needed). - Skills live in
.agents/skills/and are shared across agents. - A
makecommand generates the symlinks each agent expects:
| Command | What it does |
|---|---|
make claude-symlinks | Creates a CLAUDE.md β AGENTS.md symlink in every directory that has an AGENTS.md, and links .claude/skills β .agents/skills |
make codex-symlinks | Links .codex/skills β .agents/skills |
make copilot-symlinks | Links .github/skills β .agents/skills |
make cursor-symlinks | Links .cursor/skills β .agents/skills |
make junie-symlinks | Links .junie/skills β .agents/skills |
make opencode-symlinks | Links .opencode/skills β .agents/skills |
π‘οΈ export command blocked via hooks
The export command can leak environment variables (tokens, secrets) if an agent runs it. To prevent this, each agent
has a pre-execution hook that blocks any shell command containing export:
| Agent | Hook location | Mechanism |
|---|---|---|
| Claude Code | .claude/settings.json | Uses the if keyword with a glob pattern (Bash(*export*)) to match and block inline |
| Cursor | .cursor/hooks.json + hooks/block-export.sh | Runs a shell script that parses the command via jq and exits with code 2 on match |
| Copilot | .github/hooks/hooks.json + hooks/block-export.sh | Same approach as Cursor, adapted to Copilot's hook input format |
| OpenCode | .opencode/plugins/block-export.ts | A native TypeScript plugin (tool.execute.before) that inspects the command and throws to block |
Files in the repo
- .agents
- .claude
- .claude-plugin
- .codex
- .cursor
- .github
- .junie
- .opencode
- docs
- scripts
- .gitignore
- AGENTS.md
- Makefile
- README.md
- skills.sh.json
Discussion (0)
Ask about usage, or say what you built with itSign in to join the discussion.
No comments yet. Be the first to say what this is good for.
More harnesses
from vibe coding to agentic engineering - practice makes claude perfect
π The original agent meta-harness. Deploy intelligent multi-player swarms, coordinate autonomous workflows, and build conversational AI systems. Features adaptive memory, self-learning intelligence, RAG integration, and native Claude Code / Codex / Hermes and many more Integrated
Practical patterns, starters & CLI tools for loop engineering with AI coding agents. Design systems that prompt and orchestrate agents (inspired by Addy Osmani and Boris Cherny). Includes loop-audit, loop-init, loop-cost.
Git. Ship. Done - Core

The most RAM efficient harness