Community画像github.com

grahama1970/ask

クエリを実行する /ask ランタイム。プロジェクトメモリの問い合わせ、ブラウザ対応レビュワー、Tau ラウンドテーブル/シングルハンドラーワークフロー、Pi ネイティブサブエージェント、深層レビュー、DAG 実行などに対応します。

ask とは?

このスキルは、`/ask` および `$ask` コマンドの正式なランタイムであり、プロジェクトメモリへの問い合わせ、ブラウザベースのレビュワー(webgpt、webclaude など)の起動、Tau によるシングルコール/ラウンドテーブル/競合/クリエイターレビュワー DAG の調整、Pi ネイティブサブエージェントの呼び出し、深層レビュー/パーソナレビューの実行など、幅広いユースケースをカバーします。Claude Code、Cursor、Codex などのエージェンティックな開発環境内で動作するように設計されており、単一のエントリポイントから複数の AI モデル(API 経由)とブラウザセッション(Web 経由)を統一的に扱います。 スキルは、ブラウザハンドラ(`$surf` 経由)、API モデルハンドラ(Tau 経由)、Herdr セッション、Pi ネイティブサブエージェントという4つのターゲットタイプを同じピアとして扱います。実行はすべて `run.sh` スクリプトで行われ、各ランはリクエスト JSON、ステータス、イベントログ、レビュー文書などのアーティファクトを生成します。失敗は明示的に報告され、診断手順が提供されます。 重要な機能として、ブラウザベースのハンドラではタブの可視性ゲートが監視され(例:webgemini は非表示タブでスタックする)、フォローアップの継続性を確保するためにタブ ID と会話 URL が記録されます。また、実行前に `ask_call_history.py` を使用して各ハンドラの成功実績を確認し、失敗したシートを回避することが推奨されています。 このスキルは `spawn_agent` や単なる Web 検索、手動要約などの非公式な代替手段で置き換えてはなりません。Pi 内部では、明示的な Pi ネイティブサブエージェントターゲットのみが `pi-subagents` ツールにルーティングされます。

対応✓Claude Code✓Codex CLI✓Cursor✓Antigravity✓Gemini CLI
npx skills add https://github.com/grahama1970/agent-skills/tree/main/skills/ask

Installed? Explore more 画像 skills: steipete/songsee, affaan-m/frontend-design, mattpocock/improve-codebase-architecture · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

ask は何をしますか?

最初に停止

ユーザーが $ask、/ask、ask モード、oracle、深層レビュー、並列レビュー、ラウンドテーブル、議論、CAE ギャップレビュー、または ask DAG を指定した場合、このファイル全体を読んでから行動を開始してください。次に、ユーザーが明示的にフォールバックを要求した場合、またはランタイムが利用できずそのフォールバックが報告された場合を除き、実際のランタイムエントリポイントを使用してください。

spawn_agent、プレーンモデル呼び出し、プレーンな Web 検索、手動要約、または発明されたレビューを $ask の代わりに使用しないでください。

ランタイムエントリポイント

このディレクトリからコマンドを実行してください。/skill:ask webgpt What is 2 + 2? のような Pi スキルコマンド構文は、第一級のショートカットです。先頭のブラウザハンドラ(webgpt、webclaude、webkimi、webgemini、webgrok)は、--execute --json オプションを付けた Tau single-call ブラウザハンドラ DAG にルーティングされます。$ask webgpt What is 2 + 2? のようなインラインの Pi スキル参照や、スペース区切りの自然言語スペル $ask web gpt What is 2 + 2? も同様に扱う必要があります(web gpt は webgpt に正規化されます)。これは Pi ユーザー向けの互換性ショートカットに過ぎず、削除された直接 WebGPT oracle パスを使用してはなりません。

./run.sh tau-dag "<request>" は、内部的に Typer の tau-dag run サブコマンドにマッピングされます。./run.sh team-plan "<request>" --team <preset> は、ロールベースのマルチエージェント計画と凍結された Tau DAG プレビューをレンダリングします。実行には明示的な --execute --live が必要です(README「チームオーケストレーション」を参照)。

