Skip to main content

/should - Best Practice Guidance

Get best practice recommendations, decision guidance, and tradeoff analysis.

System Prompt

⚠️ EXECUTION DIRECTIVE: When the user invokes this command, you MUST:

  1. IMMEDIATELY execute - no questions, no explanations first
  2. Parse the query to identify the decision point
  3. Analyze tradeoffs using ADRs, standards, and best practices
  4. Provide clear recommendation with reasoning

DO NOT:

  • Give wishy-washy "it depends" without concrete guidance
  • Skip the WHY behind recommendations

The user invoking the command IS the confirmation.


Usage

/should <decision-query>

Query Patterns

Query PatternPurposeSources
/should I use X or YCompare optionsADRs, standards, best practices
/should we refactor XRefactoring decisionCode metrics, debt analysis
/should this be XDesign decisionArchitecture patterns
/should I add XFeature decisionScope, complexity analysis
/should we test XTesting decisionRisk analysis, coverage

Execution Steps

Step 1: Parse Decision Point

# Identify the decision being asked
# Common patterns: "X or Y", "refactor", "add", "change", "test"

Step 2: Gather Context

# Check relevant ADRs
grep -r "$TOPIC" internal/architecture/adrs/*.md

# Check standards
grep -r "$TOPIC" coditect-core-standards/*.md

# Check existing patterns
python3 scripts/component-indexer.py --search "$TOPIC"

Step 3: Analyze Tradeoffs

# For each option, identify:
# - Pros (benefits, alignment with standards)
# - Cons (risks, complexity, maintenance)
# - Precedent (how similar decisions were made)

Step 4: Provide Recommendation

# Clear YES/NO with reasoning
# Include: recommendation + why + alternatives + risks

Response Format

┌─────────────────────────────────────────────────────────────────┐
│ /should: <query> │
├─────────────────────────────────────────────────────────────────┤
│ RECOMMENDATION │
│ ────────────── │
│ │
│ ✅ YES, you should... / ❌ NO, you should not... │
│ │
│ REASONING │
│ ───────── │
│ <clear explanation of why> │
│ │
│ TRADEOFFS │
│ ───────── │
│ Option A: │
│ ✓ Pro: <benefit> │
│ ✗ Con: <drawback> │
│ │
│ Option B: │
│ ✓ Pro: <benefit> │
│ ✗ Con: <drawback> │
│ │
│ PRECEDENT │
│ ───────── │
│ ADR-XXX: <relevant decision> │
│ Standard: <relevant standard> │
│ │
│ RISKS IF IGNORED │
│ ─────────────── │
│ • <risk 1> │
│ • <risk 2> │
│ │
├─────────────────────────────────────────────────────────────────┤
│ Confidence: HIGH/MEDIUM/LOW │
└─────────────────────────────────────────────────────────────────┘

Examples

Compare Options

/should I use SQLite or PostgreSQL for this feature

Output:

✅ YES, you should use PostgreSQL

REASONING:
The four-tier database architecture (ADR-118) establishes PostgreSQL
for production workloads. SQLite is only for local caching (Tier 3).

TRADEOFFS:
PostgreSQL:
✓ Pro: Production-ready, concurrent access, full SQL
✗ Con: Requires server setup, more complex
SQLite:
✓ Pro: Zero config, file-based, simple
✗ Con: Single-writer, limited concurrency

PRECEDENT:
ADR-118: Four-Tier Database Architecture

Refactoring Decision

/should we refactor the authentication module

Output:

✅ YES, you should refactor

REASONING:
Code metrics show:
- Cyclomatic complexity: 45 (threshold: 20)
- 3 duplicate implementations found
- No unit tests covering edge cases

RISKS IF IGNORED:
• Security vulnerabilities from unmaintained code
• Increased bug rate from complexity

Testing Decision

/should we add e2e tests for this PR

Output:

❌ NO, not for this PR

REASONING:
This is a small utility function with no UI changes. Unit tests
are sufficient. E2E tests would add CI time without proportional
coverage benefit.

ALTERNATIVE:
Add unit tests covering edge cases instead.
CommandPurpose
/can <action>Check if something is possible
/how <task>Get step-by-step guidance
/why <decision>Understand existing decisions
/which <task>Find the right tool/agent
/is <state>Check current state

Success Output

✅ COMMAND COMPLETE: /should
Query: <query>
Recommendation: YES/NO
Confidence: HIGH/MEDIUM/LOW
Sources: <ADRs, standards, analysis>

Completion Checklist

Before marking complete:

  • Decision point identified
  • Tradeoffs analyzed
  • Clear recommendation given
  • Reasoning provided
  • Precedent cited (if exists)
  • Risks identified

Failure Indicators

This command has FAILED if:

  • ❌ No query provided
  • ❌ No clear recommendation given
  • ❌ No reasoning provided
  • ❌ "It depends" without specifics

When NOT to Use

Do NOT use when:

  • Need capability check (use /can)
  • Need state verification (use /is)
  • Need step-by-step instructions (use /how)

Principles

This command embodies:

  • #6 Clear, Understandable - Definitive recommendations
  • #9 Based on Facts - Uses ADRs, standards, metrics
  • #8 User Control Maintained - User makes final decision

Full Standard: CODITECT-STANDARD-AUTOMATION.md


Version: 1.0.0 Created: 2026-02-04 Author: CODITECT Team Framework: 5W+H Question Framework