Enables autonomous pattern recognition, storage, and retrieval at project level with self-learning capabilities for continuous improvement
Autonomously learns and stores successful task execution patterns at the project level, then recommends optimal skills for new tasks based on historical performance data. Triggers automatically when starting tasks (to retrieve similar patterns and recommend skills) and when completing tasks (to store execution patterns and update effectiveness metrics).
/plugin marketplace add bejranonda/LLM-Autonomous-Agent-Plugin-for-Claude/plugin install bejranonda-autonomous-agent@bejranonda/LLM-Autonomous-Agent-Plugin-for-ClaudeThis skill inherits all available tools. When active, it can use any tool Claude has access to.
This skill provides the framework for autonomous pattern learning and recognition at the project level. It enables Claude agents to:
Task Categorization: Automatically classify tasks into categories:
refactoring: Code restructuring and improvementbug-fix: Error resolution and debuggingfeature: New functionality implementationoptimization: Performance improvementsdocumentation: Docs creation and updatestesting: Test suite developmentsecurity: Security analysis and fixesContext Extraction: Automatically extract context from:
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
}
}
}
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)
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
During Task Execution:
After Task Completion:
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;
}
}
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:
Tests Passing (30 points):
Standards Compliance (25 points):
Documentation Complete (20 points):
Pattern Adherence (15 points):
Code Quality Metrics (10 points):
Learning Cycle:
Execute Task
↓
Measure Quality
↓
Store Pattern
↓
Analyze Trends
↓
Adjust Skill Selection
↓
[Next Task Benefits from Learning]
Trend Analysis:
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'];
}
}
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
}
]
Use this skill when:
Orchestrator Agent:
Quality Controller Agent:
All Specialized Agents:
Reference Files:
Auto-Generated Files (in project):
This skill should be used when the user asks to "create a slash command", "add a command", "write a custom command", "define command arguments", "use command frontmatter", "organize commands", "create command with file references", "interactive command", "use AskUserQuestion in command", or needs guidance on slash command structure, YAML frontmatter fields, dynamic arguments, bash execution in commands, user interaction patterns, or command development best practices for Claude Code.
This skill should be used when the user asks to "create an agent", "add an agent", "write a subagent", "agent frontmatter", "when to use description", "agent examples", "agent tools", "agent colors", "autonomous agent", or needs guidance on agent structure, system prompts, triggering conditions, or agent development best practices for Claude Code plugins.
This skill should be used when the user asks to "create a hook", "add a PreToolUse/PostToolUse/Stop hook", "validate tool use", "implement prompt-based hooks", "use ${CLAUDE_PLUGIN_ROOT}", "set up event-driven automation", "block dangerous commands", or mentions hook events (PreToolUse, PostToolUse, Stop, SubagentStop, SessionStart, SessionEnd, UserPromptSubmit, PreCompact, Notification). Provides comprehensive guidance for creating and implementing Claude Code plugin hooks with focus on advanced prompt-based hooks API.