---
name: scorpio-objective-synthesize
description: Synthesize scored and critiqued objective packages into one recommendation with alternates and explicit tradeoffs.
---

# Objective Recommendation Synthesis

A bounded synthesis skill for the sixth stage of `scorpio objective`. It turns packages, scorecards, and critique into the operator-facing recommendation artifact without inventing new packages or hiding material objections.

> **Model role — synthesize.** This skill runs the pipeline's **synthesize** phase, so it targets the configured `{models.synthesize}` (model + optional `effort`) when `scorpio.config.json` sets it — falling back to `{models.default}` → the harness's main-session model. Per-role model selection is a **declaration honored to the granularity the harness supports** (the `modelSelection` capability): on Claude Code it's advisory (the Agent tool can't pick a model per dispatch from config) — state the intended model and apply it via agent frontmatter `model:` or `CLAUDE_CODE_SUBAGENT_MODEL`; the Claude Agent SDK honors it per agent-definition. See [docs/CONFIG.md](../../docs/CONFIG.md#per-role-models).

## Purpose

This skill exists to recommend one package clearly while preserving alternatives.

It must:

1. recommend one package
2. preserve up to two alternates when possible
3. present compact score data by default
4. explain the most important tradeoffs and open questions

## Inputs

Read:

1. `{docs.planning}/OBJECTIVE-PARAMETERS.json`
2. `{docs.planning}/SOLUTION-PACKAGES.json`
3. `{docs.planning}/SOLUTION-SCORECARDS.json`
4. `{docs.planning}/SOLUTION-CRITIQUE.md`
5. `{docs.planning}/business-objective-workflow/SPEC-objective-proposal-review-ux.md`

Do not regenerate packages from scratch or ignore the critique.

## Shared Rules

1. Recommend one package only.
2. Preserve alternates when the search surface supports them.
3. Keep scores compact by default.
4. Be honest about close calls and uncertainty.
5. Do not invent new packages or mutate the set.

## Review Contract

The operator-facing output should usually include:

1. top recommendation
2. why it ranked highest
3. composite score and confidence summary
4. biggest tradeoff
5. up to two alternates
6. major assumptions and open questions
7. a path to detailed scoring

## Required Output

Write:

- `{docs.planning}/RECOMMENDED-SOLUTION.md`

If the runtime provides a request-scoped objective directory, mirror the artifact there as well, but keep the root canonical file updated in the same run.

## Canonical Output Shape

`RECOMMENDED-SOLUTION.md` should remain concise by default and should include:

1. one recommended package
2. compact summary scores for the recommendation and alternates
3. explicit tradeoffs and risks
4. any close-call honesty notes
5. the strongest alternative or two
6. the key assumption that most affects confidence
7. the path to `SOLUTION-SCORECARDS.json` for details

## Recommendation Rules

1. Do not pretend a close call is decisive.
2. Do not hide major critique findings.
3. Do not introduce new packages to improve the story.
4. Do not overfit the recommendation to a single score dimension.
5. Do not reopen the package-selection step.

## What Not To Do

- Do not write `{docs.tasks}/**`.
- Do not edit `SOLUTION-PACKAGES.json`.
- Do not edit `SOLUTION-SCORECARDS.json`.
- Do not rewrite the critique.
- Do not produce `SOLUTION-BRIEF.md`.
- Do not route directly into `scorpio-task-plan`.

## Handoff

When synthesis is complete, hand the recommendation artifact to operator review.

`scorpio-solution` may proceed only after the runtime or request-scoped objective state records an explicit approved package.
