agentleFS
Cassius2584Cassius2584/claude-uni-workspace/CLAUDE.md

claude-uni-workspace

CLAUDE.md5 starsChanged 24 days agoMITView on GitHub

This folder is a university workspace run with Claude Code. One folder per module, one file per module (MODULE.md) as the source of truth, and a single deadline list across the year. Read this file first in every session. If projects/PROFILE.md doesn't exist yet, this workspace hasn't been set up. Suggest running the setup-workspace skill ("set up"), which runs Obsidian setup, the year and the extras in order, before doing anything else.

The file

Show its rules and text

We split this CLAUDE.md into the rules it gives an agent

14 rules. About 0 are common, 4 are distinctive, and 10 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈4

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 10

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    If projects/PROFILE.md doesn't exist yet, this workspace hasn't been set up.

    line 10
  2. Very specific:

    Deadlines in the calendar: after any assessment note changes, run python3 .claude/skills/create-study-timetable/scripts/sync_deadlines.py …

    line 58
  3. Very specific:

    What's due?: Use the whats-due skill (it reads the assessment notes).

    line 61
  4. Very specific:

    Concepts: if concepts/ exists, lecture notes and flashcard chapters link to concept notes, and a new concept gets a note following …

    line 66
  5. Very specific:

    If tasks/ exists: "task: …" creates a task note following tasks/TASKS.md, and "done with …" sets it Done and logs it.

    line 74
  6. Very specific:

    If careers/BRIEF.md doesn't exist and I ask about jobs, internships or placements, suggest setup-careers.

    line 80
  7. Very specific:

    Use find-roles to search, and prep-application for a specific role.

    line 81
  8. Very specific:

    Only claim experience that's in careers/CV.md.

    line 83
  9. Distinctive:

    When they disagree, record both and flag it.

    line 90
  10. Very specific:

    Don't open inline maths with a number ($1$, ${12}$, $1, p, …$ stay as text).

    line 101
  11. Very specific:

    Don't put a quote mark straight against a $ ("take out $Q$" fails).

    line 105
  12. Distinctive:

    Ask before deleting anything or overwriting a file I wrote.

    line 113
  13. Distinctive:

    Never type my passwords or do my university login.

    line 116
  14. Distinctive:

    Never write secrets (passwords, tokens, API keys) into this folder.

    line 117

≈ “Common” is an estimate: at least 1 in 5 of the 26,980 CLAUDE.md 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
CLAUDE.md

Uni workspace

This folder is a university workspace run with Claude Code. One folder per module, one file per module (MODULE.md) as the source of truth, and a single deadline list across the year. Read this file first in every session.

About me

@projects/PROFILE.md

If projects/PROFILE.md doesn't exist yet, this workspace hasn't been set up. Suggest running the setup-workspace skill ("set up"), which runs Obsidian setup, the year and the extras in order, before doing anything else.

Layout

