Claude Skill

pragmatic-guard

Enables and configures Pragmatic Guard Mode (YAGNI Enforcement) to prevent over-engineering. Use when the user requests "Enable pragmatic mode", "Turn on YAGNI enforcement", "Activate simplicity guard", "Challenge complexity", or similar phrases.

LLM Mart · 0 points · 0 views 0 listing impressions 0 install-command copies
Virus-scanned Reviewed automatically before listing.

Full trust report

Download codenamev-ai-software-architect-skills_pragmatic-guard-24a947b.zip · 2 KB
Part of codenamev/ai-software-architect — 4 skills

Install

skills CLI npx skills add https://github.com/codenamev/ai-software-architect/tree/main/skills/pragmatic-guard
Claude Code claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install codenamev-ai-software-architect@llmmart
Git git clone https://github.com/codenamev/ai-software-architect.git

The skills CLI installs just this skill, for any of its supported agents. Claude Code installs the whole codenamev/ai-software-architect collection as a plugin from our marketplace. Git is the plain clone.

Skill manifest

Pragmatic Guard Mode

Enables and configures the Pragmatic Guard Mode to actively challenge over-engineering.

Process

1. Check Current Configuration

  • Read .architecture/config.yml to check current settings
  • If config.yml doesn't exist, offer to create it from .architecture/templates/config.yml
  • Check if pragmatic_mode.enabled is true
  • Note the intensity level (strict/balanced/lenient)
  • Review exemption categories and triggers

2. Enable Pragmatic Mode (if requested)

If user wants to enable:

  • If config.yml doesn't exist:
    cp .architecture/templates/config.yml .architecture/config.yml
    
  • Set pragmatic_mode.enabled: true
  • Confirm intensity level with user or use default (balanced)
  • Create .architecture/deferrals.md from template if it doesn't exist:
    cp .architecture/templates/deferrals.md .architecture/deferrals.md
    
  • Inform user about mode activation and current settings

3. Configure Intensity Level

Ask user which intensity they prefer if not specified:

Strict Mode:

  • Challenges aggressively, requires strong justification for any complexity
  • Questions every "should" and "could"
  • Pushes for absolute minimal implementation
  • Best for: New projects, MVPs, startups with limited resources

Balanced Mode (RECOMMENDED):

  • Challenges thoughtfully, accepts justified complexity
  • Seeks middle ground between simplicity and best practices
  • Questions "should" but accepts reasonable "must"
  • Best for: Most projects, growing teams, moderate complexity

Lenient Mode:

  • Raises concerns without blocking
  • Suggests simpler alternatives as options
  • Focuses on major complexity additions only
  • Best for: Established projects, teams with strong architecture practices

4. Configure Triggers (optional)

Ask if user wants to customize which situations trigger pragmatic analysis:

  • New abstraction layers (interfaces, base classes, DI containers)
  • New external dependencies (libraries, frameworks, services)
  • New architectural patterns (repository, strategy, observer)
  • Scope expansion beyond initial requirements
  • Performance optimizations without evidence
  • Test infrastructure upfront
  • Flexibility/configurability additions

5. Configure Exemptions (optional)

Confirm exemption categories where best practices should be maintained:

  • Security-critical features (always exempt by default)
  • Data integrity (always exempt by default)
  • Compliance requirements (always exempt by default)
  • Accessibility (always exempt by default)

6. Understanding the Pragmatic Enforcer

Explain how the Pragmatic Enforcer will participate:

In Architecture Reviews:

  • Reviews each architect's recommendations
  • Applies necessity assessment (0-10 scoring)
  • Applies complexity assessment (0-10 scoring)
  • Proposes simpler alternatives
  • Calculates pragmatic score (complexity/necessity ratio, target <1.5)

In ADR Creation:

  • Challenges proposed decisions
  • Questions whether complexity is justified by current needs
  • Suggests phased approaches or deferrals
  • Documents trigger conditions for deferred decisions

Question Framework:

  • Necessity: "Do we need this right now?" "What breaks without it?"
  • Simplicity: "What's the simplest thing that could work?"
  • Cost: "What's the cost of implementing now vs waiting?"
  • Alternatives: "What if we just...?" "Could we use existing tools?"
  • Best Practices: "Does this best practice apply to our context?"

