Skip to main content
skill CX Codex

cursor-setup — Claude Code skill: what it does, how to install

Configures and checks the Cursor backend for Claude Code Harness. Useful when setting Cursor as your default local execution engine.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add Chachamaru127/claude-code-harness --skill cursor-setup -a claude-code
Open on GitHub

What cursor-setup does

This skill manages implementation backends inside Claude Code Harness. It invokes bash helper scripts setup-cursor.sh and set-impl-backend.sh to inspect or switch execution targets. Upstream distribution defaults remain untouched. Changes affect only your local repository or user settings when passing --project-default or --user-default.

Diagnostics search for the agent or cursor-agent executable in $PATH and $HOME/.local/bin. Without this binary, execution halts with exit code 3. The skill deliberately leaves ~/.cursor/permissions.json and .cursorignore to manual user control.

What it helps with

  • verify local cursor-agent binary availability and version
  • assign Cursor as the project-level default execution backend
  • configure Cursor as the user default backend engine
  • remove backend override configurations using --unset

Example prompts for the agent

  • Check Cursor readiness: cursor:setup --check
  • Set Cursor as default for this repository: cursor:setup --project-default
  • Clear current backend settings: cursor:setup --unset

How to install cursor-setup

1Skills CLI (Vercel)

npx skills add Chachamaru127/claude-code-harness --skill cursor-setup -a claude-code

2Manually: put the files in place

~/.claude/skills/cursor-setup/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/cursor-setup/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about cursor-setup

How to install cursor-setup in Claude Code?

Run npx skills add Chachamaru127/claude-code-harness --skill cursor-setup -a claude-code.

What does cursor-setup do?

It verifies local Cursor tooling and switches the execution backend in Claude Code Harness.

Which binary is required for the setup check?

You need cursor-agent or agent available in $PATH or under $HOME/.local/bin. Missing binaries trigger exit code 3.

Source text

SKILL.md · MIT
---
name: cursor-setup
description: "Configure and verify the Cursor backend for Claude Code Harness. Use when user invokes cursor:setup, wants Cursor as the local default implementation backend, or asks to check Cursor plugin/agent readiness. Distribution default remains opt-in; only local env/user settings are changed when explicitly requested."
description-en: "Configure and verify the Cursor backend for Claude Code Harness. Use when user invokes cursor:setup, wants Cursor as the local default implementation backend, or asks to check Cursor plugin/agent readiness. Distribution default remains opt-in; only local env/user settings are changed when explicitly requested."
description-ja: "Claude Code Harness の Cursor backend を設定・検証するスキル。cursor:setup、Cursor を現環境の default 実装 backend にしたい、Cursor plugin/agent readiness を確認したい時に使う。配布 plugin の default は opt-in のまま維持し、明示依頼がある場合だけ local env/user 設定を変更する。"
allowed-tools: ["Read", "Bash"]
argument-hint: "[--check | --user-default | --project-default | --unset]"
user-invocable: true
---

# cursor:setup - Cursor Backend Setup

Cursor backend の setup / verification 用 skill。配布 plugin の fallback は `claude` のままにし、現在の repo / user 環境だけ `cursor` default にする時に使う。

## Quick Reference

```bash
cursor:setup --check
cursor:setup --user-default
cursor:setup --project-default
cursor:setup --unset
```

## Rules

- Do not change distribution defaults or plugin manifests to make Cursor the shipped fallback.
- Use `scripts/resolve-impl-backend.sh` / `scripts/set-impl-backend.sh`; do not infer from `HARNESS_IMPL_BACKEND` alone.
- Treat `~/.cursor/permissions.json`, `.cursorignore`, and Claude sandbox allowlists as manual/user-owned setup surfaces unless the user explicitly asks to edit a local file.

## Flow

First resolve the Harness helper root. Keep the current working directory as the target project so project-scoped `env.local` writes still land in the user's repo:

