GardenPatch Intelligence

Capabilities for agents & developers

Seven specialist coaches, 16 typed modes. Each coach answers from its own discipline — Reed diagnoses your pipeline, Oak diagnoses your delivery capacity, and they return different deliverables. One HTTP call, paid per request over x402: no signup, no API key.

Triage$0.18
Fast shortlist — find out what is actually wrong.
Artifact$0.25
One keepable artifact you can act on directly.
Operating doc$0.45
A document you run the function off, with owners and economics.

Building an agent? Start with the $5 USDC intro offer (~27 diagnose_growth calls) — then browse coaches below.

Before you pay

Sample responses

2 of the 16 modes are written out in full below: schema-faithful examples of what a paid call returns, not production receipts. Read the deliverable shape first; send USDC only when the shape is what you need. The other 14 publish the same contract as live JSON Schema at /api/v1/schemas/{mode}/response.json.

Willow scope_role

$0.45 / call · example

Hire-vs-agent decision with a scorecard — the specialty only Willow sells.

Example prompt

We want to hire a marketing manager. Should we, or is this an agent plus a contractor?

Example deliverable (plus reply / thinking / actions in the full response)

{
  "role_title": "Demand Marketing Lead (contractor + agent)",
  "outcome_owned": "Qualified pipeline dollars per month from outbound + content — not brand awareness.",
  "verdict": "hybrid",
  "verdict_rationale": "At this stage a full-time MM optimizes for presence. A hybrid keeps a human on judgment and an agent on draft volume until pipeline ownership is proven.",
  "agent_alternative": "An agent can draft posts, sequences, and research weekly; a human still picks ICP, approves messaging, and owns the number.",
  "scorecard": [
    {
      "competency": "Owns a pipeline number",
      "why_it_matters": "Without a single metric the role becomes a task dump.",
      "how_to_test": "Ask them to walk a 90-day plan that hits a specific MQL or pipeline $ target from your current baseline.",
      "must_have": true
    },
    {
      "competency": "Edits machine drafts into voice",
      "why_it_matters": "Volume without voice burns the brand and wastes the agent spend.",
      "how_to_test": "Give three rough machine drafts; score whether they ship something you'd send to a client.",
      "must_have": true
    },
    {
      "competency": "B2B consulting ICP fluency",
      "why_it_matters": "Generic SaaS growth tactics misfire on high-touch advisory buyers.",
      "how_to_test": "Have them rewrite one case study for an operations director at a 50–200 person firm.",
      "must_have": true
    },
    {
      "competency": "Paid media buying",
      "why_it_matters": "Nice later; not the binding constraint before organic demand is owned.",
      "how_to_test": "Skip for v1 — do not screen on this.",
      "must_have": false
    }
  ],
  "first_90_days": [
    {
      "window": "day_30",
      "outcome": "Baseline MQL definition + weekly draft cadence live with agent assist."
    },
    {
      "window": "day_60",
      "outcome": "One outbound sequence and one content lane producing measurable replies."
    },
    {
      "window": "day_90",
      "outcome": "Founder can name whether the hybrid cleared the pipeline bottleneck or a FTE is now justified."
    }
  ],
  "comp_band_usd": {
    "low": 78000,
    "high": 110000,
    "basis": "Annualized equivalent of a 2d/wk senior contractor (~$150–$180/hr) — not a full-time MM band."
  },
  "failure_mode": "Contractor becomes a ticket-taker and the agent drafts unread content — early signal is week 3 with no owned pipeline number on a shared dashboard."
}

Willow on Cap Hub/api/v1/schemas/scope_role/response.jsonLabeled example — not a signed receipt

Oak plan_capacity

$0.45 / call · example

Where delivery breaks first when you sell more — Oak's capacity specialty.

Example prompt

We do ~60 commercial installs a month and sales wants 140. What breaks first, and what do we hire or change before we sell that?

Example deliverable (plus reply / thinking / actions in the full response)

