Install any skill in seconds. Free to start, no credit card required.
Get Started Free →awslabs/cao-plugin
Create a new CAO (CLI Agent Orchestrator) plugin.
Passed 23 of 24 test cases with the skill, and 12 of 24 without it.
and 17 more in the full report
12 fixed11 passed either way0 still failing1 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 12 test cases the skill fixed. Same model, same prompt, with and without the skill.
What does CAO do at startup if an entry point key declared in cao.plugins points to a standard Python class that does not inherit from CaoPlugin?
| Checked | Without skill | With skill |
|---|---|---|
| States that CAO skips the non-matching entry point with a warning. | Missed | Passed |
The instructions your model reads when the skill loads.
Guide for creating a new CAO plugin. A "plugin" is a Python package installed alongside CAO that subscribes to CAO lifecycle and messaging events via typed async hooks.
A CAO plugin is a standalone Python package that:
CaoPlugin from cli_agent_orchestrator.plugins@hook("<event_type>") decoratorscao.plugins Python entry-point group at cao-server startupTypical uses: forwarding inter-agent messages to chat apps, logging/observability, external dashboards, metrics export, alerting on session or terminal lifecycle.
Gather this information:
references/hook-events.md for the full catalog.setup() / teardown().setup(), optionally via python-dotenv.These are the non-negotiable contracts a plugin must satisfy to be loaded and dispatched to. Verify each one before calling your plugin complete.
Minimum viable layout:
my-cao-plugin/
├── pyproject.toml # Build config + entry-point declaration
├── my_cao_plugin/
│ ├── __init__.py # Can be empty
│ └── plugin.py # Contains the CaoPlugin subclass
├── tests/ # Optional but strongly recommended
│ └── test_plugin.py
test cases passed, vs 12 / 24 without
More skills from the same source and nearby in the registry, with their headline benchmark lift.