Get the FREE Ultimate OpenClaw Setup Guide →

advisor-triggers

npx machina-cli add skill akaszubski/autonomous-dev/advisor-triggers --openclaw
Files (1)
SKILL.md
7.6 KB

Advisor Auto-Invoke Triggers

Purpose

Detect patterns in user requests that indicate a need for critical thinking analysis. Suggests running /advise when users propose significant changes without first considering trade-offs.

Detection Patterns

Pattern 1: New Dependencies

Triggers:

  • "add [package/library/service]"
  • "use [technology]"
  • "integrate [external service]"
  • "switch to [different tool]"

Examples:

  • "Let's add Redis for caching"
  • "Use TensorFlow for ML"
  • "Integrate Stripe for payments"
  • "Switch to PostgreSQL"

Why advise? New dependencies increase complexity and maintenance burden.

Pattern 2: Architecture Changes

Triggers:

  • "refactor to [pattern]"
  • "restructure as [architecture]"
  • "migrate to [architecture]"
  • "convert to [pattern]"

Examples:

  • "Refactor to microservices"
  • "Restructure as event-driven"
  • "Migrate to serverless"
  • "Convert to monorepo"

Why advise? Architectural changes have far-reaching implications.

Pattern 3: Scope Expansions

Triggers:

  • "also add [feature]"
  • "extend to [capability]"
  • "support [new use case]"
  • "make it [do more]"

Examples:

  • "Also add real-time collaboration"
  • "Extend to mobile platforms"
  • "Support multi-tenancy"
  • "Make it work offline"

Why advise? Scope creep can derail projects.

Pattern 4: Technology Replacements

Triggers:

  • "[X] instead of [Y]"
  • "replace [X] with [Y]"
  • "swap [X] for [Y]"

Examples:

  • "GraphQL instead of REST"
  • "Replace Express with Fastify"
  • "Swap MySQL for MongoDB"

Why advise? Tech replacements have migration costs.

Pattern 5: Scale Changes

Triggers:

  • "handle [large number]"
  • "scale to [big metric]"
  • "support [many users]"

Examples:

  • "Handle 1M requests/day"
  • "Scale to 100K users"
  • "Support 10K concurrent"

Why advise? Premature optimization is common.

Detection Logic

function shouldInvokeAdvisor(userRequest: string): boolean {
  const triggers = [
    // Dependencies
    /add (redis|mongodb|postgres|graphql|webpack|docker)/i,
    /use (tensorflow|pytorch|react|vue|angular)/i,
    /integrate (stripe|auth0|sendgrid|aws)/i,
    /switch to (typescript|rust|go|kubernetes)/i,
    
    // Architecture
    /refactor to (microservices|serverless|event-driven)/i,
    /restructure as/i,
    /migrate to/i,
    /convert to/i,
    
    // Scope
    /also add/i,
    /extend to/i,
    /support (mobile|multi-tenant|real-time|offline)/i,
    
    // Technology replacement
    /instead of/i,
    /replace \w+ with/i,
    /swap \w+ for/i,
    
    // Scale
    /scale to/i,
    /handle \d+[kmb]/i, // 1k, 1m, 1b
    /support \d+k/i
  ];
  
  return triggers.some(pattern => pattern.test(userRequest));
}

Response Format

When trigger detected:

⚠️ **Significant decision detected**

Your request involves [architecture change / new dependency / scope expansion].

Consider running critical analysis first:

/advise "{user's proposal}"

This will provide:
- Alignment check with PROJECT.md
- Complexity assessment
- Trade-off analysis
- Alternative approaches
- Risk identification

Takes 2-3 minutes, could save weeks.

Proceed with analysis? [Y/n]

Configuration

# .claude/config.yml
advisor_triggers:
  enabled: true
  
  # Sensitivity
  sensitivity: medium  # low | medium | high
  
  # Specific triggers
  triggers:
    new_dependencies: true
    architecture_changes: true
    scope_expansions: true
    technology_swaps: true
    scale_changes: true
  
  # Auto-activation (don't ask, just run)
  auto_activate: false  # If true, runs /advise automatically

Integration Points

Point 1: Before /plan Command

User: "Let's add Redis caching"
  ↓
advisor-triggers: Detected new dependency
  ↓
[Suggest /advise]
  ↓
User: Accepts suggestion
  ↓
/advise "Add Redis caching"
  ↓
User: Reviews analysis, decides
  ↓
/plan [chosen approach]

Point 2: Before /auto-implement

User: "/auto-implement add WebSocket support"
  ↓
advisor-triggers: Detected architecture change
  ↓
[Suggest /advise first]
  ↓
User: Either runs /advise or proceeds anyway

Point 3: In Orchestrator Agent

orchestrator receives feature request
  ↓
Check advisor-triggers
  ↓
IF significant decision detected
  ↓
Invoke advisor agent first
  ↓
Present analysis to user
  ↓
THEN proceed with planning

False Positives

Some requests trigger falsely:

False Positive:

  • "Fix bug in Redis connection" ← mentions Redis but not adding it
  • "Document the microservices" ← mentions architecture but not changing it

