cursor-setup
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.
- License 许可
- MIT
- 最近更新
- 2026-11-11
- Stars
- ★ 3.2k
- Forks
- 306
01 前言 Front Matter
- 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.
- allowed-tools
- [ "Read", "Bash" ]
- argument-hint
- [--check | --user-default | --project-default | --unset]
- 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 設定を変更する。
- user-invocable
- true
03 SKILL.md 正文
cursor:setup - Cursor Backend Setup
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
04 同仓库更多 Skills
escape-skill
暂无简介
zz-review-empty
暂无简介
session-send
This skill should be used when the user asks to notify other session, requests a session handoff, says tell other agent, or needs a cross-session message.
memory
Manage SSOT, memory, and cross-tool memory search. Guardian of decisions.md and patterns.md. Use when user mentions memory, SSOT, decisions.md, patterns.md, merging, migration, SSOT promotion, sync memory, save learnings, memory search, harness-mem, past decisions, or record this. Do NOT load for: implementation work, reviews, ad-hoc notes, or in-session logging.
maintenance
File cleanup and archiving. Tidies up bloated Plans.md, session-log.md, old logs, and state files. Trigger: /maintenance, cleanup, archive, organize, split session-log. Do NOT load for: implementation, review, release, new feature development.
japanese-writing-drafter
Detect when the operator corrects the agent's Japanese phrasing mid-conversation (rewrites a sentence, calls out a style problem, says 'this wording is bad, say it like X instead') and draft a pending writing-rule proposal into ~/.claude/writing-lint/proposals.jsonl for later human review. This skill is the ONLY writer of proposals.jsonl — it never edits rules.jsonl and never sets status to anything but pending. Promotion to rules.jsonl only happens via the human-run scripts/writing-rule-approve.sh. Use when user mentions writing-rule proposal, 表現を直して, 文体を直して, その言い方はNG, writing lint 提案, 指摘をルール化して. Do NOT load for: approving or rejecting proposals (use scripts/writing-rule-approve.sh), listing pending proposals (use scripts/writing-rule-list.sh), or scanning text against the existing dictionary (the writinglint engine / PostToolUse hook does that).