{
  "schema": "agent-harness/manifest.v1",
  "domain": "commercial",
  "skill_count": 8,
  "loop_defaults": {
    "max_attempts_per_task": 3,
    "max_loop_iterations": 12,
    "escalate_on": [
      "attempts_exhausted",
      "no_verification_available",
      "destructive_or_irreversible_action",
      "goal_drift_detected"
    ]
  },
  "skills": [
    {
      "name": "channel-economics",
      "path": "commercial/skills/channel-economics",
      "description": "Use when reviewing or rebalancing direct vs. partner-led channel economics \u2014 computing fully-loaded cost-to-serve per channel, channel ROI with cash / LTV / marginal lenses, and optimal channel mix subject to constraints. For Head of Commercial, RevOps, and VP Sales doing quarterly channel review when pipeline is mixed (e.g., 60% direct + 40% partner-led) and nobody actually knows which channel makes money after CAC, support load, partner discount, deal-velocity differences, retention differential, and overhead allocation are all loaded in. Outputs cost to serve, channel ROI verdicts \u2026",
      "tools": [
        {
          "script": "commercial/skills/channel-economics/scripts/channel_mix_optimizer.py",
          "wired": true,
          "supports_sample": true,
          "verification": [
            {
              "cmd": "python3 commercial/skills/channel-economics/scripts/channel_mix_optimizer.py --help",
              "expect_exit": 0,
              "kind": "smoke"
            },
            {
              "cmd": "python3 commercial/skills/channel-economics/scripts/channel_mix_optimizer.py --sample",
              "expect_exit": 0,
              "kind": "sample"
            }
          ]
        },
        {
          "script": "commercial/skills/channel-economics/scripts/channel_roi_analyzer.py",
          "wired": true,
          "supports_sample": true,
          "verification": [
            {
              "cmd": "python3 commercial/skills/channel-economics/scripts/channel_roi_analyzer.py --help",
              "expect_exit": 0,
              "kind": "smoke"
            },
            {
              "cmd": "python3 commercial/skills/channel-economics/scripts/channel_roi_analyzer.py --sample",
              "expect_exit": 0,
              "kind": "sample"
            }
          ]
        },
        {
          "script": "commercial/skills/channel-economics/scripts/cost_to_serve_calculator.py",
          "wired": true,
          "supports_sample": true,
          "verification": [
            {
              "cmd": "python3 commercial/skills/channel-economics/scripts/cost_to_serve_calculator.py --help",
              "expect_exit": 0,
              "kind": "smoke"
            },
            {
              "cmd": "python3 commercial/skills/channel-economics/scripts/cost_to_serve_calculator.py --sample",
              "expect_exit": 0,
              "kind": "sample"
            }
          ]
        }
      ],
      "agentic_signals": {
        "goal_intake": true,
        "refusal_gate": false,
        "verification": true,
        "loop_discipline": false,
        "close_out": false
      },
      "references": [
        "channel_anti_patterns.md",
        "channel_economics_canon.md",
        "cost_to_serve_canon.md"
      ]
    },
    {
      "name": "commercial-forecaster",
      "path": "commercial/skills/commercial-forecaster",
      "description": "Use when building a quarterly bookings forecast, ARR projection, pipeline forecast, NRR projection, or commit/best-case/pipe-only board number \u2014 especially when the CRO needs to walk the board through funnel math + cohort ARR + per-stage conversion assumptions without the theatre of a single undefended number. Decomposes pipeline into commit, best-case, and pipe-only tiers; projects cohort-level NRR/GRR to surface leaky cohorts before they show up in the consolidated number; scores per-stage funnel confidence so soft-floor stages get treated differently from high-confidence ones. Every \u2026",
      "tools": [
        {
          "script": "commercial/skills/commercial-forecaster/scripts/bookings_forecaster.py",
          "wired": true,
          "supports_sample": true,
          "verification": [
            {
              "cmd": "python3 commercial/skills/commercial-forecaster/scripts/bookings_forecaster.py --help",
              "expect_exit": 0,
              "kind": "smoke"
            },
            {
              "cmd": "python3 commercial/skills/commercial-forecaster/scripts/bookings_forecaster.py --sample",
              "expect_exit": 0,
              "kind": "sample"
            }
          ]
        },
        {
          "script": "commercial/skills/commercial-forecaster/scripts/cohort_arr_projector.py",
          "wired": true,
          "supports_sample": true,
          "verification": [
            {
              "cmd": "python3 commercial/skills/commercial-forecaster/scripts/cohort_arr_projector.py --help",
              "expect_exit": 0,
              "kind": "smoke"
            },
            {
              "cmd": "python3 commercial/skills/commercial-forecaster/scripts/cohort_arr_projector.py --sample",
              "expect_exit": 0,
              "kind": "sample"
            }
          ]
        },
        {
          "script": "commercial/skills/commercial-forecaster/scripts/funnel_confidence_scorer.py",
          "wired": true,
          "supports_sample": true,
          "verification": [
            {
              "cmd": "python3 commercial/skills/commercial-forecaster/scripts/funnel_confidence_scorer.py --help",
              "expect_exit": 0,
              "kind": "smoke"
            },
            {
              "cmd": "python3 commercial/skills/commercial-forecaster/scripts/funnel_confidence_scorer.py --sample",
              "expect_exit": 0,
              "kind": "sample"
            }
          ]
        }
      ],
      "agentic_signals": {
        "goal_intake": true,
        "refusal_gate": true,
        "verification": true,
        "loop_discipline": true,
        "close_out": false
      },
      "references": [
        "cohort_analysis_canon.md",
        "forecast_anti_patterns.md",
        "saas_forecasting_canon.md"
      ]
    },
    {
      "name": "commercial-policy",
      "path": "commercial/skills/commercial-policy",
      "description": "Use when designing or revising a company's commercial policy \u2014 the rules of engagement governing discounts off list price, approver thresholds, exception flows, and the deal framework that Deal Desk and AEs operate under. Covers discount matrix design (ARR band x term length x payment terms x strategic value), commercial policy design, exception policy, discount governance, approval thresholds, deal framework structure, and policy linting (contradictions, gaps, cliff edges, gaming surfaces). For Head of Commercial, Head of Deal Desk, VP Sales, or RevOps at the policy-design moment \u2014 NOT \u2026",
      "tools": [
        {
          "script": "commercial/skills/commercial-policy/scripts/discount_matrix_builder.py",
          "wired": true,
          "supports_sample": true,
          "verification": [
            {
              "cmd": "python3 commercial/skills/commercial-policy/scripts/discount_matrix_builder.py --help",
              "expect_exit": 0,
              "kind": "smoke"
            },
            {
              "cmd": "python3 commercial/skills/commercial-policy/scripts/discount_matrix_builder.py --sample",
              "expect_exit": 0,
              "kind": "sample"
            }
          ]
        },
        {
          "script": "commercial/skills/commercial-policy/scripts/exception_router.py",
          "wired": true,
          "supports_sample": true,
          "verification": [
            {
              "cmd": "python3 commercial/skills/commercial-policy/scripts/exception_router.py --help",
              "expect_exit": 0,
              "kind": "smoke"
            },
            {
              "cmd": "python3 commercial/skills/commercial-policy/scripts/exception_router.py --sample",
              "expect_exit": 0,
              "kind": "sample"
            }
          ]
        },
        {
          "script": "commercial/skills/commercial-policy/scripts/policy_linter.py",
          "wired": true,
          "supports_sample": true,
          "verification": [
            {
              "cmd": "python3 commercial/skills/commercial-policy/scripts/policy_linter.py --help",
              "expect_exit": 0,
              "kind": "smoke"
            },
            {
              "cmd": "python3 commercial/skills/commercial-policy/scripts/policy_linter.py --sample",
              "expect_exit": 0,
              "kind": "sample"
            }
          ]
        }
      ],
      "agentic_signals": {
        "goal_intake": true,
        "refusal_gate": false,
        "verification": true,
        "loop_discipline": false,
        "close_out": false
      },
      "references": [
        "discount_governance_canon.md",
        "policy_anti_patterns.md",
        "policy_design_canon.md"
      ]
    },
    {
      "name": "commercial-skills",
      "path": "commercial/skills/commercial-skills",
      "description": "Use when reviewing, approving, or designing commercial motion \u2014 pricing models, deal review, discount approval, partnership economics, channel mix, commercial policy, RFP/RFI response, bookings forecast. Triggers on \"review this deal\", \"should we discount\", \"pricing model\", \"partner economics\", \"RFP response\", \"bookings forecast\", \"channel mix\". Forks context to route to one of seven Commercial sub-skills (pricing-strategist, deal-desk, partnerships-architect, channel-economics, commercial-policy, rfp-responder, commercial-forecaster) and returns a digest. Distinct from business-growth \u2026",
      "tools": [],
      "agentic_signals": {
        "goal_intake": true,
        "refusal_gate": false,
        "verification": true,
        "loop_discipline": true,
        "close_out": false
      },
      "references": []
    },
    {
      "name": "deal-desk",
      "path": "commercial/skills/deal-desk",
      "description": "Use when reviewing a specific inbound deal before close \u2014 when sales has asked for a discount that exceeds AE authority, when the customer has redlined the MSA, when per-deal economics (margin after discount, multi-year payment shape, indemnity exposure) need to be quantified, or when discount approval needs to be routed to a named human approver (Sales Director, VP Sales, CFO, CRO, General Counsel). Covers deal review, discount approval routing, per-deal margin scoring, deal exception handling, MSA redline triage, contract landmine detection (uncapped indemnity, MFN, perpetual \u2026",
      "tools": [
        {
          "script": "commercial/skills/deal-desk/scripts/deal_scorer.py",
          "wired": true,
          "supports_sample": true,
          "verification": [
            {
              "cmd": "python3 commercial/skills/deal-desk/scripts/deal_scorer.py --help",
              "expect_exit": 0,
              "kind": "smoke"
            },
            {
              "cmd": "python3 commercial/skills/deal-desk/scripts/deal_scorer.py --sample",
              "expect_exit": 0,
              "kind": "sample"
            }
          ]
        },
        {
          "script": "commercial/skills/deal-desk/scripts/discount_approval_router.py",
          "wired": true,
          "supports_sample": true,
          "verification": [
            {
              "cmd": "python3 commercial/skills/deal-desk/scripts/discount_approval_router.py --help",
              "expect_exit": 0,
              "kind": "smoke"
            },
            {
              "cmd": "python3 commercial/skills/deal-desk/scripts/discount_approval_router.py --sample",
              "expect_exit": 0,
              "kind": "sample"
            }
          ]
        },
        {
          "script": "commercial/skills/deal-desk/scripts/terms_redliner.py",
          "wired": true,
          "supports_sample": true,
          "verification": [
            {
              "cmd": "python3 commercial/skills/deal-desk/scripts/terms_redliner.py --help",
              "expect_exit": 0,
              "kind": "smoke"
            },
            {
              "cmd": "python3 commercial/skills/deal-desk/scripts/terms_redliner.py --sample",
              "expect_exit": 0,
              "kind": "sample"
            }
          ]
        }
      ],
      "agentic_signals": {
        "goal_intake": true,
        "refusal_gate": true,
        "verification": true,
        "loop_discipline": true,
        "close_out": false
      },
      "references": [
        "contract_landmines.md",
        "deal_desk_canon.md",
        "discount_economics.md"
      ]
    },
    {
      "name": "partnerships-architect",
      "path": "commercial/skills/partnerships-architect",
      "description": "Use when a startup is approached by a prospective partner and someone has to decide should we sign this partner, at what partner tier (referral / reseller / OEM / SI-consulting / strategic alliance), with what joint GTM commitment, and at what revshare. Classifies partner tier from independent-demand evidence vs. preferential-terms hunting, designs a 90-day joint GTM plan, models revshare against direct-sale margin, and surfaces kill criteria for unwinding under-performing partnerships. For Head of Partnerships, Head of BD, and Founder-CEOs doing reseller agreement, OEM deal, or strategic \u2026",
      "tools": [
        {
          "script": "commercial/skills/partnerships-architect/scripts/joint_gtm_planner.py",
          "wired": true,
          "supports_sample": true,
          "verification": [
            {
              "cmd": "python3 commercial/skills/partnerships-architect/scripts/joint_gtm_planner.py --help",
              "expect_exit": 0,
              "kind": "smoke"
            },
            {
              "cmd": "python3 commercial/skills/partnerships-architect/scripts/joint_gtm_planner.py --sample",
              "expect_exit": 0,
              "kind": "sample"
            }
          ]
        },
        {
          "script": "commercial/skills/partnerships-architect/scripts/partner_tier_classifier.py",
          "wired": true,
          "supports_sample": true,
          "verification": [
            {
              "cmd": "python3 commercial/skills/partnerships-architect/scripts/partner_tier_classifier.py --help",
              "expect_exit": 0,
              "kind": "smoke"
            },
            {
              "cmd": "python3 commercial/skills/partnerships-architect/scripts/partner_tier_classifier.py --sample",
              "expect_exit": 0,
              "kind": "sample"
            }
          ]
        },
        {
          "script": "commercial/skills/partnerships-architect/scripts/revshare_modeler.py",
          "wired": true,
          "supports_sample": true,
          "verification": [
            {
              "cmd": "python3 commercial/skills/partnerships-architect/scripts/revshare_modeler.py --help",
              "expect_exit": 0,
              "kind": "smoke"
            },
            {
              "cmd": "python3 commercial/skills/partnerships-architect/scripts/revshare_modeler.py --sample",
              "expect_exit": 0,
              "kind": "sample"
            }
          ]
        }
      ],
      "agentic_signals": {
        "goal_intake": true,
        "refusal_gate": false,
        "verification": true,
        "loop_discipline": true,
        "close_out": false
      },
      "references": [
        "channel_partner_canon.md",
        "joint_gtm_canon.md",
        "partnership_anti_patterns.md"
      ]
    },
    {
      "name": "pricing-strategist",
      "path": "commercial/skills/pricing-strategist",
      "description": "Use when designing or revisiting product pricing \u2014 selecting a pricing model (subscription seat-based, usage-based, value-based, freemium, or hybrid), running Van Westendorp Price Sensitivity Meter analysis on WTP survey data, or designing Good/Better/Best packaging tiers. Recommends a model and a price range with trade-offs, never a single number. For Commercial leads, Product Marketing, and CMOs at the pricing-design moment \u2014 not deal-by-deal discounting, not brand positioning.",
      "tools": [
        {
          "script": "commercial/skills/pricing-strategist/scripts/packaging_designer.py",
          "wired": true,
          "supports_sample": true,
          "verification": [
            {
              "cmd": "python3 commercial/skills/pricing-strategist/scripts/packaging_designer.py --help",
              "expect_exit": 0,
              "kind": "smoke"
            },
            {
              "cmd": "python3 commercial/skills/pricing-strategist/scripts/packaging_designer.py --sample",
              "expect_exit": 0,
              "kind": "sample"
            }
          ]
        },
        {
          "script": "commercial/skills/pricing-strategist/scripts/pricing_model_picker.py",
          "wired": true,
          "supports_sample": true,
          "verification": [
            {
              "cmd": "python3 commercial/skills/pricing-strategist/scripts/pricing_model_picker.py --help",
              "expect_exit": 0,
              "kind": "smoke"
            },
            {
              "cmd": "python3 commercial/skills/pricing-strategist/scripts/pricing_model_picker.py --sample",
              "expect_exit": 0,
              "kind": "sample"
            }
          ]
        },
        {
          "script": "commercial/skills/pricing-strategist/scripts/wtp_analyzer.py",
          "wired": true,
          "supports_sample": true,
          "verification": [
            {
              "cmd": "python3 commercial/skills/pricing-strategist/scripts/wtp_analyzer.py --help",
              "expect_exit": 0,
              "kind": "smoke"
            },
            {
              "cmd": "python3 commercial/skills/pricing-strategist/scripts/wtp_analyzer.py --sample",
              "expect_exit": 0,
              "kind": "sample"
            }
          ]
        }
      ],
      "agentic_signals": {
        "goal_intake": true,
        "refusal_gate": false,
        "verification": true,
        "loop_discipline": false,
        "close_out": false
      },
      "references": [
        "packaging_anti_patterns.md",
        "saas_pricing_canon.md",
        "van_westendorp_methodology.md"
      ]
    },
    {
      "name": "rfp-responder",
      "path": "commercial/skills/rfp-responder",
      "description": "Use when an RFP, RFI, RFQ, security questionnaire, vendor questionnaire, or proposal request arrives and the team needs a structured response \u2014 parsing multi-section buyer-dictated requirements (MANDATORY vs WEIGHTED vs NICE-TO-HAVE), building a Shipley-method proof-point matrix mapping each requirement to a verifiable proof point, articulating 3-5 win-themes that ladder up across requirements, and producing a Shipley-derived winrate estimate that informs a bid / no-bid / partner-bid recommendation. For Bid Managers, Proposal Leads, Directors of Sales, and Sales Engineers at the \u2026",
      "tools": [
        {
          "script": "commercial/skills/rfp-responder/scripts/response_drafter.py",
          "wired": true,
          "supports_sample": true,
          "verification": [
            {
              "cmd": "python3 commercial/skills/rfp-responder/scripts/response_drafter.py --help",
              "expect_exit": 0,
              "kind": "smoke"
            },
            {
              "cmd": "python3 commercial/skills/rfp-responder/scripts/response_drafter.py --sample",
              "expect_exit": 0,
              "kind": "sample"
            }
          ]
        },
        {
          "script": "commercial/skills/rfp-responder/scripts/rfp_parser.py",
          "wired": true,
          "supports_sample": true,
          "verification": [
            {
              "cmd": "python3 commercial/skills/rfp-responder/scripts/rfp_parser.py --help",
              "expect_exit": 0,
              "kind": "smoke"
            },
            {
              "cmd": "python3 commercial/skills/rfp-responder/scripts/rfp_parser.py --sample",
              "expect_exit": 0,
              "kind": "sample"
            }
          ]
        },
        {
          "script": "commercial/skills/rfp-responder/scripts/winrate_predictor.py",
          "wired": true,
          "supports_sample": true,
          "verification": [
            {
              "cmd": "python3 commercial/skills/rfp-responder/scripts/winrate_predictor.py --help",
              "expect_exit": 0,
              "kind": "smoke"
            },
            {
              "cmd": "python3 commercial/skills/rfp-responder/scripts/winrate_predictor.py --sample",
              "expect_exit": 0,
              "kind": "sample"
            }
          ]
        }
      ],
      "agentic_signals": {
        "goal_intake": true,
        "refusal_gate": true,
        "verification": true,
        "loop_discipline": true,
        "close_out": false
      },
      "references": [
        "rfp_anti_patterns.md",
        "rfp_strategy_canon.md",
        "shipley_method_canon.md"
      ]
    }
  ]
}