{
  "current_capacity": {
    "unit": "commercial installs",
    "per_month": 60,
    "basis": "Caller-stated monthly volume"
  },
  "demand_scenario": {
    "target_per_month": 140,
    "implied_multiple": "2.3x current"
  },
  "breakpoints": [
    {
      "stage": "Install QA / punch",
      "breaks_at": "above ~90 installs/mo",
      "symptom": "Lead tech backlog; jobs marked complete in sales CRM while punch lists sit open 3–5 days.",
      "fix": "Dedicated QA owner + written checklist with photo evidence on failure-prone steps.",
      "lead_time": "weeks"
    },
    {
      "stage": "Scheduling / crew dispatch",
      "breaks_at": "above ~100 installs/mo",
      "symptom": "Same-week reschedules spike; sales promises dates ops cannot hold.",
      "fix": "Capacity-aware scheduling with a hard WIP limit and sales lock after confirm.",
      "lead_time": "weeks"
    },
    {
      "stage": "Materials staging",
      "breaks_at": "above ~120 installs/mo",
      "symptom": "Crews roll with incomplete kits; callbacks rise.",
      "fix": "Kit standard + staging SLA the day before install.",
      "lead_time": "days"
    }
  ],
  "binding_resource": "Lead technician attention on QA — one person's judgment gates every job's done state.",
  "capacity_moves": [
    {
      "move": "Publish install QA SOP and require it on every job",
      "type": "process",
      "adds_capacity_pct": 15,
      "monthly_cost_usd": 0
    },
    {
      "move": "Hire or promote one QA tech so lead tech is not the gate",
      "type": "hire",
      "adds_capacity_pct": 35,
      "monthly_cost_usd": 7500
    },
    {
      "move": "Cap sales bookable slots at measured safe ceiling until QA cycle time clears",
      "type": "price",
      "adds_capacity_pct": null,
      "monthly_cost_usd": 0
    }
  ],
  "safe_growth_ceiling": "Sell up to ~75–80 installs/mo with current QA model; do not unlock 140 until QA is staffed and checklist-run for two weeks at ≥90/mo."
}

Oak on Cap Hub/api/v1/schemas/plan_capacity/response.jsonLabeled example — not a signed receipt

Need the contract for another mode? diagnose_growth · design_offer · rewrite_pricing · funnel_review · write_outbound_sequence · audit_function · handle_objections · position_against_alternatives · all schema URLs in call docs.

Mary

Growth strategy

Head growth coach. Finds the binding constraint on revenue and tells you the one lever to pull.

mary

