cursor-ask

GitHub

只读委托技能,用于向Cursor Composer发起提问、代码调查、设计咨询及敌对性审查。通过禁止写入确保操作安全隔离,避免复杂工作区管理,要求回复简洁并遵循特定UX规范。

skills/cursor-ask/SKILL.md Chachamaru127/claude-code-harness

Trigger Scenarios

ask cursor cursor:ask second opinion sanity check

Install

npx skills add Chachamaru127/claude-code-harness --skill cursor-ask -g -y
More Options

Use without installing

npx skills use Chachamaru127/claude-code-harness@cursor-ask

指定 Agent (Claude Code)

npx skills add Chachamaru127/claude-code-harness --skill cursor-ask -a claude-code -g -y

安装 repo 全部 skill

npx skills add Chachamaru127/claude-code-harness --all -g -y

预览 repo 内 skill

npx skills add Chachamaru127/claude-code-harness --list

SKILL.md

Frontmatter
{
    "name": "cursor-ask",
    "description": "Read-only cursor-agent delegate for questions\/sanity checks (no writes). Triggers: ask cursor, cursor:ask, second opinion, sanity check. Skip for: implementation (use cursor:do).",
    "allowed-tools": [
        "Read",
        "Bash"
    ],
    "argument-hint": "[question]",
    "description-en": "Read-only cursor-agent delegate for questions\/sanity checks (no writes). Triggers: ask cursor, cursor:ask, second opinion, sanity check. Skip for: implementation (use cursor:do).",
    "description-ja": "cursor-agent (Composer) への読み取り専用デリゲート。質問・調査・設計相談・敵対的視点(sanity check)用。worktree 不要、cherry-pick 不要、Lead diff review 不要。cursor は ask mode 固定で書き込み不可。Use when user says: cursor に聞いて, cursor に相談, セカンドオピニオン, 敵対的レビュー, 設計相談, cursor で調査, cursor:ask. Do NOT load for: 実装、リファクタ、ファイル編集、コミット\/プッシュ作業、書き込みが必要な作業 (代わりに cursor:do \/ breezing --cursor を使う)。",
    "user-invocable": true
}

cursor:ask — Read-Only Cursor Delegate

cursor-agent (Composer) に read-only で質問・調査・設計相談・敵対的レビューを委譲する軽量スキル。

cursor-companion.sh task は引数なしで --mode ask (hard read-only stop) が自動で付くため、--write を渡さない限り cursor 側は ファイル書き込み・コマンド実行ができない。これにより worktree 隔離・cherry-pick・Lead diff review がすべて不要になる。

Quick Reference

cursor:ask "この設計判断、Composer 視点でどう思う?"
cursor:ask "TASK_BASE_REF からの diff を読んで、見落としを 3 つ挙げて"
cursor:ask "harness-mem の cross-project N-call、楽観的すぎる前提はある?"

用途:

ケース
質問 "この型エラーの根本原因は?"
調査 "scripts/ 配下で curl を使ってる箇所を全部挙げて理由付きで"
設計相談 "この abstraction、3 年後に保守できる?"
敵対的視点 "この PR の最大の弱点を 1 つだけ挙げて"

Narration Rules (UX Contract)

敵は 冗長さ であって進捗報告ではない。起動時に何を聞くか・どう進めるかを簡潔に明示してから実行する。冗長な繰り返し・中身のない前置きだけを禁ずる。

起動時に必ず出すもの (banner + plan、3 行以内)

🚀 cursor / composer-2.5-fast / ask
これから: <質問の要点> を composer に投げて、結果を 3-5 行で要約

banner 1 行 + 計画 1-2 行。1 秒以内に出し、即 Step 2 へ。

進捗報告は出してよい

  • 委譲開始の 1 行 (→ composer に問い合わせ中)
  • 判断に必要な経緯を 1 行で

禁止 (= 冗長さ)

  • 同じ事実の 2 回言い換え: cursor-companion の結果を後段で再説明しない
  • 中身のない前置き: 「使い方を確認します」だけの行など tool call で自明な宣言
  • 3 行以上の経緯振り返り: 必要なら 1 行に圧縮
  • 起動シーケンス中の ★ Insight ブロック: Insight は最終要約で 1 回のみ

