Approach Evaluation
Purpose / When to Activate
Activate when the invoking agent identifies a technical or architectural decision point where:
- Multiple viable implementation approaches exist and the best choice is non-obvious
- A technology, library, or service is being introduced for the first time in the project
- No established convention exists in
conventions.md for the problem domain
- The problem touches a domain with well-known industry standards that should be considered
- A prior approach failed or showed limitations (post-mortem driven re-evaluation)
Do NOT activate when:
- A convention already exists in
conventions.md for this exact problem
- The approach is explicitly defined in the Story or a prior decision
- The Story is Tier 1 / MicroDelivery with obvious implementation
- The evaluation would delay delivery without reducing meaningful uncertainty
This skill researches and compares — it does not decide. The invoking agent (Planning Sub-Agent or Discovery Agent) reads the output and makes the decision.
Process
Phase 1 — Problem Framing
- State the problem precisely: what capability is needed, what constraints apply
- Read
contexts/memory/index.md. Resolve and load:
- The
project category file → extract tech stack, architectural boundaries, known constraints
- The
patterns category file → extract established patterns and conventions
- The
decisions category file → extract prior decisions on related topics
Do not assume specific file paths — resolve from index.
- Define evaluation criteria specific to this problem. Always include:
- Stack compatibility — does it work with the project's tech stack? (read from project context file, not hardcoded here)
- Constraint alignment — does it respect the architectural boundaries described in the project context?
- Operational fit — maintainability given team size and constraints described in project context
- Maturity — production readiness, community support, documentation quality
- Add problem-specific criteria as needed (performance, cost, security, scalability, etc.)
Phase 2 — Industry Research
- Research current industry standards and best practices for the problem:
- Use web search for current state-of-the-art and community consensus
- Use Context7 or documentation tools for library/framework specifics
- Check for established patterns in similar projects or architectures
- Identify 2-3 viable approaches — not one, not ten
- Each approach must be genuinely viable (not a strawman)
- Include the "obvious" approach (what the LLM would default to) even if it may not be best
- Include at least one alternative that challenges the default
- For each approach, gather factual evidence:
- How it works (brief mechanism description)
- Where it is used successfully (real examples, not hypothetical)
- Known limitations or failure modes
- Compatibility with edge compute / serverless environments (if relevant)
Phase 3 — Structured Comparison
- Evaluate each approach against every criterion from Phase 1
- Use factual evidence only — no "this feels better" reasoning
- Flag any criterion where information is uncertain or unavailable
- Note any approach that would require violating an existing convention or decision
Phase 4 — Trade-off Surfacing
- For each approach, state explicitly:
- What you gain by choosing it
- What you lose or accept as a trade-off
- What it implies for future decisions (lock-in, reversibility)
- If one approach is clearly dominated (worse on all criteria), note it but do not eliminate it — the agent decides
Outputs
# Approach Evaluation — {Story ID or Decision Context}: {Problem Title}
## Problem Statement
{What needs to be solved, in one paragraph}
## Evaluation Criteria
| # | Criterion | Weight | Source |
|---|-----------|--------|--------|
| C1 | {criterion} | must-have / important / nice-to-have | {project context reference} |
| C2 | {criterion} | must-have / important / nice-to-have | {project context reference} |
## Approaches Identified
### Approach A — {Name}
**Mechanism:** {how it works — 2-3 sentences}
**Evidence:** {where it's used, maturity signals}
**Limitations:** {known failure modes or constraints}
### Approach B — {Name}
**Mechanism:** {how it works — 2-3 sentences}
**Evidence:** {where it's used, maturity signals}
**Limitations:** {known failure modes or constraints}
### Approach C — {Name} (if applicable)
**Mechanism:** {how it works — 2-3 sentences}
**Evidence:** {where it's used, maturity signals}
**Limitations:** {known failure modes or constraints}
## Comparison Matrix
| Criterion | Approach A | Approach B | Approach C |
|-----------|-----------|-----------|-----------|
| C1: {name} | {factual assessment} | {factual assessment} | {factual assessment} |
| C2: {name} | {factual assessment} | {factual assessment} | {factual assessment} |
## Trade-offs
### Approach A
- **Gains:** {what you get}
- **Costs:** {what you accept}
- **Lock-in:** {reversibility assessment}
### Approach B
- **Gains:** {what you get}
- **Costs:** {what you accept}
- **Lock-in:** {reversibility assessment}
## Open Questions
- {Any criterion where evidence is uncertain or missing}
- {Any constraint that needs human clarification}
## Sources
- {URL or reference for each factual claim}
Saves to contexts/artefacts/evaluations/{id}.approach-evaluation.md.
Quality Checks
- Every criterion has a clear source (project context, not invented)
- Every assessment in the comparison matrix is factual, not opinion
- No approach is dismissed without evidence
- No approach is favored without evidence
- Trade-offs are explicit and symmetric (gains AND costs for each)
- Sources are provided for industry claims
- The evaluation does not contain a recommendation or decision
- Uncertain information is flagged as uncertain, not presented as fact
Non-Goals
This skill must NOT:
- Recommend or decide — the agent decides after reading the evaluation
- Invent criteria not grounded in project context
- Hallucinate library capabilities or industry practices — cite sources
- Evaluate more than 3 approaches (focus drives quality)
- Produce vague assessments ("this is generally good") — every claim must be specific and evidence-backed
- Skip the "obvious" approach — even if the default seems suboptimal, it must be evaluated fairly
The best approach is the one that survives honest comparison — not the one that arrives first.
1---2name: approach-evaluation3description: Research industry standards and best practices, identify viable approaches for a given technical or architectural problem, and produce a structured factual comparison against project-specific constraints. Reports options — does not decide.4license: ELv25compatibility: Works with any filesystem-based AI coding agent6metadata:7 author: gaai-framework8 version: "1.0"9 category: cross10 track: cross-cutting11 id: SKILL-APPROACH-EVALUATION-00112 updated_at: 2026-02-2613 status: stable14inputs:15 - problem_statement (what needs to be solved)16 - contexts/memory/index.md (registry — resolve project context, patterns, decisions files)17 - contexts/memory/** (categories resolved from index.md — project, patterns, decisions)18 - contexts/artefacts/stories/** (the Story driving the evaluation, if in Delivery)19outputs:20 - contexts/artefacts/evaluations/{id}.approach-evaluation.md21---2223# Approach Evaluation2425## Purpose / When to Activate2627Activate when the invoking agent identifies a technical or architectural decision point where:28- Multiple viable implementation approaches exist and the best choice is non-obvious29- A technology, library, or service is being introduced for the first time in the project30- No established convention exists in `conventions.md` for the problem domain31- The problem touches a domain with well-known industry standards that should be considered32- A prior approach failed or showed limitations (post-mortem driven re-evaluation)3334Do NOT activate when:35- A convention already exists in `conventions.md` for this exact problem36- The approach is explicitly defined in the Story or a prior decision37- The Story is Tier 1 / MicroDelivery with obvious implementation38- The evaluation would delay delivery without reducing meaningful uncertainty3940**This skill researches and compares — it does not decide.** The invoking agent (Planning Sub-Agent or Discovery Agent) reads the output and makes the decision.4142---4344## Process4546### Phase 1 — Problem Framing47481. State the problem precisely: what capability is needed, what constraints apply492. Read `contexts/memory/index.md`. Resolve and load:50 - The `project` category file → extract tech stack, architectural boundaries, known constraints51 - The `patterns` category file → extract established patterns and conventions52 - The `decisions` category file → extract prior decisions on related topics53 Do not assume specific file paths — resolve from index.543. Define evaluation criteria specific to this problem. Always include:55 - **Stack compatibility** — does it work with the project's tech stack? (read from project context file, not hardcoded here)56 - **Constraint alignment** — does it respect the architectural boundaries described in the project context?57 - **Operational fit** — maintainability given team size and constraints described in project context58 - **Maturity** — production readiness, community support, documentation quality594. Add problem-specific criteria as needed (performance, cost, security, scalability, etc.)6061### Phase 2 — Industry Research62635. Research current industry standards and best practices for the problem:64 - Use web search for current state-of-the-art and community consensus65 - Use Context7 or documentation tools for library/framework specifics66 - Check for established patterns in similar projects or architectures676. Identify 2-3 viable approaches — not one, not ten68 - Each approach must be genuinely viable (not a strawman)69 - Include the "obvious" approach (what the LLM would default to) even if it may not be best70 - Include at least one alternative that challenges the default717. For each approach, gather factual evidence:72 - How it works (brief mechanism description)73 - Where it is used successfully (real examples, not hypothetical)74 - Known limitations or failure modes75 - Compatibility with edge compute / serverless environments (if relevant)7677### Phase 3 — Structured Comparison78798. Evaluate each approach against every criterion from Phase 1809. Use factual evidence only — no "this feels better" reasoning8110. Flag any criterion where information is uncertain or unavailable8211. Note any approach that would require violating an existing convention or decision8384### Phase 4 — Trade-off Surfacing858612. For each approach, state explicitly:87 - What you gain by choosing it88 - What you lose or accept as a trade-off89 - What it implies for future decisions (lock-in, reversibility)9013. If one approach is clearly dominated (worse on all criteria), note it but do not eliminate it — the agent decides9192---9394## Outputs9596```markdown97# Approach Evaluation — {Story ID or Decision Context}: {Problem Title}9899## Problem Statement100101{What needs to be solved, in one paragraph}102103## Evaluation Criteria104105| # | Criterion | Weight | Source |106|---|-----------|--------|--------|107| C1 | {criterion} | must-have / important / nice-to-have | {project context reference} |108| C2 | {criterion} | must-have / important / nice-to-have | {project context reference} |109110## Approaches Identified111112### Approach A — {Name}113114**Mechanism:** {how it works — 2-3 sentences}115**Evidence:** {where it's used, maturity signals}116**Limitations:** {known failure modes or constraints}117118### Approach B — {Name}119120**Mechanism:** {how it works — 2-3 sentences}121**Evidence:** {where it's used, maturity signals}122**Limitations:** {known failure modes or constraints}123124### Approach C — {Name} (if applicable)125126**Mechanism:** {how it works — 2-3 sentences}127**Evidence:** {where it's used, maturity signals}128**Limitations:** {known failure modes or constraints}129130## Comparison Matrix131132| Criterion | Approach A | Approach B | Approach C |133|-----------|-----------|-----------|-----------|134| C1: {name} | {factual assessment} | {factual assessment} | {factual assessment} |135| C2: {name} | {factual assessment} | {factual assessment} | {factual assessment} |136137## Trade-offs138139### Approach A140- **Gains:** {what you get}141- **Costs:** {what you accept}142- **Lock-in:** {reversibility assessment}143144### Approach B145- **Gains:** {what you get}146- **Costs:** {what you accept}147- **Lock-in:** {reversibility assessment}148149## Open Questions150151- {Any criterion where evidence is uncertain or missing}152- {Any constraint that needs human clarification}153154## Sources155156- {URL or reference for each factual claim}157```158159Saves to `contexts/artefacts/evaluations/{id}.approach-evaluation.md`.160161---162163## Quality Checks164165- Every criterion has a clear source (project context, not invented)166- Every assessment in the comparison matrix is factual, not opinion167- No approach is dismissed without evidence168- No approach is favored without evidence169- Trade-offs are explicit and symmetric (gains AND costs for each)170- Sources are provided for industry claims171- The evaluation does not contain a recommendation or decision172- Uncertain information is flagged as uncertain, not presented as fact173174---175176## Non-Goals177178This skill must NOT:179- Recommend or decide — the agent decides after reading the evaluation180- Invent criteria not grounded in project context181- Hallucinate library capabilities or industry practices — cite sources182- Evaluate more than 3 approaches (focus drives quality)183- Produce vague assessments ("this is generally good") — every claim must be specific and evidence-backed184- Skip the "obvious" approach — even if the default seems suboptimal, it must be evaluated fairly185186**The best approach is the one that survives honest comparison — not the one that arrives first.**