Sandbox
@CodelyTV/agent-harness

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`.

261 starsβ€’8 forksβ€’Shellβ€’Updated 1mo ago
Who it's for

Builders who want their agent setup to behave the same across Claude Code, Codex, Cursor, and Copilot.

What it delivers

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

  1. 1Install the skills with the skills.sh installer
    npx skills@latest add codelytv/agent-harness
  2. 2Add this repository as a plugin marketplace and install the plugin
    /plugin marketplace add CodelyTV/agent-harness
    /plugin install codely-skills@codely

README

Codely logoCodely logo

πŸ€– Agent Harness

Codely Open Source projects

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

  1. Install the skills with the skills.sh installer:

    npx skills@latest add codelytv/agent-harness
    
  2. Pick the skills you want and the coding agents you want to install them on.

  3. Run a skill in your agent, for example /codely-doc-create.

  4. Done. Your agent now follows Codely's conventions.

Alternative: Claude Code plugin

  1. Add this repository as a plugin marketplace and install the plugin:

    /plugin marketplace add CodelyTV/agent-harness
    /plugin install codely-skills@codely
    
  2. Run a skill in Claude Code, for example /codely-doc-create.

  3. Done. Every skill in this repo is now available in Claude Code.

πŸ“¦ Available skills

Skills are grouped by category:

πŸ“ƒ Harness

SkillWhat it does
codely-doc-createGenerates 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-create to 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

SkillWhat it does
codely-plan-createBreaks a task into reviewable phases (vertical slices), defines the public contracts to change, and saves an approved plan file.
codely-plan_phase-implementExecutes a single phase of a plan at a time, updates its checkboxes, and stops for review without committing automatically.
codely-plan-create-githubSame planning flow, but stored as GitHub issues: a parent plan issue and one native sub-issue per phase.
codely-plan_phase-implement-githubImplements 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

SkillWhat it does
codely-git-conventional_commitCreates 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.

PluginWhat it does
ste100Answers 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

PluginWhat it does
ts7-lspTypeScript/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:

  1. Rules are written once in AGENTS.md (one per directory if needed).
  2. Skills live in .agents/skills/ and are shared across agents.
  3. A make command generates the symlinks each agent expects:
CommandWhat it does
make claude-symlinksCreates a CLAUDE.md β†’ AGENTS.md symlink in every directory that has an AGENTS.md, and links .claude/skills β†’ .agents/skills
make codex-symlinksLinks .codex/skills β†’ .agents/skills
make copilot-symlinksLinks .github/skills β†’ .agents/skills
make cursor-symlinksLinks .cursor/skills β†’ .agents/skills
make junie-symlinksLinks .junie/skills β†’ .agents/skills
make opencode-symlinksLinks .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:

AgentHook locationMechanism
Claude Code.claude/settings.jsonUses the if keyword with a glob pattern (Bash(*export*)) to match and block inline
Cursor.cursor/hooks.json + hooks/block-export.shRuns a shell script that parses the command via jq and exits with code 2 on match
Copilot.github/hooks/hooks.json + hooks/block-export.shSame approach as Cursor, adapted to Copilot's hook input format
OpenCode.opencode/plugins/block-export.tsA native TypeScript plugin (tool.execute.before) that inspects the command and throws to block

Files in the repo

Repository payloadβ€’15 top-level entries
  • .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 it

Sign in to join the discussion.

No comments yet. Be the first to say what this is good for.

More harnesses

affaan-m/
ECC
affaan-m/ECCHarnesses

The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

258k
ruvnet/rufloHarnesses

🌊 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

72k

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.

11k