A public Codex plugin for building reusable course evidence, assessment plans, and standards-compliant university course syllabi without forcing every request through one fixed pipeline.
This is the core course-development plugin in the Teaching Works Lab Skill ecosystem. Professional training-program data, exam Word processing, and assessment-material archiving remain optional, independently installed companions.
The plugin contains three independently callable Skills:
course-foundation-builderconverts and synthesizes PPT, Word, PDF, Markdown,教材,教案,培养方案 data, and reference syllabi into a reusablecourse-foundation.md.course-assessment-plannerdesigns, extracts, or reviews a course-specificassessment-plan.mdwith weights, goal/unit coverage, rubrics, and evidence requirements.course-syllabus-compilerprovides an AI-friendly Markdown contract, deterministic checks, and clean DOCX compilation based on an annotated university syllabus format.
Recommended: add the organization Marketplace and install this plugin selectively:
codex plugin marketplace add Teaching-Works-Lab/.github
codex plugin add course-teaching-workflows@teaching-works-lab
Adding the Marketplace does not install every Teaching Works Lab plugin. This installation exposes only the three bundled Skills below; optional companion plugins and generated professional data Skills are not installed silently.
The repository can also be installed directly:
Install the public repository as a Codex plugin:
https://github.com/Teaching-Works-Lab/course-teaching-workflows
One installation exposes all three Skills. They may call one another conditionally, but none requires a fixed Task 1 → Task 2 → Task 3 sequence.
Explicit triggers are $course-foundation-builder, $course-assessment-planner, and $course-syllabus-compiler.
| Available input / request | Route | Stop point |
|---|---|---|
| PPT,教材,参考大纲,教案 | Course foundation | course-foundation.md and gap report |
| 培养方案 Skill only | Compact evidence request | Missing facts with examples |
| Existing syllabus with course evaluation | Assessment extraction/review | assessment-plan.md |
| Generic syllabus Markdown requested | Syllabus template | Reusable .md; no course package or Word |
| Valid course foundation + assessment plan + working syllabus | Word compilation | Clean .docx plus inspection report |
Course-specific data stays outside this plugin. A typical private course package can contain:
course-package/
├── raw/ # original PPT, Word, PDF,教材,参考资料
├── markdown-cache/ # source-derived Markdown and manifest
├── course-foundation.md # reusable course evidence and decisions
├── assessment-plan.md # editable assessment source
├── syllabus-working.md # AI-friendly complete syllabus
├── build-state.json # optional incremental state
└── output/ # generated Word and reports
assessment-plan.md is the editable source for assessment design. Its complete content is materialized into syllabus-working.md; compilation stops if their version or hash differs.
Convert local sources once and reuse unchanged Markdown. Invoke the Python core directly on any supported platform:
python skills/course-foundation-builder/scripts/update_markdown_cache.py \
--source-root <source-directory> --cache-root <cache-directory>On Windows, the PowerShell adapter forwards to the same core:
./skills/course-foundation-builder/scripts/update_markdown_cache.ps1 `
-SourceRoot <source-directory> -CacheRoot <cache-directory>On Linux or macOS, use the Shell adapter:
./skills/course-foundation-builder/scripts/update_markdown_cache.sh \
--source-root <source-directory> --cache-root <cache-directory>PowerShell is the Windows adapter, not the workflow definition. The Python core defines cache behavior; both adapters only select the platform-native entry point.
Check a working syllabus:
python skills/course-syllabus-compiler/scripts/syllabus.py check \
--input syllabus-working.md --report review.md --level basicCompile and inspect Word:
python skills/course-syllabus-compiler/scripts/syllabus.py render \
--input syllabus-working.md \
--assessment assessment-plan.md \
--template skills/course-syllabus-compiler/assets/syllabus-master.docx \
--output syllabus.docx \
--state build-state.json
python skills/course-syllabus-compiler/scripts/syllabus.py inspect \
--input syllabus.docx --report word-inspection.mdThe Python compiler requires Python 3.10+, PyYAML, and python-docx. Source conversion prefers local MarkItDown and Pandoc when available. Legacy .doc conversion may require a compatible Windows Word COM provider.
basic: required fields, totals, IDs, goal–unit–assessment closure, synchronization, and unresolved placeholders.changed: focus on changed sections and their direct dependencies.enhanced: semantic quality warnings such as generic unit names.
Warnings do not automatically trigger a full audit. Word compilation always runs the basic gate and final DOCX cleanliness inspection.
The reusable master contains only page, font, paragraph, table, and page-number styles. It contains no real course content. Final DOCX inspection rejects comments, tracked changes, hidden text, unresolved placeholders, AI/tool authorship markers, and tool metadata. Normal academic phrases such as “人工智能” or “AI 算法” are allowed.
python -m pytest tests -qThe test fixtures are fictional. Tests cover cache reuse, real MarkItDown/Pandoc conversions when the tools are present, assessment contracts, syllabus checks, two-course Word compilation, stale-assessment rejection, and final DOCX inspection.
Do not commit course packages, raw teaching materials, conversion caches, build states, generated outputs, student data, local paths, or private review logs to this repository. Public assets and examples must remain fictional and de-identified.
MIT License. See LICENSE.