Course · Cursor · Daily workflow
Rules, skills, and commands: the muscle memory written once
The daily reflexes live in you. The next layer is muscle memory you write into the project so you stop re-typing it - written-once knowledge the agent loads by rule, picks up on its own, or fires at your /name. That makes it a context decision in this course’s sense - context being what’s in front of the agent when it decides - settled once instead of re-negotiated in every prompt. Three layers carry it:
- Rules - the standing facts the agent reads every session:
.cursor/rules/*.mdcandAGENTS.md. On the course’s illustrativebudgetclipersonal-finance API: money is integer cents, never float; the category taxonomy is fixed; dates are stored in UTC. Written once, applied every time - and the portable piece besides, becauseAGENTS.mdis an open standard other coding agents also read (the rules chapter’s AGENTS.md lesson owns that story). - Skills - a packaged procedure the agent invokes on its own when the work matches: a folder with a
SKILL.mdin it, shipped in Cursor 2.4 (skills documentation). The per-bank CSV import - a different shape for every bank, the same steps every time - is the canonical one. - Commands - markdown templates for the chores you re-type, stored as
.cursor/commands/<name>.mdand fired with/namein chat, introduced in Cursor 1.6 (the extending chapter’s commands lesson owns the details). The monthly-report draft, the “scan the importers for the date-parse pattern” sweep.
Each layer reads from a known place, and the attachment control is the part worth being precise about. Project rules are version-controlled .mdc files whose frontmatter picks one of four behaviors - Always Apply, Apply Intelligently, Apply to Specific Files, or Apply Manually, in the current docs’ vocabulary (as of September 2026; rules documentation) - and AGENTS.md is supported natively as the simpler, always-on alternative.
The reflex is the trigger for writing one: when you catch yourself typing the same convention into a third prompt, it belongs in a rule, not the prompt. When you run the same multi-step chore a third time, it belongs in a command or a skill. You don’t write these up front - you write them the moment the repetition makes itself felt, because only then do you know which chores actually repeat.
One caveat to carry: rules don’t fire as reliably as you’d hope. A glob-scoped rule - Apply to Specific Files - only attaches when a matching file actually enters the agent’s context, not merely by being open in your editor, so treat globbed rules as strong defaults rather than guarantees and keep load-bearing facts in an always-on layer: an Always Apply rule or a line in AGENTS.md, stated plainly (the sharp-edge lesson owns the full story). Cursor also has a formal Plugins surface - the Cursor Marketplace distributes bundles that can package skills, rules, and the other agent extension points (subagents, MCP servers, hooks) together, shipped in Cursor 2.5 (changelog; marketplace) - which earns its place when you want distribution rather than authorship; verify the current manifest format before depending on it.
Rules, skills, commands, and plugins absorb what repeats. What’s left over is the part that is different every time - the one prompt you write for the task in front of you. Next: briefing the agent well.