| name | msd-course-maintenance |
| description | Maintain the Modern Software Development course lab manual repository. Use when revising MSD chapters, README indexes, instruction.md manuals, grading documents, comprehensive AI Agent labs, cross-platform run-through notes, or repository-facing teaching guidance for this course. |
MSD Course Maintenance
Purpose
Use this skill when maintaining the MSD repository for the Modern Software Development lab manual. The repository is a student-facing course manual, not a product site or internal engineering wiki. Changes should help students complete experiments independently on their own laptops.
Repository Shape
README.md is the course entry and topic index.
- Chapter folders use sortable prefixes:
00_0, 00_1, 01 through 10, and 99.
- Most chapters contain
instruction.md, 实验报告提交及评分标准.md, and 附件/.
instruction.md is the experiment manual. 实验报告提交及评分标准.md is the submission and grading contract.
- Keep chapter titles, README links, folder names, and grading document titles synchronized.
Teaching Assumptions
- Students usually have one personal laptop.
- The course has no teaching assistants and no required classroom demo session.
- Documents must be self-contained enough for students to work during lab time or finish later.
- Students may use AI tools for troubleshooting; unresolved problems should be discussed with the 授课老师.
- Avoid references to asking assistants, receiving demo-only materials, or relying on resources outside the manual unless the user explicitly adds that teaching process.
Editing Rules
- Read
README.md and the target chapter before editing.
- Keep edits scoped to the requested chapter, index entry, or grading document.
- Keep student-facing prose in a teacher-authored Chinese style: use
同学们, 本实验, 本阶段, 授课老师.
- Do not write real server addresses, accounts, tokens, API keys, internal endpoints, or private connection details into the repository.
- When a manual changes required artifacts, logs, tests, model usage, environment paths, or safety requirements, update the matching grading document.
- Do not put detailed submission rubrics in
instruction.md when a separate grading document already carries them.
- Keep chapter boundaries clear. Do not re-teach earlier chapters except as prerequisites or short reminders.
Course-Specific Priorities
- Prefer Windows-laptop-friendly instructions when the audience is students; add macOS/Linux differences when they matter.
- Prefer conda as the required local environment path. Docker may be recommended or used for reproducibility when feasible.
- For LLM and Agent chapters, require real model evidence when the experiment says it is mandatory. Fake clients are for deterministic tests and offline troubleshooting only.
- For Agent topics, make tool contracts, MCP-style interfaces, logs, failure paths, safety boundaries, and verification evidence explicit.
- For cost-control topics, discuss context length, prompt tokens, completion tokens, output limits, retries, and budget protection in terms of real LLM usage.
- For the comprehensive project, keep the focus on Vibe Coding with AI coding agents, real LLM integration, agent workflow, tool contracts, tests, safety, and repository-based delivery.
Verification Checklist
Before finishing a documentation change:
- Run
rg for stale chapter names, old paths, TODO-like editing notes, and forbidden teaching references such as 助教.
- Run
git diff --check.
- Check README links and folder paths when renaming chapters.
- If code or runnable commands changed, run the relevant smoke tests where practical.
- If a command fails because of platform, dependency, model, or Docker availability, update the manual or grading document with the correct feedback path.
Git Hygiene
- Do not revert user changes.
- Do not stage unrelated generated outputs, caches, screenshots, model files, secrets, or local experiment artifacts.
- When asked to publish, push the intended branch to the configured GitHub and Gitee remotes.
- If a GitHub or Gitee account is unavailable locally, report the active remote and authentication state clearly.