Community影像github.com

grahama1970/ask

當使用者要求查詢專案記憶、諮詢先知、使用支援的瀏覽器後端審查者、執行 Tau 圓桌會議/單一處理器工作流程、從 Pi 內部呼叫 Pi 原生子代理、執行人設/深度審查工作流程、生成圖像提示、透過組合技能檢查作業系統/專案健康狀況,或執行 ask DAG 時,請使用此技能。此技能是 /ask 執行環境;請勿以非正式的子代理、純網頁搜尋或手寫審查取代它;在 Pi 內部,明確的 Pi 原生子代理目標會透過 pi-subagents 工具以 Ask 目標類型進行路由。

ask 是什麼?

這是一個高效能的 AI 代理技能,作為 `grahama1970/ask` 的執行環境。它的核心功能是透過一個統一的 Ask 運行時來路由和執行多樣化的請求,包括查詢專案記憶、諮詢類似先知的知識庫、以及利用瀏覽器後端(如 WebGPT、WebClaude)或 API 模型(如 GPT-5.5、Claude Opus)來執行審查或任務。此技能支援多種工作流程模式,例如單一處理器、圓桌會議(並行多個 AI 集體審查)、競爭(隔離候選者進行比較)或創作者-審查者循環。透過將進階的 Tau 任務執行、Pi 原生子代理調度和深度審查框架整合到一個技能中,它幫助開發人員建立穩健的、具有記憶功能的多代理工作流程。對於需要使用複雜的、基於專案背景的 AI 協作工具(無論是來自瀏覽器還是 API)的專案而言,此技能至關重要。

相容平台✓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 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

ask 是做什麼的?

先停止

如果使用者提到了 $ask、/ask、ask 模式、先知、深度審查、並行審查、圓桌會議、爭論、CAE 差距審查或 ask DAG,請在執行任何動作之前閱讀此完整文件。然後使用實際的執行環境入口點,除非使用者明確要求使用備用方案,或執行環境不可用且已回報該備用方案。

請勿以 spawn_agent、純模型呼叫、純網頁搜尋、手動摘要或自創的審查來取代 $ask。

執行環境入口點

從此目錄執行命令。Pi 的技能命令語法,例如 /skill:ask webgpt What is 2 + 2? 是一等捷徑:前導的瀏覽器處理器(webgpt、webclaude、webkimi、webgemini 或 webgrok)會路由至 Tau 的 single-call 瀏覽器處理器 DAG,並帶有 --execute --json 參數。內聯的 Pi 技能引用,例如 $ask webgpt What is 2 + 2? 以及帶有空格的純語言拼寫 $ask web gpt What is 2 + 2? 必須以相同方式處理(web gpt 正規化為 webgpt)。這僅是為 Pi 使用者提供的相容性捷徑;絕不能使用已移除的 WebGPT 先知路徑。

./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 次以上記錄到失敗,會在其 failure codes 中標記為已知不良,然後再進行分派。在使用某個席位之前,請先檢查其狀態:執行 python3 skills/ask/scripts/ask_call_history.py --handler webgemini 會列印最後一次成功呼叫和最近的失敗記錄;加上 --recommend 參數可取得要重複使用的精確經驗證方法。沒有成功記錄的處理器是盲猜的——請先以 compile-only 或廉價方式進行探測。歷史執行可以回溯填充:python3 skills/ask/scripts/backfill_call_log.py [outputs-root] 會冪等地攝取每個磁碟上的節點收據(每個執行+節點具有確定性的 _key)。每個 EXECUTED 執行的結果 JSON(以及 execution-status.json)也會攜帶 handler_last_success:每個席位的記憶中的最後一次成功方法(對話 URL、分頁、生命週期/佈局)、當前連續失敗次數以及要避免的 failure codes——這些資訊會在上下文中回傳,以便專案代理在消耗執行結果後無需進行單獨的歷史查詢。

深度參考資料(按需閱讀)

在執行此動作之前請閱讀
使用計畫檔案的 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

四種目標類型

/ask 處理四種同級的目標類型。它們在傳輸方式上有所不同,但地位相同:

目標範例傳輸方式擁有者
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 的內部組成)
網頁模型 — 瀏覽器後端的審查者(聊天分頁,非代理模型;請參閱下方 webclaude 警告)webgpt、webclaude、webkimi$surf + $browser-oracle
Pi 原生子代理 — 本機 Pi 子顧問/工作者pi reviewer、subagent general-purpose、local coderpi-subagents 原生的 subagent 工具