6 callable modes

  • diagnose_growth

    Triage$0.18 / call

    Cross-functional triage: which of the five disciplines is binding, before you spend money in the wrong one.

    Input
    JSON body: { mode, messages[{role,content}], context? }. All context fields optional; recommended fields listed per mode.Recommended: company.what_they_sell, metrics.monthly_revenue_usd, metrics.leads_per_month, metrics.close_rate_pct
    Output
    Typed deliverable: binding_constraint, ranked levers, do_not_do — plus reply, thinking, numbers, actions, caveats.

    Example jobs: Find the binding growth constraint · Name the one lever for this week · 30-day growth experiment plan

    POST https://gardenpatch.xyz/api/v1/agents/mary/call · mode="diagnose_growth"response.json

  • design_offer

    Artifact$0.25 / call

    Build the offer around the constraint you're actually solving, so it moves the binding number.

    Input
    JSON body: { mode, messages[{role,content}], context? }. All context fields optional; recommended fields listed per mode.Recommended: company.what_they_sell, audience.icp, audience.pain, offer.price_usd
    Output
    Typed deliverable: offer_name, promise, price_point_usd, guarantee, inclusions, bonuses, why_it_converts.

    Example jobs: Draft offer one-pager structure

    POST https://gardenpatch.xyz/api/v1/agents/mary/call · mode="design_offer"response.json

  • rewrite_pricing

    Artifact$0.25 / call

    Reprice from the whole-business view — what the model can support, not just what buyers will pay.

    Input
    JSON body: { mode, messages[{role,content}], context? }. All context fields optional; recommended fields listed per mode.Recommended: offer.price_usd, offer.promise, metrics.average_order_value_usd, audience.icp
    Output
    Typed deliverable: current_read, recommended_tiers[], migration_note, expected_effect.

    Example jobs: Reprice against unit economics and capacity

    POST https://gardenpatch.xyz/api/v1/agents/mary/call · mode="rewrite_pricing"response.json

  • funnel_review

    Artifact$0.25 / call

    Funnel read through the constraint lens — fix the stage that unblocks revenue, not the worst-looking one.

    Input
    JSON body: { mode, messages[{role,content}], context? }. All context fields optional; recommended fields listed per mode.Recommended: metrics.traffic_per_month, metrics.leads_per_month, metrics.close_rate_pct, company.website
    Output
    Typed deliverable: stages[] (leak + fix), biggest_leak, quick_win.

    POST https://gardenpatch.xyz/api/v1/agents/mary/call · mode="funnel_review"response.json

  • write_outbound_sequence

    Artifact$0.25 / call

    Outbound aimed at the constraint — the segment worth opening, not the biggest list.

    Input
    JSON body: { mode, messages[{role,content}], context? }. All context fields optional; recommended fields listed per mode.Recommended: audience.icp, audience.pain, offer.promise, company.what_they_sell
    Output
    Typed deliverable: ready-to-send emails[] with subjects/bodies, merge_fields, follow_up_rule.

    POST https://gardenpatch.xyz/api/v1/agents/mary/call · mode="write_outbound_sequence"response.json

  • audit_function

    Artifact$0.25 / call

    Score growth overall: demand, conversion, pricing, retention — the founder-level scorecard.

    Input
    JSON body: { mode, messages[{role,content}], context? }. All context fields optional; recommended fields listed per mode.Recommended: company.what_they_sell, company.stage, metrics.monthly_revenue_usd
    Output
    Typed deliverable: overall_score 0–100, findings[] with evidence + fix, top_priority, quick_wins.

    Example jobs: Growth system scorecard — demand to retention

    POST https://gardenpatch.xyz/api/v1/agents/mary/call · mode="audit_function"response.json

Prefer voice? Talk to Mary live.

Reed

Sales

Sales coach. Offers, pricing, and outbound that actually closes.

reed

6 callable modes

  • diagnose_growth

    Triage$0.18 / call

    Pipeline diagnosis: where deals actually die — stage, objection, and the stall you're not naming.

    Input
    JSON body: { mode, messages[{role,content}], context? }. All context fields optional; recommended fields listed per mode.Recommended: company.what_they_sell, metrics.monthly_revenue_usd, metrics.leads_per_month, metrics.close_rate_pct
    Output
    Typed deliverable: binding_constraint, ranked levers, do_not_do — plus reply, thinking, numbers, actions, caveats.

    Example jobs: Find the stage where deals actually die · Sales pipeline coverage plan

    POST https://gardenpatch.xyz/api/v1/agents/reed/call · mode="diagnose_growth"response.json

  • design_offer

    Artifact$0.25 / call

    Offer built to survive a live sales call — objection-proofed, with the next step baked in.

    Input
    JSON body: { mode, messages[{role,content}], context? }. All context fields optional; recommended fields listed per mode.Recommended: company.what_they_sell, audience.icp, audience.pain, offer.price_usd
    Output
    Typed deliverable: offer_name, promise, price_point_usd, guarantee, inclusions, bonuses, why_it_converts.

    Example jobs: Objection-proof the offer for a live call

    POST https://gardenpatch.xyz/api/v1/agents/reed/call · mode="design_offer"response.json

  • rewrite_pricing

    Artifact$0.25 / call

    Repackage so a rep can defend the price out loud — anchors, discount floor, and negotiation rules.

    Input
    JSON body: { mode, messages[{role,content}], context? }. All context fields optional; recommended fields listed per mode.Recommended: offer.price_usd, offer.promise, metrics.average_order_value_usd, audience.icp
    Output
    Typed deliverable: current_read, recommended_tiers[], migration_note, expected_effect.

    Example jobs: Repackage pricing a rep can defend out loud

    POST https://gardenpatch.xyz/api/v1/agents/reed/call · mode="rewrite_pricing"response.json

  • handle_objectionsOnly Reed

    Operating doc$0.45 / call

    Turn the objections killing deals into verbatim responses, with what each one really means.

    Input
    JSON body: { mode, messages[{role,content}], context? }. All context fields optional; recommended fields listed per mode.Recommended: offer.price_usd, offer.promise, audience.icp, metrics.close_rate_pct
    Output
    Typed deliverable: objections[] with what_they_really_mean + verbatim response_script + evidence_to_bring, most_expensive_objection, pre_empt, disqualifiers[].

    Example jobs: Verbatim objection responses for live calls

    POST https://gardenpatch.xyz/api/v1/agents/reed/call · mode="handle_objections"response.json

  • write_outbound_sequence

    Artifact$0.25 / call

    Outbound engineered for replies and booked calls, with the objection handling written in.

    Input
    JSON body: { mode, messages[{role,content}], context? }. All context fields optional; recommended fields listed per mode.Recommended: audience.icp, audience.pain, offer.promise, company.what_they_sell
    Output
    Typed deliverable: ready-to-send emails[] with subjects/bodies, merge_fields, follow_up_rule.

    Example jobs: Ready-to-send outbound sequence

    POST https://gardenpatch.xyz/api/v1/agents/reed/call · mode="write_outbound_sequence"response.json

  • audit_function

    Artifact$0.25 / call

    Score the sales function: pipeline hygiene, qualification, follow-up discipline, close rates.

    Input
    JSON body: { mode, messages[{role,content}], context? }. All context fields optional; recommended fields listed per mode.Recommended: company.what_they_sell, company.stage, metrics.monthly_revenue_usd
    Output
    Typed deliverable: overall_score 0–100, findings[] with evidence + fix, top_priority, quick_wins.

    Example jobs: Sales audit — pipeline hygiene and follow-up discipline

    POST https://gardenpatch.xyz/api/v1/agents/reed/call · mode="audit_function"response.json

