agent-browser
Browser automation through the repo agent-browser CLI. Explicit helper for navigation, forms,…
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
$ npx -y skills add Chachamaru127/claude-code-harness --skill cursor-ask --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/cursor-askContext preview
The summary Claude sees to decide when to auto-load this skill.
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
name: cursor-ask description: "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/push work, anything requiring write access (use cursor:do or breezing --cursor instead)." description-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/push work, anything requiring write access (use cursor:do or breezing --cursor instead)." 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 を使う)。" allowed-tools: ["Read", "Bash"] argument-hint: "[question]" user-invocable: true
cursor-agent (Composer) に **read-only** で質問・調査・設計相談・敵対的レビューを委譲する軽量スキル。
`cursor-companion.sh task` は引数なしで **`--mode ask` (hard read-only stop)** が自動で付くため、`--write` を渡さない限り cursor 側は **ファイル書き込み・コマンド実行ができない**。これにより worktree 隔離・cherry-pick・Lead diff review がすべて不要になる。
cursor:ask "この設計判断、Composer 視点でどう思う?" cursor:ask "TASK_BASE_REF からの diff を読んで、根拠のある見落としがあれば最大 3 つ挙げて" cursor:ask "harness-mem の cross-project N-call、楽観的すぎる前提はある?"
用途:
| ケース | 例 | |---|---| | 質問 | "この型エラーの根本原因は?" | | 調査 | "scripts/ 配下で curl を使ってる箇所を全部挙げて理由付きで" | | 設計相談 | "この abstraction、3 年後に保守できる?" | | 敵対的視点 | "この PR の最大の弱点を 1 つだけ挙げて" |
敵は **冗長さ** であって進捗報告ではない。**起動時に何を聞くか・どう進めるかを簡潔に明示してから実行する**。冗長な繰り返し・中身のない前置きだけを禁ずる。
🚀 cursor / composer-2.5-fast / ask これから: <質問の要点> を composer に投げて、結果を 3-5 行で要約
banner 1 行 + 計画 1-2 行。1 秒以内に出し、即 Step 2 へ。
違反例 (冗長):
× 「cursor に質問を投げる準備をします」→ bash → 「投げます」(中身のない前置き + 言い換え) × 「ask モードは読み取り専用なので安全です」と再説明(既知事実の繰り返し) × ★ Insight ──── まず cursor の状態を確認します: ...
正常例 (簡潔 + 計画明示):
🚀 cursor / composer-2.5-fast / ask これから: 設計の弱点を composer に問い、結果を 3-5 行で要約
上記 Narration Rules に従い、banner + 計画 (3 行以内) を出してから Step 1 へ。
Step 0 で banner + 計画 (3 行以内) は出し切っているので、ここでは banner 行が出ていることを確認する。banner は:
🚀 cursor / composer-2.5-fast / ask
以降は委譲開始の 1 行ステータス等で進捗を見せてよい。冗長な繰り返しのみ避ける。
`composer-2.5-fast` は `scripts/model-routing.sh --host cursor --role worker --field model` で解決される値の代表表記。実際の resolved model は 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` も付かない。
cursor の出力をそのまま貼らない。host (Claude/Codex) が読んで **3-5 行に要約** する:
最終回答は実際の結論、参照箇所、未確認点を返す。「これから要約する」という予告だけで終了しない。 助言は現物と照合して採否を判断し、相談だけの依頼から実装を開始しない。
cursor は不透明なサブプロセスであり、Harness のガードレール (R01-R13) は内部に適用されない。read-only 委譲でも以下の前提条件を満たすこと。
| 項目 | 内容 | 設定場所 | |---|---|---| | Secret 遮断 | `.cursorignore` で `.env` / `*.pem` / `*.key` / `.ssh` / `.aws` / `.git` を読取対象から除外 | repo root `.cursorignore` | | Egress allowlist | `~/.claude/settings.json` の `sandbox.network.allowedDomains` に `*.cursor.sh` を追加 | user settings
Plan. Work. Review. Ship. A disciplined delivery loop for Claude Code, Codex CLI, Cursor, and Grok.
Repo: Chachamaru127/claude-code-harness
Browser automation through the repo agent-browser CLI. Explicit helper for navigation, forms,…
Team execution mode — backward-compatible alias for harness-work with team orchestration.…
CI red? Call us. Pipeline fire brigade deploys. Use when user mentions CI failures, build…
Delegate a single write task to Cursor Composer via cursor-companion.sh inside an isolated…
Run a Cursor Composer review as an advisory second opinion while keeping the primary review…
Configure and verify the Cursor backend for Claude Code Harness. Use when user invokes…