Scaffold instructions for using harness patterns inside Cursor — manual install today, automated render once Cursor exposes a plugin loader.
How this skill is triggered — by the user, by Claude, or both
Slash command
/harness-builder-cursor:cursor-initThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Cursor has no plugin loader, so this skill is documentation. The plugin
Cursor has no plugin loader, so this skill is documentation. The plugin ships:
templates/rules/agent-init.mdc.hbs — project rule, alwaysApply: truetemplates/agents/{planner,dev,reviewer}.md.hbs — subagent fileslib/render.mjs, lib/detect-stack.mjs — vendored from harness-builderOnce Cursor supports skill invocation, a future cursor-init runtime will:
Detect project context:
import { detectProject } from "./lib/detect-stack.mjs";
const detected = detectProject(process.cwd()); // { stack, runtime, services }
Gather user input (purpose, size, qa_personas, deploy_targets, constraints).
Render the templates with the discovery context:
import { render } from "./lib/render.mjs";
const ctx = {
purpose, size, qa_personas, deploy_targets, constraints,
...detected,
services_str: detected.services.join(", "),
agents: [
{ name: "planner", description: "Drafts a plan before non-trivial changes." },
{ name: "dev", description: "Implements after a plan is confirmed." },
{ name: "reviewer", description: "Reviews the diff before final acceptance." },
],
};
Write the rendered outputs to:
templates/rules/agent-init.mdc.hbs → .cursor/rules/agent-init.mdctemplates/agents/<role>.md.hbs → .cursor/agents/<role>.md for each roleRefuse to overwrite existing files unless --force.
node plugins/harness-builder-cursor/bin/init.mjs /path/to/your/project \
--ctx ctx.json [--force]
The renderer:
ctx.json (or env vars PURPOSE, SIZE, QA_PERSONAS, DEPLOY_TARGETS, CONSTRAINTS if no JSON).detectProject(target) to fill stack/runtime/services..hbs templates and writes them to .cursor/rules/ and
.cursor/agents/ in the target project.--force.bin/install.sh is deprecated — it now prints a hint and exits non-zero.
Example ctx.json:
{
"purpose": "Demo app",
"size": "small",
"qa_personas": ["auth"],
"deploy_targets": "fly.io",
"constraints": ""
}
Cursor also reads .claude/agents/ and .codex/agents/ as subagent
locations. If your project already has those (e.g., from running
/agent-init for Claude Code or /codex-init), Cursor picks them up
automatically — no separate install needed.
.cursor/mcp.json emissionSee docs/superpowers/specs/2026-05-18-cross-platform-plugins-followups.md.
Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.
npx claudepluginhub kim-song-jun/agent-skill --plugin harness-builder-cursor