By jfrac
Adaptive developer training skill for Claude Code. Generates short exercises from session code using spaced repetition (SM-2).
npx claudepluginhub jfrac/awase-skill
/awase— adaptive developer training skill for Claude Code
An adaptive training skill for developers working with AI agents. Invoke it mid-session in Claude Code and it generates 1-2 short exercises based on the code the agent just wrote.
The idea is simple: the agent already knows what code you wrote. Instead of ignoring it, /awase turns it into personalized training material so you don't lose technical skills through delegation.
/awaseExercises come in four types: compare two code options, complete a snippet, find a bug, or explain what a block does. The agent picks the most appropriate type based on your history.
The system uses the SM-2 algorithm (the same one Anki uses) to decide what to drill. Each technical concept has a review interval that lengthens when you get it right and shortens when you don't. Over time, the agent knows exactly what you need to revisit and when.
The profile is personal: stored at ~/.awase/profile.json on your machine, never in the repo.
Copy the SKILL.md to your global skills directory:
mkdir -p ~/.claude/skills/awase
curl -fsSL https://raw.githubusercontent.com/jfrac/awase-skill/main/skills/awase/SKILL.md \
> ~/.claude/skills/awase/SKILL.md
/plugin marketplace add jfrac/awase-skill
/plugin install awase@jfrac/awase-skill
In both cases, /awase becomes available in all your projects immediately.
The first time you run /awase, the agent creates ~/.awase/profile.json automatically. Nothing else to do.
Optional: add ~/.awase/ to your global .gitignore to make sure the profile is never committed.
echo "~/.awase/" >> ~/.gitignore_global
git config --global core.excludesfile ~/.gitignore_global
/awase normal flow, agent decides
/awase --tipo compare force comparison exercise
/awase --tipo completar force snippet completion exercise
/awase --tipo bug force find-the-bug exercise
/awase --tipo explicar force explain-the-code exercise
/awase status show your profile: concepts, hit rates, upcoming reviews
/awase skip skip the session without penalizing the profile
/awase reset reset the full profile (asks for confirmation)
> /awase
**Exercise — `Promise.all` vs `Promise.allSettled`**
Which is more appropriate for the `processUsers` function we just wrote?
A)
const results = await Promise.all(ids.map(fetchUser));
B)
const results = await Promise.allSettled(ids.map(fetchUser));
---
> B, because fetchUser can fail and I don't want it to cancel the rest
✓ Correct. `Promise.allSettled` waits for all promises regardless of whether
they fail, ideal when you want partial results instead of a total failure.
Profile updated. Next review of `Promise.allSettled` in 6 days.
awase-skill/
.claude-plugin/
plugin.json plugin manifest
skills/
awase/
SKILL.md agent instructions
profile.schema.json personal profile structure
README.md this file
The dev profile is not in the repo. It is stored locally at ~/.awase/profile.json.
Comprehensive skill pack with 66 specialized skills for full-stack developers: 12 language experts (Python, TypeScript, Go, Rust, C++, Swift, Kotlin, C#, PHP, Java, SQL, JavaScript), 10 backend frameworks, 6 frontend/mobile, plus infrastructure, DevOps, security, and testing. Features progressive disclosure architecture for 50% faster loading.
Share bugs, ideas, or general feedback.
Develop, test, build, and deploy Godot 4.x games with Claude Code. Includes GdUnit4 testing, web/desktop exports, CI/CD pipelines, and deployment to Vercel/GitHub Pages/itch.io.
Use this agent when you need expert assistance with React Native development tasks including code analysis, component creation, debugging, performance optimization, or architectural decisions. Examples: <example>Context: User is working on a React Native app and needs help with a navigation issue. user: 'My stack navigator isn't working properly when I try to navigate between screens' assistant: 'Let me use the react-native-dev agent to analyze your navigation setup and provide a solution' <commentary>Since this is a React Native specific issue, use the react-native-dev agent to provide expert guidance on navigation problems.</commentary></example> <example>Context: User wants to create a new component that follows the existing app structure. user: 'I need to create a custom button component that matches our app's design system' assistant: 'I'll use the react-native-dev agent to create a button component that aligns with your existing codebase structure and design patterns' <commentary>The user needs React Native component development that should follow existing patterns, so use the react-native-dev agent.</commentary></example>
UI/UX design intelligence. 67 styles, 161 palettes, 57 font pairings, 25 charts, 15 stacks (React, Next.js, Vue, Svelte, Astro, SwiftUI, React Native, Flutter, Tailwind, shadcn/ui, Nuxt, Jetpack Compose). Actions: plan, build, create, design, implement, review, fix, improve, optimize, enhance, refactor, check UI/UX code. Projects: website, landing page, dashboard, admin panel, e-commerce, SaaS, portfolio, blog, mobile app. Elements: button, modal, navbar, sidebar, card, table, form, chart. Styles: glassmorphism, claymorphism, minimalism, brutalism, neumorphism, bento grid, dark mode, responsive, skeuomorphism, flat design. Topics: color palette, accessibility, animation, layout, typography, font pairing, spacing, hover, shadow, gradient.
Access thousands of AI prompts and skills directly in your AI coding assistant. Search prompts, discover skills, save your own, and improve prompts with AI.
Design fluency for frontend development. 1 skill with 23 commands (/impeccable polish, /impeccable audit, /impeccable critique, etc.) and curated anti-pattern detection.
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge.
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge.
Sign in to claim