"Comparative decision analysis workflow with mandatory discovery (including external options), criteria derivation and confirmation, explicit evidence discipline, hard-constraint gating, and deterministic scoring. Use for vendor analysis, head-to-head comparisons, competitor analysis, tool/architecture/workflow selection, and build-vs-buy decisions when you need reliable, auditable recommendations."
Resources
3Install
npx skillscat add squirrel289/pax/comparative-decision-analysis Install via the SkillsCat registry.
Comparative Decision Analysis
Produce a defensible decision by combining:
- Mandatory criteria confirmation and evidence discipline.
- Deterministic scoring and ranking.
- Explicit score scale, effort and risk tie-breaks, and coverage visibility.
Inputs
- Decision statement.
- Current platform.
- Primary user and workflow context.
- Hard constraints and non-goals.
- Time horizon.
- Initial alternatives or discovery scope.
- Optional evaluation criteria, weights, and scoring scale.
Accepting JSON from discovering-alternatives: When using discovering-alternatives for discovery (Step 2), request JSON output and transform using ../discovering-alternatives/references/integration-guide.md. The JSON format pre-populates decision, alternatives, and baseline context, streamlining the workflow.
Workflow
Frame decision and constraints.
Run discovery using
discovering-alternativesskill (see../discovering-alternatives/SKILL.md).- Delegate to
discovering-alternativesfor exhaustive discovery (build, buy, hybrid options). - Request JSON output format for automated transformation:
output as JSON - Transform JSON using
../discovering-alternatives/references/integration-guide.md - Accept the ranked option list from
discovering-alternativesas input to comparative analysis. - If
discovering-alternativesis unavailable, fall back toreferences/discovery-protocol.md(legacy).
- Delegate to
Normalize alternatives for comparative scoring (skip if using JSON from discovering-alternatives).
- Require at least two alternatives before scoring (enforced by
discovering-alternatives). - Mark each alternative
feasibleorinfeasible(already done bydiscovering-alternatives).
- Require at least two alternatives before scoring (enforced by
Derive criteria from intended use.
- Use
references/rubric-packs.mdas a starting point, then adapt.
- Use
Present the evaluation criteria, weights, score scale, and platform set, then wait for confirmation.
- Do not continue scoring in the same turn until the user confirms or refines criteria.
- If criteria are already explicitly provided, record
criteria_confirmation_source=provided-input. - If running in yolo mode, record
criteria_confirmation_source=yolo-mode. - Otherwise record
criteria_confirmation_source=user-confirmed.
Evaluate each alternative in an isolated evaluator subagent.
- Use one evaluator per alternative with unique
evaluator_id. - Run evaluator subagents in parallel when possible.
- Keep evaluator contexts isolated; do not let evaluators see each other outputs.
- Use one evaluator per alternative with unique
Prepare input using
references/input-schema.mdandreferences/input-schema.json.- Include one
independent_evaluationsrecord per alternative.
- Include one
Execute deterministic harness:
python3 skills/workflow/comparative-decision-analysis/scripts/run_comparative_decision_harness.py \ --input <analysis-input.json> \ --output-dir <run-output-dir>Run reliability checks.
- Use
references/scenario-bakeoff-protocol.mdfor bakeoff evaluation. - Run sensitivity checks for close results.
- Use
Produce record using
assets/comparative-decision-record-template.md.
Guardrails
- Apply
references/quality-gates.mdas the single source of truth for pass/fail checks. - Do not bypass confirmation or independent evaluator records except with explicit simulation flags.
- Keep all scores traceable to evidence and isolated evaluator summaries.
- Apply an agentic-eval loop (Generate → Evaluate → Critique → Refine), max 3 iterations.
- Use structured JSON for critique output and stop if no improvement between iterations.
Testing
Run guardrail tests before relying on scoring or harness changes:
python3 test/skills/workflow/comparative-decision-analysis/test_score_with_guardrails.pyReferences
- Discovery:
../discovering-alternatives/SKILL.md(primary),references/discovery-protocol.md(legacy fallback) - Input contract:
references/input-schema.md - Machine-readable schema:
references/input-schema.json - Rubric packs:
references/rubric-packs.md - Quality gates:
references/quality-gates.md - Bakeoff protocol:
references/scenario-bakeoff-protocol.md - Reusable bakeoff fixture:
assets/bakeoff-fixture.v1.json - Reusable bakeoff results template:
assets/bakeoff-results-template.v1.json - Decision record template:
assets/comparative-decision-record-template.md
Related Skills
Upstream (Discovery Phase):
- [[discovering-alternatives]]: Exhaustive option discovery with evidence-backed ranking (use in Step 2)
Downstream (Selection Phase):
- [[hybrid-decision-analysis]]: Evaluates hybrid build+buy approaches after comparative analysis completes
- [[evaluating-alternative]]: Deep-dive evaluation of a single option (useful for top-ranked alternatives)
Workflow Sequence:
1. discovering-alternatives → 2. comparative-decision-analysis → 3. [hybrid-decision-analysis | evaluating-alternative]
(exhaustive discovery) (criteria-based scoring) (deep dive or hybrid exploration)