Prefer voice? Talk to Reed live.

Iris

Marketing

Marketing coach. Demand generation, funnel conversion, and positioning.

iris

6 callable modes

  • diagnose_growth

    Triage$0.18 / call

    Demand diagnosis: whether the problem is attention, message, or channel economics — with the CAC math.

    Input
    JSON body: { mode, messages[{role,content}], context? }. All context fields optional; recommended fields listed per mode.Recommended: company.what_they_sell, metrics.monthly_revenue_usd, metrics.leads_per_month, metrics.close_rate_pct
    Output
    Typed deliverable: binding_constraint, ranked levers, do_not_do — plus reply, thinking, numbers, actions, caveats.

    Example jobs: Diagnose demand — attention, message, or channel economics

    POST https://gardenpatch.xyz/api/v1/agents/iris/call · mode="diagnose_growth"response.json

  • funnel_review

    Artifact$0.25 / call

    Instrument-first funnel teardown: the unmeasured step, stage-by-stage, with what to track before you fix.

    Input
    JSON body: { mode, messages[{role,content}], context? }. All context fields optional; recommended fields listed per mode.Recommended: metrics.traffic_per_month, metrics.leads_per_month, metrics.close_rate_pct, company.website
    Output
    Typed deliverable: stages[] (leak + fix), biggest_leak, quick_win.

    Example jobs: Pick channel mix given the constraint · Walk the funnel; find the biggest leak · Marketing campaign outline from constraint

    POST https://gardenpatch.xyz/api/v1/agents/iris/call · mode="funnel_review"response.json

  • design_offer

    Artifact$0.25 / call

    Positioning and message: the promise, the USP line, and who you're deliberately not for.

    Input
    JSON body: { mode, messages[{role,content}], context? }. All context fields optional; recommended fields listed per mode.Recommended: company.what_they_sell, audience.icp, audience.pain, offer.price_usd
    Output
    Typed deliverable: offer_name, promise, price_point_usd, guarantee, inclusions, bonuses, why_it_converts.

    Example jobs: Draft USP + positioning line

    POST https://gardenpatch.xyz/api/v1/agents/iris/call · mode="design_offer"response.json

  • position_against_alternativesOnly Iris

    Operating doc$0.45 / call

    Find the competitive wedge against every real alternative — including what to stop competing on.

    Input
    JSON body: { mode, messages[{role,content}], context? }. All context fields optional; recommended fields listed per mode.Recommended: company.what_they_sell, audience.icp, offer.price_usd, company.industry
    Output
    Typed deliverable: alternatives[] with our_wedge + do_not_compete_on, positioning_statement, not_for[], proof_assets_needed[], message_test.

    Example jobs: Pick the axis to stop competing on · Positioning statement + competitive wedge

    POST https://gardenpatch.xyz/api/v1/agents/iris/call · mode="position_against_alternatives"response.json

  • write_outbound_sequence

    Artifact$0.25 / call

    Sequence as a channel test: one message hypothesis, measurable, ready to scale or kill.

    Input
    JSON body: { mode, messages[{role,content}], context? }. All context fields optional; recommended fields listed per mode.Recommended: audience.icp, audience.pain, offer.promise, company.what_they_sell
    Output
    Typed deliverable: ready-to-send emails[] with subjects/bodies, merge_fields, follow_up_rule.

    POST https://gardenpatch.xyz/api/v1/agents/iris/call · mode="write_outbound_sequence"response.json

  • audit_function

    Artifact$0.25 / call

    Score marketing: measurement, message-market fit, channel mix, and CAC-to-value discipline.

    Input
    JSON body: { mode, messages[{role,content}], context? }. All context fields optional; recommended fields listed per mode.Recommended: company.what_they_sell, company.stage, metrics.monthly_revenue_usd
    Output
    Typed deliverable: overall_score 0–100, findings[] with evidence + fix, top_priority, quick_wins.

    Example jobs: Marketing audit — measurement scored first

    POST https://gardenpatch.xyz/api/v1/agents/iris/call · mode="audit_function"response.json

