At some point you get confused about what to implement where.
Simple rules:
- cli – start with it (saves tokens, makes the LLM’s work more stable, great for new integrations)
- skill – you can describe to the LLM how to make certain calls directly, but it’s more stable and cheaper via cli. You can describe how to use the cli, but for modern models keep it brief (common scenarios) – they’ll figure out the rest from the help output on their own. You can also put the cli script itself inside the skill (especially if it’s distributed centrally)
- mcp – great when there’s a ready-made server, especially someone else’s. It’s convenient for companies to deploy mcp centrally, since they can include skills (but without local scripts). Not suitable for personal integrations: too much hassle. Also not suitable when the script needs to run locally.