{
  "schema": "agent-harness/manifest.v1",
  "domain": "business-operations",
  "skill_count": 7,
  "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": "business-operations-skills",
      "path": "business-operations/skills/business-operations-skills",
      "description": "Use when running, diagnosing, or designing internal business operations \u2014 process documentation, vendor SLAs, capacity planning, internal comms, SOP/runbook authoring, procurement spend. Triggers on \"BizOps review\", \"where's the bottleneck\", \"vendor health\", \"internal SOP\", \"all-hands deck\", \"spend categorization\", \"capacity for Q3\", \"process mapping\". Forks context to route to one of six BizOps sub-skills (process-mapper, vendor-management, capacity-planner, internal-comms, knowledge-ops, procurement-optimizer) and returns a digest. Distinct from business-growth (external sales motion) and \u2026",
      "tools": [],
      "agentic_signals": {
        "goal_intake": true,
        "refusal_gate": false,
        "verification": false,
        "loop_discipline": true,
        "close_out": true
      },
      "references": []
    },
    {
      "name": "capacity-planner",
      "path": "business-operations/skills/capacity-planner",
      "description": "Use when an ops leader (Director of CX, Head of Support, VP Ops, Head of BizOps, Head of IT ops, Head of Finance ops) is sizing ops capacity, building a headcount plan, modeling utilization risk, planning Q3 capacity or annual support capacity, or designing CS coverage \u2014 and needs Erlang-C queueing math, P90 demand sizing, shrinkage-adjusted FTE, manager-trigger thresholds, and a quarterly hiring sequence with ramp + attrition. Apply when sustained team utilization is above 80% or when the team is growing >50% in 12 months. Run before committing the headcount budget. This is NOT engineering \u2026",
      "tools": [
        {
          "script": "business-operations/skills/capacity-planner/scripts/capacity_modeler.py",
          "wired": true,
          "supports_sample": true,
          "verification": [
            {
              "cmd": "python3 business-operations/skills/capacity-planner/scripts/capacity_modeler.py --help",
              "expect_exit": 0,
              "kind": "smoke"
            },
            {
              "cmd": "python3 business-operations/skills/capacity-planner/scripts/capacity_modeler.py --sample",
              "expect_exit": 0,
              "kind": "sample"
            }
          ]
        },
        {
          "script": "business-operations/skills/capacity-planner/scripts/hiring_sequencer.py",
          "wired": true,
          "supports_sample": true,
          "verification": [
            {
              "cmd": "python3 business-operations/skills/capacity-planner/scripts/hiring_sequencer.py --help",
              "expect_exit": 0,
              "kind": "smoke"
            },
            {
              "cmd": "python3 business-operations/skills/capacity-planner/scripts/hiring_sequencer.py --sample",
              "expect_exit": 0,
              "kind": "sample"
            }
          ]
        },
        {
          "script": "business-operations/skills/capacity-planner/scripts/utilization_analyzer.py",
          "wired": true,
          "supports_sample": true,
          "verification": [
            {
              "cmd": "python3 business-operations/skills/capacity-planner/scripts/utilization_analyzer.py --help",
              "expect_exit": 0,
              "kind": "smoke"
            },
            {
              "cmd": "python3 business-operations/skills/capacity-planner/scripts/utilization_analyzer.py --sample",
              "expect_exit": 0,
              "kind": "sample"
            }
          ]
        }
      ],
      "agentic_signals": {
        "goal_intake": true,
        "refusal_gate": false,
        "verification": true,
        "loop_discipline": true,
        "close_out": false
      },
      "references": [
        "capacity_anti_patterns.md",
        "ops_workforce_planning_canon.md",
        "queueing_theory_canon.md"
      ]
    },
    {
      "name": "internal-comms",
      "path": "business-operations/skills/internal-comms",
      "description": "Use when a Head of People Ops, BizOps lead, or Internal Communications owner needs to draft and sequence an internal-only change-management communication \u2014 a re-org announcement, a tool rollout, a policy change, a leadership transition, a layoff, an acquisition close, or an internal product launch \u2014 and the audience is employees (not customers). Pairs Prosci ADKAR and Kotter's 8-step change model with deterministic stdlib-only Python tools to produce a sequenced touchpoint calendar, a Kotter-compliant primary announcement, an audience-segmented FAQ, and manager cascade talking points \u2026",
      "tools": [
        {
          "script": "business-operations/skills/internal-comms/scripts/change_announcement_builder.py",
          "wired": true,
          "supports_sample": true,
          "verification": [
            {
              "cmd": "python3 business-operations/skills/internal-comms/scripts/change_announcement_builder.py --help",
              "expect_exit": 0,
              "kind": "smoke"
            },
            {
              "cmd": "python3 business-operations/skills/internal-comms/scripts/change_announcement_builder.py --sample",
              "expect_exit": 0,
              "kind": "sample"
            }
          ]
        },
        {
          "script": "business-operations/skills/internal-comms/scripts/comms_calendar_builder.py",
          "wired": true,
          "supports_sample": true,
          "verification": [
            {
              "cmd": "python3 business-operations/skills/internal-comms/scripts/comms_calendar_builder.py --help",
              "expect_exit": 0,
              "kind": "smoke"
            },
            {
              "cmd": "python3 business-operations/skills/internal-comms/scripts/comms_calendar_builder.py --sample",
              "expect_exit": 0,
              "kind": "sample"
            }
          ]
        },
        {
          "script": "business-operations/skills/internal-comms/scripts/comms_template_filler.py",
          "wired": true,
          "supports_sample": true,
          "verification": [
            {
              "cmd": "python3 business-operations/skills/internal-comms/scripts/comms_template_filler.py --help",
              "expect_exit": 0,
              "kind": "smoke"
            },
            {
              "cmd": "python3 business-operations/skills/internal-comms/scripts/comms_template_filler.py --sample",
              "expect_exit": 0,
              "kind": "sample"
            }
          ]
        }
      ],
      "agentic_signals": {
        "goal_intake": true,
        "refusal_gate": false,
        "verification": true,
        "loop_discipline": false,
        "close_out": true
      },
      "references": [
        "announcement_anti_patterns.md",
        "change_management_canon.md",
        "internal_comms_canon.md"
      ]
    },
    {
      "name": "knowledge-ops",
      "path": "business-operations/skills/knowledge-ops",
      "description": "Use when a Head of Ops, Knowledge Manager, or TPM-Internal needs to author, validate, or clean up company SOPs and internal runbooks (procurement intake, vendor offboarding, incident-comms cascade, employee onboarding) \u2014 including 5W2H completeness checks (Who-What-When-Where-Why-How-HowMuch), cross-link and orphan-page validation across a sprawling Notion/Confluence/Obsidian wiki, KB ingestion + hygiene reporting, and runbook step verification (named owner, expected duration, observable success signal, rollback path, escalation contact). Pairs Ishikawa's 5W2H method, Gawande's *The \u2026",
      "tools": [
        {
          "script": "business-operations/skills/knowledge-ops/scripts/kb_ingester.py",
          "wired": true,
          "supports_sample": true,
          "verification": [
            {
              "cmd": "python3 business-operations/skills/knowledge-ops/scripts/kb_ingester.py --help",
              "expect_exit": 0,
              "kind": "smoke"
            },
            {
              "cmd": "python3 business-operations/skills/knowledge-ops/scripts/kb_ingester.py --sample",
              "expect_exit": 0,
              "kind": "sample"
            }
          ]
        },
        {
          "script": "business-operations/skills/knowledge-ops/scripts/runbook_validator.py",
          "wired": true,
          "supports_sample": true,
          "verification": [
            {
              "cmd": "python3 business-operations/skills/knowledge-ops/scripts/runbook_validator.py --help",
              "expect_exit": 0,
              "kind": "smoke"
            },
            {
              "cmd": "python3 business-operations/skills/knowledge-ops/scripts/runbook_validator.py --sample",
              "expect_exit": 0,
              "kind": "sample"
            }
          ]
        },
        {
          "script": "business-operations/skills/knowledge-ops/scripts/sop_generator.py",
          "wired": true,
          "supports_sample": true,
          "verification": [
            {
              "cmd": "python3 business-operations/skills/knowledge-ops/scripts/sop_generator.py --help",
              "expect_exit": 0,
              "kind": "smoke"
            },
            {
              "cmd": "python3 business-operations/skills/knowledge-ops/scripts/sop_generator.py --sample",
              "expect_exit": 0,
              "kind": "sample"
            }
          ]
        }
      ],
      "agentic_signals": {
        "goal_intake": true,
        "refusal_gate": true,
        "verification": true,
        "loop_discipline": true,
        "close_out": true
      },
      "references": [
        "5w2h_sop_canon.md",
        "kb_hygiene_anti_patterns.md",
        "runbook_canon.md"
      ]
    },
    {
      "name": "process-mapper",
      "path": "business-operations/skills/process-mapper",
      "description": "Use when a BizOps lead, COO, or process-improvement owner needs to document an end-to-end business process (procurement, employee onboarding, incident handoff, customer-onboarding, claims adjudication) in BPMN-style notation, measure cycle times by stage, surface where work spends most of its time waiting vs. being worked, and quantify the gap between processing time and total elapsed time. Pairs Lean / Six Sigma / Theory-of-Constraints canon with deterministic stdlib-only Python tools to produce a process map, a ranked bottleneck list (with severity + root-cause hypothesis), and a \u2026",
      "tools": [
        {
          "script": "business-operations/skills/process-mapper/scripts/bottleneck_detector.py",
          "wired": true,
          "supports_sample": true,
          "verification": [
            {
              "cmd": "python3 business-operations/skills/process-mapper/scripts/bottleneck_detector.py --help",
              "expect_exit": 0,
              "kind": "smoke"
            },
            {
              "cmd": "python3 business-operations/skills/process-mapper/scripts/bottleneck_detector.py --sample",
              "expect_exit": 0,
              "kind": "sample"
            }
          ]
        },
        {
          "script": "business-operations/skills/process-mapper/scripts/cycle_time_analyzer.py",
          "wired": true,
          "supports_sample": true,
          "verification": [
            {
              "cmd": "python3 business-operations/skills/process-mapper/scripts/cycle_time_analyzer.py --help",
              "expect_exit": 0,
              "kind": "smoke"
            },
            {
              "cmd": "python3 business-operations/skills/process-mapper/scripts/cycle_time_analyzer.py --sample",
              "expect_exit": 0,
              "kind": "sample"
            }
          ]
        },
        {
          "script": "business-operations/skills/process-mapper/scripts/process_documenter.py",
          "wired": true,
          "supports_sample": true,
          "verification": [
            {
              "cmd": "python3 business-operations/skills/process-mapper/scripts/process_documenter.py --help",
              "expect_exit": 0,
              "kind": "smoke"
            },
            {
              "cmd": "python3 business-operations/skills/process-mapper/scripts/process_documenter.py --sample",
              "expect_exit": 0,
              "kind": "sample"
            }
          ]
        }
      ],
      "agentic_signals": {
        "goal_intake": true,
        "refusal_gate": false,
        "verification": true,
        "loop_discipline": true,
        "close_out": true
      },
      "references": [
        "bottleneck_anti_patterns.md",
        "bpmn_essentials.md",
        "lean_six_sigma_canon.md"
      ]
    },
    {
      "name": "procurement-optimizer",
      "path": "business-operations/skills/procurement-optimizer",
      "description": "Use when running an annual SaaS audit, doing category-level spend review, or rationalizing the supplier base \u2014 when the user needs a spend audit, spend categorization (UNSPSC-aligned with Pareto breakdown and industry profiles), purchasing-cycle analysis (bottleneck categories per Goldratt's Theory of Constraints), or risk-balanced supplier consolidation that refuses single-source recommendations for tier-1 categories without a documented break-glass plan. Triggers on \"spend audit\", \"SaaS audit\", \"spend categorization\", \"supplier rationalization\", \"supplier consolidation\", \"category \u2026",
      "tools": [
        {
          "script": "business-operations/skills/procurement-optimizer/scripts/purchasing_cycle_analyzer.py",
          "wired": true,
          "supports_sample": true,
          "verification": [
            {
              "cmd": "python3 business-operations/skills/procurement-optimizer/scripts/purchasing_cycle_analyzer.py --help",
              "expect_exit": 0,
              "kind": "smoke"
            },
            {
              "cmd": "python3 business-operations/skills/procurement-optimizer/scripts/purchasing_cycle_analyzer.py --sample",
              "expect_exit": 0,
              "kind": "sample"
            }
          ]
        },
        {
          "script": "business-operations/skills/procurement-optimizer/scripts/spend_categorizer.py",
          "wired": true,
          "supports_sample": true,
          "verification": [
            {
              "cmd": "python3 business-operations/skills/procurement-optimizer/scripts/spend_categorizer.py --help",
              "expect_exit": 0,
              "kind": "smoke"
            },
            {
              "cmd": "python3 business-operations/skills/procurement-optimizer/scripts/spend_categorizer.py --sample",
              "expect_exit": 0,
              "kind": "sample"
            }
          ]
        },
        {
          "script": "business-operations/skills/procurement-optimizer/scripts/supplier_consolidation.py",
          "wired": true,
          "supports_sample": true,
          "verification": [
            {
              "cmd": "python3 business-operations/skills/procurement-optimizer/scripts/supplier_consolidation.py --help",
              "expect_exit": 0,
              "kind": "smoke"
            },
            {
              "cmd": "python3 business-operations/skills/procurement-optimizer/scripts/supplier_consolidation.py --sample",
              "expect_exit": 0,
              "kind": "sample"
            }
          ]
        }
      ],
      "agentic_signals": {
        "goal_intake": true,
        "refusal_gate": true,
        "verification": true,
        "loop_discipline": true,
        "close_out": false
      },
      "references": [
        "procurement_anti_patterns.md",
        "saas_management_canon.md",
        "spend_management_canon.md"
      ]
    },
    {
      "name": "vendor-management",
      "path": "business-operations/skills/vendor-management",
      "description": "Use when reviewing, scoring, or auditing third-party SaaS / vendor relationships \u2014 running a vendor scorecard with industry tuning, tracking SLA compliance with credit-claim flags, classifying third-party risk across 4 risk vectors, preparing a tier-1 vendor review, or auditing the SaaS portfolio. Forks context so large vendor catalogs (50-500 line items) and SLA logs don't pollute the parent thread. Triggers on \"vendor SLA\", \"vendor scorecard\", \"third-party risk\", \"TPRM\", \"vendor review\", \"supplier performance\", \"vendor health check\", \"renewal review\".",
      "tools": [
        {
          "script": "business-operations/skills/vendor-management/scripts/sla_compliance_tracker.py",
          "wired": true,
          "supports_sample": true,
          "verification": [
            {
              "cmd": "python3 business-operations/skills/vendor-management/scripts/sla_compliance_tracker.py --help",
              "expect_exit": 0,
              "kind": "smoke"
            },
            {
              "cmd": "python3 business-operations/skills/vendor-management/scripts/sla_compliance_tracker.py --sample",
              "expect_exit": 0,
              "kind": "sample"
            }
          ]
        },
        {
          "script": "business-operations/skills/vendor-management/scripts/vendor_risk_classifier.py",
          "wired": true,
          "supports_sample": true,
          "verification": [
            {
              "cmd": "python3 business-operations/skills/vendor-management/scripts/vendor_risk_classifier.py --help",
              "expect_exit": 0,
              "kind": "smoke"
            },
            {
              "cmd": "python3 business-operations/skills/vendor-management/scripts/vendor_risk_classifier.py --sample",
              "expect_exit": 0,
              "kind": "sample"
            }
          ]
        },
        {
          "script": "business-operations/skills/vendor-management/scripts/vendor_scorer.py",
          "wired": true,
          "supports_sample": true,
          "verification": [
            {
              "cmd": "python3 business-operations/skills/vendor-management/scripts/vendor_scorer.py --help",
              "expect_exit": 0,
              "kind": "smoke"
            },
            {
              "cmd": "python3 business-operations/skills/vendor-management/scripts/vendor_scorer.py --sample",
              "expect_exit": 0,
              "kind": "sample"
            }
          ]
        }
      ],
      "agentic_signals": {
        "goal_intake": true,
        "refusal_gate": false,
        "verification": true,
        "loop_discipline": true,
        "close_out": false
      },
      "references": [
        "sla_design_patterns.md",
        "vendor_management_canon.md",
        "vendor_risk_anti_patterns.md"
      ]
    }
  ]
}