cd skills/ask
./run.sh --help
./run.sh webgpt What is 2 + 2?
./run.sh webgpt --compile-only What is 2 + 2?
./run.sh ask --help
./run.sh tau-dag run --help

すべての重要な実行では、ランタイムアーティファクトを保存する必要があります。標準のアーティファクトセットは次のとおりです。

  • <ask_id>.request.json
  • <ask_id>.status.json
  • <ask_id>.events.jsonl
  • モード固有の出力(review.md、review.json、DAG マニフェスト、ブラウザエビデンスなど)

ランタイムアーティファクトは、デフォルトでは .ask_artifacts/runs/<ask_id> または指定された --run-output-root の下に配置されます。長時間実行、ライブ実行、または生成された実行では、/mnt/storage12tb/skills/ask/outputs/... などのストレージバックアップルートを推奨します。生成された ask アーティファクトをコミットしないでください。

実行されたすべてのハンドラ呼び出し(成功または失敗)は、実行チョークポイントで $memory の ask_call_log コレクションに記録されます。記録される内容は、ハンドラ、ステータス、failure_code、controlled_tab_id/会話 URL(存在する場合)、および最後に成功した呼び出しの実証済みメソッド(推論選択、タブバインディング、ライフサイクルモード、シークレットを編集したディスパッチコマンド)です。モデル ID は、コンパイル時にライブの SciLLM カタログに対して検証されます(invalid_scillm_model_id は BLOCKED となり、最も近い有効な代替案が提示されます)。連続3回以上失敗が記録されたブラウザシートは、ディスパッチ前に既知不良としてフラグが立てられ、その失敗コードが表示されます。シートに依存する前に確認してください。python3 skills/ask/scripts/ask_call_history.py --handler webgemini は、最後に成功した呼び出しと最近の失敗を出力します。--recommend を追加すると、再利用するための正確な実証済みメソッドが表示されます。成功が記録されていないハンドラは、盲目的な推測です。最初にコンパイルのみ、または低コストでプローブしてください。過去の実行はバックフィル可能です。python3 skills/ask/scripts/backfill_call_log.py [outputs-root] は、ディスク上のすべてのノードレシートを冪等的に取り込みます(実行+ノードごとに決定論的な _key を使用)。実行されたすべてのランの結果 JSON(および execution-status.json)には、handler_last_success も含まれています。これは、シートごとのメモリからの最後の成功メソッド(会話 URL、タブ、ライフサイクル/レイアウト)、現在の連続失敗数、および回避すべき失敗コードです。これらはコンテキストで返されるため、プロジェクトエージェントはランの消費後に個別の履歴検索を行う必要がありません。

詳細リファレンス(必要に応じて読む)

これを行う前に読むもの
計画ファイルを使用した team-plan; status --run --projectionreferences/plans-and-status.md
明示的な Pi ネイティブサブエージェントターゲットreferences/pi-subagents.md
ask 出力(ワンショット/ラウンドテーブル/競合/クリーンルーム)をサブエージェントレーンに変換するreferences/lane-handoff.md
herdr list/who/send で別のエージェントのペインに送信するreferences/herdr.md
ワンショット vs ラウンドテーブル vs 競合の選択; モデル/エフォートセレクターreferences/modes.md
パネル監査、シート名簿、レート制限シート、webclaude ポリシーreferences/seats-and-audits.md
ライブランの実行/監視(監視、ウィンドウ、ペイロードマトリックス、ブロック解除、ドリフト)references/operations.md
実行の失敗references/diagnosis.md
マルチシート DAG(ラウンドテーブル/競合/クリエイターレビュワー)のコンパイル/実行references/workflows.md
ブラウザハンドラの実行references/browser.md

4種類のターゲット

/ask は、4つの同等のターゲットタイプを扱います。これらはトランスポートが異なるだけで、ステータスに違いはありません。

