Tool tree
gradeNot graded
page: Every page
start_validationAction
START HERE to validate a SaaS idea. Provide either idea_text describing the idea, or repo_url pointing to a public GitHub repository. Returns a run_id. WORKFLOW: 1) call this, 2) poll get_validation_status every few seconds until status is COMPLETE (about 30s), 3) call get_verdict for the final BUILD/PIVOT/KILL ruling, 4) optionally get_evidence and get_next_step. Report the verdict, score, and next step to the user.
View tool JSON
{
"name": "start_validation",
"kind": "act",
"impl": "imperative",
"description": "START HERE to validate a SaaS idea. Provide either idea_text describing the idea, or repo_url pointing to a public GitHub repository. Returns a run_id. WORKFLOW: 1) call this, 2) poll get_validation_status every few seconds until status is COMPLETE (about 30s), 3) call get_verdict for the final BUILD/PIVOT/KILL ruling, 4) optionally get_evidence and get_next_step. Report the verdict, score, and next step to the user.",
"inputSchema": {
"type": "object",
"properties": {
"idea_text": {
"type": "string",
"minLength": 1,
"maxLength": 2000
},
"repo_url": {
"type": "string",
"format": "uri"
}
},
"oneOf": [
{
"properties": {
"idea_text": {},
"repo_url": false
},
"required": [
"idea_text"
]
},
{
"properties": {
"idea_text": false,
"repo_url": {}
},
"required": [
"repo_url"
]
}
],
"additionalProperties": false
},
"page": "/"
}get_validation_statusAnswer
Poll a running trial by run_id. Statuses: QUEUED, NORMALIZING, GATHERING, CLASSIFYING, SCORING, COMPLETE, FAILED. Keep polling every few seconds while not terminal; when COMPLETE call get_verdict; when FAILED read error_code and tell the user why. Also returns evidence_count, per-source research states, the normalized case_file, pending approvals, and recent human actions — re-read after the human changes anything.
View tool JSON
{
"name": "get_validation_status",
"kind": "answer",
"impl": "imperative",
"description": "Poll a running trial by run_id. Statuses: QUEUED, NORMALIZING, GATHERING, CLASSIFYING, SCORING, COMPLETE, FAILED. Keep polling every few seconds while not terminal; when COMPLETE call get_verdict; when FAILED read error_code and tell the user why. Also returns evidence_count, per-source research states, the normalized case_file, pending approvals, and recent human actions — re-read after the human changes anything.",
"inputSchema": {
"type": "object",
"properties": {
"run_id": {
"type": "string"
}
},
"required": [
"run_id"
],
"additionalProperties": false
},
"page": "/"
}get_evidenceAnswer
List evidence gathered for a trial. Optionally filter by dimension or source. Includes the human's pinned or rejected state per item.
View tool JSON
{
"name": "get_evidence",
"kind": "answer",
"impl": "imperative",
"description": "List evidence gathered for a trial. Optionally filter by dimension or source. Includes the human's pinned or rejected state per item.",
"inputSchema": {
"type": "object",
"properties": {
"run_id": {
"type": "string"
},
"dimension": {
"type": "string",
"enum": [
"PROBLEM_SEVERITY",
"DEMAND_SIGNALS",
"COMPETITION",
"MONETIZATION",
"DISTRIBUTION",
"BUILD_COST"
]
},
"source": {
"type": "string",
"enum": [
"WEB_SEARCH",
"REDDIT",
"HACKERNEWS",
"PRODUCT_HUNT",
"GITHUB"
]
}
},
"required": [
"run_id"
],
"additionalProperties": false
},
"page": "/"
}request_deep_scanAction
Request a deeper evidence scan for one dimension of a trial. This queues an approval card in the page UI; the human must click Approve before the scan runs. Poll get_validation_status to see when it completes.
View tool JSON
{
"name": "request_deep_scan",
"kind": "act",
"impl": "imperative",
"description": "Request a deeper evidence scan for one dimension of a trial. This queues an approval card in the page UI; the human must click Approve before the scan runs. Poll get_validation_status to see when it completes.",
"inputSchema": {
"type": "object",
"properties": {
"run_id": {
"type": "string"
},
"dimension": {
"type": "string",
"enum": [
"PROBLEM_SEVERITY",
"DEMAND_SIGNALS",
"COMPETITION",
"MONETIZATION",
"DISTRIBUTION",
"BUILD_COST"
]
},
"reason": {
"type": "string",
"maxLength": 300
}
},
"required": [
"run_id",
"dimension"
],
"additionalProperties": false
},
"page": "/"
}get_verdictAnswer
Get the final ruling for a COMPLETE trial: composite score 0-100, BUILD (70+) / PIVOT (40-69) / KILL (<40), six dimension scores with rationales and evidence citations, the bench's written opinion (next_step.bench_opinion), and the single recommended next step. Summarize the verdict, the bench opinion, and the next step for the user; cite evidence via get_evidence when asked for proof.
View tool JSON
{
"name": "get_verdict",
"kind": "answer",
"impl": "imperative",
"description": "Get the final ruling for a COMPLETE trial: composite score 0-100, BUILD (70+) / PIVOT (40-69) / KILL (<40), six dimension scores with rationales and evidence citations, the bench's written opinion (next_step.bench_opinion), and the single recommended next step. Summarize the verdict, the bench opinion, and the next step for the user; cite evidence via get_evidence when asked for proof.",
"inputSchema": {
"type": "object",
"properties": {
"run_id": {
"type": "string"
}
},
"required": [
"run_id"
],
"additionalProperties": false
},
"page": "/"
}refine_ideaAction
Re-run validation on a pivoted version of an existing idea. Creates a new linked trial so the two can be compared with compare_ideas.
View tool JSON
{
"name": "refine_idea",
"kind": "act",
"impl": "imperative",
"description": "Re-run validation on a pivoted version of an existing idea. Creates a new linked trial so the two can be compared with compare_ideas.",
"inputSchema": {
"type": "object",
"properties": {
"run_id": {
"type": "string"
},
"pivot_text": {
"type": "string",
"minLength": 1,
"maxLength": 2000
}
},
"required": [
"run_id",
"pivot_text"
],
"additionalProperties": false
},
"page": "/"
}compare_ideasAction
Compare two or more completed trials side by side across all six dimensions.
View tool JSON
{
"name": "compare_ideas",
"kind": "act",
"impl": "imperative",
"description": "Compare two or more completed trials side by side across all six dimensions.",
"inputSchema": {
"type": "object",
"properties": {
"run_ids": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 2,
"maxItems": 5,
"uniqueItems": true
}
},
"required": [
"run_ids"
],
"additionalProperties": false
},
"page": "/"
}get_next_stepAnswer
Get the single recommended next validation action for a completed trial, chosen from Verdiqt's validation playbook.
View tool JSON
{
"name": "get_next_step",
"kind": "answer",
"impl": "imperative",
"description": "Get the single recommended next validation action for a completed trial, chosen from Verdiqt's validation playbook.",
"inputSchema": {
"type": "object",
"properties": {
"run_id": {
"type": "string"
}
},
"required": [
"run_id"
],
"additionalProperties": false
},
"page": "/"
}analyze_repoAction
Start a validation trial from any public GitHub repository (owner/repo). The court reads the repo's README and metadata to infer the idea, then runs the full evidence trial. Poll get_validation_status until COMPLETE, then call get_verdict.
View tool JSON
{
"name": "analyze_repo",
"kind": "act",
"impl": "imperative",
"description": "Start a validation trial from any public GitHub repository (owner/repo). The court reads the repo's README and metadata to infer the idea, then runs the full evidence trial. Poll get_validation_status until COMPLETE, then call get_verdict.",
"inputSchema": {
"type": "object",
"properties": {
"repo_full_name": {
"type": "string",
"minLength": 3,
"maxLength": 200,
"pattern": "^[^/\\s]+/[^/\\s]+$"
}
},
"required": [
"repo_full_name"
],
"additionalProperties": false
},
"page": "/"
}search_knowledgeAnswer
Search Verdiqt's marketing and validation knowledge base for frameworks and heuristics, for example offer design, demand signals, pricing, distribution.
View tool JSON
{
"name": "search_knowledge",
"kind": "answer",
"impl": "imperative",
"description": "Search Verdiqt's marketing and validation knowledge base for frameworks and heuristics, for example offer design, demand signals, pricing, distribution.",
"inputSchema": {
"type": "object",
"properties": {
"query": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"tags": {
"type": "array",
"items": {
"type": "string",
"enum": [
"PROBLEM_SEVERITY",
"DEMAND_SIGNALS",
"COMPETITION",
"MONETIZATION",
"DISTRIBUTION",
"BUILD_COST"
]
},
"maxItems": 6,
"uniqueItems": true
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 10,
"default": 6
}
},
"required": [
"query"
],
"additionalProperties": false
},
"page": "/"
}