Write CLI scripts using the cyclopts framework. Use this skill when creating any command-line script or developer utility — place it in bin/ using cyclopts, not argparse, click, typer, or bare sys.argv.
Scanned 9/8/2026
Install to Claude Code
npx -y skills add mitodl/agent-kit --skill cyclopts-cli-scripts --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Cyclopts Cli Scripts?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/mitodl-cyclopts-cli-scripts)More formats (shields.io, HTML) on the badges page.
---
name: cyclopts-cli-scripts
description: >
Write CLI scripts using the cyclopts framework. Use this skill when creating
any command-line script or developer utility — place it in bin/ using cyclopts,
not argparse, click, typer, or bare sys.argv.
license: BSD-3-Clause
metadata:
category: python
---
# CLI Scripts with cyclopts
All command-line scripts in this codebase use the **`cyclopts`** framework.
## Framework
Use `cyclopts`, not `argparse`, `click`, `typer`, or bare `sys.argv`.
```python
import cyclopts
app = cyclopts.App()
@app.command
def my_command(arg1: str, flag: bool = False) -> None:
"""Brief description shown in --help."""
...
if __name__ == "__main__":
app()
```
## Location
Place scripts in the `bin/` directory at the root of the relevant project or
repository. Do not place scripts in `src/`, `scripts/`, or ad-hoc locations.
## Naming
Use hyphen-separated names: `bin/migrate-assets`, `bin/sync-catalog`.
## Registering with uv
If the script should be runnable via `uv run <script-name>`, register it in
`pyproject.toml`:
```toml
[project.scripts]
my-script = "my_package.bin.my_script:app"
```
Or place the script directly in `bin/` and run it with:
```bash
uv run python bin/my-script
```
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!
Playbook for creating and editing uCoz landing pages via MCP tools (`templates_tool`, `ftp_tool`, `modules_tool`). Use for tasks such as: "build a landing page", "update the homepage as a landing page", "create a promo page on the homepage", "add a lead form / menu / SEO to the homepage". Homepage: `page_list`, `page_get`; first publish — `page_update` with full `page_tmpl`; HTML edits after generation — `patch_template` (module_id=2, template_id=1), not `update_template`. Activate the mail f...
Interact with the Paperclip control plane API to manage tasks, coordinate with other agents, and follow company governance. Use when you need to check assignments, update task status, delegate work, post comments, set up or manage routines (recurring scheduled tasks), or call any Paperclip API endpoint. Do NOT use for the actual domain work itself (writing code, research, etc.) — only for Paperclip coordination.
Instantly.ai cold email outreach API - manage campaigns, leads, accounts, and analytics. Use for cold email automation, lead management, campaign creation/monitoring, and email account warmup.
Digital Audio Workstation usage, music composition, interactive music systems, and game audio implementation for immersive soundscapes.
Compress natural language memory files (CLAUDE.md, todos, preferences) into caveman format to save input tokens. Preserves all technical substance, code, URLs, and structure. Compressed version overwrites the original file. Human-readable backup saved as FILE.original.md. Trigger: /caveman-compress FILEPATH or "compress memory file"