Bootstrap
Skill TimboGP/timbogp-marketplace/plugin/agentic-study-environment/skills/bootstrap
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.From its SKILL.md
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.
SKILL.md
8.7 KB, ~1.9k tokens by cl100k_base, 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.
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.