| name | blue-red-team |
| description | Evaluate a SolTechnology.Core design choice from supportive and skeptical perspectives. Records alternatives in the dated feature brief and informs current architecture after delivery. |
Blue / Red Team
Adversarial thinking for design-level decisions in SolTechnology.Core
(new module, public API shape, framework choice, breaking change).
Use this skill alongside premortem:
- blue-red-team answers should we do this at all?
- premortem answers if we do this, how does it fail?
When to use
- Before committing to a hard-to-reverse approach — the output seeds the feature brief's
Context and Implementation plan.
- When choosing between two patterns within Tale Code (e.g. Result vs exception,
Chain handler vs single handler, Story step vs CQRS handler).
- When introducing a new module to
src/SolTechnology.Core.*.
Critical rules
- No strawmen. Make the strongest honest case for each side.
- Be specific to this repo. Cite modules, files, current architecture, feature records, and
sample apps — not generic
industry talking points.
- Tale Code lens. Both sides must address readability and prose-like flow
(see docs/ClaudeCodingGuide.md).
Process
1. State the proposal
One sentence. Include the concrete change (file / module / API shape).
2. Blue team — arguments for
Consider:
- Tale Code readability win — does it read more like prose?
- Consistency with existing modules (CQRS, Story, Logging patterns).
- Reduction in NuGet API surface or removal of foot-guns.
- Test simplification, fewer mocks, smaller files (class-size budget).
- Strategic alignment with docs/theDesign.md.
3. Red team — arguments against
Consider:
- Breaking change for public NuGet consumers (semver MAJOR cost).
- Hidden complexity moved, not removed.
- Performance / allocation cost.
- New cross-module coupling (
SolTechnology.Core.X now needs Y).
- Build-side fallout (
TreatWarningsAsErrors, analyzer noise).
- Migration cost for sample apps and external consumers.
4. Reconcile
Identify the cruxes — points where Blue and Red disagree on fact, not preference.
For each crux, state what evidence would settle it (a benchmark, a prototype, a
consumer survey, or a focused feature experiment).
Output format
Proposal
One-sentence statement.
Blue Team
- argument with file / module / architecture reference
Red Team
- argument with file / module / architecture reference
Cruxes
- disputed fact + evidence that would settle it
Recommendation
Proceed / Proceed with conditions / Reject — with one-line reason.