{"id":51117584,"url":"https://github.com/mohi-devhub/antivibe","last_synced_at":"2026-06-24T23:01:32.252Z","repository":{"id":362847632,"uuid":"1207231932","full_name":"mohi-devhub/antivibe","owner":"mohi-devhub","description":"Learn what AI writes, not just accept it. A Claude Code skill that turns AI-generated code into educational deep dives.","archived":false,"fork":false,"pushed_at":"2026-06-06T07:32:29.000Z","size":45,"stargazers_count":648,"open_issues_count":3,"forks_count":42,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-06-06T08:16:06.514Z","etag":null,"topics":["ai","claude-code","claude-code-skill","code-explanation","education","learning","vibecoding"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mohi-devhub.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-10T18:07:20.000Z","updated_at":"2026-06-06T07:21:35.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/mohi-devhub/antivibe","commit_stats":null,"previous_names":["mohi-devhub/antivibe"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/mohi-devhub/antivibe","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mohi-devhub%2Fantivibe","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mohi-devhub%2Fantivibe/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mohi-devhub%2Fantivibe/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mohi-devhub%2Fantivibe/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mohi-devhub","download_url":"https://codeload.github.com/mohi-devhub/antivibe/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mohi-devhub%2Fantivibe/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34752465,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-24T02:00:07.484Z","response_time":106,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","claude-code","claude-code-skill","code-explanation","education","learning","vibecoding"],"created_at":"2026-06-24T23:01:30.713Z","updated_at":"2026-06-24T23:01:32.240Z","avatar_url":"https://github.com/mohi-devhub.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AntiVibe\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Anti--Vibecoding-Learning-orange?style=for-the-badge\" alt=\"Anti-Vibecoding\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Claude_Code-Skill-blue?style=for-the-badge\" alt=\"Claude Code\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/License-MIT-green?style=for-the-badge\" alt=\"License\"\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cstrong\u003eUnderstand any code, not just accept it.\u003c/strong\u003e\u003cbr\u003e\n  A code learning \u0026amp; audit framework for Claude Code that turns any codebase — new, legacy, or AI-generated — into educational deep dives or senior-level architectural audits.\n\u003c/p\u003e\n\n---\n\n## ✨ What is AntiVibe?\n\nAntiVibe is a **code learning \u0026 audit framework** that transforms any code — AI-generated, legacy, or otherwise — into educational content or architectural audits. You don't need recent git history or AI-authored files; point it at any file, directory, or module. Unlike generic code summaries, AntiVibe helps you understand:\n\n- **What** the code does (functionality)\n- **Why** it was written this way (design decisions)\n- **When** to use these patterns (context)\n- **What alternatives** exist (broader knowledge)\n\n\u003e ⚡ **The Problem**: AI writes code, developers copy-paste it, nobody learns anything.\n\u003e \n\u003e 🛡️ **The Solution**: AntiVibe explains the reasoning so you actually understand — and for code you already know, it audits the trade-offs instead.\n\n---\n\n## 🎯 Features\n\n| Feature | Description |\n|---------|-------------|\n| **Deep Dives** | Generate comprehensive learning guides from any code |\n| **Audit Mode** | Senior-level architectural audit — decisions, flags, edge cases, testability |\n| **Skill Levels** | Tune depth to `junior`, `mid`, or `senior` |\n| **Output Modes** | `compact` (default, low token cost) or `full` (resources + line-by-line) |\n| **Known Concepts** | Skip list so familiar concepts get a one-line note, not a full explanation |\n| **Prerequisites** | Maps each concept to the foundations you need to understand it first |\n| **Legacy-Friendly** | Works on existing codebases — no git history or AI authorship required |\n| **Concept Mapping** | Connect code to underlying CS principles |\n| **Curated Resources** | Quality links to docs, tutorials, videos |\n| **Auto-Trigger** | Optional hooks for automatic generation |\n| **Multi-Language** | Works with any language/framework |\n\n---\n\n## 🚀 Quick Start\n\n### Installation\n\n```bash\n# Clone the repository\ngit clone https://github.com/mohi-devhub/antivibe.git\n\n# Install as a global Claude Code skill\ncp -r antivibe ~/.claude/skills/antivibe\n```\n\n### Usage\n\n```\n/antivibe                        # Start a deep dive (compact, mid-level by default)\n/antivibe full                   # Full deep dive with resources + line-by-line\n\"deep dive\"                      # Analyze recently written code (git diff)\n\"walk me through src/auth/\"      # Explain an explicit file or directory\n\"explain this codebase\"          # Understand existing / legacy code\n\"learn from this code\"           # Generate learning guide\n```\n\nTune the depth and detail inline:\n\n```\n\"explain for a junior\"           # Define terms, analogies, full snippets\n\"I know the basics\"              # Mid level — focus on design decisions\n\"audit this, just the trade-offs\"  # Senior mode — routes to the auditor agent\n```\n\n---\n\n## 📁 Output Example\n\nRun a `full` deep dive (`/antivibe full`) and get a file like the one below. The default `compact` mode produces a shorter version — Overview, Key Components, and Concepts (what + why) — without the walkthrough or resources.\n\n```markdown\n# Deep Dive: Authentication System\n\n## Overview\nThis auth system uses JWT tokens with refresh token rotation...\n\n## Code Walkthrough\n### auth/service.ts\n- **Purpose**: Token generation and validation\n- **Key Components**: \n  - `generateTokens()`: Creates access/refresh tokens\n  - `verifyToken()`: Validates JWT signatures\n\n## Concepts Explained\n### JWT (JSON Web Tokens)\n- **What**: Stateless authentication tokens...\n- **Why**: Server doesn't need to store sessions...\n- **When**: APIs, SPAs, microservices...\n\n## Learning Resources\n- [JWT.io](https://jwt.io): Official documentation\n- [Auth0 Guide](https://auth0.com/blog): Best practices\n```\n\nSaved to: `deep-dive/auth-system-2026-04-10.md`\n\n---\n\n## 🔧 Configuration\n\n### Behavior (in `SKILL.md`)\n\nTune how AntiVibe analyzes code by editing the config blocks in `SKILL.md`:\n\n```yaml\noutput_mode: compact      # compact (default) or full\ndefault_level: mid        # junior, mid, or senior\nknown_concepts:           # skipped in explanations (one-line note only)\n  - async/await\n  - React hooks\n  - REST APIs\n```\n\n| Setting | Options | Effect |\n|---------|---------|--------|\n| `output_mode` | `compact` / `full` | `compact` keeps token cost low (no resources, no line-by-line); `full` adds curated resources, prerequisites, and a line-by-line walkthrough |\n| `default_level` | `junior` / `mid` / `senior` | Sets explanation depth; `senior` routes to the auditor agent for an architectural audit |\n| `known_concepts` | list | Concepts you already know — acknowledged in one line instead of fully explained |\n\nAll three can also be overridden inline in a request (e.g. `\"/antivibe full\"`, `\"explain for a junior\"`, `\"just the trade-offs\"`).\n\n### Auto-Trigger Hooks\n\nEnable automatic deep-dive generation after task completion:\n\n```bash\n# Copy hooks to your project\ncp hooks/hooks.json your-project/.claude/hooks.json\n```\n\n| Hook | When | Use Case |\n|------|------|----------|\n| `SubagentStop` | Task completes | Phase-based learning |\n| `Stop` | Session ends | End-of-session summary |\n\n### Customize Output Directory\n\nEdit `scripts/generate-deep-dive.sh`:\n```bash\nOUTPUT_DIR=\"your-folder\"  # Default: \"deep-dive\"\n```\n\n---\n\n## 📂 File Structure\n\n```\nantivibe/\n├── SKILL.md                     # Main skill definition\n├── README.md                    # This file\n├── hooks/\n│   └── hooks.json              # Auto-trigger configuration\n├── scripts/\n│   ├── capture-phase.sh        # Detect implementation phases\n│   ├── analyze-code.sh         # Parse code structure\n│   ├── find-resources.sh       # Find external resources\n│   └── generate-deep-dive.sh   # Generate markdown output\n├── agents/\n│   ├── explainer.md            # Subagent for learning-focused explanations\n│   └── auditor.md              # Subagent for senior-level architectural audits\n├── templates/\n│   └── deep-dive.md            # Output template\n├── reference/\n│   ├── language-patterns.md    # Framework-specific patterns\n│   └── resource-curation.md    # Curated learning resources\n└── docs/\n    ├── PLAN.md                  # Planning document\n    └── setup.md                 # Detailed setup guide\n```\n\n---\n\n## 📚 Principles\n\n1. **Why over what** - Always explain design decisions\n2. **Context matters** - Explain when/why to use patterns\n3. **Curated resources** - Quality links, not random results\n4. **Phase-aware** - Group by implementation phase\n5. **Learning path** - Suggest next steps for deeper study\n6. **Concept mapping** - Connect code to underlying CS concepts\n\n---\n\n## 🛠️ Supported Languages \u0026 Frameworks\n\n- **JavaScript/TypeScript**: React, Node.js, Express\n- **Python**: Django, FastAPI, Flask\n- **Go**: Standard library, Gin, Echo\n- **Rust**: Standard library, Actix\n- **Java**: Spring Boot\n- **And more** - Extensible pattern system\n\n---\n\n## 🤝 Contributing\n\nContributions welcome! To extend AntiVibe:\n\n1. Add patterns to `reference/language-patterns.md`\n2. Add resources to `reference/resource-curation.md`\n3. Customize the template in `templates/deep-dive.md`\n\n---\n\n## 📖 Documentation\n\n- [Setup Guide](docs/setup.md) - Detailed installation\n- [Skill Format](https://docs.anthropic.com/en/docs/claude-code/skills) - Claude Code skills\n\n---\n\n## ⚠️ License\n\nMIT License - Use it, learn from it, share it.\n\n---\n\n\u003cp align=\"center\"\u003e\n  \u003csub\u003eBuilt with 🔥 for developers who actually want to understand code.\u003c/sub\u003e\n\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmohi-devhub%2Fantivibe","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmohi-devhub%2Fantivibe","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmohi-devhub%2Fantivibe/lists"}