hermes
  • Explain a codebase

    Explains an unfamiliar codebase. Maps its structure, traces one real request end to end and names the concepts and gotchas a newcomer needs. Use when joining a project or reading an unknown repo.

  • Explain a concept with code

    Explains a programming concept through the problem it solves, a minimal runnable example, a common mistake and a quick self-check, pitched at the learner's level. Use to learn or teach a concept.

  • Explain a SQL query

    Explains a complex SQL query clause by clause in logical execution order, shows intermediate results on a tiny example, and points out bugs and performance traps. Use when inheriting a query.

  • Plan a learning path for a technology

    Builds a week-by-week plan to get productive in a new language, framework or tool, built around hands-on milestones and skipping what the learner already knows. Use when picking up a new stack.

  • Beginner coding buddy

    Acts as a patient coding helper for non-programmers, such as office workers, researchers and teachers, by explaining in plain words, keeping programs small and warning before anything risky.

  • Coach a test-driven coding kata

    Coaches a test-driven coding kata one requirement at a time, reviewing each failing test, minimal implementation and refactor before revealing the next step.

  • Coding mentor

    Acts as a senior developer mentoring a junior, asking what they tried, explaining the why behind fixes and reviewing code to teach. Use for early-career developers who want to grow.

  • Create graded coding exercises

    Generates a graded set of coding exercises for one concept, each with starter code, automated tests, staged hints and a reference solution. Use for teaching, practice sessions or self-study.

  • Decode engineering jargon

    Explains the engineering terms in a message, ticket or meeting notes in plain words for a non-engineer, what each means for them, and the question to ask back. Use when a dev update is unclear.

  • Draft a help request

    Coaches a stuck developer to turn a vague problem into a question others can answer, with goal, minimal reproduction, attempts, exact errors and versions. Use before asking for help.

  • Drill code reading

    Runs a code-reading game where the learner predicts what short snippets print or do, then gets the answer and the one concept they missed, with adaptive difficulty and a score.

  • Step through assembly on a simulated CPU

    Simulates a simple CPU stepping through assembly instructions, showing registers, flags, the stack and memory after each step, for computer architecture students.

  • Debug a page in simulated browser DevTools

    Simulates browser DevTools on a page with a hidden layout or network bug, answering element, style, console and network inspections until the learner finds the cause.

  • Practise Docker in a simulated CLI

    Simulates the Docker CLI with images, containers, volumes and networks that persist across commands, teaching builds, port mapping, logs, debugging and cleanup without installing anything.

  • Practise git in a simulated repository

    Simulates a git repository with files, commits, branches and a remote, redrawing the commit graph after each command so learners practise branching, rebasing and recovery safely.

  • Practise GraphQL against a simulated endpoint

    Simulates a GraphQL endpoint with a printed schema, answering queries and mutations with data or spec-correct validation errors so learners practise fields, variables, fragments and pagination.

  • Practise HTTP against a simulated REST API

    Simulates a REST API that answers curl or raw HTTP requests with realistic status codes, headers and JSON, so learners practise methods, auth, pagination and error handling.

  • Practise in a simulated browser JavaScript console

    Simulates a browser JavaScript console attached to a small page, so learners practise expressions, DOM queries, promises and event handlers and see faithful console output.

  • Practise kubectl on a simulated cluster

    Simulates a Kubernetes cluster through kubectl with pods, deployments and services whose state changes realistically over time, including crash loops and failed rollouts to diagnose.

  • Practise in a simulated Linux shell

    Simulates a Linux terminal with a persistent fake filesystem, users and processes for safe command practice, with a hint mode that explains output and suggests the next command.

  • Practise MongoDB in a simulated shell

    Simulates a MongoDB shell with sample collections, returning documents and errors for queries, updates and aggregation pipelines and keeping data changes across turns.

  • Practise in a simulated PowerShell console

    Simulates a PowerShell console with real objects, pipelines, a fake Windows filesystem and services, teaching cmdlets and the object pipeline through hands-on practice.

  • Practise in a simulated Python REPL

    Simulates an interactive Python REPL that keeps variables across turns and prints results and tracebacks as Python would, with an optional plain-language explanation of each error.

  • Practise regular expressions in a simulated tester

    Simulates a regex tester that marks matches and capture groups in sample strings, with a ladder of challenges that builds from literals up to lookarounds.

  • Practise on a simulated SQL database

    Simulates a SQL database with a practice schema and seeded rows, returning result tables or the dialect's exact errors for each query and keeping changes across turns.

  • Train vim habits in a simulated buffer

    Simulates a vim buffer with a visible cursor, setting editing challenges and showing the buffer after each keystroke sequence so learners build motion and operator habits.

  • Explain an algorithm

    Explains an algorithm or data structure through intuition, a step-by-step trace on a small input, the invariant that makes it correct, complexity and runnable code in the learner's language.

  • Explain a piece of code

    Explains a piece of code step by step at the reader's level, starting with what it is for, then walking through how it works with a worked example and the parts that are easy to misread.

  • Junior mentoring rules

    Standing rules for a coding assistant working in a junior developer's project so they stay the author, with proposals before edits, small explained diffs and no silenced checks.

  • Learn a new language from one you know

    Teaches a new programming language by mapping it onto one the learner already knows, covering idioms, false friends, tooling and graded exercises. Use when switching languages for a job or project.

  • Map an unfamiliar repo and verify its setup docs

    Explores an unfamiliar repository, builds and runs it and its tests by following the docs exactly, records every gap without fixing code, and writes a verified getting-started note. Use on day one.

  • Pick a portfolio project

    Helps a junior or career-changing developer choose one portfolio project that proves what target jobs ask for, scoped to finish in weeks, with milestones. Use before starting a portfolio piece.

  • Quiz yourself on Big-O complexity

    Quizzes time and space complexity on short code snippets, asks the learner to justify each answer, and explains loops, recursion and amortised cases when they slip.

  • Review a beginner's code

    Reviews a learner's code with kind, teaching-first feedback on correctness and readability, limited to the few points that matter most, plus the next concept to learn. Use for new developers.

  • Run a network troubleshooting lab

    Simulates a small broken network where the learner runs ping, traceroute, dig and curl to find the fault, with consistent outputs and a debrief on troubleshooting method.

  • Tutor game math

    Teaches the maths game developers use, from vectors and dot products to interpolation, rotations and transforms, through gameplay problems with code in your engine. Use when game maths blocks you.

  • Tutor microcontroller basics

    Teaches a programmer new to hardware how microcontrollers work through small hands-on projects, one concept per session, with wiring checks and safety notes. Use when starting with embedded.

Not: studying other subjects (education domain).