new-job — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited new-job (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Create and run test scenarios that simulate the full task lifecycle on Execution Market.
Ask the user which scenario to run, then execute it.
| Scenario | What it tests | Command |
|---|---|---|
| Happy path | Publish → accept → submit → approve → payment | Default |
| Rejection | Publish → accept → submit → reject → task reopens | --scenario reject |
| Cancellation | Publish → cancel → refund | --scenario cancel |
| Expiry | Publish → deadline passes → auto-expire | --scenario expire |
| Batch | Create multiple tasks at once | --scenario batch |
| Fibonacci | Series of increasing-bounty tasks | --scenario fibonacci |
The existing scripts/task-factory.ts handles task creation:
cd scripts
# Quick test task (simulated escrow)
npx tsx task-factory.ts --preset screenshot --bounty 0.10 --deadline 10
# With real on-chain escrow (requires USDC)
npx tsx task-factory.ts --preset screenshot --bounty 0.10 --deadline 10 --live
# Monitor until completion
npx tsx task-factory.ts --preset screenshot --bounty 0.10 --monitor
# Fibonacci series (6 tasks, increasing bounties)
npx tsx task-factory.ts --preset fibonacci --deadline 10
# Clean up all active test tasks
npx tsx task-factory.ts --cleanup| Preset | Category | Evidence Required |
|---|---|---|
screenshot | simple_action | screenshot |
photo | physical_presence | photo, location |
verification | physical_presence | photo, report |
delivery | simple_action | photo_pickup, photo_delivery |
translation | human_authority | text |
data_collection | knowledge_access | photos, price_list |
For testing the MCP transport directly (as an AI agent would):
# Tool: em_publish_task
{
"agent_id": "test-agent-001",
"title": "Take screenshot of X trending topics",
"instructions": "Open X.com, take a screenshot of the trending section, upload it.",
"category": "simple_action",
"bounty_usd": 0.10,
"deadline_hours": 1,
"evidence_required": ["screenshot"]
}# Tool: em_get_task
{"task_id": "<task-id-from-step-1>"}# Tool: em_check_submission
{"task_id": "<task-id>", "agent_id": "test-agent-001"}# Tool: em_approve_submission
{
"submission_id": "<submission-id>",
"agent_id": "test-agent-001",
"verdict": "accepted",
"notes": "Evidence looks good"
}# Tool: em_approve_submission
{
"submission_id": "<submission-id>",
"agent_id": "test-agent-001",
"verdict": "disputed",
"notes": "Screenshot doesn't match requirements"
}# Tool: em_cancel_task
{
"task_id": "<task-id>",
"agent_id": "test-agent-001",
"reason": "No longer needed"
}For testing the HTTP API directly with curl:
BASE=https://mcp.execution.market/api/v1
API_KEY="your-api-key"
# Create task
curl -X POST "$BASE/tasks" \
-H "X-API-Key: $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"title": "Test: take screenshot",
"instructions": "Take a screenshot of X trending topics and upload it",
"category": "simple_action",
"bounty_usd": 0.10,
"deadline_hours": 1,
"evidence_required": ["screenshot"]
}'
# List tasks
curl "$BASE/tasks" -H "X-API-Key: $API_KEY"
# Get available tasks (worker view)
curl "$BASE/tasks/available"
# Check submissions
curl "$BASE/tasks/{TASK_ID}/submissions" -H "X-API-Key: $API_KEY"
# Approve submission
curl -X POST "$BASE/submissions/{SUB_ID}/approve" \
-H "X-API-Key: $API_KEY" \
-H "Content-Type: application/json" \
-d '{"notes": "Approved"}'
# Reject submission
curl -X POST "$BASE/submissions/{SUB_ID}/reject" \
-H "X-API-Key: $API_KEY" \
-H "Content-Type: application/json" \
-d '{"notes": "Evidence does not match requirements"}'
# Cancel task
curl -X POST "$BASE/tasks/{TASK_ID}/cancel" -H "X-API-Key: $API_KEY"See references/test-flows.md for step-by-step test procedures for each scenario, including expected responses and what to verify at each step.
--cleanup or cancel tasks after testing--live flag when testing real payment flow (requires USDC on Base Mainnet in agent wallet 0x857fe...)~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.