/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:
- IMMEDIATELY execute - no questions, no explanations first
- Parse the query to identify the decision point
- Analyze tradeoffs using ADRs, standards, and best practices
- 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 Pattern | Purpose | Sources |
|---|---|---|
/should I use X or Y | Compare options | ADRs, standards, best practices |
/should we refactor X | Refactoring decision | Code metrics, debt analysis |
/should this be X | Design decision | Architecture patterns |
/should I add X | Feature decision | Scope, complexity analysis |
/should we test X | Testing decision | Risk 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.
Related Commands
| Command | Purpose |
|---|---|
/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