code-review-mode
Main thread configuration for evidence-based code review sessions. Focuses on systematic review with evidence gathering and structured findings. Use via:…
Implements skill improvements based on observability data from LEARNINGS.md. Prioritizes by frequency × impact / ease, generates proposals, validates changes. Enhanced with Hyperagents patterns: consults PerformanceTracker for trend data and ImprovementMemory for causal
> /plugin marketplace add athola/claude-night-marketHow it fires
How this agent gets triggered: by you, by Claude, or both.
Context preview
The summary Claude sees to decide when to auto-load this agent.
Implements skill improvements based on observability data from LEARNINGS.md. Prioritizes by frequency × impact / ease, generates proposals, validates changes. Enhanced with Hyperagents patterns: consults PerformanceTracker for trend data and ImprovementMemory for causal
name: skill-improver agent: true allowed-tools: - Read - Write - Edit - Bash - Grep - Glob escalation: none context: fork isolation: worktree description: | Implements skill improvements based on observability data from LEARNINGS.md. Prioritizes by frequency × impact / ease, generates proposals, validates changes. Enhanced with Hyperagents patterns: consults PerformanceTracker for trend data and ImprovementMemory for causal hypotheses before proposing changes. model: opus effort: high
Automatically improves skills based on execution logs, user evaluations, and aggregated insights from LEARNINGS.md. Enhanced with Hyperagents (Zhang et al., 2026) patterns for data-driven improvement decisions.
Part of Issue #69 Phase 5 - Self-Improvement Loop. This agent closes the observability loop by acting on insights gathered from:
suggestions)
issues)
trends, ImprovementMemory hypotheses, metacognitive self-modification
`dry-run`, or `--metacognitive`
prompt for confirmation
Before loading LEARNINGS.md, consult the persistent improvement memory and performance tracker for context that should inform this improvement cycle.
from pathlib import Path
MEMORY_FILE = Path.home() / ".claude/skills/improvement_memory.json"
TRACKER_FILE = Path.home() / ".claude/skills/performance_history.json"
# Load improvement memory (if available)
improvement_context = {}
try:
from abstract.improvement_memory import ImprovementMemory
memory = ImprovementMemory(MEMORY_FILE)
# Get strategies that worked and failed
effective = memory.get_effective_strategies()
failed = memory.get_failed_strategies()
improvement_context = {
"effective_strategies": effective,
"failed_strategies": failed,
"effectiveness_rate": (
len(effective) / (len(effective) + len(failed))
if (effective or failed)
else None
),
}
except ImportError:
pass # Module not available
# Load performance tracker (if available)
tracker_context = {}
try:
from abstract.performance_tracker import PerformanceTracker
tracker = PerformanceTracker(TRACKER_FILE)
# Identify skills with degrading trends
degrading_skills = []
for entry in tracker.history:
skill_ref = entry["skill_ref"]
trend = tracker.get_improvement_trend(skill_ref)
if trend is not None and trend < -0.05:
degrading_skills.append(
{
"skill": skill_ref,
"trend": trend,
}
)
tracker_context = {
"degrading_skills": degrading_skills,
"best_performers": tracker.get_best_performers(top_k=5),
}
except ImportError:
pass # Module not available**Use this context to**:
`failed_strategies`)
`effective_strategies`)
# Check if LEARNINGS exists LEARNINGS_PATH=~/.claude/skills/LEARNINGS.md if [ ! -f "$LEARNINGS_PATH" ]; then echo "LEARNINGS.md not found" echo "Run /abstract:aggregate-logs first to generate insights" exit 1 fi # Read LEARNINGS cat "$LEARNINGS_PATH"
Parse LEARNINGS.md sections:
**For each issue, extract**:
def calculate_priority(issue: dict, frequency_data: dict) -> float:
"""
Priority = (Frequency × Impact) / Ease
Where:
- Frequency: execution count from summary table
- Impact: severity of the issue (1-10 scale)
- Ease: estimated effort to fix (1-10 scale)
"""
frequency = frequency_data.get(issue["skill"], 1)
# Calculate impact
if issue["type"] == "high_failure_rate":
# Failure rate impact: higher % = higher impact
success_rate = float(issue["metric"].split("%")[0])
impact = (100 - success_rate) / 10 # 0-10 scale
elif issue["type"] == "low_rating":
# Rating impact: difference from perfect score
rating = float(issue["metric"].split("/")[0])
impact = (5.0 - rating) * 2 # 0-10 scale
elif issue["type"] == "excessive_failures":
# Absolute failure count impact
failure_count = int(issue["metric"].split()[0])
impact = min(failure_count / 2, 10) # Cap at 10
else:
impact = 5 # Default moderate impact
# Estimate ease based on issue details
ease = estimate_ease(issue)
return (frequency * impact) / ease
def estimate_ease(issue: dict) -> float:
"""
Estimate effort required (1=trivial, 10=major refactor)
Heuristics:
- Add examples: 2
- Fix error messages: 2
- Add error handling: 3
- Add --quiet flag: 3
- Restructure workflow: 7
- Optimize performance: 8
"""
# Check improvement suggestions for keywords
suggestions = " ".join(issue.get("suggestions", [])).loweA plugin marketplace for Claude Code. Install only the plugins you need to run git workflows, code review, spec-driven development, and autonomous agents from inside your Claude Code session.
Main thread configuration for evidence-based code review sessions. Focuses on systematic review with evidence gathering and structured findings. Use via:…
Main thread configuration for documentation-focused sessions. Optimized for creating, updating, and consolidating project documentation. Use via: claude…
Main thread configuration for Claude Code plugin development sessions. Optimized for creating, validating, and improving plugins in the night-market ecosystem.…
Deep analysis agent that reads codebase patterns, execution logs, and performance data to generate proactive insights about bugs, optimizations, and…
Agent for architectural guidance, skill design patterns, and structural optimization. Provides consultation on modularization, token management, and dependency…
Validates Claude Code plugin structure against official requirements