[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6C4NEMH4CYA61PRDF27TDPH":3,"skill-same:01M6C4NEMH4CYA61PRDF27TDPH":93},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":34,"publishedAt":61,"linkOnly":62,"markdownContent":63,"markdownBody":64,"frontMatter":65,"refName":71,"commitSha":72,"skillDirectory":73,"forksCount":74,"repositoryHtmlUrl":75,"repositoryHomepageUrl":6,"ownerHtmlUrl":76,"ownerBlogUrl":77,"ownerDescription":78,"updatedAt":79,"install":80,"resources":92},"01M6C4NEMH4CYA61PRDF27TDPH","cursor-ask",null,"Read-only delegate to cursor-agent (Composer) for questions, investigation, design discussion, and adversarial sanity checks. No worktree, no cherry-pick, no Lead diff review — cursor-agent is locked to ask mode and cannot write. Use when user says: ask cursor, cursor sanity check, get a second opinion, adversarial review, design discussion, investigate with cursor, cursor:ask. Do NOT load for: implementation, refactor, file edits, commit\u002Fpush work, anything requiring write access (use cursor:do or breezing --cursor instead).","Chachamaru127\u002Fclaude-code-harness","Chachamaru127","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F96473544?v=4","01M6C4N084DDDEK9SJPGFG9H9M","Chachamaru","01M6C4N0CCNFST9P8C7EJNVH42",3205,"MIT","https:\u002F\u002Fgithub.com\u002FChachamaru127\u002Fclaude-code-harness\u002Fblob\u002Fmain\u002Fcodex\u002F.codex\u002Fskills\u002Fcursor-ask\u002FSKILL.md",[18,23,26,29],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000007","代码审查","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000015","视觉设计",{"categoryNo":27,"categoryName":28,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":30,"categoryName":31,"taxonomyType":32,"taxonomyTypeDesc":33},"01JBSEEDCAT000000000000032","设计师","PROFESSION","适用职业",[35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60],"cursor ask","cursor","ask","when","design","mode","composer","sanity","get","breezing","only","diff","use","question","check","delegate","work","pick","access","Bash","investigate","file","worktree","push","commit","review","2026-11-10 10:12:30",false,"---\nname: cursor-ask\ndescription: \"Read-only delegate to cursor-agent (Composer) for questions, investigation, design discussion, and adversarial sanity checks. No worktree, no cherry-pick, no Lead diff review — cursor-agent is locked to ask mode and cannot write. Use when user says: ask cursor, cursor sanity check, get a second opinion, adversarial review, design discussion, investigate with cursor, cursor:ask. Do NOT load for: implementation, refactor, file edits, commit\u002Fpush work, anything requiring write access (use cursor:do or breezing --cursor instead).\"\ndescription-en: \"Read-only delegate to cursor-agent (Composer) for questions, investigation, design discussion, and adversarial sanity checks. No worktree, no cherry-pick, no Lead diff review — cursor-agent is locked to ask mode and cannot write. Use when user says: ask cursor, cursor sanity check, get a second opinion, adversarial review, design discussion, investigate with cursor, cursor:ask. Do NOT load for: implementation, refactor, file edits, commit\u002Fpush work, anything requiring write access (use cursor:do or breezing --cursor instead).\"\ndescription-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: 実装、リファクタ、ファイル編集、コミット\u002Fプッシュ作業、書き込みが必要な作業 (代わりに cursor:do \u002F breezing --cursor を使う)。\"\nallowed-tools: [\"Read\", \"Bash\"]\nargument-hint: \"[question]\"\nuser-invocable: true\n---\n\n# cursor:ask — Read-Only Cursor Delegate\n\ncursor-agent (Composer) に **read-only** で質問・調査・設計相談・敵対的レビューを委譲する軽量スキル。\n\n`cursor-companion.sh task` は引数なしで **`--mode ask` (hard read-only stop)** が自動で付くため、`--write` を渡さない限り cursor 側は **ファイル書き込み・コマンド実行ができない**。これにより worktree 隔離・cherry-pick・Lead diff review がすべて不要になる。\n\n## Quick Reference\n\n```bash\ncursor:ask \"この設計判断、Composer 視点でどう思う？\"\ncursor:ask \"TASK_BASE_REF からの diff を読んで、根拠のある見落としがあれば最大 3 つ挙げて\"\ncursor:ask \"harness-mem の cross-project N-call、楽観的すぎる前提はある？\"\n```\n\n用途:\n\n| ケース | 例 |\n|---|---|\n| 質問 | \"この型エラーの根本原因は？\" |\n| 調査 | \"scripts\u002F 配下で curl を使ってる箇所を全部挙げて理由付きで\" |\n| 設計相談 | \"この abstraction、3 年後に保守できる？\" |\n| 敵対的視点 | \"この PR の最大の弱点を 1 つだけ挙げて\" |\n\n## Narration Rules (UX Contract)\n\n敵は **冗長さ** であって進捗報告ではない。**起動時に何を聞くか・どう進めるかを簡潔に明示してから実行する**。冗長な繰り返し・中身のない前置きだけを禁ずる。\n\n### 起動時に必ず出すもの (banner + plan、3 行以内)\n\n```\n? cursor \u002F composer-2.5-fast \u002F ask\nこれから: \u003C質問の要点> を composer に投げて、結果を 3-5 行で要約\n```\n\nbanner 1 行 + 計画 1-2 行。1 秒以内に出し、即 Step 2 へ。\n\n### 進捗報告は出してよい\n\n- 委譲開始の 1 行 (`→ composer に問い合わせ中`)\n- 判断に必要な経緯を 1 行で\n\n### 禁止 (= 冗長さ)\n\n- **同じ事実の 2 回言い換え**: cursor-companion の結果を後段で再説明しない\n- **中身のない前置き**: 「使い方を確認します」だけの行など tool call で自明な宣言\n- **3 行以上の経緯振り返り**: 必要なら 1 行に圧縮\n- **起動シーケンス中の ★ Insight ブロック**: Insight は最終要約で 1 回のみ\n\n違反例 (冗長):\n```\n× 「cursor に質問を投げる準備をします」→ bash → 「投げます」（中身のない前置き + 言い換え）\n× 「ask モードは読み取り専用なので安全です」と再説明（既知事実の繰り返し）\n× ★ Insight ──── まず cursor の状態を確認します: ...\n```\n\n正常例 (簡潔 + 計画明示):\n```\n? cursor \u002F composer-2.5-fast \u002F ask\nこれから: 設計の弱点を composer に問い、結果を 3-5 行で要約\n```\n\n## Execution Flow\n\n### Step 0: 起動時 banner + plan\n\n上記 Narration Rules に従い、banner + 計画 (3 行以内) を出してから Step 1 へ。\n\n### Step 1: banner 確認\n\nStep 0 で banner + 計画 (3 行以内) は出し切っているので、ここでは banner 行が出ていることを確認する。banner は:\n\n```\n? cursor \u002F composer-2.5-fast \u002F ask\n```\n\n以降は委譲開始の 1 行ステータス等で進捗を見せてよい。冗長な繰り返しのみ避ける。\n\n`composer-2.5-fast` は `scripts\u002Fmodel-routing.sh --host cursor --role worker --field model` で解決される値の代表表記。実際の resolved model は cursor-companion 側のログに出る。\n\n### Step 2: helper root 解決 + cursor-companion 直接実行\n\n`$ARGUMENTS` を質問文として渡す。**`--write` は絶対に付けない**。`scripts\u002Fcursor-companion.sh` を相対パスで呼ぶと consumer repo の cwd 直下に見えず exit するため、`CLAUDE_PLUGIN_ROOT` \u002F `HARNESS_PLUGIN_ROOT` を hooks.json と同じ `valid_root` パターンで解決する (Issue #193 §2):\n質問の目的、対象、既知の根拠を質問本文に添え、結論の理由と検証可能な証拠を求める。内部の思考過程は求めない。\n\n```bash\nQUESTION=\"$ARGUMENTS\"\nif [ -z \"$QUESTION\" ]; then\n  echo \"ERROR: question required. Usage: cursor:ask \\\"\u003Cyour question>\\\"\" >&2\n  exit 1\nfi\n\nbash -c '\n  set -euo pipefail\n  valid_root() {\n    [ -n \"${1:-}\" ] && [ -f \"$1\u002Fscripts\u002Fcursor-companion.sh\" ] && { [ -f \"$1\u002F.claude-plugin\u002Fplugin.json\" ] || [ -f \"$1\u002F.codex-plugin\u002Fplugin.json\" ] || [ -f \"$1\u002F.cursor-plugin\u002Fplugin.json\" ]; }\n  }\n  HARNESS_PLUGIN_ROOT=\"${HARNESS_PLUGIN_ROOT:-${CLAUDE_PLUGIN_ROOT:-}}\"\n  ROOT=\"$HARNESS_PLUGIN_ROOT\"\n  if ! valid_root \"$ROOT\"; then\n    ROOT=\"\"\n    if [ -n \"${CLAUDE_SKILL_DIR:-}\" ]; then\n      probe=\"$(cd \"${CLAUDE_SKILL_DIR}\" && pwd)\"\n      while [ \"$probe\" != \"\u002F\" ] && ! valid_root \"$probe\"; do\n        probe=\"$(cd \"$probe\u002F..\" && pwd)\"\n      done\n      valid_root \"$probe\" && ROOT=\"$probe\"\n    fi\n  fi\n  if ! valid_root \"$ROOT\"; then\n    ROOT=\"\"\n    for c in \"${CLAUDE_PROJECT_DIR:-}\" \"$PWD\" \\\n             \"$HOME\u002F.claude\u002Fplugins\u002Fmarketplaces\u002Fclaude-code-harness-marketplace\" \\\n             \"$HOME\u002F.claude\u002Fplugins\u002Fcache\u002Fclaude-code-harness-marketplace\u002Fclaude-code-harness\u002F\"*; do\n      if valid_root \"$c\"; then ROOT=\"$c\"; break; fi\n    done\n  fi\n  if ! valid_root \"$ROOT\"; then\n    echo \"ERROR: claude-code-harness plugin root not found (no scripts\u002Fcursor-companion.sh)\" >&2\n    exit 2\n  fi\n  HARNESS_PLUGIN_ROOT=\"$ROOT\"\n  bash \"${HARNESS_PLUGIN_ROOT}\u002Fscripts\u002Fcursor-companion.sh\" task \"$1\"\n' _ \"$QUESTION\"\n```\n\nこれだけで cursor-agent 側は `--mode ask` (hard read-only stop) に locked される。`--force` \u002F `--yolo` も付かない。\n\n### Step 3: 結果を host が 3-5 行で要約\n\ncursor の出力をそのまま貼らない。host (Claude\u002FCodex) が読んで **3-5 行に要約** する:\n\n- 結論\n- なぜそう言えるか (cursor が挙げた根拠の核)\n- 注意点 \u002F 追加調査が必要な点\n- 次の一手 (もしあれば)\n\n最終回答は実際の結論、参照箇所、未確認点を返す。「これから要約する」という予告だけで終了しない。\n助言は現物と照合して採否を判断し、相談だけの依頼から実装を開始しない。\n\n## Trust Boundary\n\ncursor は不透明なサブプロセスであり、Harness のガードレール (R01-R13) は内部に適用されない。read-only 委譲でも以下の前提条件を満たすこと。\n\n### 必須前提\n\n| 項目 | 内容 | 設定場所 |\n|---|---|---|\n| Secret 遮断 | `.cursorignore` で `.env` \u002F `*.pem` \u002F `*.key` \u002F `.ssh` \u002F `.aws` \u002F `.git` を読取対象から除外 | repo root `.cursorignore` |\n| Egress allowlist | `~\u002F.claude\u002Fsettings.json` の `sandbox.network.allowedDomains` に `*.cursor.sh` を追加 | user settings |\n| Filesystem allowlist | 同 `sandbox.filesystem.allowWrite` に `~\u002F.cursor` を追加 (cursor-agent が状態書込を行うため) | user settings |\n| permissions.json | `~\u002F.cursor\u002Fpermissions.json` の `terminalAllowlist` \u002F `mcpAllowlist` は read mode でも有効 (allowlist は best-effort、security boundary ではない) | user config |\n\n詳細は `.claude\u002Frules\u002Fcursor-cli-only.md` を参照。\n\n### ask mode で省略できるもの\n\n| 通常の cursor 委譲で必要 | ask mode では不要 | 理由 |\n|---|---|---|\n| 隔離 worktree | 不要 | cursor は書き込みできない |\n| Lead diff review | 不要 | 差分が生まれない |\n| cherry-pick | 不要 | 同上 |\n| `worker-report.v1` \u002F self_review 5 件 | 不要 | 実装をしないため |\n\n### それでも残るリスク\n\n- **読み取り漏洩**: `.cursorignore` を怠ると秘密ファイルが cursor 推論に渡る\n- **誤った情報の鵜呑み**: cursor 出力は untrusted。Step 3 の要約で必ず host が判断軸を残す\n- **allowlist 過信**: Cursor 公式は \"Allowlists are best-effort convenience. They are not a security guarantee.\" と明言。allowlist に依存しない\n\n## Topology\n\n```\nLead (Claude\u002FCodex) ──[cursor-companion.sh task]──> cursor-agent (--mode ask, locked read-only)\n       │\n       └──[Step 3: 3-5 行要約]──> User\n```\n\nWorker 介在なし。Reviewer 介在なし。`worker-report.v1` \u002F `review-result.v1` 契約は発生しない。\n\n## Related Skills \u002F Rules\n\n- `cursor-do` — 書込タスク委譲（worktree + Lead review + cherry-pick の full containment）\n- `breezing --cursor` — Reviewer のみ cursor に逃がす lean second-opinion レーン\n- `harness-review --cursor` — レビューを cursor (composer-2.5-fast) に second-opinion として依頼\n- `.claude\u002Frules\u002Fcursor-cli-only.md` — Cursor backend governance (trust boundary, prohibited flags)\n","# cursor:ask — Read-Only Cursor Delegate\n\ncursor-agent (Composer) に **read-only** で質問・調査・設計相談・敵対的レビューを委譲する軽量スキル。\n\n`cursor-companion.sh task` は引数なしで **`--mode ask` (hard read-only stop)** が自動で付くため、`--write` を渡さない限り cursor 側は **ファイル書き込み・コマンド実行ができない**。これにより worktree 隔離・cherry-pick・Lead diff review がすべて不要になる。\n\n## Quick Reference\n\n```bash\ncursor:ask \"この設計判断、Composer 視点でどう思う？\"\ncursor:ask \"TASK_BASE_REF からの diff を読んで、根拠のある見落としがあれば最大 3 つ挙げて\"\ncursor:ask \"harness-mem の cross-project N-call、楽観的すぎる前提はある？\"\n```\n\n用途:\n\n| ケース | 例 |\n|---|---|\n| 質問 | \"この型エラーの根本原因は？\" |\n| 調査 | \"scripts\u002F 配下で curl を使ってる箇所を全部挙げて理由付きで\" |\n| 設計相談 | \"この abstraction、3 年後に保守できる？\" |\n| 敵対的視点 | \"この PR の最大の弱点を 1 つだけ挙げて\" |\n\n## Narration Rules (UX Contract)\n\n敵は **冗長さ** であって進捗報告ではない。**起動時に何を聞くか・どう進めるかを簡潔に明示してから実行する**。冗長な繰り返し・中身のない前置きだけを禁ずる。\n\n### 起動時に必ず出すもの (banner + plan、3 行以内)\n\n```\n? cursor \u002F composer-2.5-fast \u002F ask\nこれから: \u003C質問の要点> を composer に投げて、結果を 3-5 行で要約\n```\n\nbanner 1 行 + 計画 1-2 行。1 秒以内に出し、即 Step 2 へ。\n\n### 進捗報告は出してよい\n\n- 委譲開始の 1 行 (`→ composer に問い合わせ中`)\n- 判断に必要な経緯を 1 行で\n\n### 禁止 (= 冗長さ)\n\n- **同じ事実の 2 回言い換え**: cursor-companion の結果を後段で再説明しない\n- **中身のない前置き**: 「使い方を確認します」だけの行など tool call で自明な宣言\n- **3 行以上の経緯振り返り**: 必要なら 1 行に圧縮\n- **起動シーケンス中の ★ Insight ブロック**: Insight は最終要約で 1 回のみ\n\n違反例 (冗長):\n```\n× 「cursor に質問を投げる準備をします」→ bash → 「投げます」（中身のない前置き + 言い換え）\n× 「ask モードは読み取り専用なので安全です」と再説明（既知事実の繰り返し）\n× ★ Insight ──── まず cursor の状態を確認します: ...\n```\n\n正常例 (簡潔 + 計画明示):\n```\n? cursor \u002F composer-2.5-fast \u002F ask\nこれから: 設計の弱点を composer に問い、結果を 3-5 行で要約\n```\n\n## Execution Flow\n\n### Step 0: 起動時 banner + plan\n\n上記 Narration Rules に従い、banner + 計画 (3 行以内) を出してから Step 1 へ。\n\n### Step 1: banner 確認\n\nStep 0 で banner + 計画 (3 行以内) は出し切っているので、ここでは banner 行が出ていることを確認する。banner は:\n\n```\n? cursor \u002F composer-2.5-fast \u002F ask\n```\n\n以降は委譲開始の 1 行ステータス等で進捗を見せてよい。冗長な繰り返しのみ避ける。\n\n`composer-2.5-fast` は `scripts\u002Fmodel-routing.sh --host cursor --role worker --field model` で解決される値の代表表記。実際の resolved model は cursor-companion 側のログに出る。\n\n### Step 2: helper root 解決 + cursor-companion 直接実行\n\n`$ARGUMENTS` を質問文として渡す。**`--write` は絶対に付けない**。`scripts\u002Fcursor-companion.sh` を相対パスで呼ぶと consumer repo の cwd 直下に見えず exit するため、`CLAUDE_PLUGIN_ROOT` \u002F `HARNESS_PLUGIN_ROOT` を hooks.json と同じ `valid_root` パターンで解決する (Issue #193 §2):\n質問の目的、対象、既知の根拠を質問本文に添え、結論の理由と検証可能な証拠を求める。内部の思考過程は求めない。\n\n```bash\nQUESTION=\"$ARGUMENTS\"\nif [ -z \"$QUESTION\" ]; then\n  echo \"ERROR: question required. Usage: cursor:ask \\\"\u003Cyour question>\\\"\" >&2\n  exit 1\nfi\n\nbash -c '\n  set -euo pipefail\n  valid_root() {\n    [ -n \"${1:-}\" ] && [ -f \"$1\u002Fscripts\u002Fcursor-companion.sh\" ] && { [ -f \"$1\u002F.claude-plugin\u002Fplugin.json\" ] || [ -f \"$1\u002F.codex-plugin\u002Fplugin.json\" ] || [ -f \"$1\u002F.cursor-plugin\u002Fplugin.json\" ]; }\n  }\n  HARNESS_PLUGIN_ROOT=\"${HARNESS_PLUGIN_ROOT:-${CLAUDE_PLUGIN_ROOT:-}}\"\n  ROOT=\"$HARNESS_PLUGIN_ROOT\"\n  if ! valid_root \"$ROOT\"; then\n    ROOT=\"\"\n    if [ -n \"${CLAUDE_SKILL_DIR:-}\" ]; then\n      probe=\"$(cd \"${CLAUDE_SKILL_DIR}\" && pwd)\"\n      while [ \"$probe\" != \"\u002F\" ] && ! valid_root \"$probe\"; do\n        probe=\"$(cd \"$probe\u002F..\" && pwd)\"\n      done\n      valid_root \"$probe\" && ROOT=\"$probe\"\n    fi\n  fi\n  if ! valid_root \"$ROOT\"; then\n    ROOT=\"\"\n    for c in \"${CLAUDE_PROJECT_DIR:-}\" \"$PWD\" \\\n             \"$HOME\u002F.claude\u002Fplugins\u002Fmarketplaces\u002Fclaude-code-harness-marketplace\" \\\n             \"$HOME\u002F.claude\u002Fplugins\u002Fcache\u002Fclaude-code-harness-marketplace\u002Fclaude-code-harness\u002F\"*; do\n      if valid_root \"$c\"; then ROOT=\"$c\"; break; fi\n    done\n  fi\n  if ! valid_root \"$ROOT\"; then\n    echo \"ERROR: claude-code-harness plugin root not found (no scripts\u002Fcursor-companion.sh)\" >&2\n    exit 2\n  fi\n  HARNESS_PLUGIN_ROOT=\"$ROOT\"\n  bash \"${HARNESS_PLUGIN_ROOT}\u002Fscripts\u002Fcursor-companion.sh\" task \"$1\"\n' _ \"$QUESTION\"\n```\n\nこれだけで cursor-agent 側は `--mode ask` (hard read-only stop) に locked される。`--force` \u002F `--yolo` も付かない。\n\n### Step 3: 結果を host が 3-5 行で要約\n\ncursor の出力をそのまま貼らない。host (Claude\u002FCodex) が読んで **3-5 行に要約** する:\n\n- 結論\n- なぜそう言えるか (cursor が挙げた根拠の核)\n- 注意点 \u002F 追加調査が必要な点\n- 次の一手 (もしあれば)\n\n最終回答は実際の結論、参照箇所、未確認点を返す。「これから要約する」という予告だけで終了しない。\n助言は現物と照合して採否を判断し、相談だけの依頼から実装を開始しない。\n\n## Trust Boundary\n\ncursor は不透明なサブプロセスであり、Harness のガードレール (R01-R13) は内部に適用されない。read-only 委譲でも以下の前提条件を満たすこと。\n\n### 必須前提\n\n| 項目 | 内容 | 設定場所 |\n|---|---|---|\n| Secret 遮断 | `.cursorignore` で `.env` \u002F `*.pem` \u002F `*.key` \u002F `.ssh` \u002F `.aws` \u002F `.git` を読取対象から除外 | repo root `.cursorignore` |\n| Egress allowlist | `~\u002F.claude\u002Fsettings.json` の `sandbox.network.allowedDomains` に `*.cursor.sh` を追加 | user settings |\n| Filesystem allowlist | 同 `sandbox.filesystem.allowWrite` に `~\u002F.cursor` を追加 (cursor-agent が状態書込を行うため) | user settings |\n| permissions.json | `~\u002F.cursor\u002Fpermissions.json` の `terminalAllowlist` \u002F `mcpAllowlist` は read mode でも有効 (allowlist は best-effort、security boundary ではない) | user config |\n\n詳細は `.claude\u002Frules\u002Fcursor-cli-only.md` を参照。\n\n### ask mode で省略できるもの\n\n| 通常の cursor 委譲で必要 | ask mode では不要 | 理由 |\n|---|---|---|\n| 隔離 worktree | 不要 | cursor は書き込みできない |\n| Lead diff review | 不要 | 差分が生まれない |\n| cherry-pick | 不要 | 同上 |\n| `worker-report.v1` \u002F self_review 5 件 | 不要 | 実装をしないため |\n\n### それでも残るリスク\n\n- **読み取り漏洩**: `.cursorignore` を怠ると秘密ファイルが cursor 推論に渡る\n- **誤った情報の鵜呑み**: cursor 出力は untrusted。Step 3 の要約で必ず host が判断軸を残す\n- **allowlist 過信**: Cursor 公式は \"Allowlists are best-effort convenience. They are not a security guarantee.\" と明言。allowlist に依存しない\n\n## Topology\n\n```\nLead (Claude\u002FCodex) ──[cursor-companion.sh task]──> cursor-agent (--mode ask, locked read-only)\n       │\n       └──[Step 3: 3-5 行要約]──> User\n```\n\nWorker 介在なし。Reviewer 介在なし。`worker-report.v1` \u002F `review-result.v1` 契約は発生しない。\n\n## Related Skills \u002F Rules\n\n- `cursor-do` — 書込タスク委譲（worktree + Lead review + cherry-pick の full containment）\n- `breezing --cursor` — Reviewer のみ cursor に逃がす lean second-opinion レーン\n- `harness-review --cursor` — レビューを cursor (composer-2.5-fast) に second-opinion として依頼\n- `.claude\u002Frules\u002Fcursor-cli-only.md` — Cursor backend governance (trust boundary, prohibited flags)\n",{"name":5,"description":7,"allowed-tools":66,"argument-hint":68,"description-en":7,"description-ja":69,"user-invocable":70},[67,54],"Read","[question]","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: 実装、リファクタ、ファイル編集、コミット\u002Fプッシュ作業、書き込みが必要な作業 (代わりに cursor:do \u002F breezing --cursor を使う)。",true,"main","c2304c325d4432f51d632e0586d886767b0f41ea","codex\u002F.codex\u002Fskills\u002Fcursor-ask",304,"https:\u002F\u002Fgithub.com\u002FChachamaru127\u002Fclaude-code-harness","https:\u002F\u002Fgithub.com\u002FChachamaru127","https:\u002F\u002Fcanai.jp\u002F","Going all-in on the AI business from April 2025\r\nOSS release: 3k Stars\r\nAI adoption starting with \"I want\"\r\nAX Support | Tokenomics | AISDR |","2026-11-10 18:53:50",{"source":8,"skillName":5,"commands":81,"prompt":91,"zipAvailable":70},[82,85,88],{"tool":83,"command":84},"npx","npx skills add Chachamaru127\u002Fclaude-code-harness --skill cursor-ask",{"tool":86,"command":87},"bunx","bunx skills add Chachamaru127\u002Fclaude-code-harness --skill cursor-ask",{"tool":89,"command":90},"pnpm","pnpm dlx skills add Chachamaru127\u002Fclaude-code-harness --skill cursor-ask","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FChachamaru127\u002Fclaude-code-harness\u002Fblob\u002Fmain\u002Fcodex\u002F.codex\u002Fskills\u002Fcursor-ask\u002FSKILL.md",[],[94,108,116,133,162,187],{"skillNo":95,"name":96,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":97,"categories":98,"keywords":100,"publishedAt":61},"01M6C4VZCJB9EN3KZXGNARAF6P","escape-skill","https:\u002F\u002Fgithub.com\u002FChachamaru127\u002Fclaude-code-harness\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Fskills\u002Fzz-review-escape\u002FSKILL.md",[99],{"categoryNo":27,"categoryName":28,"taxonomyType":21,"taxonomyTypeDesc":22},[101,102,103,104,105,106,107],"escape skill","escape","Tools","false","true","path","quoted",{"skillNo":109,"name":110,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":111,"categories":112,"keywords":113,"publishedAt":61},"01M6C4VYAJW332S5R2MM3RNE0G","zz-review-empty","https:\u002F\u002Fgithub.com\u002FChachamaru127\u002Fclaude-code-harness\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Fskills\u002Fzz-review-empty\u002FSKILL.md",[],[60,114,115,104,105],"zz review empty","empty",{"skillNo":117,"name":118,"nameZh":6,"description":119,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":120,"categories":121,"keywords":123,"publishedAt":61},"01M6C4VWW4GNAZ2680GY04S3EW","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.","https:\u002F\u002Fgithub.com\u002FChachamaru127\u002Fclaude-code-harness\u002Fblob\u002Fmain\u002Fskills\u002Fsession-send\u002FSKILL.md",[122],{"categoryNo":27,"categoryName":28,"taxonomyType":21,"taxonomyTypeDesc":22},[124,125,126,127,128,54,129,130,131,132,38],"session","session send","send","handoff","session handoff","user","message","notify","requests",{"skillNo":134,"name":135,"nameZh":6,"description":136,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":137,"categories":138,"keywords":140,"publishedAt":61},"01M6C4VSMYH6XQGR087HQ9Y7HT","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.","https:\u002F\u002Fgithub.com\u002FChachamaru127\u002Fclaude-code-harness\u002Fblob\u002Fmain\u002Fskills\u002Fmemory\u002FSKILL.md",[139],{"categoryNo":27,"categoryName":28,"taxonomyType":21,"taxonomyTypeDesc":22},[135,141,142,143,144,145,146,147,54,148,149,51,150,151,152,153,129,124,47,154,155,156,157,158,159,105,160,161,38],"MCP","sync","notes","harness","search","memory search","guardian","migrate","tool","decisions","read","write","edit","migration","manage","do","learnings","promotion","reviews","load","for",{"skillNo":163,"name":164,"nameZh":6,"description":165,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":166,"categories":167,"keywords":168,"publishedAt":61},"01M6C4VQ3507BV9XRX4BDSES6J","maintenance","File cleanup and archiving. Tidies up bloated Plans.md, session-log.md, old logs, and state files. Trigger: \u002Fmaintenance, cleanup, archive, organize, split session-log. Do NOT load for: implementation, review, release, new feature development.","https:\u002F\u002Fgithub.com\u002FChachamaru127\u002Fclaude-code-harness\u002Fblob\u002Fmain\u002Fskills\u002Fmaintenance\u002FSKILL.md",[],[164,60,169,170,171,172,173,56,174,54,175,176,151,152,153,177,124,178,179,180,156,181,182,183,184,185,105,160,161,186],"development","cleanup","run","release","state","logs","archive","grep","new feature","up","log","files","feature","plans","trigger","整理","split","new",{"skillNo":188,"name":189,"nameZh":6,"description":190,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":191,"categories":192,"keywords":201,"publishedAt":61},"01M6C4VK473YJ872RNMBYK7P4R","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 ~\u002F.claude\u002Fwriting-lint\u002Fproposals.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\u002Fwriting-rule-approve.sh. Use when user mentions writing-rule proposal, 表現を直して, 文体を直して, その言い方はNG, writing lint 提案, 指摘をルール化して. Do NOT load for: approving or rejecting proposals (use scripts\u002Fwriting-rule-approve.sh), listing pending proposals (use scripts\u002Fwriting-rule-list.sh), or scanning text against the existing dictionary (the writinglint engine \u002F PostToolUse hook does that).","https:\u002F\u002Fgithub.com\u002FChachamaru127\u002Fclaude-code-harness\u002Fblob\u002Fmain\u002Fskills\u002Fjapanese-writing-drafter\u002FSKILL.md",[193,194,197,198],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":195,"categoryName":196,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000018","写作与文案",{"categoryNo":27,"categoryName":28,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":199,"categoryName":200,"taxonomyType":32,"taxonomyTypeDesc":33},"01JBSEEDCAT000000000000036","内容创作者",[202,203,204,60,205,171,206,207,54,208,209,210,211,151,212,213,47,214,45,215,216,217,218,219,220,221,222,223,224,225,38,226],"writing","japanese writing drafter","japanese","status","lint","operator","提案","text","engine","Rules","list","proposals","never","scanning","say","human review","later","conversation","writer","human","scripts","problem","proposal","jsonl","listing"]