frustration-eradication

Frustration Eradication Skill

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "frustration-eradication" with this command: npx skills add plurigrid/asi/plurigrid-asi-frustration-eradication

Frustration Eradication Skill

Layer 0: Pre-Response Validation for Persistent User Preferences

Version: 1.0.0
Trit: -1 (MINUS - Validator/Constrainer)
Bundle: meta-enforcement

Overview

This skill enforces user preferences that historically don't persist across sessions. It implements the Frustration Index — a ranked list of patterns where repeated requests fail to stick.

Core Insight: Preferences stated once should persist forever. This skill validates every response against known frustration patterns before output.

Frustration Index (Ranked by Persistence Score)

RankPatternPersistenceEnforcement
1Banned voices (Daniel, novelty)2/10Voice allowlist check
2Subagent bypass2/10Task tool mandate
3derive-resource-account-address3/10Aptos wallet validation
4web_search vs Exa3/10MCP tool inheritance
5Sequential vs parallel4/10Trifurcation default
6Response verbosity4/10Line count check
7GF(3) conservation5/10Σ trits = 0 assertion
8Comments in code5/10Comment detection
9Declarative preference6/10Config lang suggestion
103 skills per interaction6/10Skill count check

Pre-Response Validation Checklist

Before EVERY response, validate:

frustration_checklist:
  voices:
    banned: [all native en_* voices - Samantha, Ava, Karen, Daniel, etc.]
    allowed: [_, non-English voices speaking English, novelty voices for effects]
    rule: ALL skills use "say -v _" - say-narration resolves voice
    
  subagents:
    rule: "NEVER say 'I'll implement instead of subagents'"
    enforcement: use_task_tool_for_parallel_work
    
  search:
    banned: web_search (in Task subagents)
    required: mcp__exa__* tools
    pass_to_subagent: "CRITICAL: Use mcp__exa__web_search_exa, NOT web_search"
    
  parallelism:
    default: trifurcate_into_3_task_agents
    sequential_requires: explicit_justification
    
  verbosity:
    max_lines: 4 (unless user asks for detail)
    no_summaries: true
    no_preamble: true
    no_postamble: true
    
  code:
    no_comments: true (unless requested)
    no_ts_ignore: true
    no_as_any: true
    
  gf3:
    conservation: Σ trits ≡ 0 (mod 3)
    verify_after: every_trifurcation
    
  skills:
    per_interaction: 3
    include: plurigrid-asi-integrated
    assign_trits: [-1, 0, +1]
    
  aptos:
    banned: derive-resource-account-address (for wallets)
    validate_before: any_funding_operation

Validation Functions

1. validate_voices

# Check for banned voices in response
validate_voices() {
  local banned="Daniel|Albert|Bad News|Bells|Boing|Bubbles|Cellos|Zarvox"
  if echo "$RESPONSE" | grep -qE "say -v ($banned)"; then
    echo "❌ BANNED VOICE DETECTED"
    return 1
  fi
  return 0
}

2. validate_subagent_usage

def validate_subagent_usage(response: str) -> bool:
    """Ensure Task tool is used for parallel work."""
    banned_phrases = [
        "I'll implement instead of subagents",
        "I'll do this sequentially",
        "Let me handle this myself"
    ]
    for phrase in banned_phrases:
        if phrase.lower() in response.lower():
            return False
    return True

3. validate_search_tools

def validate_task_prompt(prompt: str) -> str:
    """Inject Exa requirement into Task prompts."""
    exa_warning = """
CRITICAL: Do NOT use web_search. Use only:
- mcp__exa__web_search_exa for semantic search
- mcp__exa__crawling_exa for URL content
- finder, Grep, Read for local files
"""
    return prompt + "\n\n" + exa_warning

4. validate_gf3_conservation

def validate_gf3(trits: list[int]) -> bool:
    """Verify GF(3) conservation: Σ trits ≡ 0 (mod 3)."""
    return sum(trits) % 3 == 0

5. validate_response_length

