iblai-api-studio-outline
Installation
SKILL.md
iblai-api-studio-outline
The IBL course-creator app on Studio adds api/v1/ibl/… routes that wrap the
stock /xblock/ handler for bulk work. create_full_course walks a JSON
spec — sections → subsections → units → components — creates everything
inside one modulestore transaction and publishes the whole course at the
end. A five-section course with text and quizzes becomes one request instead
of a hundred.
Before you start
- Three situations, three tools. New, empty course →
create_full_course(below; it appends and then publishes the entire course, drafts included). One section, lesson, unit or component of an existing course → the individual skills (/iblai-api-studio-section,-subsection,-unit,-html,-problem,-pdf), which act on one locator. Many changes to an existing course (rewrite readings, add units across lessons, restructure) → the reconcile driver (section "Bulk edits to an existing course" below), which diffs the same spec against the live outline and only touches what differs. - Preflight:
node .claude/skills/iblai-api-studio-auth/scripts/studio-login.mjs --checkmust print twooks — otherwise run/iblai-api-studio-authfirst, do not attempt the calls below. - A course key from
/iblai-api-studio-course-create; the user must be instructor on it (the creator is). Forcreate_full_course, confirm withGET /xblock/outline/{ROOT}thatchild_info.childrenis empty; for the reconcile driver, that outline is the baseline it diffs against. - Settings and grading first (
/iblai-api-studio-settings,/iblai-api-studio-grading): this call publishes, and pacing cannot change after the course start. - The outline planned per
/iblai-api-studio"Planning a production-grade outline" and reviewed with the user. - If sub-agents wrote parts of the spec: they worked from the same content brief, and every fragment has been reviewed against it (
/iblai-api-studio"Content quality") — consistent voice and headings, no thin or placeholder units, valid OLX, titles on every block. The builder posts whatever it is given and publishes it; divergent or shallow content goes live verbatim.