Colab Course Publisher
SkillDocs & knowledgeUse when Codex needs to create, edit, publish, package, or validate The Colab CourseViewerPlatform course content, including tenant course repos, course.json, blueprint.json, module manifests, markdown lessons, quizzes, generated educational images, HTML widgets, and live CourseViewerPlatform content checks.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Colab Course Publisher skill
What this skill tells your AI
The instructions your AI receives, as published by thecolab-ai/.skills in skills/colab-course-publisher/SKILL.md and read by ahel’s review.
Goal
Build CourseViewerPlatform-compatible course packages, validate their modules, and verify tenant-published content after deployment.
Quick triage
Use this when:
- Creating a new tenant course under
courses/plus reusable modules undermodules/. - Adding or editing lessons, quizzes, images, videos, markdown HTML, or widget HTML.
- Publishing tenant content repos such as
mycourse-work/<tenant>and checking live course endpoints. - Validating a course root, a single course, a single module, or a tenant content root before upload/deploy.
Do not use this for:
- General LMS, SCORM, Moodle, or unrelated course-authoring formats.
- Course strategy only, unless the output must become CourseViewerPlatform files.
- General platform renderer bugs, unless course content changes or live content verification is part of the task.
Core workflow
- Prefer the module-first format:
courses/<courseId>/course.jsonorblueprint.jsonplus siblingmodules/<moduleId>/manifest.json. - Read
references/course-format.mdbefore creating or reshaping course files. - Keep module lessons flat at the module root, with module-local assets in
assets/. - Use markdown for lessons, JSON for quizzes, and
widgets/<name>.htmlplus:::widget namefor reusable HTML artifacts. - Put research findings, tables, caveats, and practical examples in the lesson body. Use links as bottom references, not as a substitute for course substance.
- Run the validator after every structural change:
python3 skills/colab-course-publisher/scripts/cli.py validate /path/to/content-root
For a single course directory, validation also follows referenced modules. Validate the tenant root when changing shared widgets or multiple courses.
Checks
- IDs are stable, unique, and safe for URLs.
- Course manifests reference modules that exist.
- Module manifests reference lesson and quiz files that exist.
- Quizzes use supported question types and
correct, notisCorrect. - Markdown and inline HTML reference existing local images, videos, PDFs, HTML files, or widgets.
- Widget HTML posts
widget-readyandwidget-resizemessages. - External links are intentional; local publishing-critical files are local and validated.
- Course lessons contain the useful explanation directly; references are mostly grouped under
### References. - Generated images and charts teach a concept, show a process, or visualise data; they are not decorative filler.
- Live verification uses cache-busted
/api/content/...and/manifest.jsonendpoints after tenant sync.
Resources
- Course format guide:
references/course-format.md - Publishing workflow:
references/publishing-workflow.md - Validator and outline CLI:
scripts/cli.py - CI smoke test:
scripts/smoke_test.py
CLI
Use outline to print the supported structure:
python3 skills/colab-course-publisher/scripts/cli.py outline
python3 skills/colab-course-publisher/scripts/cli.py outline --json
Use validate for content:
python3 skills/colab-course-publisher/scripts/cli.py validate ~/CourseViewerPlatform/content/thecolab
python3 skills/colab-course-publisher/scripts/cli.py validate ~/CourseViewerPlatform/content/thecolab/courses/ai-for-small-business
python3 skills/colab-course-publisher/scripts/cli.py validate ~/CourseViewerPlatform/content/thecolab/modules/afsb-ai-tools --json
Use --strict when warnings should fail the command.
Publishing quick path
- Work in the tenant content repo when one exists, for example
/tmp/<tenant>-course-repoor a clone ofmycourse-work/<tenant>. - Validate the changed course or tenant root.
- Commit and push the tenant repo branch/main according to that repo's workflow.
- Watch the tenant sync workflow upload to R2 and register D1 content.
- Fetch live cache-busted lesson and manifest endpoints to prove the viewer will receive the new content.
See references/publishing-workflow.md for endpoint examples and deployment checks.
Signals
- GitHub stars
- 25
- Forks
- 6
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
colab-course-publisher- Source
- github.com/thecolab-ai/.skills