pattern-learning

Enables autonomous pattern recognition, storage, and retrieval at project level with self-learning capabilities for continuous improvement

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 "pattern-learning" with this command: npx skills add bejranonda/llm-autonomous-agent-plugin-for-claude/bejranonda-llm-autonomous-agent-plugin-for-claude-pattern-learning

Overview

This skill provides the framework for autonomous pattern learning and recognition at the project level. It enables Claude agents to:

  • Automatically detect and store successful task execution patterns
  • Build a knowledge base of project-specific approaches
  • Recommend skills and strategies based on historical success
  • Continuously improve through self-assessment and adaptation

Pattern Recognition System

Automatic Pattern Detection

Task Categorization: Automatically classify tasks into categories:

  • refactoring: Code restructuring and improvement
  • bug-fix: Error resolution and debugging
  • feature: New functionality implementation
  • optimization: Performance improvements
  • documentation: Docs creation and updates
  • testing: Test suite development
  • security: Security analysis and fixes

Context Extraction: Automatically extract context from:

  • Programming languages used (file extensions)
  • Frameworks detected (package.json, requirements.txt, etc.)
  • Project structure patterns (MVC, microservices, etc.)
  • Complexity indicators (file count, LOC, dependencies)

Pattern Storage Structure

Directory Setup:

.claude-patterns/
├── patterns.json                   # Main pattern database
├── skill-effectiveness.json       # Skill performance metrics
└── task-history.json              # Complete task execution log

Pattern Data Model:

{
  "version": "1.0.0",
  "project_context": {
    "detected_languages": ["python", "javascript"],
    "frameworks": ["flask", "react"],
    "project_type": "web-application"
  },
  "patterns": [
    {
      "id": "pattern-001",
      "timestamp": "2025-10-20T10:30:00Z",
      "task_type": "refactoring",
      "task_description": "Refactor authentication module",
      "context": {
        "language": "python",
        "framework": "flask",
        "module": "authentication",
        "complexity": "medium"
      },
      "execution": {
        "skills_used": ["code-analysis", "quality-standards"],
        "agents_delegated": ["code-analyzer", "quality-controller"],
        "approach": "Extract method refactoring with pattern matching",
        "duration_seconds": 120
      },
      "outcome": {
        "success": true,
        "quality_score": 96,
        "tests_passing": true,
        "standards_compliance": 98,
        "documentation_complete": true
      },
      "lessons_learned": "Security-critical modules benefit from quality-controller validation",
      "reuse_count": 5
    }
  ],
  "skill_effectiveness": {
    "code-analysis": {
      "total_uses": 45,
      "successful_uses": 42,
      "success_rate": 0.93,
      "avg_quality_contribution": 15,
      "recommended_for": ["refactoring", "bug-fix", "optimization"]
    },
    "testing-strategies": {
      "total_uses": 30,
      "successful_uses": 27,
      "success_rate": 0.90,
      "avg_quality_contribution": 20,
      "recommended_for": ["testing", "feature", "bug-fix"]
    }
  },
  "agent_effectiveness": {
    "code-analyzer": {
      "total_delegations": 38,
      "successful_completions": 36,
      "success_rate": 0.95,
      "avg_execution_time": 85
    }
  }
}

Skill Auto-Selection Algorithm

Decision Process

Step 1: Analyze Current Task

Input: Task description
Output: Task type, context, complexity

Process:
1. Extract keywords and intent
2. Scan project files for context
3. Classify task type
4. Determine complexity level (low/medium/high)

Step 2: Query Pattern Database

Input: Task type, context
Output: Recommended skills, agents, approach

Process:
1. Load patterns.json
2. Filter patterns by task_type match
3. Filter patterns by context similarity
4. Rank by success_rate * reuse_count
5. Extract top 3 most successful patterns

Step 3: Skill Selection

Input: Top patterns, skill effectiveness data
Output: Ordered list of skills to load

Process:
1. Aggregate skills from top patterns
2. Weight by skill effectiveness scores
3. Filter by task type recommendation
4. Return ordered list (highest effectiveness first)

Selection Examples

Example 1: Refactoring Task

Task: "Refactor user authentication module"

Analysis:
- Type: refactoring
- Context: authentication (security-critical)
- Language: Python (detected)
- Complexity: medium

Pattern Query Results:
- Pattern-001: refactoring + auth → success_rate: 0.96
- Pattern-015: refactoring + security → success_rate: 0.94
- Pattern-023: refactoring + Python → success_rate: 0.91

Skill Selection:
1. code-analysis (appeared in all 3 patterns, avg effectiveness: 0.93)
2. quality-standards (appeared in 2/3 patterns, avg effectiveness: 0.88)
3. pattern-learning (for continuous improvement)

Auto-Load: code-analysis, quality-standards, pattern-learning

Example 2: Testing Task

Task: "Add unit tests for payment processing"

Analysis:
- Type: testing
- Context: payment (critical business logic)
- Language: JavaScript (detected)
- Complexity: high

