From learn-x-in-y-minutes
Generate a learnxinyminutes.com-style tutorial for any topic: a CLI command, programming language, library, framework, algorithm, tool, or concept. Trigger when the user asks to: - Create a learnxinyminutes tutorial for anything - Get a quick-start guide or quick overview of any topic - Understand how a command, tool, or concept works ("how does cat work", "explain grep") - Document a GitHub repo or local codebase they're exploring Trigger even without the word "learnxinyminutes" — "how does X work", "quick overview of X", "explain X to me", "quick-start guide for X" all qualify.
How this skill is triggered — by the user, by Claude, or both
Slash command
/learn-x-in-y-minutes:learn-x-in-y-minutesThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Generate a quick-start tutorial in the [learnxinyminutes.com](https://learnxinyminutes.com) format for any topic.
Generate a quick-start tutorial in the learnxinyminutes.com format for any topic.
Identify the subject and source
| What the user gives | How to get content |
|---|---|
| GitHub URL | gh CLI — see references/github.md |
| Local path | Glob/Read |
Command name (e.g. cat, awk) | man {cmd}, {cmd} --help, built-in knowledge |
| Named topic (language, algorithm, concept) | Built-in knowledge + WebSearch if needed |
| Docs/blog URL | WebFetch |
Classify category: language, framework, library, cli_command, tool, algorithm, concept
Gather content: read actual source — man pages, real code, official docs. Don't invent behavior.
Pick the right format based on category (see Output Format below)
Generate output using the matching section template
The format varies by category. Read the matching example before generating.
Code-first: short prose intro outside the code block, then one big fenced code block for the whole tutorial. Section dividers are comment-style inside the code — no markdown headers.
---
name: {Name}
filename: learn{repo}.{ext}
contributors:
- ["Generated by Claude", "https://claude.ai"]
- ["Source: {owner}/{repo}", "{url}"]
---
{2-3 sentence prose intro. Plain text, NOT inside a code block.}
```{ext}
# Learn {Tool} in Y minutes
# Source: {url}
####################################################
## 1. Installation
####################################################
# Install via brew (macOS)
brew install {tool} # => installs {tool}
####################################################
## 2. Basic Usage
####################################################
{tool} file.txt # => output shown inline
# Further Reading
# - Repository: {url}
```
Prose + per-command code blocks: markdown ## Section headers, short explanatory paragraphs, then a fenced block per command group. No single mega code block. See examples/git.md.
Prose-heavy: explain the concept in plain language first, then small pseudocode or code snippets for each example. Markdown headers for sections. See examples/dynamic-programming.md.
name, filename, contributors. Optional: category. No language: field.filename format: learn{subject}.{ext} using the subject's primary language extension.1. Basics, 2. Control Flow). Readers should be able to follow progression at a glance.Language: Primitives → Variables → Control Flow → Functions → Data Structures → Modules
Library/Framework: Installation → Core API → Common Patterns → Configuration → Advanced Usage
CLI Command (e.g. cat, grep, awk): What it does → Basic syntax → Common flags → Practical examples → Combining with other tools
Tool (e.g. git, docker): Concepts → Core commands → Options & Flags → Integration Tips
Web Framework: Setup → Routing → Request Handling → Middleware → Testing
Data Science: Setup → Data Loading → Core Operations → Visualization
Algorithm/DS: Core Idea → Approaches → Examples (with complexity) → When to Use → Further Reading
Concept: What it is → Why it matters → How it works → Examples → Common pitfalls
name, filename, contributors. No language:, title:, layout:, or description: fields.## Heading.learn{repo}.{ext}. If repo already starts with "learn", don't double it. Example: repo = learnxinyminutes → learnlearnxinyminutes.py is wrong → use learnxinyminutes.py.man or --help. For concepts: use authoritative knowledge. Never fabricate flags or APIs.uv, show uv; if the command has a -i flag, show -i.references/github.md for gh CLI commands.cat, use .sh; for concept guides use the language the examples are in.Before returning the tutorial, verify:
name, filename, contributors (no language: field); category included when subject is a tool, framework, or algorithm/DSreferences/github.md — GitHub-specific analysis using gh CLI (load when analyzing a GitHub URL)
Languages (code-first, one big block):references/examples/bash.md — shell/CLI language (# comment dividers)references/examples/python.md — scripting language (#### section dividers)references/examples/go.md — compiled language (// comment sections)Frameworks & Libraries (code-first, one big block with /// dividers):
references/examples/jquery.md — JS library (/// section dividers, event/DOM/AJAX sections)Tools (markdown sections + per-command code blocks):
references/examples/git.md — CLI tool (concept prose → ## Commands → per-command blocks)Algorithms & Data Structures (prose-heavy + small code snippets):
references/examples/dynamic-programming.md — concept explanation → examples → complexity tableLoad the example that matches your project's category before generating output.
Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.
npx claudepluginhub cjhwong/claude-skills --plugin learn-x-in-y-minutes