ari-practice
Deliberate practice with Anthropic's high-scoring interaction patterns for genuine skill mastery
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Deliberate practice with Anthropic's high-scoring interaction patterns for genuine skill mastery
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Discord slash commands, approval routing, channel policy, button interaction patterns for OpenClaw/ARI Discord integration
Obsidian vault integration patterns — vault-analyzer.ts, /ari-vault-* commands, morning briefing snippet, PARA structure, read-only enforcement
OpenClaw plugin development patterns — hooks, manifest structure, plugin SDK, APEX/CODEX enforcement
NOVA's P1 PayThePryce pipeline — market signal ingest, card detection, price monitoring, script generation, thumbnail generation, video assembly, approval gate
CHASE's P2 Pryceless Solutions pipeline — lead discovery, 5-criteria audit, LLM qualification, Prompt Forge 4-pass lock, demo generation, outreach approval gate
NOVA's thumbnail generation pipeline — Ideogram V3 via Fal.ai (primary) + DALL-E 3 fallback, 4-variant strategy, Pokemon TCG copyright rules,
| name | ari-practice |
| description | Deliberate practice with Anthropic's high-scoring interaction patterns for genuine skill mastery |
| triggers | ["deliberate practice","practice plan","practice session","skill progression","weaknesses","drills","/ari-practice"] |
Run deliberate practice sessions that build genuine mastery using:
| Pattern | Mastery Effect | How We Apply It |
|---|---|---|
| Generation-First | +18% retention | You attempt before seeing solution |
| Hybrid Code-Explanation | +23% transfer | Visual + verbal + worked examples |
| Conceptual Inquiry | +15% deep learning | Why questions before how questions |
| Metacognitive Reflection | +12% self-awareness | Reflect on your thinking process |
| Anti-Pattern | Mastery Effect | Warning Signs |
|---|---|---|
| AI Delegation | -17% mastery | "Just give me the answer" |
| Progressive Reliance | -22% independence | Each problem harder without AI |
| Iterative Debugging | -14% understanding | Trial-and-error without learning |
┌────────────────────────────────────────────────────────────────┐
│ THE GENERATION-FIRST PRINCIPLE │
├────────────────────────────────────────────────────────────────┤
│ │
│ 1. ATTEMPT (struggle productively) │
│ ↓ │
│ 2. REFLECT (what made it hard?) │
│ ↓ │
│ 3. REVEAL (see the solution) │
│ ↓ │
│ 4. COMPARE (where did your thinking diverge?) │
│ ↓ │
│ 5. CONSOLIDATE (what pattern did you learn?) │
│ │
│ ✗ NOT: See solution → Try to replicate │
│ ✓ YES: Struggle → Compare → Understand gap │
│ │
└────────────────────────────────────────────────────────────────┘
When invoked with a skill (e.g., /ari-practice kelly-criterion):
// 1. Initialize the skill registry (loads from ~/.ari/learning/)
const { getSkillRegistry } = await import('../cognition/learning/skill-registry.js');
const registry = await getSkillRegistry();
// 2. Get or register the skill
let skill = registry.getSkill(skillId);
if (!skill) {
skill = await registry.registerSkill({
skillId: skillId,
skillName: 'Kelly Criterion',
domain: 'LOGOS',
targetLevel: 80,
initialLevel: 0,
});
}
// 3. Calculate ZPD for optimal challenge
const zpd = registry.calculateZPD(skillId);
╔════════════════════════════════════════════════════════════════╗
║ 🎯 DELIBERATE PRACTICE SESSION ║
║ ══════════════════════════════════════════════════════════════ ║
║ ║
║ Skill: Kelly Criterion ║
║ Domain: LOGOS (Quantitative Reasoning) ║
║ ║
║ ┌─────────────────────────────────────────────────────────┐ ║
║ │ Current Level ████████████░░░░░░░░░░░░░░ 35/100 │ ║
║ │ Target Level ████████████████████████░░░░░ 80/100 │ ║
║ │ Gap to Target ───────────────────────────── 45 pts │ ║
║ └─────────────────────────────────────────────────────────┘ ║
║ ║
║ Zone of Proximal Development ║
║ ┌─────────────────────────────────────────────────────────┐ ║
║ │ TOO EASY │ OPTIMAL │ TOO HARD │ ║
║ │ [0━━━━━25] │ [25━━━━●━━━━━45] │ [45━━━━━━━━━━━100] │ ║
║ │ │ YOU ARE HERE │ │ ║
║ └─────────────────────────────────────────────────────────┘ ║
║ ║
║ Today's Focus: Problems calibrated to difficulty 25-45 ║
║ Estimated Duration: 20-30 minutes ║
║ ║
╚════════════════════════════════════════════════════════════════╝
Before any problems, activate prior knowledge:
╔════════════════════════════════════════════════════════════════╗
║ 📚 CONCEPTUAL WARM-UP ║
╠════════════════════════════════════════════════════════════════╣
║ ║
║ Before we practice, let's activate your understanding. ║
║ ║
║ Q: In your own words, what is the Kelly Criterion trying ║
║ to optimize for? ║
║ ║
║ 💭 Think about this for 30 seconds before continuing... ║
║ ║
║ [Your response: ___________________________________] ║
║ ║
║ ┌────────────────────────────────────────────────────────┐ ║
║ │ 💡 This is "conceptual inquiry" — understanding WHY │ ║
║ │ before practicing HOW produces 15% better transfer │ ║
║ └────────────────────────────────────────────────────────┘ ║
║ ║
╚════════════════════════════════════════════════════════════════╝
After response, provide the conceptual anchor:
╔════════════════════════════════════════════════════════════════╗
║ ✅ CONCEPTUAL ANCHOR ║
╠════════════════════════════════════════════════════════════════╣
║ ║
║ Kelly Criterion optimizes for: ║
║ ┌────────────────────────────────────────────────────────┐ ║
║ │ LONG-TERM GEOMETRIC GROWTH RATE │ ║
║ │ (not expected value, not minimizing risk) │ ║
║ └────────────────────────────────────────────────────────┘ ║
║ ║
║ The key insight: ║
║ • Betting too little → suboptimal growth ║
║ • Betting too much → risk of ruin ║
║ • Kelly = the exact fraction that maximizes E[log(wealth)] ║
║ ║
║ Formula: f* = (bp - q) / b ║
║ Where: b = odds, p = win probability, q = loss probability ║
║ ║
║ 📊 Visual Intuition: ║
║ Growth │ ╭───────╮ ║
║ Rate │ ╱ ╲ ║
║ │ ╱ ╲ ║
║ │ ╱ ● Kelly ╲ ║
║ │ ╱ ╲ ║
║ │╱ ╲ ║
║ └────────────────────── ║
║ Bet Size → (0% to 100%) ║
║ ║
║ Ready to practice? Let's begin. ║
║ ║
╚════════════════════════════════════════════════════════════════╝
CRITICAL: User attempts BEFORE seeing any hints or solutions
╔════════════════════════════════════════════════════════════════╗
║ PROBLEM 1/5 [ZPD: ●] ║
║ Difficulty: 35 (In Your Optimal Zone) ║
╠════════════════════════════════════════════════════════════════╣
║ ║
║ SCENARIO: ║
║ ┌────────────────────────────────────────────────────────┐ ║
║ │ You have a trading opportunity: │ ║
║ │ • Win probability: 60% │ ║
║ │ • If you win: 2x your bet │ ║
║ │ • If you lose: lose your bet │ ║
║ │ • Current bankroll: $10,000 │ ║
║ └────────────────────────────────────────────────────────┘ ║
║ ║
║ QUESTION: ║
║ What fraction of your bankroll should you bet? ║
║ ║
║ ┌────────────────────────────────────────────────────────┐ ║
║ │ 🎯 GENERATION PHASE (3-5 minutes) │ ║
║ │ │ ║
║ │ 1. Write out your calculation step by step │ ║
║ │ 2. Include your reasoning at each step │ ║
║ │ 3. State your final answer with confidence level │ ║
║ │ │ ║
║ │ Your work: │ ║
║ │ ________________________________________________ │ ║
║ │ ________________________________________________ │ ║
║ │ ________________________________________________ │ ║
║ │ │ ║
║ │ Final answer: _____% │ ║
║ │ Confidence: □ Low □ Medium □ High │ ║
║ └────────────────────────────────────────────────────────┘ ║
║ ║
║ ⏱️ Take your time. Struggling productively is learning. ║
║ ║
║ [Submit when ready] ║
║ ║
╚════════════════════════════════════════════════════════════════╝
╔════════════════════════════════════════════════════════════════╗
║ 🤔 METACOGNITIVE PAUSE ║
╠════════════════════════════════════════════════════════════════╣
║ ║
║ Before I show the solution, reflect: ║
║ ║
║ 1. What part felt most uncertain? ║
║ □ Identifying the variables (b, p, q) ║
║ □ Remembering the formula ║
║ □ Executing the calculation ║
║ □ Interpreting the result ║
║ ║
║ 2. Where might you have made an error? ║
║ [________________________________] ║
║ ║
║ 3. What would change your answer? ║
║ [________________________________] ║
║ ║
║ ┌────────────────────────────────────────────────────────┐ ║
║ │ 💡 This metacognitive reflection increases retention │ ║
║ │ by 12% compared to just seeing the answer │ ║
║ └────────────────────────────────────────────────────────┘ ║
║ ║
║ [Ready to see the solution] ║
║ ║
╚════════════════════════════════════════════════════════════════╝
╔════════════════════════════════════════════════════════════════╗
║ ✅ SOLUTION + COMPARISON ║
╠════════════════════════════════════════════════════════════════╣
║ ║
║ CORRECT ANSWER: 40% (0.40) ║
║ ║
║ WORKED SOLUTION: ║
║ ┌────────────────────────────────────────────────────────┐ ║
║ │ Step 1: Identify variables │ ║
║ │ b = 2 (payout odds, 2:1) │ ║
║ │ p = 0.60 (win probability) │ ║
║ │ q = 0.40 (loss probability, 1-p) │ ║
║ │ │ ║
║ │ Step 2: Apply formula │ ║
║ │ f* = (bp - q) / b │ ║
║ │ f* = (2 × 0.60 - 0.40) / 2 │ ║
║ │ f* = (1.20 - 0.40) / 2 │ ║
║ │ f* = 0.80 / 2 │ ║
║ │ f* = 0.40 │ ║
║ │ │ ║
║ │ Step 3: Interpret │ ║
║ │ Bet 40% of bankroll = $4,000 │ ║
║ └────────────────────────────────────────────────────────┘ ║
║ ║
║ YOUR ANSWER: [Shown here] ║
║ ║
║ ┌─────────── COMPARISON ───────────┐ ║
║ │ ✓ Variables identified correctly │ or │ ✗ b was wrong │ ║
║ │ ✓ Formula applied correctly │ or │ ✗ Forgot q term │ ║
║ │ ✓ Calculation accurate │ or │ ✗ Arithmetic error │ ║
║ └──────────────────────────────────┘ ║
║ ║
║ KEY INSIGHT from your specific gap: ║
║ [Personalized insight based on comparison] ║
║ ║
║ Visual: ║
║ [No Bet] ████████████████░░░░░░░░ [Full Kelly] ║
║ ↑ 40% ║
║ ║
╚════════════════════════════════════════════════════════════════╝
╔════════════════════════════════════════════════════════════════╗
║ 📌 CONSOLIDATION ║
╠════════════════════════════════════════════════════════════════╣
║ ║
║ Now that you've compared, answer these to lock in learning: ║
║ ║
║ 1. What's the most common error you should watch for? ║
║ [________________________________] ║
║ ║
║ 2. If the odds were 3:1 instead of 2:1, what would change? ║
║ [________________________________] ║
║ ║
║ 3. When would Kelly suggest betting 0%? ║
║ [________________________________] ║
║ ║
║ ┌────────────────────────────────────────────────────────┐ ║
║ │ These "elaborative interrogation" questions build │ ║
║ │ the connections that enable transfer to new problems │ ║
║ └────────────────────────────────────────────────────────┘ ║
║ ║
║ [Continue to next problem] ║
║ ║
╚════════════════════════════════════════════════════════════════╝
═══════════════════════════════════════════════════════════════════
📊 PRACTICE SESSION COMPLETE
═══════════════════════════════════════════════════════════════════
Skill: Kelly Criterion
Duration: 25 minutes (22 focused)
┌─────────────────────────────────────────────────────────────────┐
│ PERFORMANCE │
│ ═══════════════════════════════════════════════════════════════ │
│ │
│ Problems Attempted: 5 │
│ ✅ Correct (before hints): 3 │
│ ⚠️ Correct (with reflection): 1 │
│ ❌ Incorrect: 1 │
│ │
│ Generation Success Rate: 60% → 80% with metacognition │
│ │
│ ┌────────────────────────────────────────────────────────┐ │
│ │ 🎯 This is above your ZPD average — excellent progress! │ │
│ └────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────────────┐
│ SKILL PROGRESSION │
│ ═══════════════════════════════════════════════════════════════ │
│ │
│ Level Progress: 35 → 42 (+7 points) │
│ ████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 42% │
│ │
│ Weekly Trajectory: +12 points/week │
│ Estimated Time to Target: 4 weeks │
│ │
│ ZPD Adjustment: Now calibrating problems to 30-50 range │
│ │
└─────────────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────────────┐
│ LEARNING PATTERNS DETECTED │
│ ═══════════════════════════════════════════════════════════════ │
│ │
│ ✓ Strengths: │
│ • Formula recall is solid │
│ • Variable identification improving │
│ │
│ ⚠️ Focus Areas: │
│ • Arithmetic under time pressure │
│ • Remembering to subtract q (loss probability) │
│ │
│ 📚 Recommended Next: │
│ • Practice 3 more problems with edge cases (p = 0.5, b = 1) │
│ • Review the "when Kelly = 0" concept │
│ │
└─────────────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────────────┐
│ INTERACTION QUALITY │
│ ═══════════════════════════════════════════════════════════════ │
│ │
│ Session Type: Generation-First ✓ │
│ │
│ High-Scoring Patterns Used: │
│ ✓ Attempted before seeing solution (5/5 problems) │
│ ✓ Metacognitive reflection (4/5 problems) │
│ ✓ Conceptual warm-up completed │
│ ✓ Consolidation questions answered │
│ │
│ Anti-Patterns Avoided: │
│ ✓ No AI delegation ("just tell me") │
│ ✓ No progressive reliance │
│ ✓ No unlearned debugging │
│ │
│ 🎯 This session follows high-mastery interaction patterns │
│ │
└─────────────────────────────────────────────────────────────────┘
🏆 MILESTONE: Foundation Laid! (25%)
"You have established the fundamental patterns!"
Next session recommended: Tomorrow, same time
Focus: Edge cases and verification strategies
═══════════════════════════════════════════════════════════════════
The session monitors for patterns that undermine skill development:
// Detect if user is asking for answers without attempting
function detectDelegationPattern(interaction: Interaction): Warning | null {
const delegationPhrases = [
'just tell me',
'what\'s the answer',
'give me the solution',
'I don\'t want to think about it',
];
if (delegationPhrases.some(p => interaction.input.toLowerCase().includes(p))) {
return {
type: 'DELEGATION_DETECTED',
message: `
┌────────────────────────────────────────────────────────────┐
│ ⚠️ DELEGATION PATTERN DETECTED │
├────────────────────────────────────────────────────────────┤
│ │
│ Asking for answers without attempting reduces mastery │
│ by ~17% (Anthropic 2024). │
│ │
│ Instead, try: │
│ • "I'm stuck at [specific step], can you hint?" │
│ • "I got [answer], is my approach correct?" │
│ • "What am I missing in my reasoning?" │
│ │
│ The struggle is where learning happens. │
│ │
└────────────────────────────────────────────────────────────┘
`,
};
}
return null;
}
// After practice session completes
const { getPracticeTracker } = await import('../cognition/learning/practice-tracker.js');
const tracker = await getPracticeTracker();
const { session, skill } = await tracker.recordSession({
userId: 'default',
skill: skillId,
session: {
skill: skillId,
startedAt: sessionStart,
endedAt: new Date(),
plannedMinutes: 25,
focusedMinutes: 22,
tasksPlanned: 5,
tasksCompleted: 4,
errorPatterns: ['forgot-to-subtract-q', 'arithmetic-under-pressure'],
interactionPatterns: {
generationFirst: true,
metacognitiveReflection: 4,
consolidationCompleted: true,
delegationAttempts: 0,
},
},
});
// Update skill registry with practice
const { milestone } = await registry.updateFromPractice(skillId, session);
if (milestone) {
console.log(`🏆 MILESTONE: ${milestone.name}!`);
console.log(` "${milestone.celebration}"`);
}
If the storage adapter cannot load or save session data:
try {
const session = await tracker.recordSession({ ... });
} catch (error) {
if (error.code === 'STORAGE_UNAVAILABLE') {
// Gracefully degrade: Continue session without persistence
console.warn(`
╔════════════════════════════════════════════════════════════════╗
║ ⚠️ STORAGE WARNING ║
╠════════════════════════════════════════════════════════════════╣
║ ║
║ Unable to save session progress to disk. ║
║ ║
║ Your practice will continue, but progress won't be saved. ║
║ Check that ~/.ari/learning/ directory is writable. ║
║ ║
║ [Continue without saving] ║
║ ║
╚════════════════════════════════════════════════════════════════╝
`);
}
}
If stored data is malformed or corrupted:
// Storage adapter automatically backs up before writes
// Recovery: ~/.ari/learning/skills.json.backup
// Manual recovery command:
// cp ~/.ari/learning/skills.json.backup ~/.ari/learning/skills.json
If a practice session is interrupted (crash, network loss, etc.):
╔════════════════════════════════════════════════════════════════╗
║ 🔄 INCOMPLETE SESSION DETECTED ║
╠════════════════════════════════════════════════════════════════╣
║ ║
║ Found an incomplete practice session from 15 minutes ago: ║
║ ║
║ Skill: Kelly Criterion ║
║ Completed: 3/5 problems ║
║ Time spent: 12 minutes ║
║ ║
║ Would you like to: ║
║ ║
║ [A] Resume where you left off (2 problems remaining) ║
║ [B] Review what you completed and start fresh ║
║ [C] Discard and start a new session ║
║ ║
║ ┌────────────────────────────────────────────────────────┐ ║
║ │ 💡 Resuming preserves your progress and maintains │ ║
║ │ your skill level trajectory │ ║
║ └────────────────────────────────────────────────────────┘ ║
║ ║
╚════════════════════════════════════════════════════════════════╝
Implementation:
// Check for incomplete session on start
const incomplete = await tracker.getIncompleteSession(userId, skillId);
if (incomplete && (Date.now() - incomplete.startedAt) < 3600000) { // 1 hour
// Offer resume
}
src/cognition/learning/skill-registry.ts - ZPD and proficiency trackingsrc/cognition/learning/practice-tracker.ts - Session recordingsrc/cognition/learning/storage-adapter.ts - Persistencesrc/cognition/learning/weakness-analyzer.ts - Error pattern detection| Domain | Focus Areas | Icon |
|---|---|---|
| LOGOS | Bayesian reasoning, Kelly, EV, Systems Thinking | 🧠 |
| ETHOS | Bias detection, Emotional regulation, Discipline | ❤️ |
| PATHOS | CBT, Stoicism, Reflection, Wisdom traditions | 🌱 |
Related Skills:
/ari-review - Spaced repetition reviews for long-term retention/ari-learning-mode - Comprehension-building interaction mode/ari-think - Metacognitive reasoning supportIntegration:
Practice sessions automatically create spaced repetition cards for concepts you struggle with. These cards appear in your daily review queue via /ari-review.
Workflow:
┌─────────────────────────────────────────────────────────────┐
│ │
│ [/ari-practice] → Build skill through deliberate practice │
│ ↓ │
│ Auto-generate review cards for weak areas │
│ ↓ │
│ [/ari-review] → Reinforce via spaced repetition │
│ ↓ │
│ Long-term mastery and retention │
│ │
└─────────────────────────────────────────────────────────────┘
┌────────────────────────────────────────────────────────────────┐
│ │
│ "The goal is not to get the right answer. │
│ The goal is to build the skill that generates │
│ right answers independently." │
│ │
│ Every time you struggle and then compare, │
│ you're building neural pathways. │
│ │
│ Every time you ask for the answer, │
│ you're bypassing those pathways. │
│ │
└────────────────────────────────────────────────────────────────┘