agentleFS
chendanielychendaniely/skills/class-notes/SKILL.md

class-notes

Skill1 starsChanged 28 days agoMITView on GitHub

Use when Dan pastes a Plaud share link (web.plaud.ai/s/…) for a class session inside a course repository, or asks to add a lecture, lab, office hours or other session from a recording, to regenerate class notes after the course prompt changed, to compare prompt variants or models on class notes, or to set up a new course repository for class notes. Fetches the transcript and Plaud's own note into a dated session folder, then generates notes with the course's prompt-notes.md.

The file

We split this skill into the rules it gives an agent

6 rules. About 0 are common, 1 is distinctive, and 5 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈1

    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. Very specific:

    Run it from the course repo (or pass --repo).

    line 23
  2. Very specific:

    Follow the course's existing folder names: if they carry suffixes (-lecture, -lab), always pass --suffix, taking it from what Dan says …

    line 44
  3. Very specific:

    Prefer --suffix to --folder: with --suffix the date still comes from Plaud.

    line 50
  4. Very specific:

    When Dan names course readings the class worked from (a textbook chapter, say), write them to materials.md: their text and code from the …

    line 61
  5. Distinctive:

    Don't commit or push.

    line 69
  6. Very specific:

    Follow references/init.md.

    line 93

≈ “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

Class Notes

Overview

A course repository holds what students see and edit: prompt-notes.md (the prompt and nothing else: every word is sent), README-prompt.md (how it works and how to change it) and one folder per class session. Everything else lives here, in one script — call it through python3:

S=<this skill's base directory>/scripts/class_notes.py   # e.g. ~/.claude/skills/class-notes/…
python3 $S fetch <share link>      # Plaud -> session folder
python3 $S generate                # prompt x model -> notes
python3 $S payload --only <folder> # the exact message, for any other tool
python3 $S tidy --check            # notes whose Markdown won't render properly

Run it from the course repo (or pass --repo). <command> --help lists every option.

Session folder

FileWritten by
plaud.mdfetch: the share link, as <https://web.plaud.ai/s/…>
transcript-plaud.mdfetch: Plaud's polished transcript
notes-plaud.mdfetch: Plaud's own AI note
history.txt / history.RDan, by hand (optional): shell or R command history
terminal.txt / *console*.txtDan, by hand (optional): terminal or R console capture
materials.mdby hand (optional): the course readings the session used, sent as <course-materials>
notes-class-<variant>--<model>.mdgenerate: one per prompt variant × the model that actually ran

Add a session from a share link

  1. Go to the course repo root (git rev-parse --show-toplevel). No prompt-notes.md there means the course isn't set up: offer Set up a course.
  2. python3 $S fetch <url> [--suffix <lecture|lab|…>].
    • The folder is <session parent>/<the lecture's local date>[-<suffix>]. The date comes from Plaud's start time, not from today.
    • Follow the course's existing folder names: if they carry suffixes (-lecture, -lab), always pass --suffix, taking it from what Dan says ("the lab").
    • The session type comes from Dan, never from Plaud. Plaud's auto-generated title almost always says "Lecture", whether the recording is a lecture, a lab, office hours or anything else around the course. A title that disagrees with what Dan said is not a conflict: don't flag it or ask about it.
    • Prefer --suffix to --folder: with --suffix the date still comes from Plaud. Use --folder <name or path> only when Dan names a folder outright.
    • An existing folder without plaud.md (Dan often creates it in class, with the logs) is reused.
    • It stops without writing when the link matches no single recording, when the folder holds a different share link, or when that date already has suffixed folders. Relay the message and ask Dan for a suffix. Never choose a recording yourself: the Plaud account also holds recordings that are not classes.
    • Exit code 2 means Plaud hasn't finished processing. Tell Dan and stop. To finish later, run python3 $S fetch --folder <that folder>: it reads the link from plaud.md, so the original flags aren't needed.
  3. When Dan names course readings the class worked from (a textbook chapter, say), write them to materials.md: their text and code from the source, each heading linked to its published section. The model uses them only if the course prompt describes <course-materials>.
  4. python3 $S generate --only <folder> in the background (main × opus, a few minutes). Add --prompt or --model only when Dan asks.
  5. Report each file written, and each notes file's name, line count and model. Suggest a commit message such as 2026-09-17 lecture: transcript, Plaud notes, class notes. Don't commit or push.

Regenerate and compare

generate runs prompt main (prompt-notes.md) with model opus unless told otherwise. --prompt and --model each replace that default and can be repeated; every combination runs.

SituationCommand
Sessions with no notes yetgenerate
The prompt was editedgenerate --force, or --force --only <folder> for one session
A log was added to a session latergenerate --force --only <folder>
A variant prompt-notes-<name>.mdgenerate --prompt <name>; --prompt all for every variant
Other models too--model opus --model sonnet. Non-Claude names go to the local backend, a placeholder until the DGX Spark is reachable
Check first--dry-run
Notes render as one run-on blocktidy --check lists them; tidy fixes them. fetch and generate already tidy what they write

A plain run never overwrites: it lists stale notes (older prompt text, or fewer inputs than the folder now holds) and suggests --force. Notes from an older model stay beside the new ones, because the filename carries the model that ran.

Set up a course

Follow references/init.md. It writes prompt-notes.md and README-prompt.md from the boilerplate in templates/, and adds the templates/Makefile targets.

Common mistakes

  • Pulling the transcript through the Plaud MCP and writing it out yourself. Use fetch: it reproduces the web export byte for byte, and retyping is slow and lossy.
  • Naming the folder after today. A recording processed days later belongs to the lecture's date, which fetch reads from Plaud.
  • Adding --refetch casually. It replaces an existing transcript and Plaud note, which Dan may have edited (for example, to remove a name). Use it only when asked.
  • generate --force without --only for one new session. That rebuilds every session of the term.

References

  • references/plaud.md: how fetch resolves a link, the formats, failure modes, and checking after a Plaud CLI upgrade.
  • references/init.md: setting up a course repository.

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.