{"title":"Professional Vibe Coding with Claude — Advanced","description":"An advanced multiple-choice quiz covering professional-grade vibe coding practices, Claude Code architecture (CLAUDE.md, Skills, Subagents, Hooks, MCP), prompt engineering strategies, context management, workflow patterns, and production deployment.","settings":{"shuffle_questions":true,"shuffle_options":true,"reveal_answers":true,"allow_review":true,"time_limit_seconds":1200,"pass_percent":65},"questions":[{"kind":"single_choice","prompt":"Who coined the term 'vibe coding' and in what year?","explanation":"Andrej Karpathy, co-founder of OpenAI and former AI leader at Tesla, coined the term in February 2025. Collins English Dictionary named it Word of the Year 2025.","points":1,"options":[{"label":"Andrej Karpathy in February 2025"},{"label":"Sam Altman in March 2024"},{"label":"Simon Willison in January 2026"},{"label":"Andrej Karpathy in September 2024"}]},{"kind":"single_choice","prompt":"According to industry surveys, approximately what percentage of US developers use AI-assisted coding tools daily as of 2026?","explanation":"Multiple industry surveys (GitHub Developer Survey March 2026, Collins Dictionary reporting) indicate that approximately 92% of US developers use AI coding tools daily, and roughly 60% of all new code is AI-generated.","points":1,"options":[{"label":"Approximately 92%"},{"label":"Approximately 45%"},{"label":"Approximately 20%"},{"label":"Approximately 70%"}]},{"kind":"single_choice","prompt":"What is the single most important resource to manage when using Claude Code for extended sessions?","explanation":"The context window is the most critical resource. LLM performance degrades as context fills, causing Claude to 'forget' earlier instructions or make more mistakes. Official best practices emphasize managing context aggressively with /clear between tasks.","points":1,"options":[{"label":"The context window"},{"label":"The API key quota"},{"label":"The file system permissions"},{"label":"The network bandwidth"}]},{"kind":"single_choice","prompt":"According to Claude Code's official best practices, what is the recommended workflow for complex tasks that modify multiple files?","explanation":"The four-phase workflow is: 1) Explore (plan mode, read files), 2) Plan (create detailed implementation plan), 3) Implement (switch out of plan mode and code), 4) Commit. For simple tasks like fixing a typo, this can be skipped.","points":1,"options":[{"label":"Explore -> Plan -> Implement -> Commit"},{"label":"Code -> Test -> Debug -> Deploy"},{"label":"Prompt -> Generate -> Accept -> Ship"},{"label":"Design -> Build -> Review -> Release"}]},{"kind":"single_choice","prompt":"What is the purpose of a CLAUDE.md file in Claude Code?","explanation":"CLAUDE.md is a markdown file that Claude reads at the start of every conversation. It stores project conventions, coding standards, architectural patterns, and Bash commands. The /init command can auto-generate one by analyzing the codebase.","points":1,"options":[{"label":"Provides persistent project context, conventions, and commands that Claude loads at session start"},{"label":"A configuration file for Claude's API temperature settings"},{"label":"A log file that records all Claude Code interactions"},{"label":"A dependency manifest for Claude Code plugins"}]},{"kind":"single_choice","prompt":"How are Skills and Slash Commands related in Claude Code as of 2026?","explanation":"As of 2026, slash commands and skills are unified under .claude/skills/. Frontmatter controls invocation: disable-model-invocation for manual-only, or let Claude auto-detect them based on task context and invoke automatically.","points":1,"options":[{"label":"They are unified in .claude/skills/ with frontmatter controlling auto vs manual invocation"},{"label":"Skills replaced slash commands entirely and old commands no longer work"},{"label":"They remain entirely separate systems that cannot interact"},{"label":"Slash commands are for the IDE, skills are for the terminal"}]},{"kind":"single_choice","prompt":"What feature allows Claude Code to run specialized tasks in isolated context windows with their own tool access and system prompts?","explanation":"Subagents run in separate context windows with their own system prompt and allowed tools. They prevent 'context poisoning' by keeping detailed implementation work from cluttering the main conversation. They can also run in parallel.","points":1,"options":[{"label":"Subagents"},{"label":"MCP servers"},{"label":"Hooks"},{"label":"Plugins"}]},{"kind":"single_choice","prompt":"What are Hooks in Claude Code and when do they fire?","explanation":"Hooks are deterministic, event-driven handlers defined in .claude/settings.json. They fire on lifecycle events like PreToolUse, PostToolUse, SessionStart, etc. Unlike CLAUDE.md instructions which are advisory, hooks guarantee the action happens.","points":1,"options":[{"label":"Deterministic event handlers that fire on lifecycle events like PreToolUse and PostToolUse"},{"label":"Git hooks that run on pre-commit and post-commit"},{"label":"HTTP webhook callbacks for external services"},{"label":"Keyboard shortcuts for common Claude Code commands"}]},{"kind":"single_choice","prompt":"What does MCP (Model Context Protocol) enable in Claude Code?","explanation":"MCP connects Claude Code to external tools and data sources through a universal protocol — like USB-C for AI tools. It allows Claude to interact with GitHub, databases, APIs, and other systems via MCP servers.","points":1,"options":[{"label":"Connects external tools and data sources via a universal protocol"},{"label":"Monitors Claude's context usage and alerts when full"},{"label":"Manages Claude Code plugin dependencies"},{"label":"Creates multi-factor authentication for terminal access"}]},{"kind":"single_choice","prompt":"What is the recommended approach for getting Claude to verify its own work autonomously?","explanation":"Give Claude a check that returns a pass/fail signal — a test suite, build exit code, linter, or script. The verification loop closes: Claude does the work, runs the check, reads the result, and iterates until it passes. This can be enforced via a Stop hook or /goal condition.","points":1,"options":[{"label":"Provide a verification check (test suite, linter, script) so Claude can iterate until it passes"},{"label":"Manually review every line of generated code"},{"label":"Run Claude in a sandboxed environment"},{"label":"Use a separate Claude instance to double-check output"}]},{"kind":"single_choice","prompt":"When building a feature with Claude Code, which approach produces better results?","explanation":"Breaking complex tasks into smaller, focused prompts produces better results. Large prompts produce sprawling, untested, partially-broken code. Work incrementally: start with the data model, add one behavior at a time, validate each piece before moving on.","points":1,"options":[{"label":"Break the task into smaller incremental prompts, validating each step"},{"label":"Prompt for the entire feature in one large prompt for maximum efficiency"},{"label":"Use one prompt per session regardless of task size"},{"label":"Ask Claude to plan the whole feature but write none of it"}]},{"kind":"single_choice","prompt":"What is 'context engineering' in professional vibe coding?","explanation":"Context engineering is the discipline of providing the AI with exactly the right information — technology choices, UX expectations, constraints, and existing patterns — to produce optimal code. It is considered more important than clever phrasing in prompts.","points":1,"options":[{"label":"The practice of providing precise, structured context so the AI produces correct code on fewer iterations"},{"label":"Engineering the AI model's training data for better code generation"},{"label":"Optimizing the context window size in the Claude API"},{"label":"Building a knowledge base of prompt templates"}]},{"kind":"single_choice","prompt":"What is the 'kitchen sink session' failure pattern in Claude Code?","explanation":"It is when you start with one task, ask Claude something unrelated, then go back to the first task. The context fills with irrelevant information, degrading performance. The fix is /clear between unrelated tasks.","points":1,"options":[{"label":"Starting one task, mixing in unrelated tasks, then returning -- filling context with irrelevant information"},{"label":"Installing too many MCP servers and exceeding the tool limit"},{"label":"Running multiple Claude Code sessions simultaneously"},{"label":"Writing a CLAUDE.md file that is too short"}]},{"kind":"single_choice","prompt":"What is the recommended cost-optimization strategy when using Claude Code across different tasks?","explanation":"Multi-model rotation: use expensive models (Opus) for architecture decisions, medium models (Sonnet) for code generation, and cheap models (Haiku) for simple tasks like test writing or formatting. This can reduce costs by 70%+.","points":1,"options":[{"label":"Use cheaper models for simple tasks and reserve expensive models for architecture work"},{"label":"Always use the most expensive model for every task"},{"label":"Use only open-source models to avoid API costs"},{"label":"Pre-generate all code and review offline"}]},{"kind":"single_choice","prompt":"What is the AGENTS.md / CLAUDE.md-driven development pattern?","explanation":"Instead of prompt-engineering each session from scratch, maintain a living document that stores project context, conventions, tech stack, current state, and known issues. Every AI coding tool reads it, eliminating most 'the AI does not understand my project' issues.","points":1,"options":[{"label":"Maintaining a living document with project context that every AI session reads automatically"},{"label":"Using multiple AI agents that each have their own CLAUDE.md file"},{"label":"Creating agent-specific configuration files for each team member"},{"label":"Storing all prompts in a shared team library"}]},{"kind":"single_choice","prompt":"What does the /clear command do in Claude Code and when should it be used?","explanation":"/clear resets the context window between unrelated tasks. Long sessions with irrelevant context reduce performance. Claude Code's own docs state: 'A clean session with a better prompt almost always outperforms a long session with accumulated corrections.'","points":1,"options":[{"label":"Resets the conversation context -- use between unrelated tasks to avoid context pollution"},{"label":"Deletes all files created in the current session"},{"label":"Clears the terminal screen"},{"label":"Removes all MCP server connections"}]},{"kind":"single_choice","prompt":"What problem can arise from having an overly long CLAUDE.md file?","explanation":"Bloated CLAUDE.md files cause Claude to ignore instructions. Official guidance says: 'For each line, ask: would removing this cause Claude to make mistakes? If not, cut it.' Treat CLAUDE.md like code — review it regularly, prune it, and test changes.","points":1,"options":[{"label":"Claude ignores instructions because important rules get lost in the noise"},{"label":"Claude refuses to start if the file exceeds 100 lines"},{"label":"The file becomes corrupted and unreadable"},{"label":"Claude slows down considerably during startup"}]},{"kind":"single_choice","prompt":"What does a Stop hook in Claude Code do in the verification workflow?","explanation":"A Stop hook runs a verification script and blocks the turn from ending until the check passes. Claude Code overrides the hook after 8 consecutive blocks, but this creates a deterministic quality gate that does not require human oversight.","points":1,"options":[{"label":"Blocks the turn from ending until a verification script passes"},{"label":"Stops Claude from executing any further commands"},{"label":"Terminates the Claude session entirely"},{"label":"Pauses Claude and waits for human approval on every action"}]},{"kind":"single_choice","prompt":"What should you do when Claude keeps producing incorrect output after two correction attempts?","explanation":"After two failed corrections, /clear and write a better initial prompt incorporating what you learned. Correcting repeatedly pollutes context with failed approaches, making the problem worse.","points":1,"options":[{"label":"/clear and write a better prompt incorporating what you learned"},{"label":"Keep correcting -- eventually Claude will get it right"},{"label":"Switch to a different AI model"},{"label":"Restart the entire project from scratch"}]},{"kind":"single_choice","prompt":"What are 'Worktree Isolation' subagents in Claude Code?","explanation":"Setting isolation: worktree on a subagent gives it its own git worktree. Multiple subagents can edit files in parallel without conflicts. If changes are produced, the worktree path and branch are returned; if no changes, it is cleaned up.","points":1,"options":[{"label":"Subagents that work in isolated git worktrees so parallel edits do not conflict"},{"label":"Subagents that only run inside Docker containers"},{"label":"Subagents that cannot access the internet"},{"label":"Subagents that create their own CLAUDE.md files"}]},{"kind":"single_choice","prompt":"Which prompt strategy involves structuring requests with XML tags and has been shown to improve code quality by 30-40%?","explanation":"XML-structured prompting uses tags like <task>, <context>, <constraints> to organize prompts. This gives the AI clear structural boundaries, reducing ambiguity and improving output quality significantly.","points":1,"options":[{"label":"XML-structured prompting"},{"label":"Zero-shot prompting"},{"label":"Chain-of-thought prompting"},{"label":"Few-shot prompting"}]}]}