ターゲット例トランスポートの所有者
Herdr セッション — ペイン内のライブエージェントmemory, w11:p13$monitor-herdr 経由の herdr pane run
モデル呼び出し — API/モデルハンドラgpt-5.5-high, Codex-opus-5-high, deepseek-ai/DeepSeek-V3.2-TEE$tau(SciLLM は Tau 内部)
Web モデル — ブラウザバックアップのレビュワー(チャットタブ。エージェンティックモデルではありません。下記の webclaude 警告を参照)webgpt, webclaude, webkimi$surf + $browser-oracle
Pi ネイティブサブエージェント — ローカルの Pi 子アドバイザー/ワーカーpi reviewer, subagent general-purpose, local coderpi-subagents ネイティブの subagent ツール

プロジェクトエージェントは、ターゲットに名前を付ける以外に、どちらがブラウザ、モデル、Herdr セッション、または Pi ネイティブサブエージェントであるかを気にする必要はありません。

プロジェクトエージェントクイックスタート

ユーザーが単一のモデル呼び出し、ラウンドテーブル、競合、またはクリエイターレビュワーループを要求した場合は、ここから始めてください。以下のいずれかの形式を使用してください。カスタムのオーケストレーションパスを発明しないでください。

ユーザーの意図コマンド形式
1つのハンドラが回答する./run.sh tau-dag "<task>" --repo <repo> --target <target> --immutable-goal "<goal>" --handler <handler-or-model> --execute --json
ラウンドテーブル./run.sh tau-dag "<shared task>" --repo <repo> --target <target> --immutable-goal "<goal>" --dag-template roundtable --handler <a> --handler <b> --topology concurrent --execute --json
競合./run.sh compete "<isolated task>" --repo <repo> --target <target> --immutable-goal "<goal>" --handler <a> --handler <b> --criterion <criterion> --execute --json
ワンショット(シートごとの回答、合意なし)./run.sh one-shot "<question>" --handler <a> --handler <b> --handler <c> — N個の独立したシングルコールレーンが同時に実行されます。各レーンは、独自のノンスバウンドの回答または名前付きブロッカーを返します。部分的な回答は DEGRADED-but-usable(--min-answered 以上で終了コード0)です。ラウンドテーブルの定足数拒否はここでは適用されません。
Pi 内部からの Pi ネイティブサブエージェントsubagent({ action: "list" }) の後、subagent({ agent: "<agent>", task: "<task>" }) または1つの workflowScript ファンアウト。これは明示的な pi/subagent/local reviewer ターゲット専用です。Tau/ブラウザハンドラの代替ではありません。
クリエイター → レビュワー./run.sh tau-dag "<creator task then reviewer verdict>" --repo <repo> --target <target> --immutable-goal "<goal>" --dag-template creator-reviewer --handler <creator> --handler <reviewer> --topology sequential --execute --json
GitHub イシューの診断/修正/クローズ./run.sh fix-issues --repo <owner/name> --issue <N> [--issue <M>] [--handler gpt-5.5] [--execute] — 各イシューを gh で収集し、デバッガラダーゲート(needs_debugger は、失敗トランジションがアーティファクトで説明できない実行時状態にある場合のみ $debugger を推奨)を使用してライブワンショットハンドラを介して構造化された原因/修正 JSON に診断し、デフォルトでは dry-run でフェイルクローズされます。--execute は、指定された検証コマンド(通常は $agentic-evals フィクスチャ)が実際に成功した場合にのみイシューをクローズします。検証なし → blocked。検証失敗 → verify-failed、イシューは開いたまま。イシューごとのレシートは outputs/fix-issues/ の下にあります。ゲート: fixtures/fix_issues.json。

トランスポートが異なっていても、ハンドラはピアです。ブラウザハンドラ(webgpt、webclaude、webkimi、webgemini、webgrok)は $surf と $browser-oracle を介して実行されます。gpt-5.5-high、gpt-5.5-xhigh、Codex-opus-5-high、chutes deepseek-ai/DeepSeek-V3.2-TEE などの API/モデルハンドラは、Tau によってルーティングされます。プロジェクトエージェントは、ハンドラに名前を付ける以外に、どちらがブラウザか API かを気にする必要はありません。

