integrate-harness
SkillAI & modelsThis skill teaches your AI how to add support for a new CLI-based coding agent. Once added, your AI can take a coding agent it doesn't work with yet and build a complete adapter for it, from auditing what the agent can do to handling sessions and sign-in.
Available today. Use it from your connected AI after setup.
No other account needed.
Add the skill, then ask your AI to connect a coding agent it doesn't support yet. It will work through the full process, from the capability audit to tests and documentation.
Then ask your AI: use the integrate-harness skill
What your AI can do with it
- Audit what a coding agent can do before building its adapter
- Scaffold a new adapter for a CLI coding agent
- Parse agent sessions so their activity can be read
- Detect how a coding agent signs in
- Wire up hooks for the new adapter
- Write tests and documentation for the finished adapter
What this skill tells your AI
The instructions your AI receives, as published by a5c-ai/babysitter in packages/adapters/skills/integrate-harness/SKILL.md and read by ahel’s review.
Goal: produce a production-quality XAdapter extends BaseAgentAdapter with full test coverage and documentation, matching the level of the existing 11 adapters (claude, codex, cursor, gemini, opencode, openclaw, copilot, hermes, pi, omp, adapters-remote).
Checklist
- Capability audit — read the harness's CLI docs. Fill in every
AgentCapabilitiesfield. Unknown? Set conservatively (false) and note in PR. - Create
packages/adapters/src/<name>-adapter.tsextendingBaseAgentAdapter. Required:agent,displayName,cliCommand,minVersion,hostEnvSignals,capabilities,models[],defaultModelId,configSchema,buildSpawnArgs,parseEvent,detectAuth,getAuthGuidance,sessionDir,parseSessionFile,listSessionFiles,readConfig,writeConfig. - Session parsing — if the harness stores JSONL sessions, delegate to
parseJsonlSessionFile; otherwise write a custom parser and unit-test each event shape. - Hooks — if the harness supports native hooks, override
writeNativeHookand mirror intoHookConfigManager. If not, rely on the base class's virtual hooks. - Plugins — if it supports MCP servers under
mcpServersin its config JSON, flipsupportsPlugins: true, addpluginFormats: ['mcp-server'], and delegate tomcp-plugins.ts(see cursor/gemini/opencode/openclaw for the pattern). - Register — add to
packages/adapters/src/index.tsexports and to the default registry inpackages/core/src/client.ts(if applicable). - Tests — in
packages/adapters/tests/<name>-adapter.test.ts:- capability shape
buildSpawnArgsfor a few representativeRunOptionsparseEventfor each JSONL type the harness emitsdetectAuthfor authenticated + unauthenticated states- session file parsing from a real fixture (redacted)
- If plugins: add the adapter to
mcp-plugins-parity.test.ts.
- CLI audit test — ensure
packages/cli/tests/commands-audit.test.tspasses (it exercises every adapter via the built CLI). - File-size limit — each source file must stay under 400 effective lines (
local/max-file-lines). Split helpers into sibling modules if you're close. - Docs — add a row to the README capabilities matrix and a paragraph in
docs/02-agents/<name>.md. - Changeset —
npm run changeset, pickminor(new adapter), summarize.
Verification
npm run typecheck
npm run lint
npm test
npx vitest run packages/adapters/tests/<name>-adapter.test.ts
All existing tests must continue to pass — no regressions in commands-audit.
Common pitfalls
- Forgetting to add the adapter to the default registry →
commands-audit.test.tswon't exercise it. - JSONL parsers that assume a single event per line — some harnesses emit arrays.
- Auth detection that reads env vars synchronously at construction time instead of
detectAuth()— breaks testability. buildSpawnArgsreturning the string"undefined"for missing options — always gate withif (options.X != null).- Hook writers that overwrite rather than merge — use
appendJsonHookorappendYamlHook.
Signals
- GitHub stars
- 2k
- Forks
- 106
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
integrate-harness- Source
- github.com/a5c-ai/babysitter