Starter bundle under skills/<category>/<skill_name>/. Copy this template from templates/python_skill/, then replace every placeholder before opening a PR.
- Rename the folder to match your skill ID (e.g.
skills/finance/my_skill). - Packaging: Add empty
__init__.pyfiles inskills/<category>/(new categories only) and in your skill folder so PyPI wheels include the full bundle. Nopyproject.tomlchanges per skill. manifest.yaml: Set realname,version,description,parameters,constitution, andissuer(name+emailrequired;github/orgoptional).skill.py: Implement deterministic logic; no LLM-generated code in the skill body.instructions.md: Tell the agent when and how to use the tool.card.json: Mirrorissuerfrom the manifest; customize UI fields.test_skill.py: Add tests; runpytest skills/<category>/<skill_name>/test_skill.py.docs/skills/<skill_name>.md: Catalog page with ID, Issuer, and Usage Examples (all providers; seedocs/usage/skill_usage_template.md).docs/skills/README.md: Add a row to the skill library table.
Do not commit template placeholders (Your Name, you@example.com, YOUR ORG, etc.) under skills/—only real issuer details belong in the registry.
issuer:
name: Your Name
email: you@example.com
github: your_github_username
org: YOUR ORGparam1: Description...
result: Description...