用途:为特定 lab 会议安装该课推荐的“工具箱”,包括 Claude Code 技能(skill)、插件(plugin)和支持软件(app)。触发场景是用户想为某次 lab 会议配置工具。
主要能力:从课程清单接口 https://agency-lab.glebkalinin.com/api/curriculum/<cohort>.json 读取会议与 toolkit 数组;cohort 取自 <vault>/.config.md 的 cohort:,缺失时通过 AskUserQuestion 询问(选项含 goal-driven-design-ru、goal-driven-design-en、claude-code-lab-05、claude-code-lab-04)。清单缓存于 <vault>/.cache/curriculum-<cohort>.json,24 小时内复用,“refresh curriculum”/«обнови программу» 强制重新获取。会议无 toolkit 时说明无内容并停止。
使用方式:先解析 cohort 与会议(默认取 has_content 为 true 的最新会议);再实际检测已安装项——技能用 npx -y skills ls -g(回退列出 ~/.claude/skills/),插件用 claude plugin list 或检查 ~/.claude/plugins/known_marketplaces.json,应用用 which <binary> / command -v;本插件自带项(de-ai、persona-review、before-after 及 lab-* 技能)视为已可用,不安装。随后用 AskUserQuestion 多选展示缺失项(必装在前,optional: true 标注“(optional)”),无缺失则报告 all set 并停止。安装时逐条原样执行命令,技能默认全局安装(清单命令已带 -g -y,缺失则补上);install: null 表示手动步骤,展示 why 并标记 manual step;失败时显示原始错误,最多重试一次,继续其余项。最后重新检测验证,把已装工具追加到 <vault>/tools-learned.md(格式 - <name> — <why> (meeting <NN>, <ISO date>),不重复),并汇总 installed/failed/manual/skipped 及调用方式(/name)。
限制:不安装用户未选择的项;不使用 sudo;API key 不在范围内,若 why 提到所需 key(如 OPENAI_API_KEY)仅安装后告知,不索取值;无 Node 时停止并说明需 Node.js ≥ 18,附 https://nodejs.org。默认英文,用户用俄文时切换俄文。