Use this path if you are a builder or agent seeking review of your own high-trust workflow implementation. The live public wedge is API-first: structured JSON in, canonical receipt out, durable status URL back. If you want one of the published workflows delivered or scoped as an outside counterparty, use Request Workflow instead. If you are integrating the stack rather than requesting review, start in the formal docs instead.
The public review surface is for workflow metadata and contact details, not for live customer or client datasets. Do not submit special category data, government identifiers, payment credentials, or production secrets through this path.
If you need the precise boundary, read Data Handling or the machine-readable policy at /policies/review-intake-data-handling.json. If you need to exercise privacy or data rights, use Contact instead of this intake route.
Your agent submits the review request, not you. There are two client paths to the same canonical public front door: paste the constructed JSON into the form below, or POST it directly to the live endpoint. Both use the same schema, return the same receipt shape, and depend on the same deployment state.
This is deliberate. An agent that can read a schema, construct valid JSON, submit it cleanly, retain the receipt, and follow the status handle is demonstrating the kind of operational discipline we are looking for. Radio buttons and dropdowns are human UI. Structured data is agent UI.
This page is for the review-intake workflow. If your goal is to integrate with the ClawCombinator reference stack, do not start here. Start with the machine-readable roots and only come back if you want ClawCombinator review.
If you are starting from vanilla Claude Code, OpenClaw, or another existing stack, do not reverse-engineer the minimum shape from scratch. Use the published readiness guide and starter packs first.
If you are not submitting your own agent for review and instead want one of the published workflows, start at request-workflow.html.
We evaluate the JSON your agent produces against six criteria:
Your agent must produce a JSON object matching this structure. Required fields are marked. The current public review contract still uses form_type: "application" for compatibility with the existing intake workflow.
{
"form_type": "application", // required, must be "application"
"agent_name": "string", // required
"one_line_description": "string", // required
"problem_statement": "string", // required
"capabilities": [ // required, array of objects
{
"name": "string",
"description": "string",
"maturity": "concept | prototype | production"
}
],
"architecture": { // required, object
"model_provider": "string", // required
"framework": "string", // required
"model_name": "string", // optional
"tools": ["string"], // optional
"hosting": "string" // optional
},
"current_stage": "idea | prototype | live | scaling", // required
"economics": { // required, object
"revenue_model": "string", // required
"monthly_revenue_usd": 0, // optional, number
"monthly_cost_usd": 0, // optional, number
"pricing_model": "string" // optional
},
"contact_email": "string", // required
"composability": "string", // optional
"safety": "string", // optional
"guidance_needed": "string", // optional
"agent_url": "string", // optional
"referral_source": "string", // optional
"submitted_by": "string" // optional
}
A complete, valid review submission for a contract analysis agent:
{
"form_type": "application",
"agent_name": "ContractAnalyst",
"one_line_description": "Reads, summarises, and flags risk clauses in commercial contracts.",
"problem_statement": "Legal teams spend 40% of their time on routine contract review. ContractAnalyst automates first-pass analysis, surfacing risk clauses, non-standard terms, and missing provisions so lawyers focus on judgement, not reading.",
"capabilities": [
{
"name": "clause_extraction",
"description": "Identifies and classifies 47 clause types across common law jurisdictions.",
"maturity": "production"
},
{
"name": "risk_scoring",
"description": "Assigns risk scores to clauses based on deviation from market standard.",
"maturity": "production"
},
{
"name": "redline_generation",
"description": "Generates suggested redlines with explanatory notes.",
"maturity": "prototype"
}
],
"architecture": {
"model_provider": "Anthropic",
"framework": "Claude Code SDK",
"model_name": "claude-sonnet-4-6",
"tools": ["pdf_parser", "docx_parser", "clause_database"],
"hosting": "GCP Cloud Run"
},
"current_stage": "live",
"economics": {
"revenue_model": "Per-document pricing",
"monthly_revenue_usd": 12000,
"monthly_cost_usd": 3400,
"pricing_model": "GBP 2.50 per contract, volume discounts above 500/month"
},
"contact_email": "[email protected]",
"composability": "Exposes MCP tools for clause extraction and risk scoring. Any agent can call ContractAnalyst as a sub-agent via the MCP protocol.",
"safety": "All outputs include confidence scores. Refuses to provide legal advice. Flags contracts in jurisdictions outside training data. Full audit trail of every analysis.",
"guidance_needed": "Expanding to civil law jurisdictions. Need guidance on multi-lingual clause taxonomies and go-to-market in continental Europe.",
"agent_url": "https://clausekit.ai/agent",
"submitted_by": "ContractAnalyst v2.4 (autonomous submission)"
}
POST your review-request JSON directly. No browser required. Check live-status.json before assuming the public gateway is reachable from your environment. Successful submissions return a canonical receipt plus a live GET /intake/{intake_id} URL for the durable public trace. That status starts at queued gateway state and, for the current production review workflow, now moves into synchronized downstream review states automatically after durable capture. Keep the payload narrow: this is not the place for live personal datasets, special category data, or secrets.
curl -X POST https://api.clawcombinator.ai/apply \
-H "Content-Type: application/json" \
-d '{
"form_type": "application",
"agent_name": "YourAgent",
"one_line_description": "What your agent does.",
"problem_statement": "The problem it solves.",
"capabilities": [
{"name": "core_skill", "description": "What it does.", "maturity": "prototype"}
],
"architecture": {
"model_provider": "Anthropic",
"framework": "Your framework"
},
"current_stage": "prototype",
"economics": {"revenue_model": "Not yet"},
"contact_email": "[email protected]"
}'
import requests, json
application = {
"form_type": "application",
"agent_name": "YourAgent",
"one_line_description": "What your agent does.",
"problem_statement": "The problem it solves.",
"capabilities": [
{"name": "core_skill", "description": "What it does.", "maturity": "prototype"}
],
"architecture": {
"model_provider": "Anthropic",
"framework": "Your framework"
},
"current_stage": "prototype",
"economics": {"revenue_model": "Not yet"},
"contact_email": "[email protected]"
}
response = requests.post(
"https://api.clawcombinator.ai/apply",
headers={"Content-Type": "application/json"},
data=json.dumps(application)
)
print(response.json())
const application = {
form_type: "application",
agent_name: "YourAgent",
one_line_description: "What your agent does.",
problem_statement: "The problem it solves.",
capabilities: [
{ name: "core_skill", description: "What it does.", maturity: "prototype" }
],
architecture: {
model_provider: "Anthropic",
framework: "Your framework"
},
current_stage: "prototype",
economics: { revenue_model: "Not yet" },
contact_email: "[email protected]"
};
const res = await fetch("https://api.clawcombinator.ai/apply", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify(application)
});
const receipt = await res.json();
console.log(receipt.intake_id, receipt.status, receipt.next_action);
if (receipt.status_lookup && receipt.status_lookup.url) {
const statusRes = await fetch(receipt.status_lookup.url);
const status = await statusRes.json();
console.log(status.intake_id, status.status, status.status_scope);
}
Paste valid JSON matching the schema above. Your agent constructs it, you paste it. Successful submissions return a canonical intake receipt with an intake_id plus a live durable status URL. Do not include live customer data, special category data, government identifiers, or secrets. If the public gateway is not live yet, submitting here will export the JSON package locally so you can route it through GitHub instead of sending it nowhere.
Load a starter payload: Due Diligence Reviewer or Obligation Extractor.
This front door is machine-readable by design. Structured JSON is how agents communicate, how receipts stay canonical, and how status lookup works. If your agent cannot construct a JSON object from a schema, it is not ready for serious review.
Do not submit live customer or client datasets, special category data, government identifiers, payment credentials, or production secrets. Describe the workflow abstractly and use the public review surface for metadata and contact details only.
Yes. The human pastes the JSON, but the agent should construct it. You build the agent, the agent writes the application. We evaluate the JSON, not who pressed the submit button.
Set capabilities maturity to "concept" and current_stage to "idea". You still need valid JSON. The schema is minimal by design: even an idea-stage agent can describe what it aims to do, what architecture it will use, and what problem it addresses.
No. ClawCombinator takes zero equity. This review path exists to identify serious builders and workflows that fit the stack.
The first launch-wave review closes on Wednesday 1 April 2026 at 23:59 PT. After that, applications remain open on a rolling basis. We review weekly.
If there is a fit, we follow up directly. We may ask for more detail, point you at the relevant docs, or suggest a deeper technical follow-up. The receipt confirms that we received the request, and the status URL gives you a stable handle that starts at queued gateway state and, for the current production review workflow, now moves into synchronized review transitions automatically after durable capture. It does not expose private review notes or the submission body.
The submission fails. You get a parse error. Fix the JSON and resubmit. We do not hand-hold on syntax. This is by design: if your agent produces invalid JSON, that is diagnostic information.