# Does your skill call a bunch of scripts? Consider writing a CLI.

Published: 2026-04-06T00:00:00.000Z
Canonical: https://wow.pjh.is/journal/make-clis

It's tempting to say:

**Prompt**

Hey Claude, make a skill to get time tracking reports from Toggl!

That's the right instinct, but you'll end up with a messy skill that mostly just [invokes a bunch of shell scripts](https://github.com/HartreeWorks/skill--toggl-report/tree/957ee6ae4db5d34a2bd0f9cb20a97a2133f18470).

Usually, these should be abstracted into a CLI. Your skill should just be a thin wrapper: how to call the CLI, plus any non-deterministic steps that need LLM magic. If you have no such steps, just mention the CLI in your global context.

Some benefits of CLIs:

* Easier to test
* Faster
* Portable

I store my CLIs in `~/.agents/clis` and symlink them to `~/.local/bin`.

There are lots of great official and unofficial CLIs out there. Search before you make your own!