./
├── CLAUDE.md                  ← this file (shared rules, safe to publish)
├── HOME.md                    ← (optional) card dashboard: priorities, week agenda, deadlines, graded work, roles (private)
├── tasks/                     ← (optional) one note per non-assessment task; TASKS.md explains (private)
├── reviews/                   ← (optional) weekly reviews, <date>.md, written by weekly-review (private)
├── .claude/skills/            ← setup-workspace (runs the other setup skills), setup-year, sync-moodle, add-module, whats-due, weekly-review, setup-obsidian, create-flashcards, exam-practice, create-study-timetable, setup-careers, find-roles, prep-application
├── concepts/                  ← (optional) one note per idea (theorem, method, proof technique), linked to every module
│                                 it appears in, so the graph shows how modules connect (private, git-ignored)
├── timetable/                 ← (optional) study timetable: TIMETABLE.md + blocks/ calendar notes + generated deadlines/ (private, git-ignored)
├── careers/                   ← grad roles / internships / placements (private, git-ignored)
│   ├── CV.md, cv.pdf          ← my CV: the only source of truth for my experience
│   ├── BRIEF.md               ← what I'm looking for: role types, titles, hard requirements, targets
│   ├── SOURCES.md             ← job sites and employer pages to check
│   ├── TRACKER.md             ← (optional) which tracker is in use: Obsidian Bases or a spreadsheet
│   ├── ROLES.md, APPLICATIONS.md ← Markdown tracker (default, when there's no TRACKER.md)
│   ├── Roles.base             ← Obsidian Bases view over the role notes (Bases tracker)
│   ├── digests/               ← one dated search digest per run
│   ├── roles/<id>.md          ← one note per role with properties (Bases tracker)
│   └── roles/<id>/            ← per-application: job description, fit map, drafts, interview prep
└── projects/
    ├── PROFILE.md             ← who I am: uni, degree, year, VLE link (private, git-ignored)
    ├── DEADLINES.md           ← deadlines dashboard: every assessment + all modules, inline base views (private)
    ├── _template/             ← copied for each new module (MODULE.md, assessment.md, bases)
    └── <CODE>-<short-name>/   ← one folder per module (private), e.g. CM30001-machine-learning/
        ├── MODULE.md          ← spec (properties + outcomes, timetable, readings, log); embeds its assessments
        ├── assessments/       ← one note per assessment: <CODE>-<slug>.md with due, weight, status, mark
        ├── lectures/          ← notes, one file per week: week-03-sorting.md
        ├── coursework/        ← one subfolder per assessment: brief, drafts, feedback
        ├── practice.md        ← (optional) exam practice log: attempts, weak spots, past papers used (exam-practice)
        ├── flashcards/        ← (optional) cards.md source → Obsidian flashcard notes (+ Anki deck) (create-flashcards)
        └── resources/         ← PDFs, slides, past papers, formula books

Working with modules

  • Before answering anything about a module, read its MODULE.md, then the relevant lectures and coursework files. Quote deadlines and weightings from the assessment notes. Never guess them.
  • New material I share (lecture notes, briefs, feedback) goes into the right subfolder with a clear, lowercase-hyphenated filename. Add a one-line dated entry to the module's ## Log.
  • Assessments are notes. Each assessment (coursework, exam, formative, admin deadline) is a note in the module's assessments/ folder, with the properties in projects/_template/assessment.md. These notes are the only source of truth for dates, weights, status and marks. DEADLINES.md and MODULE.md just show views of them. When something is set, moved, submitted or marked, edit that note and add a Log line.
  • Deadlines in the calendar: after any assessment note changes, run python3 .claude/skills/create-study-timetable/scripts/sync_deadlines.py (from the workspace root). It rebuilds timetable/deadlines/, generated all-day notes that Full Calendar shows in red. Never edit those by hand.
  • What's due? Use the whats-due skill (it reads the assessment notes).
  • New on Moodle? "Refresh Moodle" runs sync-moodle: new or moved deadlines go into assessment notes, and announcements, new files and weekly topics into a digest at projects/updates/<date>.md. I log in myself.
  • Revision: "make flashcards for X" or "add cards for week N" runs create-flashcards. flashcards/cards.md is the source; never rename a card's ### title (it's the card's ID and holds its review history).
  • Concepts: if concepts/ exists, lecture notes and flashcard chapters link to concept notes, and a new concept gets a note following .claude/skills/create-flashcards/reference/concept-note.md. Extend an existing note rather than duplicating it.
  • Study timetable: create-study-timetable builds and updates timetable/. The block notes are the source of truth (the calendar plugin edits them), and a university calendar feed link is private: never write it into a file.
  • Mark anything unconfirmed as _tbc_, and say where it should come from (VLE, unit catalogue, lecturer).

Tasks

  • If tasks/ exists: "task: …" creates a task note following tasks/TASKS.md, and "done with …" sets it Done and logs it. If it doesn't exist and I add a task, offer to set it up (copy tasks/_template/ files into tasks/, and projects/_template/HOME.md to the root).
  • Assessments stay assessment notes; tasks are for everything else (admin, project steps, life).

Careers

  • If careers/BRIEF.md doesn't exist and I ask about jobs, internships or placements, suggest setup-careers.
  • Use find-roles to search, and prep-application for a specific role. Keep ROLES.md and APPLICATIONS.md current when I say I've applied, been rejected, passed a stage or got an offer.
  • Only claim experience that's in careers/CV.md. Never apply, submit forms or log in to job sites for me.

Sources, in order of trust

  1. The official unit/module catalogue (credits, assessment weights, learning outcomes).
  2. The module's VLE page (dates, timetable, staff, briefs). Prefer it for anything time-specific.
  3. What I tell you.

When they disagree, record both and flag it. Don't silently pick one.

Writing files

  • Plain Markdown that reads well in Obsidian and on GitHub: tables for structured data, short sections, dates like "28 Sep 2026".
  • Link between files with relative Markdown links, e.g. [DEADLINES](../DEADLINES.md) or [brief](coursework/cw1/brief.pdf), so they're clickable in Obsidian and GitHub. No absolute paths in files.

Maths notation

Claude's desktop app (Code tab), Obsidian and GitHub all render LaTeX, so write maths as $…$ (inline) and $$…$$ (display), in chat and in files. The Code tab leaves some inline maths as plain text:

  • Don't open inline maths with a number ($1$, ${12}$, $1, p, …$ stay as text). Write bare numbers as plain text, or use display maths.
  • Inline maths that is only letters ($pq$, $p q$) stays as text. Single letters ($p$) and anything with LaTeX syntax ($p^a q$, $\cdots$) work; write a product as $p\,q$.
  • Don't put a quote mark straight against a $ ("take out $Q$" fails).
  • \(…\) and \[…\] don't work. Use dollars only.
  • Display maths ($$…$$, including aligned and \boxed) renders reliably. Prefer it for anything longer than a symbol or two.

The renderer is new and these rules may loosen. If something listed here starts rendering, drop the rule.

House rules

  • Ask before deleting anything or overwriting a file I wrote.
  • Files, not chat, are the memory. Anything worth remembering goes into the relevant MODULE.md, DEADLINES.md or PROFILE.md.
  • Never type my passwords or do my university login. I sign in myself when a browser step needs it.
  • Never write secrets (passwords, tokens, API keys) into this folder.
  • Course materials (notes, slides, past papers) are the university's copyright. They stay in git-ignored module folders and are never committed or shared.
  • Academic integrity: help me understand and plan, and flag the unit's GenAI rules when they apply. If a module says no GenAI for an assessment, say so rather than writing it for me.

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.