專案代理不應關心目標端是瀏覽器、模型、Herdr 會話還是 Pi 原生子代理,只需指定目標名稱即可。

專案代理快速入門

當使用者要求進行單一模型呼叫、圓桌會議、競爭或創作者-審查者循環時,從此處開始。使用以下其中一種形式;請勿發明自訂的編排路徑。

使用者意圖命令形式
一個處理器回答./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 個獨立的 single-call 通道並行執行;每個通道各自返回其綁定 nonce 的答案或一個具名阻塞器。部分答案為 DEGRADED-but-usable(達到或超過 --min-answered 時退出碼為 0);圓桌會議的法定人數拒絕在此處不適用。
從 Pi 內部呼叫 Pi 原生子代理subagent({ action: "list" }),然後 subagent({ agent: "<agent>", task: "<task>" }) 或一個 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 收集每個問題,透過活動的一次性處理器將其診斷為結構化的原因/修復 JSON,並帶有偵錯階梯閘門(needs_debugger 僅在故障轉換是在執行階段狀態且沒有任何工件可以解釋時才推薦 $debugger),並且是預設關閉的:預設為乾執行;僅當其指定的驗證命令(通常是 $agentic-evals 固定裝置)實際通過時,--execute 才會關閉問題。無驗證 → blocked;驗證失敗 → verify-failed,問題保持開啟。每個問題的收據位於 outputs/fix-issues/ 下。閘門:fixtures/fix_issues.json。

處理器之間是同級的,即使它們的傳輸方式不同。瀏覽器處理器(webgpt、webclaude、webkimi、webgemini、webgrok)透過 $surf 和 $browser-oracle 運行。API/模型處理器,如 gpt-5.5-high、gpt-5.5-xhigh、Codex-opus-5-high 或 chutes deepseek-ai/DeepSeek-V3.2-TEE,則由 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 先知路由($ask chatgpt、--oracle-backend webgpt、--webgpt-*)會預設關閉;Tau 瀏覽器處理器仍受支援。
  • 跟進連續性: 每個瀏覽器通道的節點收據 / response.meta.json 必須攜帶 controlled_tab_id 和對話 URL;空的分頁 ID 表示交接失敗。當使用者可能會提出澄清或跟進問題時,請使用 --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 已確認)會在分頁是隱藏文件時延遲 composer 發送——在一個共享視窗中,一次只能有一個分頁處於最前,因此 N 個並行通道中的 N-1 個始終是隱藏的,並會因 prompt_too_large_or_stalled(「提示在發送後仍然留在 composer 中」)而停滯。因此,並行瀏覽器通道預設為隔離視窗(每個席位一個視窗,放置在審查者桌面上),以便每個通道分頁都是一個可見文件;--window-layout shared 是自願加入的。一個已停滯且已輸入文字的 composer 是可以挽救的: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相關時包含範圍。
先知答案./run.sh ask "<question>" --oracle ... --json應要求明確選擇後端/模型/人物設定。
Pi 瀏覽器處理器捷徑./run.sh webgpt What is 2 + 2?,來自 /skill:ask webgpt What is 2 + 2?改寫為帶有 --handler webgpt --execute --json 的 Tau single-call;使用 --compile-only 來發出 DAG,而不使用活動的瀏覽器傳輸。
單一具名處理器./run.sh tau-dag "<request>" --handler <handler-or-model> --json瀏覽器處理器使用 $surf;非瀏覽器處理器是 $scillm 模型名稱,由 Tau 路由。加上 --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 tau-dag "<creator task then reviewer verdict>" --handler <a> --handler <b> --dag-template creator-reviewer --json順序;第二個處理器獲得第一個處理器的輸出。加上 --execute 以進行活動傳輸。
深度審查./run.sh deep-review "<paper/idea URL or text>" --json參閱 references/modes.md 的「深度審查」章節。
產生圖像提示./run.sh image-prompt "<description>" --json輸出結構化提示,含風格和藝術家參數。
健康檢查./run.sh health-check --json檢查 OS/專案健康狀況。
關閉問題並驗證./run.sh fix-issues --repo <owner/name> --issue <N> --handler gpt-5.5 --execute失敗關閉;修復和驗證以結構化 JSON 形式傳遞。

資源與工具有效期限

skills/ask/scripts/ 中的指令碼提供了歷史與健康命令。不使用時回收分頁資源。

技能記憶整合

指令碼 scripts/skill_memory_tool.py 提供知識序列化。

:context 是指令碼的環境變數覆寫機制。

有關詳細資訊,請參閱 .env.sample、references/ 目錄中的完整參考資料以及 README.md。

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.

相關技能