次のような場合に使用: NVIDIA AI-Q Blueprint(エンタープライズAI技術基盤)のバックエンド機能を経由して、深掘り調査またはAI-Qリサーチを実行するよう求められたとき
Use when asked to run deep research or AI-Q research through a reachable NVIDIA AI-Q Blueprint backend.
このSkillは、scripts/aiq.py のヘルパースクリプトを通じて、ローカルで実行中の NVIDIA AI-Q Blueprint サーバーを呼び出すために使用します。
次のような場合に使用:
インストール、デプロイ、起動・停止、UI、CLI、Docker、Helm、またはトラブルシューティングに関するリクエストにはこのSkillを使用しないでください。
それらは aiq-deploy が担当します。
ユーザーに必要なもの:
python3 として利用可能な Python 3.11 以上http://localhost:8000 で動作していない場合は AIQ_SERVER_URL の設定が必要。
ローカル以外の値は、クエリ送信前にユーザーが信頼済みであることを確認する必要があります。ヘルパースクリプトはサードパーティの Python パッケージに依存しておらず、 Python 標準ライブラリの HTTP モジュールのみを使用します。
health を実行するaiq-deploy に引き継ぐAIQ_SERVER_URL が設定されている場合はそれを使用します。
設定されていない場合は、デフォルトのローカルバックエンドを試みます:
python3 $SKILL_DIR/scripts/aiq.py health
期待される出力: アクセス可能な AI-Q ヘルスエンドポイントからの JSON
health が失敗し、かつ明示的な AIQ_SERVER_URL が設定されていない場合は、次のように確認します:
アクセス可能なローカル AI-Q バックエンドが見つかりません。
既に使用したい AI-Q バックエンド URL をお持ちですか?
それとも、ローカルの Skill バックエンドをデプロイしましょうか?
AIQ_SERVER_URL を設定して health を再実行します。aiq-deploy に引き継ぎます。401 または 403 を返した場合は停止し、
このパブリック Skill は認証を管理しない旨を説明します。
認証済みの AI-Q Skill を使用するか、環境に合わせた認証設定を行うようユーザーに依頼してください。health は成功したが /chat または /v1/jobs/async/agents が失敗した場合は、
バックエンドには到達できるが本パブリックリサーチフローとの互換性がない旨を報告し、
aiq-deploy の検証を実行することを提案します。リクエストを送信する前に、解決済みのエンドポイントを明示します:
このクエリを <AIQ_SERVER_URL> に送信します。
機密情報を送信する前に、このエンドポイントが信頼済みであることを確認してください。
クエリのテキストに認証情報、Cookie、Bearer トークン、またはシークレット値を含めないでください。
実行:
python3 $SKILL_DIR/scripts/aiq.py chat "<ユーザーの質問>"
期待される出力:
{"status": "deep_research_running", "job_id": "<JOB_ID>"} を含む構造化 JSON通常の JSON レスポンスが返された場合は即座に結果を提示します。
job_id が存在しない場合はポーリングを強制しないでください。
レスポンスに deep_research_running が含まれている場合は、job_id を取り出し、
同じスクリプトの絶対パスでポーリングします:
python3 $SKILL_DIR/scripts/aiq.py research_poll <JOB_ID>
期待される出力: ジョブが正常に完了した際の最終レポート JSON
利用可能な場合は、ランタイムのノンブロッキングまたはバックグラウンド実行機構を使用してください。 選択した実行方法に昇格された権限が必要な場合は、理由を説明したうえでユーザーの明示的な承認を求めてください。 ディープリサーチがバックグラウンドで実行中であることをユーザーに伝えてください。
ポーリングが中断された場合でも、ジョブはサーバー側で継続されています。 次のコマンドで再開します:
python3 $SKILL_DIR/scripts/aiq.py status <JOB_ID>
python3 $SKILL_DIR/scripts/aiq.py report <JOB_ID>
python3 $SKILL_DIR/scripts/aiq.py research_poll <JOB_ID>
status: ジョブのステータスと保存済みアーティファクトを確認するreport: ジョブがすでに完了しており最終出力のみ必要な場合に使用するresearch_poll: 完了まで引き続き待機する場合に使用するresearch_poll が正常に完了したら、完全なレポートを取得して提示します。
引用元とソース URL は必ず保持してください。
ジョブのステータスが failed、failure、または cancelled の場合は、
ステータスレスポンスに含まれるエラーを表示し、
クエリを絞り込んで再試行するか、別のアプローチを取るかをユーザーに確認します。
重要: この Skill は NVIDIA AI-Q Blueprint バージョン 2.1.0 向けに設計されています。
セマンティックバージョニングの互換性ルール:
Skill バージョン: X.Y.Z
Blueprint またはエンドポイントのバージョン: A.B.C
互換性あり (以下をすべて満たす場合):
1. A == X(メジャーバージョンは一致していなければならない)
2. B >= Y(マイナーバージョンは同じか、より大きい必要がある)
3. C は任意(パッチバージョンは互換性に影響しない)
具体例:
Blueprint バージョンに互換性がない場合:
| スクリプト | 目的 | 引数 |
|---|---|---|
scripts/aiq.py health |
設定済みサーバーが応答するか確認する | なし |
scripts/aiq.py chat |
/chat に POST する。インライン出力またはディープリサーチのジョブ ID を返す場合がある |
<クエリ> |
scripts/aiq.py agents |
利用可能な非同期 Agent タイプを一覧表示する | なし |
scripts/aiq.py submit |
明示的な非同期ジョブを送信する | <クエリ> [agent_type] |
scripts/aiq.py research |
非同期ジョブを送信し、ポーリングして最終レポート JSON を出力する | <クエリ> [agent_type] |
scripts/aiq.py research_poll |
既存の非同期ジョブのポーリングを再開する | <job_id> |
scripts/aiq.py status |
ジョブのステータスと /state アーティファクトを取得する |
<job_id> |
scripts/aiq.py state |
イベントストアのアーティファクトのみを取得する | <job_id> |
scripts/aiq.py report |
完了済みジョブの最終レポートを取得する | <job_id> |
scripts/aiq.py stream |
ジョブから SSE イベントをストリーミングする | <job_id> |
scripts/aiq.py cancel |
実行中のジョブをキャンセルする | <job_id> |
ホストが run_script() ヘルパーをサポートしている場合は、scripts/aiq.py と上記の引数を指定して呼び出してください。
サポートしていない場合は、python3 $SKILL_DIR/scripts/aiq.py health のような同等のシェルコマンドを実行してください。
| 変数 | 必須 | デフォルト | 説明 |
|---|---|---|---|
AIQ_SERVER_URL |
いいえ | http://localhost:8000 |
ローカルまたはセルフホスト型 AI-Q サーバーのベース URL |
AIQ_SERVER_URL に API キー、Bearer トークン、Cookie、Basic 認証の認証情報を含めないでください。AIQ_SERVER_URL に送信されます。
機密情報や秘密情報を送信する前に、エンドポイントが信頼済みであることを確認してください。AIQ_SERVER_URL エンドポイントは、プロンプト、レスポンス、メタデータをログに記録する場合があります。python3 $SKILL_DIR/scripts/aiq.py health
python3 $SKILL_DIR/scripts/aiq.py chat "ローカルの AIQ ディープリサーチと標準的な Web 検索ワークフローを
Use this skill to call a locally running NVIDIA AI-Q Blueprint server through the helper script at
scripts/aiq.py.
Use this skill for research-shaped requests, including:
Do not use this skill for install, deploy, start, stop, UI, CLI, Docker, Helm, or troubleshooting requests. Those
belong to aiq-deploy.
Users need:
python3.AIQ_SERVER_URL set when the backend is not running at http://localhost:8000; non-local values must be trusted by
the user before any query is sent.The helper script has no third-party Python package dependencies; it uses Python standard-library HTTP modules.
health before sending research requests.aiq-deploy.Use AIQ_SERVER_URL when set. Otherwise try the default local backend:
python3 $SKILL_DIR/scripts/aiq.py health
Expected output: JSON from a reachable AI-Q health endpoint.
If health fails and no explicit AIQ_SERVER_URL was set, ask:
I do not see a reachable local AI-Q backend. Do you already have an AI-Q backend URL you want to use, or should I deploy a local Skill backend?
AIQ_SERVER_URL for subsequent helper calls and rerun health.aiq-deploy and preserve the original research request.401 or 403, stop and explain that this public skill does not manage
authentication. Ask the user to use an authenticated AI-Q skill or configure authentication for their environment.health succeeds but /chat or /v1/jobs/async/agents fails, report that the backend is reachable but not
compatible with this public research flow, then offer to run aiq-deploy validation.Before sending the request, state the resolved endpoint:
I will send this query to <AIQ_SERVER_URL>. Make sure this endpoint is trusted before sending sensitive information.
Do not send credentials, cookies, bearer tokens, or secret values through the query text.
Run:
python3 $SKILL_DIR/scripts/aiq.py chat "<USER_QUESTION>"
Expected output:
{"status": "deep_research_running", "job_id": "<JOB_ID>"} for asynchronous deep
research.If the response is normal JSON, present the result immediately. Do not force polling when there is no job_id.
If the response includes deep_research_running, extract the job_id and poll with the same absolute script path:
python3 $SKILL_DIR/scripts/aiq.py research_poll <JOB_ID>
Expected output: the final report JSON when the job completes successfully.
Use the runtime's non-blocking or background execution mechanism when available. If the chosen execution method requires escalated permissions, request explicit user approval first and explain why. Tell the user that deep research is running in the background.
If polling is interrupted, the job continues server-side. Resume with:
python3 $SKILL_DIR/scripts/aiq.py status <JOB_ID>
python3 $SKILL_DIR/scripts/aiq.py report <JOB_ID>
python3 $SKILL_DIR/scripts/aiq.py research_poll <JOB_ID>
Use status to inspect job status and saved artifacts. Use report when the job has already finished and you only need
the final output. Use research_poll to keep waiting for completion.
The final report may reference generated artifacts (charts, CSVs) as artifact://<id> links. To materialize them as local
files, run python3 $SKILL_DIR/scripts/aiq.py artifacts <JOB_ID> --download-dir ./aiq-artifacts; it downloads each artifact
and prints the local path. Do not expect base64 image data in the report itself.
For a self-contained, shareable report, run python3 $SKILL_DIR/scripts/aiq.py report <JOB_ID> --out-dir ./my-report. It writes report.md plus an
artifacts/ folder and rewrites each artifact://<id> link to the matching local file, so the report renders (charts and
all) in any markdown viewer without a running backend.
When research_poll completes successfully, fetch and present the full report. Keep citations and source URLs intact.
If the job status is failed, failure, or cancelled, show the error from the status response and ask whether the
user wants to retry with a narrower query or different approach.
After a report is presented, the user often wants to go deeper or adjust scope. Reuse the existing backend flow — the same auth boundary, polling, and report retrieval from Steps 1-5 apply; there is no separate follow-up endpoint.
Ask — a follow-up question about a report already in hand:
For a question answerable from the report you already have, answer directly from its content and citations; do not call the backend again.
For a question that needs new investigation, send a fresh request that carries the needed context from the prior question and report into the new query text, then present the new result:
python3 $SKILL_DIR/scripts/aiq.py chat "<FOLLOW_UP_QUESTION> (context: <PRIOR_TOPIC>)"
If this returns a deep_research_running job ID, poll it with research_poll
exactly as in Step 3.
Edit — rewrite a report with cosmetic changes. This skill only has access to the data used to generate the initial report. No tools are available:
python3 $SKILL_DIR/scripts/aiq.py report_edit <JOB_ID> "<EDIT_INSTRUCTIONS>"
Redo — re-run research with adjusted scope (a narrower query, a corrected question, or a different depth):
python3 $SKILL_DIR/scripts/aiq.py research "<REFINED_QUERY>" [agent_type]
agent_type to match the desired depth (for example a deep agent for a
thorough pass, or shallow_researcher for a quick one); list options with
agents if unsure.Do not send credentials or secret values in follow-up query text, and keep citations and source URLs intact in every follow-up answer.
IMPORTANT: This skill is designed for NVIDIA AI-Q Blueprint version 2.1.0.
Semantic Versioning Compatibility Rules:
Skill version: X.Y.Z
Blueprint or endpoint version: A.B.C
Compatible IF:
1. A == X (Major versions MUST match)
2. B >= Y (Minor version must be equal or greater)
3. C can be anything (Patch version does not affect compatibility)
Examples:
If your Blueprint version is not compatible:
| Script | Purpose | Arguments |
|---|---|---|
scripts/aiq.py health |
Check whether the configured server responds | none |
scripts/aiq.py chat |
POST /chat; may return inline output or a deep-research job ID |
<query> |
scripts/aiq.py agents |
List available async agent types | none |
scripts/aiq.py submit |
Submit an explicit async job | <query> [agent_type] |
scripts/aiq.py research |
Submit an async job, poll, and print the final report JSON | <query> [agent_type] |
scripts/aiq.py research_poll |
Resume polling an existing async job | <job_id> |
scripts/aiq.py status |
Fetch job status plus /state artifacts |
<job_id> |
scripts/aiq.py state |
Fetch event-store artifacts only | <job_id> |
scripts/aiq.py report |
Fetch the final report; with --out-dir DIR, export a portable report.md + artifacts/ folder with links rewritten to local files |
<job_id> [--out-dir DIR] |
scripts/aiq.py report_edit |
Edit a completed report with cosmetic changes | <job_id> <edit_instructions> |
scripts/aiq.py artifacts |
List durable artifacts; with --download-dir DIR, download them and print local paths |
<job_id> [--download-dir DIR] |
scripts/aiq.py stream |
Stream SSE events from a job | <job_id> |
scripts/aiq.py cancel |
Cancel a running job | <job_id> |
When the host supports a run_script() helper, call it with scripts/aiq.py and the arguments above. Otherwise, run
the equivalent shell command, such as python3 $SKILL_DIR/scripts/aiq.py health.
| Variable | Required | Default | Description |
|---|---|---|---|
AIQ_SERVER_URL |
No | http://localhost:8000 |
Local or self-hosted AI-Q server base URL |
AIQ_SERVER_URL.AIQ_SERVER_URL. Confirm the endpoint is trusted before sending
sensitive or confidential information.AIQ_SERVER_URL endpoints may log prompts, responses, and metadata.python3 $SKILL_DIR/scripts/aiq.py health
python3 $SKILL_DIR/scripts/aiq.py chat "Compare local AIQ deep research with a standard web search workflow"
Expected output:
<health JSON from AI-Q>
<JSON chat response or {"status": "deep_research_running", "job_id": "<JOB_ID>"}>
If AI-Q returns a job ID, continue with research_poll.
python3 $SKILL_DIR/scripts/aiq.py status <JOB_ID>
python3 $SKILL_DIR/scripts/aiq.py research_poll <JOB_ID>
Replace <JOB_ID> with the UUID returned by AI-Q. Expected output: status JSON followed by the report JSON when the
job completes. If the job failed, show the returned status and do not retry automatically.
# Ask: a follow-up that needs new investigation, carrying prior context.
python3 $SKILL_DIR/scripts/aiq.py chat "How does that compare on cost? (context: local AIQ deep research vs web search)"
# Redo: re-run research with a narrower query and explicit depth.
python3 $SKILL_DIR/scripts/aiq.py research "AIQ deep research cost on a single workstation" shallow_researcher
Expected output: a routed chat response or a new deep_research_running job ID
to poll with research_poll. Present the follow-up answer with citations and
source URLs intact.
| Topic | Documentation |
|---|---|
| Helper script | scripts/aiq.py |
| Deployment and backend validation | ../aiq-deploy/SKILL.md |
Symptoms:
health fails with connection refused.http://localhost:8000 URL does not respond.Causes:
Solutions:
export AIQ_SERVER_URL="http://localhost:<PORT>"
python3 $SKILL_DIR/scripts/aiq.py health
aiq-deploy and preserve the original research request.Symptoms:
/chat or async job calls.Causes:
Solutions:
health and the original query only after the authentication boundary is resolved.Symptoms:
health returns successfully./chat, /v1/jobs/async/agents, or polling commands fail.Causes:
Solutions:
python3 $SKILL_DIR/scripts/aiq.py agents
aiq-deploy validation.Symptoms:
running.running, but a report is returned or cancel says the job is already success.Causes:
Solutions:
python3 $SKILL_DIR/scripts/aiq.py status <JOB_ID>
has_report: true or job_status.status: success, fetch the report:python3 $SKILL_DIR/scripts/aiq.py report <JOB_ID>
python3 $SKILL_DIR/scripts/aiq.py research_poll <JOB_ID>
原文・著作権は Anthropic および各プラグイン作者に帰属します。日本語訳は Claude API による自動翻訳です。