cursor:setup - Cursor Backend Setup
SkillAI & modelsThis skill lets your agent set up Cursor as the local default implementation backend for Claude Code Harness and confirm it is ready to use. Once added, your agent can configure Cursor on your machine and check its readiness whenever you ask. Changes stay limited to your local settings and only happen when you explicitly request them.
Available today. Use it from your connected AI after setup.
No other account needed.
After adding it, tell your agent to run cursor:setup or to make Cursor your local default backend. It will apply the settings and confirm that Cursor is ready.
Then ask your AI: use the cursor:setup - Cursor Backend Setup skill
What your AI can do with it
- Set Cursor as the local default backend for Claude Code Harness
- Check whether Cursor is ready to run as your backend
- Respond to cursor:setup when you want Cursor configured
- Change only your local environment and user settings, and only when you explicitly ask
What this skill tells your AI
The instructions your AI receives, as published by chachamaru127/claude-code-harness in skills/cursor-setup/SKILL.md and read by ahel’s review.
Cursor backend の setup / verification 用 skill。配布 plugin の fallback は claude のままにし、現在の repo / user 環境だけ cursor default にする時に使う。
Quick Reference
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 fromHARNESS_IMPL_BACKENDalone. - 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:
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
-
For
--check, run: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 -
For
--user-default, run:bash "${HARNESS_PLUGIN_ROOT}/scripts/set-impl-backend.sh" --user cursor bash "${HARNESS_PLUGIN_ROOT}/scripts/set-impl-backend.sh" --show -
For
--project-default, run:bash "${HARNESS_PLUGIN_ROOT}/scripts/set-impl-backend.sh" cursor bash "${HARNESS_PLUGIN_ROOT}/scripts/set-impl-backend.sh" --show -
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 "${HARNESS_PLUGIN_ROOT}/scripts/set-impl-backend.sh" --unsetUser scope:
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
Signals
- GitHub stars
- 3k
- Forks
- 299
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
cursor-setup- Source
- github.com/chachamaru127/claude-code-harness