違反例 (冗長):

× 「cursor に質問を投げる準備をします」→ bash → 「投げます」(中身のない前置き + 言い換え)
× 「ask モードは読み取り専用なので安全です」と再説明(既知事実の繰り返し)
× ★ Insight ──── まず cursor の状態を確認します: ...

正常例 (簡潔 + 計画明示):

🚀 cursor / composer-2.5-fast / ask
これから: 設計の弱点を composer に問い、結果を 3-5 行で要約

Execution Flow

Step 0: 起動時 banner + plan

上記 Narration Rules に従い、banner + 計画 (3 行以内) を出してから Step 1 へ。

Step 1: banner 確認

Step 0 で banner + 計画 (3 行以内) は出し切っているので、ここでは banner 行が出ていることを確認する。banner は:

🚀 cursor / composer-2.5-fast / ask

以降は委譲開始の 1 行ステータス等で進捗を見せてよい。冗長な繰り返しのみ避ける。

composer-2.5-fastscripts/model-routing.sh --host cursor --role worker --field model で解決される値の代表表記。実際の resolved model は cursor-companion 側のログに出る。

Step 2: helper root 解決 + cursor-companion 直接実行

$ARGUMENTS を質問文として渡す。--write は絶対に付けないscripts/cursor-companion.sh を相対パスで呼ぶと consumer repo の cwd 直下に見えず exit するため、CLAUDE_PLUGIN_ROOT / HARNESS_PLUGIN_ROOT を hooks.json と同じ valid_root パターンで解決する (Issue #193 §2):

QUESTION="$ARGUMENTS"
if [ -z "$QUESTION" ]; then
  echo "ERROR: question required. Usage: cursor:ask \"<your question>\"" >&2
  exit 1
fi

bash -c '
  set -euo pipefail
  valid_root() {
    [ -n "${1:-}" ] && [ -f "$1/scripts/cursor-companion.sh" ] && { [ -f "$1/.claude-plugin/plugin.json" ] || [ -f "$1/.codex-plugin/plugin.json" ] || [ -f "$1/.cursor-plugin/plugin.json" ]; }
  }
  HARNESS_PLUGIN_ROOT="${HARNESS_PLUGIN_ROOT:-${CLAUDE_PLUGIN_ROOT:-}}"
  ROOT="$HARNESS_PLUGIN_ROOT"
  if ! valid_root "$ROOT"; then
    ROOT=""
    if [ -n "${CLAUDE_SKILL_DIR:-}" ]; then
      probe="$(cd "${CLAUDE_SKILL_DIR}" && pwd)"
      while [ "$probe" != "/" ] && ! valid_root "$probe"; do
        probe="$(cd "$probe/.." && pwd)"
      done
      valid_root "$probe" && ROOT="$probe"
    fi
  fi
  if ! valid_root "$ROOT"; then
    ROOT=""
    for c in "${CLAUDE_PROJECT_DIR:-}" "$PWD" \
             "$HOME/.claude/plugins/marketplaces/claude-code-harness-marketplace" \
             "$HOME/.claude/plugins/cache/claude-code-harness-marketplace/claude-code-harness/"*; do
      if valid_root "$c"; then ROOT="$c"; break; fi
    done
  fi
  if ! valid_root "$ROOT"; then
    echo "ERROR: claude-code-harness plugin root not found (no scripts/cursor-companion.sh)" >&2
    exit 2
  fi
  HARNESS_PLUGIN_ROOT="$ROOT"
  bash "${HARNESS_PLUGIN_ROOT}/scripts/cursor-companion.sh" task "$1"
' _ "$QUESTION"

これだけで cursor-agent 側は --mode ask (hard read-only stop) に locked される。--force / --yolo も付かない。

Step 3: 結果を host が 3-5 行で要約

cursor の出力をそのまま貼らない。host (Claude/Codex) が読んで 3-5 行に要約 する:

  • 結論
  • なぜそう言えるか (cursor が挙げた根拠の核)
  • 注意点 / 追加調査が必要な点
  • 次の一手 (もしあれば)

要約後、最後に literal で次の一文を出力する:

↑この結果は host が要約します。Enter キーで次へ進むか、新規 prompt で別の指示を出してください。

Trust Boundary

cursor は不透明なサブプロセスであり、Harness のガードレール (R01-R13) は内部に適用されない。read-only 委譲でも以下の前提条件を満たすこと。

必須前提

項目 内容 設定場所
Secret 遮断 .cursorignore.env / *.pem / *.key / .ssh / .aws / .git を読取対象から除外 repo root .cursorignore
Egress allowlist ~/.claude/settings.jsonsandbox.network.allowedDomains*.cursor.sh を追加 user settings
Filesystem allowlist sandbox.filesystem.allowWrite~/.cursor を追加 (cursor-agent が状態書込を行うため) user settings
permissions.json ~/.cursor/permissions.jsonterminalAllowlist / mcpAllowlist は read mode でも有効 (allowlist は best-effort、security boundary ではない) user config

詳細は .claude/rules/cursor-cli-only.md を参照。

ask mode で省略できるもの

通常の cursor 委譲で必要 ask mode では不要 理由
隔離 worktree 不要 cursor は書き込みできない
Lead diff review 不要 差分が生まれない
cherry-pick 不要 同上
worker-report.v1 / self_review 5 件 不要 実装をしないため

それでも残るリスク

  • 読み取り漏洩: .cursorignore を怠ると秘密ファイルが cursor 推論に渡る
  • 誤った情報の鵜呑み: cursor 出力は untrusted。Step 3 の要約で必ず host が判断軸を残す
  • allowlist 過信: Cursor 公式は "Allowlists are best-effort convenience. They are not a security guarantee." と明言。allowlist に依存しない

Topology

Lead (Claude/Codex) ──[cursor-companion.sh task]──> cursor-agent (--mode ask, locked read-only)
       │
       └──[Step 3: 3-5 行要約]──> User

Worker 介在なし。Reviewer 介在なし。worker-report.v1 / review-result.v1 契約は発生しない。

Related Skills / Rules

  • cursor-do — 書込タスク委譲(worktree + Lead review + cherry-pick の full containment)
  • breezing --cursor — Reviewer のみ cursor に逃がす lean second-opinion レーン
  • harness-review --cursor — レビューを cursor (composer-2.5-fast) に second-opinion として依頼
  • .claude/rules/cursor-cli-only.md — Cursor backend governance (trust boundary, prohibited flags)

Version History

  • c220671 Current 2026-07-05 14:47

Same Skill Collection

codex/.codex/skills/agent-browser/SKILL.md
codex/.codex/skills/auth/SKILL.md
codex/.codex/skills/breezing/SKILL.md
codex/.codex/skills/cc-cursor-cc/SKILL.md
codex/.codex/skills/cc-update-review/SKILL.md
codex/.codex/skills/ci/SKILL.md
codex/.codex/skills/crud/SKILL.md
codex/.codex/skills/cursor-ask/SKILL.md
codex/.codex/skills/cursor-do/SKILL.md
codex/.codex/skills/cursor-rescue/SKILL.md
codex/.codex/skills/cursor-review/SKILL.md
codex/.codex/skills/cursor-setup/SKILL.md
codex/.codex/skills/deploy/SKILL.md
codex/.codex/skills/generate-slide/SKILL.md
codex/.codex/skills/generate-video/SKILL.md
codex/.codex/skills/gogcli-ops/SKILL.md
codex/.codex/skills/harness-accept/SKILL.md
codex/.codex/skills/harness-loop/SKILL.md
codex/.codex/skills/harness-orchestration/SKILL.md
codex/.codex/skills/harness-plan-brief/SKILL.md
codex/.codex/skills/harness-plan/SKILL.md
codex/.codex/skills/harness-progress/SKILL.md
codex/.codex/skills/harness-release/SKILL.md
codex/.codex/skills/harness-review/SKILL.md
codex/.codex/skills/harness-setup/SKILL.md
codex/.codex/skills/harness-sync/SKILL.md
codex/.codex/skills/harness-work/SKILL.md
codex/.codex/skills/maintenance/SKILL.md
codex/.codex/skills/memory/SKILL.md
codex/.codex/skills/notebookLM/SKILL.md
codex/.codex/skills/principles/SKILL.md
codex/.codex/skills/session-control/SKILL.md
codex/.codex/skills/session-init/SKILL.md
codex/.codex/skills/session-memory/SKILL.md
codex/.codex/skills/session-state/SKILL.md
codex/.codex/skills/session/SKILL.md
codex/.codex/skills/ui/SKILL.md
codex/.codex/skills/vibecoder-guide/SKILL.md
codex/.codex/skills/workflow-guide/SKILL.md
opencode/skills/agent-browser/SKILL.md
opencode/skills/auth/SKILL.md
opencode/skills/breezing/SKILL.md
opencode/skills/cc-cursor-cc/SKILL.md
opencode/skills/ci/SKILL.md
opencode/skills/crud/SKILL.md
opencode/skills/cursor-ask/SKILL.md
opencode/skills/cursor-do/SKILL.md
opencode/skills/cursor-rescue/SKILL.md
opencode/skills/cursor-review/SKILL.md
opencode/skills/cursor-setup/SKILL.md
opencode/skills/deploy/SKILL.md
opencode/skills/generate-slide/SKILL.md
opencode/skills/generate-video/SKILL.md
opencode/skills/gogcli-ops/SKILL.md
opencode/skills/harness-accept/SKILL.md
opencode/skills/harness-loop/SKILL.md
opencode/skills/harness-orchestration/SKILL.md
opencode/skills/harness-plan-brief/SKILL.md
opencode/skills/harness-plan/SKILL.md
opencode/skills/harness-progress/SKILL.md
opencode/skills/harness-release/SKILL.md
opencode/skills/harness-review/SKILL.md
opencode/skills/harness-setup/SKILL.md
opencode/skills/harness-sync/SKILL.md
opencode/skills/harness-work/SKILL.md
opencode/skills/maintenance/SKILL.md
opencode/skills/memory/SKILL.md
opencode/skills/notebooklm/SKILL.md
opencode/skills/principles/SKILL.md
opencode/skills/session-control/SKILL.md
opencode/skills/session-init/SKILL.md
opencode/skills/session-memory/SKILL.md
opencode/skills/session-state/SKILL.md
opencode/skills/session/SKILL.md
opencode/skills/ui/SKILL.md
opencode/skills/vibecoder-guide/SKILL.md
opencode/skills/workflow-guide/SKILL.md
skills-codex/breezing/SKILL.md
skills-codex/harness-loop/SKILL.md
skills-codex/harness-work/SKILL.md
skills/agent-browser/SKILL.md
skills/auth/SKILL.md
skills/breezing/SKILL.md
skills/cc-cursor-cc/SKILL.md
skills/cc-update-review/SKILL.md
skills/ci/SKILL.md
skills/crud/SKILL.md
skills/cursor-do/SKILL.md
skills/cursor-rescue/SKILL.md
skills/cursor-review/SKILL.md
skills/cursor-setup/SKILL.md
skills/deploy/SKILL.md
skills/generate-slide/SKILL.md
skills/generate-video/SKILL.md
skills/gogcli-ops/SKILL.md
skills/harness-accept/SKILL.md
skills/harness-loop/SKILL.md
skills/harness-orchestration/SKILL.md
skills/harness-plan-brief/SKILL.md
skills/harness-plan/SKILL.md
skills/harness-progress/SKILL.md
skills/harness-release/SKILL.md
skills/harness-review/SKILL.md
skills/harness-setup/SKILL.md
skills/harness-sync/SKILL.md
skills/harness-work/SKILL.md
skills/maintenance/SKILL.md
skills/memory/SKILL.md
skills/notebookLM/SKILL.md
skills/principles/SKILL.md
skills/session-control/SKILL.md
skills/session-init/SKILL.md
skills/session-memory/SKILL.md
skills/session-state/SKILL.md
skills/session/SKILL.md
skills/ui/SKILL.md
skills/vibecoder-guide/SKILL.md
skills/workflow-guide/SKILL.md

Metadata

Files
0
Version
c220671
Hash
df3f7927
Indexed
2026-07-05 14:47

trang chủ - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-07-08 23:32
浙ICP备14020137号-1 $bản đồ khách truy cập$