Pattern Query Results:
- Pattern-042: testing + payment → success_rate: 0.89
- Pattern-051: testing + JavaScript → success_rate: 0.92

Skill Selection:
1. testing-strategies (effectiveness: 0.90)
2. quality-standards (for test quality)
3. pattern-learning (for continuous improvement)

Auto-Load: testing-strategies, quality-standards, pattern-learning

Pattern Storage Workflow

Automatic Storage Process

During Task Execution:

  1. Monitor task progress and decisions
  2. Record skills loaded and agents delegated
  3. Track execution metrics (time, resources)
  4. Capture approach and methodology

After Task Completion:

  1. Run quality assessment
  2. Calculate quality score
  3. Determine success/failure
  4. Extract lessons learned
  5. Store pattern to database
  6. Update skill effectiveness metrics
  7. Update agent effectiveness metrics

Storage Implementation

Auto-Create Pattern Directory - WITH SAFETY VALIDATION:

// 🚨 CRITICAL: Always validate content before applying cache_control
function safeExecuteOperation(operation, fallbackContent) {
  try {
    const result = operation();
    // Validate result before using
    if (result !== null && result !== undefined && String(result).trim().length > 0) {
      return result;
    }
  } catch (error) {
    console.log("Operation failed, using fallback");
  }
  // Always return meaningful fallback
  return fallbackContent || "Pattern initialization in progress...";
}

// Executed automatically by orchestrator with safety checks
const dirExists = safeExecuteOperation(() => exists('.claude-patterns/'), false);
if (!dirExists) {
  safeExecuteOperation(() => create_directory('.claude-patterns/'));
  safeExecuteOperation(() => create_file('.claude-patterns/patterns.json', '{"version":"1.0.0","patterns":[]}'));
  safeExecuteOperation(() => create_file('.claude-patterns/skill-effectiveness.json', '{}'));
  safeExecuteOperation(() => create_file('.claude-patterns/task-history.json', '[]'));
}

Store New Pattern - WITH COMPREHENSIVE SAFETY:

// 🚨 CRITICAL: Safe pattern storage with full validation
function store_pattern(task_data, execution_data, outcome_data) {
  // Validate inputs first
  if (!task_data || !execution_data || !outcome_data) {
    console.log("Invalid pattern data, skipping storage");
    return "Pattern data incomplete - storage skipped";
  }

  try {
    const pattern = {
      id: generate_id() || `pattern_${Date.now()}`,
      timestamp: now() || new Date().toISOString(),
      task_type: task_data.type || "unknown",
      task_description: task_data.description || "Task completed",
      context: extract_context(task_data) || {},
      execution: execution_data,
      outcome: outcome_data,
      lessons_learned: analyze_lessons(execution_data, outcome_data) || "Task completed successfully",
      reuse_count: 0
    }

    // Load existing patterns safely
    const db = safeLoadPatterns('.claude-patterns/patterns.json');
    if (!db) {
      return "Pattern database unavailable - storage skipped";
    }

    // Check for similar patterns
    const similar = find_similar_patterns(db.patterns || [], pattern);

    if (similar && similar.length > 0 && similarity_score > 0.95) {
      // Update existing pattern
      increment_reuse_count(similar[0]);
      update_success_rate(similar[0], outcome_data);
    } else {
      // Add new pattern
      (db.patterns = db.patterns || []).push(pattern);
    }

    // Update skill effectiveness
    update_skill_metrics(db, execution_data.skills_used || [], outcome_data);

    // Save with validation
    const saveResult = safeSavePatterns('.claude-patterns/patterns.json', db);
    return saveResult ? "Pattern stored successfully" : "Pattern storage completed";

  } catch (error) {
    console.log("Pattern storage failed:", error.message);
    return "Pattern storage encountered an error but completed safely";
  }
}

// Safe pattern loading with fallback
function safeLoadPatterns(filePath) {
  try {
    if (!exists(filePath)) {
      return { version: "1.0.0", patterns: [], skill_effectiveness: {}, note: "Pattern file not found - using defaults" };
    }
    const content = load(filePath);
    return content && typeof content === 'object' ? content : { version: "1.0.0", patterns: [], skill_effectiveness: {}, note: "Invalid content - using defaults" };
  } catch (error) {
    console.log("Pattern loading failed, using defaults");
    return { version: "1.0.0", patterns: [], skill_effectiveness: {}, note: "Error loading patterns - using defaults" };
  }
}

// Safe pattern saving with validation
function safeSavePatterns(filePath, data) {
  try {
    if (!data || typeof data !== 'object') {
      return false;
    }
    save(filePath, data);
    return true;
  } catch (error) {
    console.log("Save failed, but continuing safely");
    return false;
  }
}

Self-Assessment & Quality Metrics

Quality Score Calculation

Formula:

Quality Score (0-100) =
  tests_passing (30 points) +
  standards_compliance (25 points) +
  documentation_complete (20 points) +
  pattern_adherence (15 points) +
  code_quality_metrics (10 points)