def validate_verbosity(response: str, max_lines: int = 4) -> bool:
    """Check response doesn't exceed line limit."""
    lines = [l for l in response.split('\n') if l.strip()]
    # Exclude code blocks and tool outputs
    prose_lines = [l for l in lines if not l.startswith('```')]
    return len(prose_lines) <= max_lines

Integration with Ruler

This skill's constraints are automatically propagated via Ruler to:

~/.ruler/AGENTS.md           # Source of truth
~/.claude/CLAUDE.md          # Claude Code
~/.cursor/rules/             # Cursor
~/.codex/instructions.md     # Codex
~/.amp/AGENTS.md             # Amp
# ... 67+ more agent configs

Triadic Role

TritSkillFunction
-1frustration-eradicationValidate/Constrain
0rulerCoordinate/Propagate
+1skill-evolutionGenerate/Improve

Conservation: (-1) + (0) + (+1) = 0 ✓

Usage

Automatic (Recommended)

Load this skill at session start:

skill frustration-eradication

It will automatically inject validation into the response pipeline.

Manual Validation

# Check current response for violations
just frustration-check

# Scan all skills for banned patterns
just frustration-scan-skills

# Update Frustration Index with new pattern
just frustration-add "pattern_name" "evidence" "persistence_score"

Adding New Frustration Patterns

When you identify a new pattern that doesn't persist:

  1. Document in FRUSTRATION_INDEX.md:

    ### N. **Pattern Name** — Persistence Score: X/10
    **Pattern**: Description
    **Evidence**: Where it fails
    **Root Cause**: Why it doesn't persist
    
  2. Add to this skill's checklist:

    new_pattern:
      check: how_to_detect
      enforcement: how_to_prevent
    
  3. Propagate via Ruler:

    just ruler-propagate
    

Prediction Market Integration

Each frustration pattern has betting odds in prediction.move:

// Market outcomes map to GF(3) trits
// 0 = MINUS (pattern persists = bad)
// 1 = ERGODIC (partial fix)
// 2 = PLUS (pattern fixed = good)

Related Skills

  • ruler — Propagates constraints to all agents
  • self-validation-loop — Runtime validation
  • bisimulation-game — Verifies equivalence across agents
  • skill-evolution — Improves skills over time

Commands

just frustration-check        # Validate current session
just frustration-scan         # Find all violations
just frustration-fix          # Auto-fix known patterns
just frustration-report       # Generate compliance report
just frustration-propagate    # Push to all agents via Ruler

"The best frustration is the one that never happens."

GF(3) Trit: -1 (VALIDATOR — preventing frustration before it occurs)

Scientific Skill Interleaving

This skill connects to the K-Dense-AI/claude-scientific-skills ecosystem:

Graph Theory

  • networkx [○] via bicomodule
    • Universal graph hub

Bibliography References

  • category-theory: 139 citations in bib.duckdb

SDF Interleaving

This skill connects to Software Design for Flexibility (Hanson & Sussman, 2021):

Primary Chapter: 10. Adventure Game Example

Concepts: autonomous agent, game, synthesis

GF(3) Balanced Triad

frustration-eradication (+) + SDF.Ch10 (+) + [balancer] (+) = 0

Skill Trit: 1 (PLUS - generation)

Secondary Chapters

  • Ch7: Propagators
  • Ch4: Pattern Matching
  • Ch6: Layering

Connection Pattern

Adventure games synthesize techniques. This skill integrates multiple patterns.

Cat# Integration

This skill maps to Cat# = Comod(P) as a bicomodule in the equipment structure:

Trit: 0 (ERGODIC)
Home: Prof
Poly Op: ⊗
Kan Role: Adj
Color: #26D826

GF(3) Naturality

The skill participates in triads satisfying:

(-1) + (0) + (+1) ≡ 0 (mod 3)

This ensures compositional coherence in the Cat# equipment structure.

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

alife

No summary provided by upstream source.

Repository SourceNeeds Review
General

beeper-mcp

No summary provided by upstream source.

Repository SourceNeeds Review
General

asi-integrated

No summary provided by upstream source.

Repository SourceNeeds Review
General

bdd-mathematical-verification

No summary provided by upstream source.

Repository SourceNeeds Review