SuperAPI AI Directory

lab-setup

Office & productivity

View repository

Updated 10-15 21:53

About this skill

Lab Setup

Installs the toolkit recommended for a lab meeting: Claude Code skills, plugins, and supporting software.

Language

Default: English. Switch to Russian if the user writes in Russian.

Inputs

1. Curriculum manifest

Same source, cohort resolution, caching, and failure rules as lab-homework:

https://agency-lab.glebkalinin.com/api/curriculum/<cohort>.json
  • Cohort slug from <vault>/.config.md under cohort:. If missing, ask via AskUserQuestion — options: goal-driven-design-ru, goal-driven-design-en, claude-code-lab-05, claude-code-lab-04.
  • Cache in <vault>/.cache/curriculum-<cohort>.json (reuse if younger than 24h; "refresh curriculum" / «обнови программу» forces a re-fetch).
  • Schema: schema_version: 2. Each meeting MAY have a toolkit array — see ../lab-homework/references/curriculum-schema.md. A meeting without toolkit simply has nothing to install; say so and stop.

2. Toolkit entries

Each toolkit item:

{
  "name": "design-tokens",
  "kind": "skill" | "plugin" | "app",
  "install": "npx skills add glebis/claude-skills --skill design-tokens -g -y" | null,
  "why": "one-line reason",
  "optional": false
}

Flow

  1. Resolve cohort and meeting. Read .config.md; ask which meeting via AskUserQuestion populated from manifest.meetings[] (default: the latest meeting whose has_content is true).
  2. Detect what is already installed. Run these checks, do not guess:
    • Skills: npx -y skills ls -g (fall back to listing ~/.claude/skills/).
    • Plugins: claude plugin list if available, else check ~/.claude/plugins/known_marketplaces.json.
    • Apps: which <binary> / command -v. Items bundled with this plugin (de-ai, persona-review, before-after, and the lab-* skills) are always already available — never install those.
  3. Show the checklist via AskUserQuestion (multiSelect): one option per MISSING item, label = name, description = why. Pre-explain that required items come first, optional: true items are marked "(optional)". Skip the question entirely if nothing is missing — report "all set" and stop.
  4. Install the selected items, one at a time, running each install command verbatim. Defaults:
    • Skill installs are global — commands in the manifest already carry -g -y; if one doesn't, append them.
    • install: null means manual — show the why (it contains the URL or instruction) and mark the item as "manual step" in the summary.
    • On failure: show the exact error, do NOT retry more than once, continue with the remaining items.
  5. Verify — re-run the detection from step 2 for the items just installed.
  6. Record — append installed tools to <vault>/tools-learned.md (create if missing) as - <name> — <why> (meeting <NN>, <ISO date>). Do not duplicate existing lines.
  7. Summarize — installed / failed / manual / skipped, plus how to invoke each installed skill (/name).

Rules

  • Never install anything the user did not select in step 3.
  • Never run install commands with sudo.
  • API keys are out of scope: if a why mentions a required key (e.g. OPENAI_API_KEY), tell the user after installing, do not prompt for the key value.
  • If npx skills is unavailable (no Node), stop and explain that Node.js ≥ 18 is required, with a link to https://nodejs.org.