Choose the smallest useful mechanism
Use a rule for a persistent project convention, a skill for a repeatable task procedure and MCP for access to an external tool or data source. These are working distinctions for planning your setup; exact loading behavior depends on the client.
Design a skill around an outcome
A useful skill explains when it applies, the inputs it needs, the steps to follow and how to verify the result. For example, a release-note skill should name the commit range, group changes for readers and verify issue links.
Avoid copying configuration across clients blindly
TRAE, Cursor and Zed advertise skills, but that does not establish identical directories, frontmatter or permission behavior. Follow the documentation for the installed client. Test a skill on a small task before using it for a release or migration.
Keep memory and agent roles explicit
Record durable project facts separately from temporary task progress. When creating multiple agent roles, give each a concrete input and output, then review their combined changes. More agents are useful only when the work can be divided clearly.