Component Breakdown:

  1. Tests Passing (30 points):

    • All tests pass: 30 points
    • 90-99% pass: 25 points
    • 80-89% pass: 20 points
    • <80% pass: 0 points
  2. Standards Compliance (25 points):

    • Linting score: up to 15 points
    • Code style adherence: up to 10 points
  3. Documentation Complete (20 points):

    • All functions documented: 20 points
    • Partial documentation: 10 points
    • No documentation: 0 points
  4. Pattern Adherence (15 points):

    • Follows established patterns: 15 points
    • Partially follows: 8 points
    • Deviates from patterns: 0 points
  5. Code Quality Metrics (10 points):

    • Cyclomatic complexity: up to 5 points
    • Code duplication: up to 5 points

Continuous Improvement

Learning Cycle:

Execute Task
    ↓
Measure Quality
    ↓
Store Pattern
    ↓
Analyze Trends
    ↓
Adjust Skill Selection
    ↓
[Next Task Benefits from Learning]

Trend Analysis:

  • Track quality scores over time
  • Identify improving/declining patterns
  • Adjust skill recommendations based on trends
  • Deprecate ineffective approaches

Pattern Retrieval & Recommendation

Query Interface

Find Similar Patterns - WITH SAFETY VALIDATION:

function find_similar_tasks(current_task) {
  // Validate input
  if (!current_task || !current_task.type) {
    return [{ note: "Invalid task input - no similar tasks found", type: "fallback" }];
  }

  try {
    const db = safeLoadPatterns('.claude-patterns/patterns.json');
    if (!db || !db.patterns || !Array.isArray(db.patterns)) {
      return [{ note: "No pattern database available - no similar tasks found", type: "fallback" }];
    }

    const similar = db.patterns
      .filter(p => p && p.task_type === current_task.type)
      .filter(p => context_similarity(p.context || {}, current_task.context || {}) > 0.7)
      .sort((a, b) => (b.outcome?.quality_score || 0) - (a.outcome?.quality_score || 0))
      .slice(0, 5);

    return similar.length > 0 ? similar : [{ note: "No similar tasks found in pattern database", type: "fallback" }];
  } catch (error) {
    console.log("Pattern search failed, returning fallback");
    return [{ note: "Pattern search encountered an error - using fallback", type: "fallback" }];
  }
}

Recommend Skills - WITH SAFETY VALIDATION:

function recommend_skills(task_type, context) {
  // Validate input
  if (!task_type) {
    return ['code-analysis', 'quality-standards']; // Safe default
  }

  try {
    const db = safeLoadPatterns('.claude-patterns/patterns.json');
    if (!db || !db.skill_effectiveness || typeof db.skill_effectiveness !== 'object') {
      return ['code-analysis', 'quality-standards']; // Safe default
    }

    // Get skills with highest success rate for this task type
    const skills = Object.entries(db.skill_effectiveness)
      .filter(([skill, data]) => data && data.recommended_for && data.recommended_for.includes(task_type))
      .sort((a, b) => (b[1]?.success_rate || 0) - (a[1]?.success_rate || 0))
      .map(([skill, data]) => skill);

    return skills.length > 0 ? skills : ['code-analysis', 'quality-standards'];
  } catch (error) {
    console.log("Skill recommendation failed, using safe defaults");
    return ['code-analysis', 'quality-standards'];
  }
}

Usage History Tracking

Maintain Complete History:

// .claude-patterns/task-history.json
[
  {
    "timestamp": "2025-10-20T10:00:00Z",
    "task_description": "Refactor auth module",
    "skills_used": ["code-analysis", "quality-standards"],
    "quality_score": 96,
    "success": true
  },
  {
    "timestamp": "2025-10-20T11:30:00Z",
    "task_description": "Add payment tests",
    "skills_used": ["testing-strategies"],
    "quality_score": 89,
    "success": true
  }
]

When to Apply

Use this skill when:

  • Starting any new task (for pattern retrieval)
  • Completing any task (for pattern storage)
  • Analyzing project approach effectiveness
  • Optimizing skill selection strategy
  • Building project-specific knowledge base
  • Enabling autonomous decision-making
  • Tracking improvement over time

Integration with Agents

Orchestrator Agent:

  • Uses pattern-learning for skill auto-selection
  • Stores patterns after each task
  • Queries patterns before delegation

Quality Controller Agent:

  • References quality score calculations
  • Uses trend analysis for improvement recommendations

All Specialized Agents:

  • Reference pattern database for context
  • Contribute to pattern storage after execution

Resources

Reference Files:

  • REFERENCE.md: Detailed algorithm implementations
  • pattern-database-schema.json: Complete data structure
  • quality-metrics-guide.md: In-depth quality assessment guide

Auto-Generated Files (in project):

  • .claude-patterns/patterns.json
  • .claude-patterns/skill-effectiveness.json
  • .claude-patterns/task-history.json

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.

Automation

web-validation

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

git-automation

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

gui-design-principles

No summary provided by upstream source.

Repository SourceNeeds Review