nix-darwin/config/claude/skills/scaffold-exercises/SKILL.md
Create exercise directory structures with sections, problems, solutions, and explainers that pass linting. Use when user wants to scaffold exercises, create exercise stubs, or set up a new course section.
npx skillsauth add nubiv/my-nome scaffold-exercisesInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Create exercise directory structures that pass pnpm ai-hero-cli internal lint, then commit with git commit.
XX-section-name/ inside exercises/ (e.g., 01-retrieval-skill-building)XX.YY-exercise-name/ inside a section (e.g., 01.03-retrieval-with-bm25)XX, exercise number = XX.YYEach exercise needs at least one of these subfolders:
problem/ - student workspace with TODOssolution/ - reference implementationexplainer/ - conceptual material, no TODOsWhen stubbing, default to explainer/ unless the plan specifies otherwise.
Each subfolder (problem/, solution/, explainer/) needs a readme.md that:
When stubbing, create a minimal readme with a title and a description:
# Exercise Title
Description here
If the subfolder has code, it also needs a main.ts (>1 line). But for stubs, a readme-only exercise is fine.
mkdir -p for each pathreadme.md per variant folder with a titlepnpm ai-hero-cli internal lint to validateThe linter (pnpm ai-hero-cli internal lint) checks:
problem/, solution/, explainer/)problem/, explainer/, or explainer.1/ existsreadme.md exists and is non-empty in the primary subfolder.gitkeep filesspeaker-notes.md filespnpm run exercise commands in readmesmain.ts required per subfolder unless it's readme-onlyWhen renumbering or moving exercises:
git mv (not mv) to rename directories - preserves git historyExample:
git mv exercises/01-retrieval/01.03-embeddings exercises/01-retrieval/01.04-embeddings
Given a plan like:
Section 05: Memory Skill Building
- 05.01 Introduction to Memory
- 05.02 Short-term Memory (explainer + problem + solution)
- 05.03 Long-term Memory
Create:
mkdir -p exercises/05-memory-skill-building/05.01-introduction-to-memory/explainer
mkdir -p exercises/05-memory-skill-building/05.02-short-term-memory/{explainer,problem,solution}
mkdir -p exercises/05-memory-skill-building/05.03-long-term-memory/explainer
Then create readme stubs:
exercises/05-memory-skill-building/05.01-introduction-to-memory/explainer/readme.md -> "# Introduction to Memory"
exercises/05-memory-skill-building/05.02-short-term-memory/explainer/readme.md -> "# Short-term Memory"
exercises/05-memory-skill-building/05.02-short-term-memory/problem/readme.md -> "# Short-term Memory"
exercises/05-memory-skill-building/05.02-short-term-memory/solution/readme.md -> "# Short-term Memory"
exercises/05-memory-skill-building/05.03-long-term-memory/explainer/readme.md -> "# Long-term Memory"
development
Manage devlogs (session journal entries) under the active repo's `.claude/devlogs/`. Subcommands - `write` creates a new date-stamped entry, `read` loads existing entries into context. Use when the user invokes `/devlog <subcommand>` or asks to write, save, recall, or load today's/recent devlogs.
development
Run MY_WIKI operations (ingest, query, research, lint). Use when the user wants to add sources to the wiki, ask questions against it, research new topics from the web, or audit its quality.
testing
Create and edit Obsidian Flavored Markdown with wikilinks, embeds, callouts, properties, and other Obsidian-specific syntax. Use when working with .md files in Obsidian, or when the user mentions wikilinks, callouts, frontmatter, tags, embeds, or Obsidian notes.
tools
Interact with Obsidian vaults using the Obsidian CLI to read, create, search, and manage notes, tasks, properties, and more. Also supports plugin and theme development with commands to reload plugins, run JavaScript, capture errors, take screenshots, and inspect the DOM. Use when the user asks to interact with their Obsidian vault, manage notes, search vault content, perform vault operations from the command line, or develop and debug Obsidian plugins and themes.