7. Deferrals Tracking

If behavior.track_deferrals is true:

  • Maintain .architecture/deferrals.md with deferred decisions
  • Include trigger conditions for each deferral
  • Track when deferrals are implemented or remain deferred

8. Report to User

Pragmatic Guard Mode: [Enabled | Disabled]

Configuration:
- Intensity: [strict | balanced | lenient]
- Apply to: [List of phases where it applies]
- Deferrals tracking: [enabled | disabled]

Exemptions:
- Security-critical: [enabled | disabled]
- Data integrity: [enabled | disabled]
- Compliance: [enabled | disabled]
- Accessibility: [enabled | disabled]

Triggers:
[List of active triggers]

The Pragmatic Enforcer will now:
- Challenge recommendations from other architects
- Question complexity and abstractions
- Propose simpler alternatives
- Calculate pragmatic scores (target ratio <1.5)
- [If enabled] Track deferred decisions in .architecture/deferrals.md

Next Steps:
- Create an ADR: "Create ADR for [topic]" (will include pragmatic analysis)
- Start a review: "Start architecture review for [target]" (will include pragmatic challenges)
- Adjust settings: Edit .architecture/config.yml

When to Use Pragmatic Mode

Enable for:

  • New projects or MVPs
  • Teams prone to over-engineering
  • Resource-constrained environments
  • Learning environments (teaching YAGNI)
  • Projects with tight deadlines

Consider disabling for:

  • Mature systems with established patterns
  • High-complexity domains requiring abstractions
  • Teams already practicing strong YAGNI principles
  • Projects with specific architectural requirements

Notes

  • Pragmatic mode is about finding balance, not blocking progress
  • The Pragmatic Enforcer's role is to question and challenge, not to veto
  • Intensity level should match team maturity and project complexity
  • Exemptions ensure critical areas maintain appropriate rigor
  • Deferrals can always be implemented when triggered by actual needs