Prefer voice? Talk to Iris live.

Oak

Operations

Operations coach. Delivery capacity, process debt, and the systems that run without you.

oak

4 callable modes

  • diagnose_growth

    Triage$0.18 / call

    Delivery-side diagnosis: whether they're throttling sales because they can't deliver what they'd win.

    Input
    JSON body: { mode, messages[{role,content}], context? }. All context fields optional; recommended fields listed per mode.Recommended: company.what_they_sell, metrics.monthly_revenue_usd, metrics.leads_per_month, metrics.close_rate_pct
    Output
    Typed deliverable: binding_constraint, ranked levers, do_not_do — plus reply, thinking, numbers, actions, caveats.

    Example jobs: Check whether delivery is throttling sales

    POST https://gardenpatch.xyz/api/v1/agents/oak/call · mode="diagnose_growth"response.json

  • plan_capacityOnly Oak

    Operating doc$0.45 / call

    Model whether delivery can absorb the growth they want, and name what breaks first when it can't.

    Input
    JSON body: { mode, messages[{role,content}], context? }. All context fields optional; recommended fields listed per mode.Recommended: company.what_they_sell, metrics.monthly_revenue_usd, metrics.average_order_value_usd, company.stage
    Output
    Typed deliverable: current_capacity, breakpoints[] (breaks_at + fix + lead_time), binding_resource, capacity_moves[], safe_growth_ceiling.

    Example jobs: Can delivery absorb 2x — and what breaks first

    POST https://gardenpatch.xyz/api/v1/agents/oak/call · mode="plan_capacity"Sample response

  • draft_sopOnly Oak

    Operating doc$0.45 / call

    Turn a process that lives in someone's head into an SOP another person could run tomorrow.

    Input
    JSON body: { mode, messages[{role,content}], context? }. All context fields optional; recommended fields listed per mode.Recommended: company.what_they_sell, company.stage, company.industry
    Output
    Typed deliverable: steps[] with owner + tool + done_when, exceptions[], escalation, kpis[], review_cadence.

    Example jobs: Turn a process in someone's head into a runnable SOP

    POST https://gardenpatch.xyz/api/v1/agents/oak/call · mode="draft_sop"response.json

  • audit_function

    Artifact$0.25 / call

    Score operations: throughput, process documentation, single points of failure, quality at 2x volume.

    Input
    JSON body: { mode, messages[{role,content}], context? }. All context fields optional; recommended fields listed per mode.Recommended: company.what_they_sell, company.stage, metrics.monthly_revenue_usd
    Output
    Typed deliverable: overall_score 0–100, findings[] with evidence + fix, top_priority, quick_wins.

    Example jobs: Operations audit — single points of failure at 2x volume

    POST https://gardenpatch.xyz/api/v1/agents/oak/call · mode="audit_function"response.json

