AntiVibe
Analyze any codebase and explain what it does, why, and what alternatives exist.
Installation
- Make sure Claude is on your device and in your terminal.
Skills load from
~/.claude/skills/when Claude Code starts up β so you need it on your machine first. If you don't have it yet, install it once with the command below, then runclaudein any terminal to verify.One-time setupnpm i -g @anthropic-ai/claude-codeAlready have it? Skip ahead.
- Paste into Claude Code or into your terminal.
This copies the whole skill folder into
~/.claude/skills/antivibe-mohi-devhub/β the SKILL.md plus any scripts, reference docs, or templates the skill ships with. Safe default: works for every skill.Faster alternative (instruction-only skills)
Skips the clone and grabs only the SKILL.md file. Don't use this if the skill ships Python scripts, reference markdowns, or asset templates β they won't be downloaded and the skill will fail when it tries to load them.
Quick install (SKILL.md only)Sign up to copy - Restart Claude Code.
Quit and reopen Claude Code (or any other agent that loads from
~/.claude/skills/). New skills are picked up on startup. - Just ask Claude.
Skills auto-activate when your request matches the skill's description β no slash command needed. Trigger phrases live in the skill's own frontmatter; you can read them in the βWhat this skill doesβ section above.
Prefer to read the source first? Open on GitHub.
When Claude uses it
Code learning and audit framework. Analyze any codebase β new, legacy, or AI-generated β and produce educational explanations or architectural audits. Use when the user wants to understand WHAT and WHY behind any code, not just accept it.
What this skill does
AntiVibe - Code Learning & Audit Framework
Purpose
AntiVibe generates learning-focused explanations or architectural audits of any code β AI-generated, legacy, or otherwise. It helps developers understand:
- What the code does (functionality)
- Why it was written this way (design decisions)
- When to use these patterns (context)
- What alternatives exist (broader knowledge)
Works on any codebase β you don't need recent git history or AI-authored files.
When to Use
Use AntiVibe when:
- Manual invocation: User types
/antivibeor "deep dive" - Post-task learning: After a feature/phase completes, user wants to learn from it
- Legacy codebases: User wants to understand existing code they didn't write
- Proactive: User says "explain what AI wrote", "walk me through", "audit this", or points at a file/directory
What AntiVibe Produces
Output saved to deep-dive/ folder as markdown:
deep-dive/
βββ auth-system-2026-01-15.md
βββ api-layer-2026-01-15.md
βββ database-models-2026-01-15.md
The exact sections depend on the output mode (see Output Mode):
| Section | compact (default) | full |
|---|---|---|
| Overview β what the code does and why it exists | β | β |
| Key Components / Concepts β design patterns, algorithms, CS concepts used | β | β |
| Code Walkthrough β file-by-file, line-by-line notes | β | β |
| Learning Resources β curated docs, tutorials, videos | β | β |
| Related Code β links to other files in the codebase | β | β |
Configuration
Known Concepts (Skip List)
Concepts listed here will not be explained in full β the explainer will only note that they were used and in what context. Edit this list to match your current knowledge.
known_concepts:
- async/await
- React hooks
- REST APIs
Output Mode
Controls how much detail is generated per run. Default is compact to keep token costs low.
output_mode: compact
| Mode | What's included |
|---|---|
compact (default) | Overview, key components (function-level, one line each), concepts (what + why only). No resources. No line-by-line. Max 5 files. |
full | Everything in compact, plus: line-by-line walkthrough, prerequisites, curated resources, Next Steps. |
Override inline in your request:
"/antivibe full","full deep dive","include resources"βfullmode- Default:
compact
Default Skill Level
Sets the explanation depth when no level is specified in the request. Options: junior, mid, senior. Default: mid.
default_level: mid
| Level | Behavior |
|---|---|
junior | Define all terms. Use analogies. Explain language features. Show full code snippets with inline comments. |
mid | Skip basics. Focus on design decisions and trade-offs. Brief code references only. |
senior | Skip obvious patterns. Focus only on non-obvious choices, edge cases, and architectural trade-offs. |
Level can also be specified inline in the request:
"explain for a junior","I'm new to this"βjunior"I know the basics","mid level"βmid"senior mode","skip the basics","just the trade-offs"βsenior
Workflow
Step 0: Apply User Configuration
Before analyzing, read the configuration above:
- Load the
known_conceptsskip list. Any concept in this list will be acknowledged in one sentence instead of fully explained. - Detect the skill level: check the user's request first (inline phrases take priority), then fall back to
default_level. Apply this level consistently throughout the entire output. - If level =
senior, route toagents/auditor.mdinstead of continuing this workflow.
Step 1: Identify Code to Analyze
Use the first applicable mode:
-
Explicit β User named specific files, a directory, or a module in their request β use those directly. No git needed. Example: "explain
src/auth/" or "walk me throughapi/routes.py". -
Recent β No explicit target given, project is a git repo, and
git diff HEADhas output β use those changed files (current behavior for post-AI-task learning). -
Scan β No explicit target, no usable git diff (legacy project, no recent changes, or not a git repo) β ask the user: "Which file, directory, or module would you like to analyze?" Do not attempt to guess.
The code does not need to be AI-generated. AntiVibe analyzes any code.
Step 2: Analyze Code Structure
For each file:
- Identify main purpose and responsibilities
- Note key functions, classes, modules
- Identify design patterns used (factory, singleton, observer, etc.)
- Find any complex logic or algorithms
Step 3: Explain Concepts
For each concept/pattern found:
- What: Plain-language explanation
- Why: Why this approach was chosen over alternatives
- When: When to use this pattern (with context)
- Alternatives: Other approaches and trade-offs
- Prerequisites: 2β4 foundational concepts the developer must understand first (e.g., "To understand JWT, you need: HTTP request/response, Base64 encoding, cryptographic signing")
Step 4: Find External Resources
Only run this step in full mode. Skip entirely in compact mode.
Search for and include:
- Official documentation for libraries/frameworks used
- Quality tutorials or blog posts
- Video resources (if available)
- Related concepts for further learning
Step 5: Generate Output
Create markdown file in deep-dive/ folder:
- Name format:
[component]-[timestamp].md - Detect output mode from the request or
output_modeconfig (default:compact) - Compact mode: Use the compact template. No line-by-line, no resources, no Next Steps. Max 5 files β if more are in scope, summarize extras in one line each and offer to go deeper.
- Full mode: Use the full template from
templates/deep-dive.md. Include all sections. No 5-file limit β analyze every file in scope; for very large inputs, split the output across multiple deep-dive files rather than truncating. - Make it educational, not just descriptive
Auto-Trigger Configuration
AntiVibe can be configured to auto-trigger via hooks:
- SubagentStop: After a Task completes a feature
- Stop: At session end
To enable auto-trigger, configure hooks in your project (see hooks/hooks.json).
Principles
- Why over what - Always explain design decisions
- Context matters - Explain when/why to use patterns
- Curated resources - Quality links, not random Google results
- Phase-aware - Group by implementation phase
- Learning path - Suggest next steps for deeper study
- Concept mapping - Connect code to underlying CS concepts
Dependencies
Optional scripts in scripts/ folder:
capture-phase.sh- Detect implementation phase boundariesanalyze-code.sh- Parse code structurefind-resources.sh- Search for external resourcesgenerate-deep-dive.sh- Create markdown output
These are helpers - you can also do everything via direct code analysis.
Examples
Input: "Explain the auth system Claude wrote" (recent AI code)
β Mode: Recent (git diff). Output: deep-dive/auth-system-2026-01-15.md
Input: "Walk me through src/payments/" (explicit target β legacy codebase)
β Mode: Explicit. Analyzes files in that directory directly, no git needed.
Input: "Deep dive" (no target, legacy project with no recent changes) β Mode: Scan. Asks: "Which file or module would you like to analyze?"
Input: "Audit this, just the trade-offs" (senior mode)
β Routes to agents/auditor.md. Produces architectural audit, not an explanation.
Related skills
Generative Code Art
anthropics
Create algorithmic art with p5.js using randomness and interactive parameters.
Poster & Visual Design
anthropics
Create original posters and visual art in PNG and PDF formats.
Claude API Helper
anthropics
Build, debug, and optimize Claude API applications with caching and model migration support.
MCP Server Builder
anthropics
Build protocol servers that connect language models to external APIs and services.