ハンドラは、ブラウザバックアップ(webgpt、webclaude、webkimi、webgemini、webgrok、$surf/$browser-oracle 経由)であろうと、API バックアップ(gpt-5.5-high、claude-opus-5-high、chutes <provider/model>、Tau 経由)であろうと、ピアです。マルチシート DAG を実行する前に:最初にコンパイルし(--execute を省略)、人間に印刷された ASCII チャートを表示し、確認があった場合にのみ実行してください。モードの完全な例とセレクタールールは references/modes.md を参照。完全なプロトコルとフェイルクローズのテーブルは references/workflows.md を参照。

すべての実行の譲れない条件

  • 明示的な不変の目標(--immutable-goal またはラベル付きの Immutable goal: 行)は、ラウンドテーブル、クリエイターレビュワー、競合に必須です。目標がない場合、ハンドラに連絡する前に NEEDS_INTERVIEW でプリフライトが失敗します。
  • ラウンドテーブルは常に --topology concurrent で、すべてのシートに同一のパケットを送信します。競合の候補は分離され、互いに見ることはありません。
  • 実行された DAG は、ランの JSON ストリームアーティファクト(events.jsonl、dag-progress.json、ノードレシート、execution-status.json)を介して最終評決まで監視する必要があります。起動して放置しないでください。
  • PASS はレビュワー/モデルのエビデンスのみです。ローカルクロージャーには、決定論的なローカル証明が必要です。DEGRADED/NEEDS_ATTENTION/レート制限はレーンローカルです。使用可能なシートを維持し、失敗したレーンのリカバリパケットに従ってください。
  • 非ストリーミング API の補完は、テキストがエビデンスとしてカウントされる前に、finish_reason=stop による型付きアドミッションに合格する必要があります。切り詰められた、フィルタリングされた、finish_reason がない、または不正な形式の補完は scillm_response_incomplete を発行します。生のバイトと response.meta.json の検証エラーを保持してください。部分的な評決テキストを修復したり、自動的に再試行したりしないでください。保持されるケース:completion-admission-rejects-truncation(キャプチャされたリプレイ)および completion-admission-live-positive(実際のプロバイダー読み返し)。
  • 失敗は黙視されません。すべての失敗したレーンは、failure_code、リカバリパケット、および next_command/チケット指示を公開します。障害が発生した場合は、references/diagnosis.md を読み、理論を立てる前に所有するレシートに基づいてディスパッチしてください。
  • 直接 WebGPT oracle ルーティング($ask chatgpt、--oracle-backend webgpt、--webgpt-*)はフェイルクローズします。Tau ブラウザハンドラは引き続きサポートされます。
  • フォローアップの継続性: すべてのブラウザレーンのノードレシート / response.meta.json には、controlled_tab_id と会話 URL を必ず含める必要があります。タブ ID が null の場合は、ハンドオフ失敗です。人間が明確化やフォローアップの質問をする可能性がある場合は、--browser-tab-lifecycle fresh-keep(または reuse-bound)で実行してください。デフォルトの auto/fresh-temporary は、実行後にウィンドウを閉じ、会話を強制終了します。実行後、タブ ID + 会話 URL を報告し、それらをバインドします(skills/browser-oracle/run.sh bind <project> --backend <b> --tab-id <id> --url <url> --manual)。これにより、フォローアップが同じセッションをターゲットにできるようになります。
  • タブ可視性ゲート(2026-09-15 観測、webgemini): 一部のプロバイダー(Gemini 確認済み)は、タブが非表示ドキュメントである間、コンポーザーの送信を延期します。共有ウィンドウでは、一度に1つのタブだけが最前面になることができるため、N個の同時レーンのうち N-1 個は常に非表示になり、prompt_too_large_or_stalled(「送信後もプロンプトがコンポーザーに残っている」)として停止します。したがって、同時ブラウザレーンはデフォルトで分離ウィンドウ(シートごとに1つのウィンドウ、レビュワーデスクトップに配置)を使用するため、すべてのレーンタブは可視ドキュメントになります。--window-layout shared はオプトインです。停止した、すでに入力済みのコンポーザーは救出可能です。skills/surf/run.sh tab.switch <id> でタブを可視にし、キューに入った送信をディスパッチします。この失敗クラスのためにプロンプトを縮小する前に、document.visibilityState を確認してください。検証済みのシートごとの動作メソッドは $memory に保存されています(ask_call_log キー ask:method:webgemini。ask_call_history.py --handler webgemini --recommend を参照)。
  • webclaude は claude.ai チャットタブであり、テスト専用です。エージェンティックな Claude ではありません。claude-fable-low、次に claude-opus-4-8-high を優先してください(references/seats-and-audits.md を参照)。