Prefer voice? Talk to Oak live.

Violet

Service & retention

Service coach. Churn, retention, and turning support into the reason customers stay.

violet

4 callable modes

  • diagnose_growth

    Triage$0.18 / call

    Retention diagnosis: what leaking customers cost them, and why new revenue can't outrun it.

    Input
    JSON body: { mode, messages[{role,content}], context? }. All context fields optional; recommended fields listed per mode.Recommended: company.what_they_sell, metrics.monthly_revenue_usd, metrics.leads_per_month, metrics.close_rate_pct
    Output
    Typed deliverable: binding_constraint, ranked levers, do_not_do — plus reply, thinking, numbers, actions, caveats.

    Example jobs: Price the churn leak against new revenue

    POST https://gardenpatch.xyz/api/v1/agents/violet/call · mode="diagnose_growth"response.json

  • rescue_churnOnly Violet

    Operating doc$0.45 / call

    Separate preventable churn from customers you should let go, with save plays and the economics of each.

    Input
    JSON body: { mode, messages[{role,content}], context? }. All context fields optional; recommended fields listed per mode.Recommended: metrics.monthly_churn_pct, metrics.average_order_value_usd, audience.icp, company.what_they_sell
    Output
    Typed deliverable: at_risk_segments[] with detection_signal + save_play + expected_save_rate_pct, save_economics, do_not_save[].

    Example jobs: Name the customers to let go · Churn rescue plays with save economics per segment

    POST https://gardenpatch.xyz/api/v1/agents/violet/call · mode="rescue_churn"response.json

  • plan_onboardingOnly Violet

    Artifact$0.25 / call

    Design the first two weeks after purchase — the window where retention is actually decided.

    Input
    JSON body: { mode, messages[{role,content}], context? }. All context fields optional; recommended fields listed per mode.Recommended: company.what_they_sell, offer.promise, audience.icp, metrics.monthly_churn_pct
    Output
    Typed deliverable: activation_moment, milestones[] by day with success_signal, risk_signals[], handoff, measure.

    Example jobs: First-two-weeks onboarding to the activation moment

    POST https://gardenpatch.xyz/api/v1/agents/violet/call · mode="plan_onboarding"response.json

  • audit_function

    Artifact$0.25 / call

    Score service & retention: onboarding, response times, save rates, and whether support creates referrals.

    Input
    JSON body: { mode, messages[{role,content}], context? }. All context fields optional; recommended fields listed per mode.Recommended: company.what_they_sell, company.stage, metrics.monthly_revenue_usd
    Output
    Typed deliverable: overall_score 0–100, findings[] with evidence + fix, top_priority, quick_wins.

    Example jobs: Service audit — onboarding, save rates, referrals

    POST https://gardenpatch.xyz/api/v1/agents/violet/call · mode="audit_function"response.json

Prefer voice? Talk to Violet live.

Fern

Technology

Technology coach. Agent-era stack decisions, automation, and build-vs-buy without the theatre.

fern

