Bootstrap
Skill TimboGP/timbogp-marketplace/plugin/agentic-study-environment/skills/bootstrap
A Claude Code plugin that turns the agent into a structured tutor over your own materials — per-topic sub-projects, curricula, and bracketed study sessions, with domain overlays. Domain-agnostic.
npx -y skills add TimboGP/timbogp-marketplace --skill bootstrapAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 3 stars3 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Scaffold a new learning sub-project under the agentic-study-environment harness — create the directory, generate per-project AGENTS.md, CLAUDE.md, and PROGRESS.md from templates, and register the new project in the .studyenv/PROGRESS.md cross-project tracker. Use this skill whenever the user wants to start studying a new topic, paper, book, language, or domain with the tutor harness — phrases like "bootstrap a new project to learn X", "start a new sub-project for Y", "set up a learning project on Z", or "create a sub-project to study W" should all trigger this skill. Do not use for general project scaffolding outside the agentic-study-environment harness.
SKILL.md
8.7 KB, as published. Nobody here has run it
Bootstrap a learning sub-project
This skill mints a new sub-project under the agentic-study-environment harness. A sub-project is a self-contained folder where a learner works through a single topic with the agent as tutor, scaffolded by the harness's conventions.
When to use
The user wants to start studying something new. They might say "bootstrap a project to learn TASEP", "create a sub-project for Spanish vocabulary", "set up a learning project for the seam carving paper", or similar. The signal is: a topic they want to learn, an intent to study it under the harness.
This skill does NOT run a teaching session — that's start-session. It only sets up the scaffolding.
What you need from the user
Required (ask if missing — do not invent):
- a sub-project name (becomes the directory name, e.g.
seam-carver,spanish-b2,tasep) - a one-line learning goal that captures what the user wants to learn
Optional (use if supplied; do not prompt for them — they can be filled later via the sub-project's AGENTS.md):
- a Domain — controls which overlay applies during sessions. Known values:
coding,speech-therapy(synonym:logopedics),legal-documents(synonyms:official-documents,public-documents),academic-research(synonyms:research,scholarship),study(the neutral default), or any user-supplied custom value. If unset, the sub-project falls back to the neutral default. - a Language — BCP 47 tag (e.g.
de,es,fr) overriding the conversational language for chat replies inside this sub-project. Default is English unless an optional.studyenv/AGENTS.md(or.studyenv/CLAUDE.md) sets otherwise. Structural tokens (status legends, field names, trigger words) stay in English regardless — see../../reference/conventions.mdfor the exact rules. - Tools & Materials — anything the user already knows they'll work with (a language + version for coding, a textbook, a notation convention, …).
- Tracking —
global(default) orlocal-only.globalregisters the sub-project in the cross-project.studyenv/PROGRESS.mdtracker (the umbrella mode).local-onlykeeps just the sub-project's ownPROGRESS.mdand skips the cross-project tracker entirely — for a lone learning project where no global index is wanted. Default toglobalwhen unstated; do not prompt. See../../reference/conventions.md→ Tracking scope. - A note that source materials are already in place — controls the starting status of the sub-project.
Refuse to overwrite
If .studyenv/<sub-project-name>/ already exists, stop and ask the user. Never overwrite an existing sub-project. If the user wants to wipe and start over, they can delete the directory themselves and re-invoke. A sub-project may carry weeks of work in its PROGRESS.md and work/ — silent overwrite would be destructive.
What to create
Everything the harness generates lives under .studyenv/ at the current working directory (the host project root). Create .studyenv/ if it does not yet exist, then create:
.studyenv/<name>/— the sub-project directory..studyenv/<name>/source-materials/— empty placeholder for the user to drop PDFs, notes, links, prepared code projects..studyenv/<name>/AGENTS.md— render from../../templates/sub-project-agents.md(relative to this SKILL.md). Substitute<name>, the learning goal(s), and any suppliedDomain:/Language:/ Tools & Materials. IfDomain:was not supplied, omit the line entirely (do not leave a blank or a placeholder string). Same forLanguage:. IfTracking: local-onlywas requested, write that line; otherwise (theglobaldefault) omit theTracking:line. If Tools & Materials were not supplied, keep the placeholder textTBD when setting curriculum..studyenv/<name>/CLAUDE.md— render from../../templates/sub-project-claude.md. It is a compatibility pointer to.studyenv/<name>/AGENTS.md..studyenv/<name>/PROGRESS.md— render from../../templates/sub-project-progress.md. Status opens atcreated, or atreadyif the user mentioned source materials are already in place.
Do NOT create .studyenv/<name>/ai-agent-materials/ or .studyenv/<name>/work/. The set-curriculum skill creates ai-agent-materials/; sessions create work/ on demand per the active domain overlay.
Update the cross-project tracker (.studyenv/PROGRESS.md)
If Tracking: local-only was requested, skip this entire section — do not create or register .studyenv/PROGRESS.md. The sub-project's own PROGRESS.md is its only tracker (see ../../reference/conventions.md → Tracking scope).
Otherwise (the global default), after creating the sub-project, register it in the cross-project tracker at .studyenv/PROGRESS.md. Because .studyenv/ is harness-owned, this file is always either the harness tracker or absent — there is no foreign file to collide with and no shape to detect.
The tracker structure (a # PROGRESS.md — studyenv heading, a ## Projects table, ## Grand Topics Covered, and ## Journal) is documented in ../../reference/conventions.md → .studyenv/PROGRESS.md structure.
- If
.studyenv/PROGRESS.mddoes not exist (first bootstrap in this host), create it from the canonical structure, then add this sub-project's row and Journal entry. - If it exists, append the row and dated Journal entry without touching prior rows or entries.
The Projects row uses the matching status (created or ready) and a one-line note (typically the learning goal, abbreviated); the Journal gets an entry under today's date describing the bootstrap.
Whatever the outcome, the sub-project directory (.studyenv/<name>/) is already created and self-contained — its own PROGRESS.md is the source of truth; the tracker is only an index.
Confirm and prompt for materials
After scaffolding is in place:
- Tell the user concisely what was created (paths, opening status). For
local-only, note that the sub-project is self-tracked and was not registered in a cross-project tracker. - Prompt the user to drop source materials into
.studyenv/<name>/source-materials/— PDFs, papers, links, prepared code projects, exercise sheets, anything. - If the user supplies materials in the same turn (or confirms they've already added some), flip the sub-project's
PROGRESS.mdStatus line fromcreatedtoready— and the.studyenv/PROGRESS.mdProjects row too, unless this is alocal-onlysub-project (which has no Projects row).
Why these rules
- The harness is structural — every sub-project follows the same layout so the agent can navigate any of them without re-learning the conventions. The templates enforce that.
- Everything generated goes under
.studyenv/so the harness footprint is fully contained and portable — the host project stays clean, and the whole study environment can be gitignored, deleted, zipped, or synced as one folder. The harness never touches the host's own root files. - Domain and Language stay optional and omitted-when-unset rather than written as placeholders, because the agent uses presence/absence of those fields at session time to decide whether to load an overlay or switch conversational language. A placeholder string would falsely trigger.
ai-agent-materials/andwork/are deliberately not created here. Bootstrap should be cheap and reversible; the heavier folders appear when their work actually begins.Tracking: local-onlyexists so the harness can be dropped onto a single existing project as a lone learning unit without spinning up (or polluting) a cross-project index. It's the opt-out from the umbrella;globalstays the default so the common multi-sub-project case needs no flag.
Related skills
- After bootstrap, the user typically runs
set-curriculumonce source materials are in place, thenstart-session(oronboard-session, for getting up to speed on an existing artifact) to actually study. stop-sessionupdates the per-projectPROGRESS.mdand.studyenv/PROGRESS.md.