Navigating GitHub
First-time GitHub setup and interactive git learning. Get set up, then learn by doing.
Table of Contents
- Overview — 2. Prerequisites — 3. Instructions — 4. Modes — 5. Examples — 6. Output — 7. Resources
Overview
Problem: Getting started with GitHub is the #1 barrier for people building with AI. Beginners stall at setup, don't understand commits vs pushes vs PRs, and have nobody to walk them through it hands-on. AI coding tools can run git commands, but they don't teach you what those commands mean or guide you through setup from scratch.
Solution: Walk users through GitHub setup step by step, then teach git and GitHub through 9 progressive hands-on lessons on their actual project. Every lesson uses do-then-explain: run the command, see the result, then understand why. Adapts language and depth to skill level automatically.
Prerequisites
- Terminal access with
git installed
gh CLI installed (Setup handles installation if missing)
- GitHub account (Setup handles creation if missing)
Instructions
Step 1 — Route
Determine mode from the user's request. Act immediately — no preamble.
- No
.git/ directory OR gh auth status fails → Setup (check with test -d .git and gh auth status)
- Keywords "teach", "learn", "what are", "how do", "explain", "lesson" → Learn
- Keywords "set up", "new repo", "init", "get started" → Setup
- Generic ("help me with github") → check environment, route to Setup if no repo, otherwise offer lesson menu
Step 2 — Infer Skill Level
Each mode runs git status as part of its normal operation. Infer level from those signals — no extra commands:
- Only
main branch + short/vague commit messages → Beginner
- A few branches + descriptive commits → Intermediate
- Branch naming conventions + conventional commits → Advanced
- Complex history, multiple remotes, CI configured → Expert
Only ask via AskUserQuestion when signals are genuinely ambiguous. Read ${CLAUDE_SKILL_DIR}/references/skill-assessment-guide.md for the full adaptive behavior matrix. Apply:
| Level |
Language |
Depth |
Autonomy |
| Beginner |
Analogies, zero jargon |
Explain everything |
Execute and teach along the way |
| Intermediate |
Light jargon, define terms |
Explain the why |
Execute, ask to confirm |
| Advanced |
Standard vocabulary |
Brief rationale only |
Suggest, let user decide |
| Expert |
Terse, technical |
None unless asked |
Assist only |
Modes
Setup — Guided Onboarding
The core experience for first-time users. Walk through each step interactively, skipping anything already done. Run each check, explain what it means, fix what's missing.
Sequence: Check gh auth status → install gh if missing (detect OS, give command) → run gh auth login (walk through browser OAuth) → check git config user.name and user.email (set if missing) → check for .git/ (run git init if missing) → generate .gitignore by detected project type → create first commit → run gh repo create (let user choose public/private) → push → show the repo URL.
Skip completed steps. Explain each step at the inferred level. After completion, offer the lesson menu: "Repo is set up. Say 'teach me github' or run /github-learn to start learning."
Learn — Interactive Curriculum
Hands-on lessons using real commands on the user's actual project. Every lesson follows do-then-explain: run a real command, observe the result, THEN explain what happened. Verify understanding after each step before proceeding.
Read ${CLAUDE_SKILL_DIR}/references/learning-curriculum.md for the full curriculum. Route by trigger:
Beginner track:
- "teach me github" / "learn github" → GitHub 101 — commits, push, the basics
- "what are branches" / "teach me branches" → Branching Basics — create, switch, see the difference
- "teach me PRs" → Your First PR — branch, push, create PR, merge
Intermediate track:
- "teach me branching strategies" → Branch Workflows — naming, feature branches, staying current
- "teach me code review" → PR Review Flow — review, comment, approve
- "how do I collaborate" → Team Git — forks, upstream sync, co-authoring
Advanced track:
- "teach me rebase" → Rebase vs Merge — interactive rebase, squash, clean history
- "teach me CI/CD" / "github actions" → GitHub Actions — write a workflow, watch it run
- "how do code review apps work" → Review Ecosystem — CodeRabbit, Copilot Review, and the ecosystem (read
${CLAUDE_SKILL_DIR}/references/github-review-apps.md)
After each lesson: summarize what was learned (2-3 bullets), give a small challenge to try solo, suggest the next lesson.
Teaching rules:
- Run commands one at a time, explain after each result
- If the user makes a mistake, fix it together — mistakes are learning moments
- If the user already knows something, skip ahead
- If the user seems confused, slow down and simplify
- Create a safe practice branch before exercises that modify the repo
- Never push to
main/master during lessons — always branch first
- Never commit secrets — check for
.env, API keys before staging
Examples
Setup (no .git, no auth):
User: "help me with github"
Agent: [checks — no .git, gh not authenticated]
Agent: "Starting from scratch. First, connect to GitHub..."
Agent: [walks through gh auth login, git config, git init, gh repo create]
Agent: "Repo is live at github.com/user/project. Run /github-learn to
start learning commits and branches."
Learn (beginner, GitHub 101):
User: "teach me github"
Agent: "Make a small change to any file — add a comment, fix a typo."
User: [edits a file]
Agent: "Now save that change: git add README.md"
Agent: "That moved the change to the staging area — like putting a letter
in an envelope. Now seal it: git commit -m 'Update README'"
Agent: [verifies understanding before moving to next step]
Learn (advanced, rebase):
User: "/github-learn rebase"
Agent: "Create a branch with 3 small commits, then we'll squash them."
Agent: [guides through git rebase -i, explains pick/squash/fixup]
Output
Calibrate all output to the inferred skill level. Beginner: plain English with analogies, explain every command. Intermediate: concise summaries, explain rationale. Advanced: minimal commentary. Expert: raw output only. Read ${CLAUDE_SKILL_DIR}/references/git-concepts-glossary.md when a term definition is needed.
Error Handling
gh not installed: Detect missing CLI, provide platform-specific install instructions (brew install gh, apt install gh, winget install GitHub.cli), then resume setup.
- Authentication failure: If
gh auth status fails, walk through gh auth login with browser OAuth flow. If token is expired, run gh auth refresh.
- No git remote: If
git remote -v returns empty, guide through gh repo create or git remote add origin <url>.
- Merge conflict during lesson: Explain what a conflict is at the user's level, show the conflict markers, and walk through resolution step by step.
- Detached HEAD: Detect with
git status, explain in plain language, and recover with git checkout <branch>.
Resources
${CLAUDE_SKILL_DIR}/references/learning-curriculum.md — 9 progressive lesson plans from beginner through advanced
${CLAUDE_SKILL_DIR}/references/git-concepts-glossary.md — term definitions at beginner and technical levels
${CLAUDE_SKILL_DIR}/references/skill-assessment-guide.md — adaptive behavior matrix with level-up and level-down signals
${CLAUDE_SKILL_DIR}/references/safety-rules.md — branch protection, secret detection, destructive operation guards
${CLAUDE_SKILL_DIR}/references/error-recovery-playbook.md — conflict resolution, auth repair, detached HEAD, rebase recovery
${CLAUDE_SKILL_DIR}/references/github-review-apps.md — CodeRabbit, Copilot Review, Greptile, CodeQL, Qodo
${CLAUDE_SKILL_DIR}/references/claude-github-platforms.md — platform capabilities across Claude Code, Cursor, Windsurf, and others
1---2name: navigating-github3description: First-time GitHub setup and interactive git learning. Walks users from zero to a working GitHub repo, then teaches git through 9 hands-on lessons on their actual project. Adapts language and depth to skill level — inferred from environment, not questionnaires. Two modes: Setup (guided onboarding) and Learn (progressive curriculum from commits to CI/CD). Use when the user asks to set up GitHub, learn git, or says "teach me github". Trigger with "set up my repo", "help me with github", "teach me github", "learn git", "what are branches", "teach me PRs", or "how do I use github".4license: MIT5---6# Navigating GitHub
7
8First-time GitHub setup and interactive git learning. Get set up, then learn by doing.
9
10## Table of Contents
11
121. Overview — 2. Prerequisites — 3. Instructions — 4. Modes — 5. Examples — 6. Output — 7. Resources
13
14## Overview
15
16**Problem:** Getting started with GitHub is the #1 barrier for people building with AI. Beginners stall at setup, don't understand commits vs pushes vs PRs, and have nobody to walk them through it hands-on. AI coding tools can run git commands, but they don't teach you what those commands mean or guide you through setup from scratch.
17
18**Solution:** Walk users through GitHub setup step by step, then teach git and GitHub through 9 progressive hands-on lessons on their actual project. Every lesson uses do-then-explain: run the command, see the result, then understand why. Adapts language and depth to skill level automatically.
19
20## Prerequisites
21
22- Terminal access with `git` installed
23- `gh` CLI installed (Setup handles installation if missing)
24- GitHub account (Setup handles creation if missing)
25
26## Instructions
27
28### Step 1 — Route
29
30Determine mode from the user's request. Act immediately — no preamble.
31
321. No `.git/` directory OR `gh auth status` fails → **Setup** (check with `test -d .git` and `gh auth status`)
332. Keywords "teach", "learn", "what are", "how do", "explain", "lesson" → **Learn**
343. Keywords "set up", "new repo", "init", "get started" → **Setup**
354. Generic ("help me with github") → check environment, route to **Setup** if no repo, otherwise offer lesson menu
36
37### Step 2 — Infer Skill Level
38
39Each mode runs `git status` as part of its normal operation. Infer level from those signals — no extra commands:
40
41- Only `main` branch + short/vague commit messages → **Beginner**
42- A few branches + descriptive commits → **Intermediate**
43- Branch naming conventions + conventional commits → **Advanced**
44- Complex history, multiple remotes, CI configured → **Expert**
45
46Only ask via `AskUserQuestion` when signals are genuinely ambiguous. Read `${CLAUDE_SKILL_DIR}/references/skill-assessment-guide.md` for the full adaptive behavior matrix. Apply:
47
48| Level | Language | Depth | Autonomy |
49|-------|----------|-------|----------|
50| Beginner | Analogies, zero jargon | Explain everything | Execute and teach along the way |
51| Intermediate | Light jargon, define terms | Explain the why | Execute, ask to confirm |
52| Advanced | Standard vocabulary | Brief rationale only | Suggest, let user decide |
53| Expert | Terse, technical | None unless asked | Assist only |
54
55## Modes
56
57### Setup — Guided Onboarding
58
59The core experience for first-time users. Walk through each step interactively, skipping anything already done. Run each check, explain what it means, fix what's missing.
60
61**Sequence:** Check `gh auth status` → install `gh` if missing (detect OS, give command) → run `gh auth login` (walk through browser OAuth) → check `git config user.name` and `user.email` (set if missing) → check for `.git/` (run `git init` if missing) → generate `.gitignore` by detected project type → create first commit → run `gh repo create` (let user choose public/private) → push → show the repo URL.
62
63Skip completed steps. Explain each step at the inferred level. After completion, offer the lesson menu: "Repo is set up. Say 'teach me github' or run `/github-learn` to start learning."
64
65### Learn — Interactive Curriculum
66
67Hands-on lessons using real commands on the user's actual project. Every lesson follows **do-then-explain**: run a real command, observe the result, THEN explain what happened. Verify understanding after each step before proceeding.
68
69Read `${CLAUDE_SKILL_DIR}/references/learning-curriculum.md` for the full curriculum. Route by trigger:
70
71**Beginner track:**
72
73- "teach me github" / "learn github" → **GitHub 101** — commits, push, the basics
74- "what are branches" / "teach me branches" → **Branching Basics** — create, switch, see the difference
75- "teach me PRs" → **Your First PR** — branch, push, create PR, merge
76
77**Intermediate track:**
78
79- "teach me branching strategies" → **Branch Workflows** — naming, feature branches, staying current
80- "teach me code review" → **PR Review Flow** — review, comment, approve
81- "how do I collaborate" → **Team Git** — forks, upstream sync, co-authoring
82
83**Advanced track:**
84
85- "teach me rebase" → **Rebase vs Merge** — interactive rebase, squash, clean history
86- "teach me CI/CD" / "github actions" → **GitHub Actions** — write a workflow, watch it run
87- "how do code review apps work" → **Review Ecosystem** — CodeRabbit, Copilot Review, and the ecosystem (read `${CLAUDE_SKILL_DIR}/references/github-review-apps.md`)
88
89After each lesson: summarize what was learned (2-3 bullets), give a small challenge to try solo, suggest the next lesson.
90
91**Teaching rules:**
92
93- Run commands one at a time, explain after each result
94- If the user makes a mistake, fix it together — mistakes are learning moments
95- If the user already knows something, skip ahead
96- If the user seems confused, slow down and simplify
97- Create a safe practice branch before exercises that modify the repo
98- Never push to `main`/`master` during lessons — always branch first
99- Never commit secrets — check for `.env`, API keys before staging
100
101## Examples
102
103**Setup** (no .git, no auth):
104
105```
106User: "help me with github"
107Agent: [checks — no .git, gh not authenticated]
108Agent: "Starting from scratch. First, connect to GitHub..."
109Agent: [walks through gh auth login, git config, git init, gh repo create]
110Agent: "Repo is live at github.com/user/project. Run /github-learn to
111 start learning commits and branches."
112```
113
114**Learn** (beginner, GitHub 101):
115
116```
117User: "teach me github"
118Agent: "Make a small change to any file — add a comment, fix a typo."
119User: [edits a file]
120Agent: "Now save that change: git add README.md"
121Agent: "That moved the change to the staging area — like putting a letter
122 in an envelope. Now seal it: git commit -m 'Update README'"
123Agent: [verifies understanding before moving to next step]
124```
125
126**Learn** (advanced, rebase):
127
128```
129User: "/github-learn rebase"
130Agent: "Create a branch with 3 small commits, then we'll squash them."
131Agent: [guides through git rebase -i, explains pick/squash/fixup]
132```
133
134## Output
135
136Calibrate all output to the inferred skill level. Beginner: plain English with analogies, explain every command. Intermediate: concise summaries, explain rationale. Advanced: minimal commentary. Expert: raw output only. Read `${CLAUDE_SKILL_DIR}/references/git-concepts-glossary.md` when a term definition is needed.
137
138## Error Handling
139
140- **`gh` not installed**: Detect missing CLI, provide platform-specific install instructions (`brew install gh`, `apt install gh`, `winget install GitHub.cli`), then resume setup.
141- **Authentication failure**: If `gh auth status` fails, walk through `gh auth login` with browser OAuth flow. If token is expired, run `gh auth refresh`.
142- **No git remote**: If `git remote -v` returns empty, guide through `gh repo create` or `git remote add origin <url>`.
143- **Merge conflict during lesson**: Explain what a conflict is at the user's level, show the conflict markers, and walk through resolution step by step.
144- **Detached HEAD**: Detect with `git status`, explain in plain language, and recover with `git checkout <branch>`.
145
146## Resources
147
148- `${CLAUDE_SKILL_DIR}/references/learning-curriculum.md` — 9 progressive lesson plans from beginner through advanced
149- `${CLAUDE_SKILL_DIR}/references/git-concepts-glossary.md` — term definitions at beginner and technical levels
150- `${CLAUDE_SKILL_DIR}/references/skill-assessment-guide.md` — adaptive behavior matrix with level-up and level-down signals
151- `${CLAUDE_SKILL_DIR}/references/safety-rules.md` — branch protection, secret detection, destructive operation guards
152- `${CLAUDE_SKILL_DIR}/references/error-recovery-playbook.md` — conflict resolution, auth repair, detached HEAD, rebase recovery
153- `${CLAUDE_SKILL_DIR}/references/github-review-apps.md` — CodeRabbit, Copilot Review, Greptile, CodeQL, Qodo
154- `${CLAUDE_SKILL_DIR}/references/claude-github-platforms.md` — platform capabilities across Claude Code, Cursor, Windsurf, and others