Skip to content

Commit badb662

Browse files
citypaulclaude
andcommitted
Enforce one learning workspace per topic in teach-me skill
Canonical locations: learning/[topic-slug]/ at the repo root for project topics, ~/.claude/learning/[topic-slug]/ for general ones. Artifacts for a topic are never split across locations or duplicate slugs; resume searches loosely, asks which workspace is canonical when strays exist, and consolidates. First project use asks once whether to commit the workspace or gitignore learning/. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
1 parent d90fa34 commit badb662

3 files changed

Lines changed: 12 additions & 5 deletions

File tree

.changeset/teach-me-html-lessons.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,3 +14,4 @@ Integrates the best ideas from mattpocock/skills' `teach` skill into the existin
1414
- **Fluency vs storage strength** — new learning-science section (Bjork) with the asymmetric difficulty rule: difficulty is the enemy during TEACH, the tool during PRACTICE; mastery judged only on spaced performance.
1515
- **Wisdom delegation** — real-world-judgment questions route to high-reputation communities recorded in `resources.md`.
1616
- **Answer-option hygiene** — multiple-choice rules (equal-length options, parallel grammar, misconception-based distractors) in assessment patterns.
17+
- **One workspace per topic** — canonical locations (`learning/[topic-slug]/` at the repo root for project topics, `~/.claude/learning/[topic-slug]/` for general ones); artifacts are never split across locations or duplicate slugs, resume consolidates strays, and first project use asks whether to commit or gitignore the workspace.

claude/.claude/skills/teach-me/SKILL.md

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -54,10 +54,12 @@ Use the answers to calibrate everything that follows: vocabulary, depth, pacing,
5454
Based on discovery, create a learning plan file.
5555

5656
**Location:**
57-
- Topic relates to current project → `learning/[topic-slug]/plan.md`
57+
- Topic relates to current project → `learning/[topic-slug]/plan.md` at the repo root
5858
- General / cross-project → `~/.claude/learning/[topic-slug]/plan.md`
5959
- If unclear, ask
6060

61+
**One workspace per topic.** Every artifact for a topic — plan, resources, glossary, cheat sheet, session log, lessons, course — lives in that topic's single workspace directory. Never split artifacts across locations, and never invent a second slug for the same topic: if existing progress is found, that directory and slug win, and all new artifacts go beside it. If progress somehow exists in both locations, ask which is canonical and consolidate before teaching. In a project, the workspace is always `learning/[topic-slug]/` at the repo root — not `docs/`, not `.claude/`. On first creation in a project, ask once whether to commit the workspace or add `learning/` to `.gitignore` (learning files are personal by default).
62+
6163
**Apply the 80/20 principle:** Identify the critical 20% that drives 80% of practical value. Structure the plan around this core. Advanced material is optional depth, not prerequisite.
6264

6365
**Use the spiral approach:** Introduce core concepts simply first, then revisit at increasing depth. Each pass adds nuance without invalidating what was learned before.
@@ -216,6 +218,8 @@ If the `diagrams` skill is available, use it for richer visualizations.
216218

217219
### Learning Files
218220

221+
One directory per topic holds everything (see "One workspace per topic" above — never split a topic across locations or slugs):
222+
219223
```
220224
learning/[topic-slug]/
221225
├── plan.md # Mission + learning plan with session outline and progress
@@ -280,9 +284,9 @@ Example: `/teach-me hexagonal-architecture` should discover and use the `hexagon
280284
When the learner asks to generate a course, produce structured materials that can be studied independently or used as session guides.
281285

282286
**Location options:**
283-
- **Project-local**: `learning/[topic]/course/` — topics tied to the current project
284-
- **General**: `~/.claude/learning/[topic]/course/` — transferable knowledge
285-
- **Custom**: Any path the learner specifies — for sharing or external use
287+
- **Project-local**: `learning/[topic-slug]/course/` at the repo root — topics tied to the current project
288+
- **General**: `~/.claude/learning/[topic-slug]/course/` — transferable knowledge
289+
- **Custom**: Any path the learner specifies — for sharing or external use (the one exception to the one-workspace rule, since the output is for others)
286290

287291
**Work-derived courses:** When the learner has been working on a project, the course can draw on actual project code as examples. Reference real files, real patterns, and real decisions.
288292

claude/.claude/skills/teach-me/resources/session-management.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,14 @@ When `/teach-me [topic]` is invoked and existing progress exists:
1212

1313
```
1414
CHECK (in order):
15-
├─► learning/[topic-slug]/session-log.md (project-local)
15+
├─► learning/[topic-slug]/session-log.md (project-local, repo root)
1616
├─► ~/.claude/learning/[topic-slug]/session-log.md (general)
1717
├─► Memory system — search for learning memories about [topic]
1818
└─► Any of the above may be the source of truth; prefer the most recent
1919
```
2020

21+
When checking, search for the topic loosely (a topic may have been slugged differently — `terraform` vs `terraform-dreamcatcher`). If artifacts for one topic turn up in more than one location or under more than one slug, ask the learner which is canonical, consolidate everything there, and continue with that single workspace. All new artifacts always go beside the existing plan — never start a parallel workspace.
22+
2123
### 2. Summarize Where We Left Off
2224

2325
Tell the learner:

0 commit comments

Comments
 (0)