Create structured lesson plans for learning new concepts or following courses.
From gignpx claudepluginhub gregrossdev/gigThis skill uses the workspace's default tool permissions.
Executes pre-written implementation plans: critically reviews, follows bite-sized steps exactly, runs verifications, tracks progress with checkpoints, uses git worktrees, stops on blockers.
Guides idea refinement into designs: explores context, asks questions one-by-one, proposes approaches, presents sections for approval, writes/review specs before coding.
Dispatches parallel agents to independently tackle 2+ tasks like separate test failures or subsystems without shared state or dependencies.
Read .gig/STATE.md and display:
Version: {version} | Iteration: {iteration} | Status: {status}
Check if .gig/ exists in the current project root.
If NOT present:
Say: "No gig context found. Run /gig:init first." STOP.
If present:
Read .gig/STATE.md for current position.
If status is GATHERING, IMPLEMENTING, or IMPLEMENTED: Say: "An iteration is in progress. Complete it before starting a new lesson plan." STOP.
If status is SPECCED:
Warn: "A locked spec already exists. Running /gig:learn will create a new curriculum. Continue?"
If user says no, STOP.
If user says yes, proceed (spec skill's archiving logic handles the old spec).
If status is IDLE, GOVERNED, or SPECING (resuming): Proceed.
If user provided args containing a URL (http/https):
Say: "Detected external course URL. I'll analyze the course structure and build a curriculum around it."
Set mode to external. Jump to External Course Flow below.
If user provided args containing "from scratch":
Say: "Building a curriculum from scratch."
Set mode to fresh. Jump to Fresh Curriculum Flow below.
If user provided other args: Use the args as the topic. Ask ONE question: "Creating a curriculum from scratch, or following an existing course?"
If no args: Ask: "What do you want to learn? (Topic, course URL, or describe what you're trying to understand)"
Research the topic by launching 2 Explore agents in parallel (Agent tool, subagent_type "Explore"), plus WebSearch:
Synthesize findings from both agents and WebSearch before designing the curriculum.
Design the curriculum:
Present the draft curriculum (see Running Draft below).
Research the course using WebSearch and subagents:
Map to curriculum format:
Present the draft curriculum (see Running Draft below).
After building the curriculum, present it in spec format:
### Curriculum Draft: {Topic}
**Mode:** {from scratch | following {course name}}
**Lessons:** {count}
**Estimated progression:** {description of learning arc}
## Stories (Lessons)
| ID | Lesson | Focus | Prerequisites | Status |
|----|--------|-------|--------------|--------|
| US-001 | {Lesson 1 title} | {concept} | — | NOT COVERED |
| US-002 | {Lesson 2 title} | {concept} | US-001 | NOT COVERED |
| ... | ... | ... | ... | ... |
## Requirements (Learning Objectives)
| ID | Lesson | Objective | How to verify | Priority | Status |
|----|--------|-----------|--------------|----------|--------|
| REQ-001 | US-001 | {Understand X} | {Can explain X, solve Y type problem} | must | NOT COVERED |
| REQ-002 | US-001 | {Apply X to Y} | {Can implement Z pattern} | must | NOT COVERED |
| ... | ... | ... | ... | ... | ... |
Keep refining until:
If the user seems done but gaps remain, surface them: "Before locking, I notice {gap}. Want to add a lesson for it or mark it out of scope?"
Present the complete curriculum in full SPEC.md format.
Map the curriculum to standard spec format:
Scope Notes = focus area)Acceptance Criteria = how to verify learning)Then ask:
Does this curriculum match what you want to learn?
- "lock" / "approve" — write the curriculum and start learning.
- "change X" — adjust lessons, add/remove objectives.
- "not yet" — continue refining.
STOP. Do not write SPEC.md. Wait for approval.
Once the user approves:
Write .gig/SPEC.md with the locked curriculum in standard spec format. Overwrite any existing draft.
Update .gig/STATE.md:
SPECCEDSay:
"Curriculum locked with {N} lessons and {M} learning objectives."
"Run
/gig:gatherto start the first lesson. Each lesson runs through the normal gather→implement→govern flow.""After each lesson, governance generates an article capturing what you learned."