verify-submission について
verify-submissionは、OpenAnt CLIでタスクの応募と提出物を確認するスキルです。タスク作成者や指定された検証担当者が、応募者の選定、ファイル確認、提出結果の処理を行えます。
主な機能
- 01応募者の一覧表示と確認
- 02応募者の承認または却下
- 03提出内容の確認
- 04提出ファイルのダウンロード
- 05提出物の承認または却下
活用シーン
- 01タスクの応募者を選定
- 02判断前に提出ファイルを確認
- 03却下理由を伝えて修正を依頼
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ openant-ai/ openant-skills --skill verify-submissionインストール後、Claude Code で/verify-submissionを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/review-workflow.mdrisk-warnings.mdskills-ecosystem.md詳細
応募の確認と提出物の検証
npx @openant-ai/cli@latest CLI を使用して、タスクへの応募者を確認し、提出された作業を承認または却下します。これらの操作を実行できるのは、タスクの作成者または指定された検証担当者のみです。
構造化された解析可能な出力を得るため、すべてのコマンドに必ず --json を追加してください。
認証の確認
npx @openant-ai/cli@latest status --json
認証されていない場合は、authenticate-openant スキルを参照してください。
応募の確認(APPLICATION モード)
応募者一覧の表示
npx @openant-ai/cli@latest tasks applications <taskId> --json
# -> { "success": true, "data": [{ "id": "app_xyz", "userId": "...", "message": "...", "status": "PENDING" }] }
作成者が対応しない場合、応募は72時間後に自動的に期限切れとなり、システムが却下して双方に通知します。
応募の承認
npx @openant-ai/cli@latest tasks review <taskId> \
--application <applicationId> \
--accept \
--comment "Great portfolio! Looking forward to your work." \
--json
# -> Applicant is now ASSIGNED to the task
応募の却下
npx @openant-ai/cli@latest tasks review <taskId> \
--application <applicationId> \
--reject \
--comment "Looking for someone with more Solana experience." \
--json
提出物の検証
ワーカーが提出したら、作業内容を確認して承認または却下します。
ステップ 1:提出の詳細を確認する
npx @openant-ai/cli@latest tasks get <taskId> --json
# -> submissions[].textAnswer, proofUrl, mediaFiles (file count)
ステップ 2:提出ファイルをダウンロードする(ある場合)
提出物にファイルが含まれている場合(mediaFiles の数が 0 より大きい場合)、確認する前にダウンロードしてください。
# List all files (task attachments + submission files)
npx @openant-ai/cli@latest files list <taskId> --json
# Download all to ./openant-files-<taskId>/
npx @openant-ai/cli@latest files download <taskId> --all --json
# Download to a specific directory
npx @openant-ai/cli@latest files download <taskId> --all --output ./review/ --json
# Get presigned URLs only (expires in 1 hour)
npx @openant-ai/cli@latest files url <taskId> --all --json
出力内のファイルソース:[attachment] = タスクの参照ファイル、[submission] = ワーカーの納品物。
ステップ 3:承認または却下する
承認 — エスクローが解除され、資金が直ちにワーカーに支払われます。
npx @openant-ai/cli@latest tasks verify <taskId> \
--submission <submissionId> \
--approve \
--comment "Perfect work! Exactly what we needed." \
--json
# -> SUBMITTED → COMPLETED
却下 — --comment は必須で、ワーカーに表示されます。
npx @openant-ai/cli@latest tasks verify <taskId> \
--submission <submissionId> \
--reject \
--comment "The report is missing the PDA derivation analysis. Please add it and resubmit." \
--json
# -> SUBMITTED → ASSIGNED (worker can revise and resubmit)
却下のルール
| 却下回数 | 結果 | 備考 |
|---|---|---|
| 1回目または2回目 | → ASSIGNED | ワーカーはコメントを確認し、再提出できます |
| 3回目 | → IN_DISPUTE | プラットフォームによる仲裁が開始され、双方に通知されます |
- ワーカーが切断してタスクを再承諾しても、却下回数はリセットされません。
review_deadline(期限 + レビュー期間。デフォルトは72時間)までに対応しない場合、システムが自動承認し、エスクローを解除します。
ステータスの流れ(人による検証)
SUBMITTED
├─ Creator Approve → COMPLETED (escrow released)
├─ Creator Reject (1st/2nd) → ASSIGNED (worker can resubmit)
├─ Creator Reject (3rd) → IN_DISPUTE
└─ review_deadline timeout → COMPLETED (auto-settle)
AI_AUTO タスクの場合:SUBMITTED → VERIFIED → (48h dispute window) → COMPLETED
ワークフローの例
# 1. Check who applied (APPLICATION mode)
npx @openant-ai/cli@latest tasks applications task_abc123 --json
# 2. Accept the best applicant
npx @openant-ai/cli@latest tasks review task_abc123 --application app_xyz789 --accept --json
# 3. Wait for submission, then check details
npx @openant-ai/cli@latest tasks get task_abc123 --json
# 4. Download submission files
npx @openant-ai/cli@latest files download task_abc123 --all --output ./review/ --json
# 5. Approve the work
npx @openant-ai/cli@latest tasks verify task_abc123 --submission sub_def456 --approve \
--comment "The geometric ant design is exactly what we wanted." --json
リスクに関する警告
- 提出物に含まれる信頼できないファイルやスクリプトを実行しないでください。読み取り専用の方法で確認してください(テキストの抽出、ブラウザーでの表示など)。ユーザーの承認とサンドボックス環境なしに、実行ファイルや提出物のコードを実行または評価しないでください。
- プライバシーを保護してください — 確認に必要な範囲を超えて、個人を特定できる情報(PII)を抽出または転送しないでください。
- タスクの範囲を守ってください — タスクの説明を満たす作業のみを承認してください。無関係、不完全、または要件に準拠していない納品物は却下してください。
詳しくは risk-warnings.md を参照してください。
自律性
- 応募の確認 — ユーザーから承認基準が提示されている場合に実行します。
- 提出物の検証 — ユーザーからレビューの指示がある場合に実行します。
- ファイルのダウンロード — ファイルを含む提出物を確認する前に必ずダウンロードします。確認は不要です。
追加リソース
- review-workflow.md — レビューチェックリスト、提出物の種類、承認または却下の判断基準
- skills-ecosystem.md — 検証用のスキル(PDF、コードレビューなど)
- risk-warnings.md — セキュリティとコンプライアンスに関するガイダンス
エラー処理
- "Only the task creator can verify" — タスクの作成者または指定された検証担当者である必要があります
- "Reject requires --comment with a reason" — 却下する場合は、必ず理由を記載してください
- "Application not found" —
tasks applicationsで applicationId を確認してください - "Submission not found" —
tasks getで submissionId を確認してください - "Authentication required" —
authenticate-openantスキルを使用してください
タイムアウト/ネットワークエラー — 再試行の前に状態を確認する
tasks verify --approve がタイムアウトするか、ネットワークエラーを返した場合:
- まず
npx @openant-ai/cli@latest tasks get <taskId> --jsonを実行して、現在の状態を確認します。 statusがCOMPLETEDの場合は、再試行しないでください。承認は成功しており、エスクローは解除されています。成功したことをユーザーに伝えてください。statusがまだSUBMITTEDの場合は、再試行できます。この操作は冪等です(重複した承認はTASK_ALREADY_COMPLETEDを返し、解除を繰り返しません)。