agentleFS
flonatflonat/flonat-research/skills/init-project-course/SKILL.md

init-project-course

Skill150 starsChanged 9 days agoMITView on GitHub

Bootstrap a university course or module folder with the canonical teaching structure, guidance, and starter files. Use when creating or migrating a course workspace. Not for checking an existing course without modifying it; use $audit-project-course.

The file

We split this skill into the rules it gives an agent

8 rules. About 0 are common, 3 are distinctive, and 5 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈3

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 5

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    When the user says "organise this module", "init course", "set up this module folder"

    line 16
  2. Distinctive:

    Read everything already in the directory before asking questions.

    line 28
  3. Very specific:

    Check for existing organisation (already has lectures/, workshops/, etc.)

    line 42
  4. Very specific:

    Use the available structured-question mechanism.

    line 50
  5. Distinctive:

    If Phase 1 gave you enough, confirm your understanding instead of asking:

    line 60
  6. Very specific:

    Follow the lean-guidance-files rule.

    line 77
  7. Very specific:

    Create MEMORY.md using the appropriate template (student or instructor).

    line 96
  8. Very specific:

    Create .claude/settings.local.json if missing.

    line 102

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Init Project Course

Bootstrap a university course or module folder into a clean, navigable structure. Designed for taught modules with lectures, workshops, assessments, and optionally recordings.

When to Use

  • University modules with lectures + workshops + assessments
  • Course folders that have accumulated files over a term
  • When the user says "organise this module", "init course", "set up this module folder"
  • Any taught course with recurring weekly components

When NOT to Use — Escalate

  • To init-project-light if it's a one-off document collection (no lectures/workshops structure)
  • To init-project-research if it's a research project that happens to be for a course

Phase 1: Scan

Read everything already in the directory before asking questions.

  1. List all files and folders (excluding .claude/, .DS_Store)
  2. Identify content types:
    • Lecture PDFs — files matching Lecture* or containing "lecture" in name
    • Seminar materials — files matching Seminar*, Session*, or containing "seminar" in name (discussion-based modules use seminars instead of lectures)
    • Lecture recordings — video files (.mp4, .mov, .mkv, .webm, .avi) or folders named recordings
    • Workshop folders — folders matching Workshop*, Lab*, Week*, or numbered folders with exercise content
    • Assessment folders — folders containing "group", "individual", "exam", "coursework", "assignment", "portfolio"
    • Workshop PDFs — PDFs inside workshop folders that are NOT lectures (exercise sheets, briefs)
    • Code projects — node_modules/, package.json, .py, .js, .ts files inside workshop folders
    • Notes — personal notes, reading lists, exercise solutions (common in student modules)
  3. Detect duplicates: lecture PDFs that appear in multiple locations
  4. Note workshop numbering gaps (normal — not every week has a workshop)
  5. Check for existing organisation (already has lectures/, workshops/, etc.)

Goal: Build a complete inventory so the interview is short.


Phase 2: Interview (4-5 questions max)

Use the available structured-question mechanism. Only ask what you couldn't infer from Phase 1.

Pick from these (skip any you can already answer):

  1. What module is this? — code + name (e.g., "IB9PK Advances in Behavioural Science")
  2. Are you a student or instructor? — determines template variant (see Phase 3)
  3. Who teaches it? — name(s) and role(s) (for student modules: instructor name; for instructor modules: module leader if different)
  4. What components exist? — lectures/seminars, workshops, group work, individual work, exams, recordings
  5. Status? — still in progress (more content coming) or archived/complete

If Phase 1 gave you enough, confirm your understanding instead of asking:

"This looks like [module code + name]. You're [student/instructor]. It has [N] workshops, [N] lecture PDFs, and [assessment types]. Still in progress. Correct?"

Always interview — even if scan is comprehensive. Course folders affect a full term of work; assumptions are expensive.


Phase 3: Organise

Present the proposed structure and wait for explicit approval before moving anything.

Full templates (student + instructor directory structures), workshop naming, lecture/recording/assessment handling rules: references/organise-templates.md


Phase 4: Create CLAUDE.md

Follow the lean-guidance-files rule. Include only:

  1. Module overview — code, name, institution, programme, credits, 1-2 sentence description
  2. People — instructor(s) and/or student, role
  3. Assessment — type(s), format, word count/page limit, deadline(s) if known
  4. Directory structure — compact tree of the organised layout
  5. Conventions — detectable patterns (LaTeX compilation, GitHub repo naming, submission format)
  6. Status note — "in progress" or "complete/archived", with note on what's still to come

Do NOT include:

  • Lecture-by-lecture notes
  • Workshop solution details
  • Full assessment criteria (those live in docs/ or assessments/)
  • Anything that duplicates global rules

Phase 5: Seed MEMORY.md

Create MEMORY.md using the appropriate template (student or instructor). Templates, settings.local.json, and vault entry details: references/memory-and-settings.md


Phase 6: Settings

Create .claude/settings.local.json if missing. Full details: references/memory-and-settings.md


Phase 7: Vault Sync

Offer to create entries in the vault tracking for this module (Student or Instructor). Database IDs and field mappings: references/memory-and-settings.md


Phase 8: Confirmation

Short report:

Set up course project: <module code + name>
Role: Student / Instructor

Created:
  - CLAUDE.md
  - MEMORY.md (seeded with [student/instructor] template)
  - lectures/ or seminars/ (N PDFs, deduplicated from M locations)
  - notes/ (student only, if applicable)
  - recordings/ (if applicable)
  - workshops/ (N workshops, renamed from original folders)
  - assessments/{types}/ (moved from original folders)
  - docs/ (module specification, guidelines)
  - [.claude/settings.local.json if created]
  - [vault entry created in Modules Pipeline (Student/Instructor)]

Workshop naming:
  "Workshop 1 - JavaScript Bootcamp" → workshops/01-javascript-bootcamp
  "Workshop 6" → workshops/06-cwe-vulnerability-analysis
  ...

Cross-References

SkillRelationship
init-project-lightFor non-course document collections
init-project-researchFor research projects within a course
audit-project-courseRun later to check the structure is still clean
update-project-docRun later to refresh CLAUDE.md if the module grows

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.