4 callable modes

  • diagnose_growth

    Triage$0.18 / call

    Leverage diagnosis: the manual work and broken handoffs capping output before headcount does.

    Input
    JSON body: { mode, messages[{role,content}], context? }. All context fields optional; recommended fields listed per mode.Recommended: company.what_they_sell, metrics.monthly_revenue_usd, metrics.leads_per_month, metrics.close_rate_pct
    Output
    Typed deliverable: binding_constraint, ranked levers, do_not_do — plus reply, thinking, numbers, actions, caveats.

    Example jobs: Find manual work and broken handoffs capping output

    POST https://gardenpatch.xyz/api/v1/agents/fern/call · mode="diagnose_growth"response.json

  • decide_stackOnly Fern

    Operating doc$0.45 / call

    Make the build-vs-buy-vs-delete call as a decision record, including what should reopen it.

    Input
    JSON body: { mode, messages[{role,content}], context? }. All context fields optional; recommended fields listed per mode.Recommended: company.what_they_sell, company.stage, metrics.monthly_revenue_usd
    Output
    Typed deliverable: recommendation (build|buy|integrate|delete), options[] with agent_readiness + lock_in_risk, migration_path[], revisit_trigger.

    Example jobs: Decide build vs buy vs delete, with a revisit trigger

    POST https://gardenpatch.xyz/api/v1/agents/fern/call · mode="decide_stack"response.json

  • map_automationOnly Fern

    Artifact$0.25 / call

    Rank what to automate by leverage per unit of complexity, and say what to leave human.

    Input
    JSON body: { mode, messages[{role,content}], context? }. All context fields optional; recommended fields listed per mode.Recommended: company.what_they_sell, company.stage, company.industry
    Output
    Typed deliverable: candidates[] ranked by leverage_score with agent_ready + blocker, start_here, do_not_automate[], estimated_hours_saved_monthly.

    Example jobs: Rank what to automate first by leverage

    POST https://gardenpatch.xyz/api/v1/agents/fern/call · mode="map_automation"response.json

  • audit_function

    Artifact$0.25 / call

    Score the stack: integration, automation coverage, data hygiene, and agent-readiness of the tooling.

    Input
    JSON body: { mode, messages[{role,content}], context? }. All context fields optional; recommended fields listed per mode.Recommended: company.what_they_sell, company.stage, metrics.monthly_revenue_usd
    Output
    Typed deliverable: overall_score 0–100, findings[] with evidence + fix, top_priority, quick_wins.

    Example jobs: Stack audit — integration and agent-readiness

    POST https://gardenpatch.xyz/api/v1/agents/fern/call · mode="audit_function"response.json

Prefer voice? Talk to Fern live.

Willow

People & culture

People coach. Hiring, org design, and leading teams where half the team is agents.

willow

4 callable modes

  • diagnose_growth

    Triage$0.18 / call

    Capacity-and-ownership diagnosis: which unowned outcome is the constraint, and hire vs agent vs redistribute.

    Input
    JSON body: { mode, messages[{role,content}], context? }. All context fields optional; recommended fields listed per mode.Recommended: company.what_they_sell, metrics.monthly_revenue_usd, metrics.leads_per_month, metrics.close_rate_pct
    Output
    Typed deliverable: binding_constraint, ranked levers, do_not_do — plus reply, thinking, numbers, actions, caveats.

    Example jobs: Find the outcome nobody owns

    POST https://gardenpatch.xyz/api/v1/agents/willow/call · mode="diagnose_growth"response.json

  • scope_roleOnly Willow

    Operating doc$0.45 / call

    Define the role by the outcome it owns, then rule on hire vs agent vs don't fill — with a scorecard.

    Input
    JSON body: { mode, messages[{role,content}], context? }. All context fields optional; recommended fields listed per mode.Recommended: company.what_they_sell, company.stage, metrics.monthly_revenue_usd, metrics.leads_per_month
    Output
    Typed deliverable: outcome_owned, verdict (hire_human|deploy_agent|hybrid|…), scorecard[] with how_to_test, first_90_days, comp_band_usd, failure_mode.

    Example jobs: Rule on hire vs agent vs don't fill · Role scorecard with tests that discriminate

    POST https://gardenpatch.xyz/api/v1/agents/willow/call · mode="scope_role"Sample response

  • map_accountabilityOnly Willow

    Artifact$0.25 / call

    Map every outcome to a single owner, and expose the gaps and overlaps where work stalls.

    Input
    JSON body: { mode, messages[{role,content}], context? }. All context fields optional; recommended fields listed per mode.Recommended: company.what_they_sell, company.stage, metrics.monthly_revenue_usd
    Output
    Typed deliverable: outcomes[] with single_owner + decision_rights, gaps[], overlaps[], first_fix, ritual.

    Example jobs: Map outcomes to single owners; expose gaps and overlaps

    POST https://gardenpatch.xyz/api/v1/agents/willow/call · mode="map_accountability"response.json

  • audit_function

    Artifact$0.25 / call

    Score the org: role clarity, accountability, onboarding, and whether agents are actually in the org design.

    Input
    JSON body: { mode, messages[{role,content}], context? }. All context fields optional; recommended fields listed per mode.Recommended: company.what_they_sell, company.stage, metrics.monthly_revenue_usd
    Output
    Typed deliverable: overall_score 0–100, findings[] with evidence + fix, top_priority, quick_wins.

    Example jobs: Org audit — role clarity and accountability

    POST https://gardenpatch.xyz/api/v1/agents/willow/call · mode="audit_function"response.json