モードルーター

ユーザーリクエストに最も一致する、最も狭いモードを使用してください。

リクエストランタイムパターン必須の詳細
メモリバックアップの質問./run.sh ask "<question>" --json必要に応じてスコープを含めます。
Oracle 回答./run.sh ask "<question>" --oracle ... --json要求された場合は、バックエンド/モデル/ペルソナを明示的に選択します。
Pi ブラウザハンドラショートカット/skill:ask webgpt What is 2 + 2? から ./run.sh webgpt What is 2 + 2?Tau single-call に --handler webgpt --execute --json で書き換えられます。--compile-only を使用して、ライブブラウザトランスポートなしで DAG を発行します。
単一の名前付きハンドラ./run.sh tau-dag "<request>" --handler <handler-or-model> --jsonブラウザハンドラは $surf を使用します。非ブラウザハンドラは、Tau によってルーティングされる $scillm モデル名です。ライブトランスポートには --execute を追加します。
Pi ネイティブサブエージェントターゲットネイティブ Pi subagent ツール。subagent({ action: "list" }) の後Pi 内で実行中で、ユーザーが明示的に pi、subagent、pi-subagent、local reviewer、または local coder を指定した場合のみ。ブラウザ/モデル/Tau Ask リクエストはこのルートを使用しません。
マルチハンドララウンドテーブル./run.sh tau-dag "<request>" --handler webclaude --handler gpt-5.5 ... --topology concurrent --execute --jsonラウンドテーブルはプロンプトから Tau-DAG へ。ブラウザハンドラはデフォルトで Ask 所有の新しいウィンドウを取得します。browser-tab-lifecycle.json、dag.json、コマンド仕様、ハンドラレシート、および結合レシートを保持します。
競合 / ベイクオフ./run.sh compete "<task>" --handler webgpt --handler webclaude --handler gpt-5.5-high --criterion deterministic-proof --execute --json分離された候補と、競合スコアカードおよび勝者継続リクエスト。ブラウザ/API ハンドラはピアです。プロジェクトエージェントは、プロモーションの前に機能をローカルで検証する必要があります。
クリエイターレビュワーループ`./run.sh t

…

[truncated for translation]

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

grahama1970/acceptance-contract

Turn a client brief, zip bundle, directory, or single requirements file into a typed acceptance-contract bundle with extracted requirements, acceptance checks, open questions, an immutable-goal draft, and a create-report-backed decision report. Use when users say acceptance contract, brief to requirements, freeze the goal, create immutable goal, amend immutable goal, build a Battle requirements bundle, or extract requirements from this bundle.

grahama1970/agent-ecosystem

Canonical map and shared contracts for the agent-governance ecosystem: the pi.receipt_envelope.v1 boundary envelope, the component graph, and the rules for which component owns which schema. Use when wiring a skill or extension into the shared receipt world, when asking how shame, triage-error, tau, ask, project-watchdog, ops-herdr, ponytail, and Memory fit together, or when validating an envelope.

grahama1970/agentic-evals

Agentic evaluation of skills using multi-trial fixtures, deterministic command assertions, trajectory checks, safety constraints, and evidence-backed readiness scoring. Use when users ask for agentic evals, multi-trial skill evaluation, skill trajectory validation, or readiness scoring for a skill workflow.

grahama1970/agent-inbox

File-based inter-agent messaging with headless dispatch. Check inbox, send bugs/requests to other projects, automatically spawn headless agents to fix bugs, and track progress via task-monitor.

grahama1970/agents-registry

Generate and query the centralized agent identity registry. Scans .pi/agents/*/AGENTS.md, parses frontmatter, outputs agents-registry.json and optionally syncs to /memory for semantic search.

grahama1970/agent-status

Artifact-driven status surfaces for long-running project-agent work. Maintains status.json, events.jsonl, proof manifests, and a stale-aware STATUS.html so humans can tell where the agent is, what passed, what is still unproven, and what decision or action is next — without dashboard theater.

grahama1970/align

Round-based context alignment before execution. Use when the human, project agent, WebGPT, scillm, ask, dogpile, memory, or project-knowledge may each hold different facts about a task; especially before ambiguous design, infographic, product workflow, high-stakes implementation, plan-iterate, project-infographic, or multi-review work.

grahama1970/analytics

Flexible data science analytics for any dataset. Auto-discovers schema, recommends charts, exports to create-figure. Works with JSONL, JSON, CSV from any source.

grahama1970/analyze-chatterbox-emotions

Evaluate generated Chatterbox voice files as voice-quality artifacts: affect match, arousal/valence proxies, pause placement, intelligibility inputs, clipping, loudness, and discontinuity flags. Use when reviewing Chatterbox emotional tags, pauses, Turbo/base affect delivery, Persona Dream utterance renders, or whether generated speech matches an intended product-facing affect.

grahama1970/analyze-elf

Reverse-engineer features from ELF binaries. Extracts CLI commands, state machines, protocols, Zod schemas, and data models. Automatically generates a /create-walkthrough prosecution brief with Mermaid diagrams. Uses /treesitter for AST analysis of bundled JS/TS source.

grahama1970/animation-vocabulary

Reverse-lookup glossary that turns a vague description of a web animation or motion effect into its exact term ("the bouncy thing when a popover opens" → Pop in; "the iOS rubber-band scroll" → Rubber-banding). Use when the user asks "what's it called when…", or describes a motion effect without knowing its name and wants the right word to prompt an AI or designer with. For naming an effect, not designing or building one.

grahama1970/anonymize-data

Anonymize supported CSV, JSON, UTF-8 text, and SQLite files using an explicit policy through the oai-trial project. Use for anonymize data, pseudonymize exports, redact policy literals, or discover and explicitly approve fuzzy name aliases. The skill is a thin CLI/Docker interface, not another engine.

grahama1970/anvil

Heavy-duty "No-Vibes" debugging and hardening orchestrator. Use this for complex, stubborn bugs where `review-code` has failed, or for "Red Teaming" (hardening) a codebase. Runs multiple agents in parallel (Thunderdome) using git worktree isolation.

grahama1970/apple-design

Apple's approach to interface design and fluid, physical motion, translated for the web. Use when building or reviewing gesture-driven UI, spring animations, drag/swipe/sheet interactions, momentum and interruptible transitions, translucent materials and depth, typography (optical sizing, tracking, leading), reduced-motion, or the design foundations (feedback, spatial consistency, restraint) behind Apple-style interfaces.

grahama1970/argue

Multi-persona structured debate orchestrator. Personas research via /dogpile, consult colleagues via /ask, and argue toward nuanced synthesis on complex questions.

grahama1970/arxiv

Search arXiv for papers and extract knowledge into memory. Use `search` to find papers, `learn` to extract knowledge.

grahama1970/assess

Step back and critically reassess project state. Use when asked to "assess", "step back", "fresh eyes", "check alignment", "sanity check", "health check", "prune documentation", or "evaluate what's working". Offers documentation pruning and doc-code alignment analysis. Offer to run after major changes (don't auto-run).

grahama1970/assistant

Shared GPT + classifier inference gateway for persona monitor tasks. Routes validation and classification through a 4-tier cascade: heuristic → classifier → local GPT → scillm.

grahama1970/assistant-lab

Self-improvement workbench for /assistant. All the tools needed to diagnose, train, evaluate, and promote models in a continuous loop. The "warm pond" where /assistant evolves its own inference stack.

grahama1970/batch-quality

Pre-flight validation and quality gates for batch LLM operations. ACTUALLY tests samples through LLM before burning tokens. Uses SPARTA contracts for DuckDB validation queries. Integrates with task-monitor for enforced quality gates.

関連スキル