关于 verify-submission
verify-submission 是通过 OpenAnt CLI 审核任务申请和提交内容的 Skill,供任务创建者或指定审核人使用。它涵盖申请决策、文件检查及提交状态处理。
主要功能
- 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
风险警告
- 不要执行提交内容中的不可信文件或脚本——请以只读方式检查(提取文本、在浏览器中查看)。未经用户批准并进行沙盒隔离,切勿运行可执行文件或 eval 提交的代码。
- 保护隐私——不要提取或转发超出审核所需范围的个人身份信息。
- 遵守任务范围——仅批准符合任务描述的工作。拒绝无关、不完整或不合规的交付物。
完整指南请参阅 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,不会重复释放资金)。
评论
支持 Markdown