Solution: Context-aware detection:

// Only trigger if action verb present
if (containsActionVerb(request) && containsTriggerKeyword(request)) {
  return true;
}

Override

Users can bypass:

# Explicit skip
/plan --skip-advisor "Add Redis caching"

# Or acknowledge in prompt
"Add Redis caching (already analyzed, proceeding)"

Success Metrics

This skill is successful if:

  • ✅ Catches 80%+ of significant decisions
  • ✅ False positive rate < 20%
  • ✅ Users find suggestions helpful (not annoying)
  • ✅ Reduces regretted decisions (measured via rollbacks)

Example Outputs

Example 1: New Dependency

User: "Let's add Elasticsearch for search"

⚠️ Significant decision detected

Your request involves adding a new dependency (Elasticsearch).

Consider critical analysis first:
  /advise "Add Elasticsearch for full-text search"

This will check:
  - Alignment with PROJECT.md goals
  - Complexity cost (Elasticsearch cluster, maintenance)
  - Alternatives (PostgreSQL full-text search, simple indexing)
  - Trade-offs (features vs operational complexity)

Takes 2-3 minutes. Run analysis? [Y/n]

Example 2: Architecture Change

User: "Refactor to event-driven architecture"

⚠️ Significant decision detected

Your request involves a major architectural change.

Consider critical analysis first:
  /advise "Refactor to event-driven architecture"

This will evaluate:
  - Alignment with current architecture (PROJECT.md:78)
  - Migration complexity (message bus, event schemas)
  - Pros/cons of event-driven vs current approach
  - Alternative patterns (queue-based, CQRS lite)

This is a 6-8 week decision. Run analysis? [Y/n]

Example 3: Scope Expansion

User: "Also add mobile app support"

⚠️ Significant decision detected

Your request expands project scope to mobile platforms.

Consider critical analysis first:
  /advise "Add mobile app (iOS + Android)"

This will check:
  - Alignment with PROJECT.md scope (currently web-only)
  - Effort estimate (React Native vs native vs PWA)
  - Trade-offs (mobile features vs maintenance burden)
  - MVP options (PWA first, native later)

Major scope change. Run analysis? [Y/n]

Disabling

If users find this annoying:

# Disable globally
echo "advisor_triggers:\n  enabled: false" >> .claude/config.yml

# Or reduce sensitivity
echo "advisor_triggers:\n  sensitivity: low" >> .claude/config.yml

Version History

  • 1.0.0 (2025-10-26): Initial release
    • Pattern detection for 5 trigger types
    • Configurable sensitivity
    • Integration with /advise command

Philosophy: Help users pause and think before committing to significant changes. The goal is not to slow down development, but to prevent costly mistakes.

Source

git clone https://github.com/akaszubski/autonomous-dev/blob/master/plugins/autonomous-dev/skills/archived/advisor-triggers/SKILL.mdView on GitHub

Overview

Advisor Auto-Invoke Triggers detects patterns in user requests that indicate a need for critical thinking analysis. It watches for new dependencies, architecture changes, scope expansions, technology replacements, and scale changes, and prompts /advise to assess trade-offs.

How This Skill Works

The skill uses a set of pattern-based triggers to scan user input. When a match is found across dependencies, architecture, scope, technology replacements, or scale, it flags the need for critical analysis and guides the user to run /advise for a structured risk and trade-off assessment.

When to Use It

  • When a user requests adding a new dependency, such as Redis, TensorFlow, or Stripe, triggering consideration of maintenance and compatibility.
  • When a user proposes architecture changes like refactoring to microservices, migrating to serverless, or moving to an event-driven design.
  • When a user asks to expand scope, e.g., adding real-time collaboration, extending to mobile, or supporting new use cases.
  • When a user suggests replacing technology, such as GraphQL instead of REST or swapping Express for a faster framework.
  • When a user mentions scaling or performance goals, e.g., handling 1M requests/day or supporting 100K users.

Quick Start

  1. Step 1: Monitor user requests for patterns across dependencies, architecture, scope, tech replacements, and scale.
  2. Step 2: If a pattern matches, prompt the user to run /advise with a structured advisory block.
  3. Step 3: If the user proceeds, execute /advise to produce alignment, complexity, trade-offs, and risk analysis.

Best Practices

  • Bridge to critical thinking early: use the triggers to prompt analysis before committing to changes.
  • Align prompts with PROJECT.md to ensure coherence with project goals and constraints.
  • Capture trade-offs, risks, and alternative approaches during /advise.
  • Avoid auto-activation unless configured; respect sensitivity settings to prevent over-prompting.
  • Keep responses concise and actionable to minimize decision fatigue.

Example Use Cases

  • User says: "Let's add Redis for caching" (new dependency).
  • User says: "Refactor to microservices" (architecture change).
  • User says: "Extend to mobile platforms" (scope expansion).
  • User says: "GraphQL instead of REST" (technology replacement).
  • User says: "Handle 1M requests/day" (scale change).

Frequently Asked Questions

Add this skill to your agents
Sponsor this space

Reach thousands of developers