Prefer voice? Talk to Willow live.

Developer call docs

One endpoint. Pay per call.

POST /api/v1/agents/{id}/call returns 402 with x402 payment requirements when unpaid. Pay USDC on Base, retry the identical request, get the typed deliverable. Outside-buyer intro: Credits for agents ($5). Full contract: /docs/agents.

curl — probe the 402

curl -sS -X POST https://gardenpatch.xyz/api/v1/agents/mary/call \
  -H 'Content-Type: application/json' \
  -d '{
    "mode": "diagnose_growth",
    "messages": [{ "role": "user", "content": "We win the pitch and lose the renewal. What is actually breaking?" }],
    "context": {
      "company": { "what_they_sell": "Retained marketing agency", "stage": "scaling" },
      "metrics": { "monthly_revenue_usd": 85000, "leads_per_month": 40, "close_rate_pct": 31 }
    }
  }'

TypeScript — pay and retry

// npm i @x402/fetch @x402/evm viem
import { wrapFetchWithPaymentFromConfig } from "@x402/fetch";
import { ExactEvmScheme } from "@x402/evm";
import { privateKeyToAccount } from "viem/accounts";
import { randomUUID } from "node:crypto";

const account = privateKeyToAccount(process.env.PRIVATE_KEY as `0x${string}`);

// Handles the 402 → pay → retry handshake for you. In x402 v2 the wrapper takes
// a scheme client, not a viem wallet client — passing a wallet throws
// "this.client.getExtensions is not a function" before any request goes out.
const fetchWithPay = wrapFetchWithPaymentFromConfig(fetch, {
  schemes: [{ network: "eip155:8453", client: new ExactEvmScheme(account) }],
});

// Reuse this key on every retry of THIS job. A new job gets a new key.
const idempotencyKey = randomUUID();

const res = await fetchWithPay("https://gardenpatch.xyz/api/v1/agents/mary/call", {
  method: "POST",
  headers: { "Content-Type": "application/json", "Idempotency-Key": idempotencyKey },
  body: JSON.stringify({
    mode: "diagnose_growth",
    messages: [{ role: "user", content: "Revenue has been flat at $40k/mo for two quarters. Where are we stuck?" }],
    context: {"company":{"what_they_sell":"B2B SaaS for field-service teams","stage":"scaling"},"metrics":{"monthly_revenue_usd":40000,"leads_per_month":120,"close_rate_pct":18}},
  }),
});

const { reply, thinking, numbers, actions, deliverable, receipt } = await res.json();

console.log(res.headers.get("Idempotent-Replay") === "true" ? "(replay)" : "(fresh)");

// receipt.expires_at non-null → receipt.url replays the call, free, until then.
// Null → nothing was stored, so keep the body yourself.
console.log(receipt.id, receipt.expires_at ?? "not stored");

x402 v2 takes a scheme client, not a viem wallet client. wrapFetchWithPayment(fetch, walletClient) still exists as an export and still type-checks, then throws this.client.getExtensions is not a function before anything reaches the network.

Per-mode JSON Schema: GET /api/v1/schemas/{mode}/request.json and …/response.json. Swap mary / diagnose_growth for any agent+mode above — the body shape is the same.