Files (ai-software-architect)
  • SKILL.md 5.6 KB
    ---
    name: pragmatic-guard
    description: Enables and configures Pragmatic Guard Mode (YAGNI Enforcement) to prevent over-engineering. Use when the user requests "Enable pragmatic mode", "Turn on YAGNI enforcement", "Activate simplicity guard", "Challenge complexity", or similar phrases.
    allowed-tools: Read,Edit
    disable-model-invocation: true
    ---
    
    # Pragmatic Guard Mode
    
    Enables and configures the Pragmatic Guard Mode to actively challenge over-engineering.
    
    ## Process
    
    ### 1. Check Current Configuration
    - Read `.architecture/config.yml` to check current settings
    - If config.yml doesn't exist, offer to create it from `.architecture/templates/config.yml`
    - Check if `pragmatic_mode.enabled` is true
    - Note the intensity level (strict/balanced/lenient)
    - Review exemption categories and triggers
    
    ### 2. Enable Pragmatic Mode (if requested)
    If user wants to enable:
    - If config.yml doesn't exist:
      ```bash
      cp .architecture/templates/config.yml .architecture/config.yml
      ```
    - Set `pragmatic_mode.enabled: true`
    - Confirm intensity level with user or use default (balanced)
    - Create `.architecture/deferrals.md` from template if it doesn't exist:
      ```bash
      cp .architecture/templates/deferrals.md .architecture/deferrals.md
      ```
    - Inform user about mode activation and current settings
    
    ### 3. Configure Intensity Level
    Ask user which intensity they prefer if not specified:
    
    **Strict Mode**:
    - Challenges aggressively, requires strong justification for any complexity
    - Questions every "should" and "could"
    - Pushes for absolute minimal implementation
    - Best for: New projects, MVPs, startups with limited resources
    
    **Balanced Mode** (RECOMMENDED):
    - Challenges thoughtfully, accepts justified complexity
    - Seeks middle ground between simplicity and best practices
    - Questions "should" but accepts reasonable "must"
    - Best for: Most projects, growing teams, moderate complexity
    
    **Lenient Mode**:
    - Raises concerns without blocking
    - Suggests simpler alternatives as options
    - Focuses on major complexity additions only
    - Best for: Established projects, teams with strong architecture practices
    
    ### 4. Configure Triggers (optional)
    Ask if user wants to customize which situations trigger pragmatic analysis:
    - New abstraction layers (interfaces, base classes, DI containers)
    - New external dependencies (libraries, frameworks, services)
    - New architectural patterns (repository, strategy, observer)
    - Scope expansion beyond initial requirements
    - Performance optimizations without evidence
    - Test infrastructure upfront
    - Flexibility/configurability additions
    
    ### 5. Configure Exemptions (optional)
    Confirm exemption categories where best practices should be maintained:
    - Security-critical features (always exempt by default)
    - Data integrity (always exempt by default)
    - Compliance requirements (always exempt by default)
    - Accessibility (always exempt by default)
    
    ### 6. Understanding the Pragmatic Enforcer
    Explain how the Pragmatic Enforcer will participate:
    
    **In Architecture Reviews**:
    - Reviews each architect's recommendations
    - Applies necessity assessment (0-10 scoring)
    - Applies complexity assessment (0-10 scoring)
    - Proposes simpler alternatives
    - Calculates pragmatic score (complexity/necessity ratio, target <1.5)
    
    **In ADR Creation**:
    - Challenges proposed decisions
    - Questions whether complexity is justified by current needs
    - Suggests phased approaches or deferrals
    - Documents trigger conditions for deferred decisions
    
    **Question Framework**:
    - **Necessity**: "Do we need this right now?" "What breaks without it?"
    - **Simplicity**: "What's the simplest thing that could work?"
    - **Cost**: "What's the cost of implementing now vs waiting?"
    - **Alternatives**: "What if we just...?" "Could we use existing tools?"
    - **Best Practices**: "Does this best practice apply to our context?"
    
    ### 7. Deferrals Tracking
    If `behavior.track_deferrals` is true:
    - Maintain `.architecture/deferrals.md` with deferred decisions
    - Include trigger conditions for each deferral
    - Track when deferrals are implemented or remain deferred
    
    ### 8. Report to User
    ```
    Pragmatic Guard Mode: [Enabled | Disabled]
    
    Configuration:
    - Intensity: [strict | balanced | lenient]
    - Apply to: [List of phases where it applies]
    - Deferrals tracking: [enabled | disabled]
    
    Exemptions:
    - Security-critical: [enabled | disabled]
    - Data integrity: [enabled | disabled]
    - Compliance: [enabled | disabled]
    - Accessibility: [enabled | disabled]
    
    Triggers:
    [List of active triggers]
    
    The Pragmatic Enforcer will now:
    - Challenge recommendations from other architects
    - Question complexity and abstractions
    - Propose simpler alternatives
    - Calculate pragmatic scores (target ratio <1.5)
    - [If enabled] Track deferred decisions in .architecture/deferrals.md
    
    Next Steps:
    - Create an ADR: "Create ADR for [topic]" (will include pragmatic analysis)
    - Start a review: "Start architecture review for [target]" (will include pragmatic challenges)
    - Adjust settings: Edit .architecture/config.yml
    ```
    
    ## When to Use Pragmatic Mode
    
    **Enable for**:
    - New projects or MVPs
    - Teams prone to over-engineering
    - Resource-constrained environments
    - Learning environments (teaching YAGNI)
    - Projects with tight deadlines
    
    **Consider disabling for**:
    - Mature systems with established patterns
    - High-complexity domains requiring abstractions
    - Teams already practicing strong YAGNI principles
    - Projects with specific architectural requirements
    
    ## Notes
    - Pragmatic mode is about finding balance, not blocking progress
    - The Pragmatic Enforcer's role is to question and challenge, not to veto
    - Intensity level should match team maturity and project complexity
    - Exemptions ensure critical areas maintain appropriate rigor
    - Deferrals can always be implemented when triggered by actual needs
    

Comments (0)

Sign in to join the conversation.

No comments yet.

Reviews (0)

No reviews yet.

Related