```bash
HARNESS_PLUGIN_ROOT="${HARNESS_PLUGIN_ROOT:-${CLAUDE_PLUGIN_ROOT:-}}"
if [ -z "$HARNESS_PLUGIN_ROOT" ] && [ -n "${CLAUDE_SKILL_DIR:-}" ]; then
  probe="$(cd "${CLAUDE_SKILL_DIR}" && pwd)"
  while [ "$probe" != "/" ] && [ ! -d "$probe/scripts" ]; do
    probe="$(cd "$probe/.." && pwd)"
  done
  [ -d "$probe/scripts" ] && HARNESS_PLUGIN_ROOT="$probe"
fi
if [ -z "$HARNESS_PLUGIN_ROOT" ]; then
  echo "ERROR: HARNESS_PLUGIN_ROOT is not set and could not be derived from CLAUDE_PLUGIN_ROOT or CLAUDE_SKILL_DIR" >&2
  exit 2
fi
```

1. For `--check`, run:

   ```bash
   bash "${HARNESS_PLUGIN_ROOT}/scripts/setup-cursor.sh" --check
   bash "${HARNESS_PLUGIN_ROOT}/scripts/set-impl-backend.sh" --show
   bash "${HARNESS_PLUGIN_ROOT}/scripts/resolve-impl-backend.sh" --role worker
   CURSOR_AGENT_BIN="${CURSOR_AGENT_BIN:-}"
   if [ -z "$CURSOR_AGENT_BIN" ]; then
     # `agent`(公式の新表記)→ `cursor-agent`(legacy alias)の順に探す。
     # `agent` は汎用的な名前なので、symlink 解決後の実パスの「成分」に
     # cursor-agent が完全一致で現れる場合だけ採用する(部分文字列一致だと
     # /x/cursor-agent-not-really/agent のようなディレクトリ名で突破される)。
     for _c in agent cursor-agent; do
       _p="$(command -v "$_c" 2>/dev/null)" || continue
       [ -n "$_p" ] || continue
       _r="$(realpath "$_p" 2>/dev/null || readlink -f "$_p" 2>/dev/null || echo "$_p")"
       case "/$_r/" in */cursor-agent/*) CURSOR_AGENT_BIN="$_p"; break ;; esac
     done
     if [ -z "$CURSOR_AGENT_BIN" ] && [ -x "$HOME/.local/bin/cursor-agent" ]; then
       CURSOR_AGENT_BIN="$HOME/.local/bin/cursor-agent"
     fi
   fi
   if [ -z "$CURSOR_AGENT_BIN" ]; then
     echo "ERROR: cursor-agent not found in PATH or $HOME/.local/bin" >&2
     exit 3
   fi
   "$CURSOR_AGENT_BIN" --version
   ```

2. For `--user-default`, run:

   ```bash
   bash "${HARNESS_PLUGIN_ROOT}/scripts/set-impl-backend.sh" --user cursor
   bash "${HARNESS_PLUGIN_ROOT}/scripts/set-impl-backend.sh" --show
   ```

3. For `--project-default`, run:

   ```bash
   bash "${HARNESS_PLUGIN_ROOT}/scripts/set-impl-backend.sh" cursor
   bash "${HARNESS_PLUGIN_ROOT}/scripts/set-impl-backend.sh" --show
   ```

4. For `--unset`, ask whether the target is user or project scope if not clear from the request, then run exactly one matching unset command:

   Project scope:

   ```bash
   bash "${HARNESS_PLUGIN_ROOT}/scripts/set-impl-backend.sh" --unset
   ```

   User scope:

   ```bash
   bash "${HARNESS_PLUGIN_ROOT}/scripts/set-impl-backend.sh" --unset --user
   ```

## Output

Report three facts only:

- resolved backend (`claude` / `codex` / `cursor`)
- Cursor package readiness (`setup-cursor.sh --check`)
- next manual step if Cursor is not ready

© Chachamaru127 · MIT · Chachamaru127/claude-code-harness

Similar skills

All skills for Agent setup: memory, context, orchestration →

From the same set3

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor