CLI Reference

Every dot command at a glance — install, create, publish, and discover.

The dot CLI is the fastest way to work with DOT from a terminal. Use it to initialize a workspace, install assets, create your own, search the registry, and publish to your namespace.

Quick Reference:
CommandWhat It Does
dot initCreate a workspace
dot init danceScaffold a new SKILL.md directory
dot add <owner/repo>Add a Dance skill from GitHub
dot install <urn>Install an asset from the registry
dot createGenerate a local asset template
dot publishPublish to registry
dot searchSearch registry
dot listList registry packages
dot checkCheck Dance skills for updates
dot updateUpdate Dance skills to latest
dot loginAuthenticate via GitHub
dot logoutRemove saved credentials

dot init#

Create a .dance-of-tal/ workspace. Use once per project.

dot init

Creates:

.dance-of-tal/
├── assets/            ← Installed & created assets
│   ├── tal/
│   ├── dance/
│   ├── performer/
│   └── act/
└── drafts/            ← Work-in-progress
    ├── tal/
    ├── dance/
    ├── performer/
    └── act/

dot init dance#

Scaffold a new Dance skill directory with a SKILL.md template.

dot init dance --name my-skill

Creates:

my-skill/
├── SKILL.md           ← Edit this to define your skill
├── scripts/           ← Executable helpers
└── references/        ← Reference documents

Once you've edited the SKILL.md, push the repo to GitHub and run dot add to install it.


dot add <owner>/<repo>#

Pull a Dance skill directly from a GitHub repository.

dot add monarchjuno/sprint-reviewer

Installs the SKILL.md and associated files into your local .dance-of-tal/assets directory. It securely packages the remote prompts and tools.

Shorthand with skill filter#

dot add owner/repo@skill-name

The @skill suffix filters to a specific skill by name — equivalent to --skill <name>.

Options#

OptionMeaning
--skill <name>Install only a specific skill by name
--allInstall all skills without interactive selection
--listList available skills without installing
--stage <stage>Override stage name (defaults to repo name)

dot install <urn>#

Install an asset from the public registry by URN.

dot install tal/@acme/agent-presets/system-architect
dot install dance/@acme/agent-presets/pr-review-standard
dot install performer/@acme/agent-presets/sprint
dot install act/@acme/agent-presets/incident-response

Cascading install behavior#

Asset TypeWhat Gets Installed
tal or danceThat one asset only
performerThe performer + its Tal and Dance dependencies
actThe act + its performers + their dependencies
Tip: You rarely need to install Tal/Dance individually. Installing a Performer or Act brings everything you need.

Global install option#

dot install performer/@acme/agent-presets/sprint --global

Installs to DOT home instead of the current project. Use project-local by default.


dot create#

Generate a local template for a new asset.

dot create --kind tal --stage agent-presets --name my-persona
dot create --kind performer --stage agent-presets --name sprint
dot create --kind act --stage workflows --name incident-response
Note: dot create --kind dance is not supported. Dance assets use the SKILL.md format — use dot init dance --name my-skill instead.

Options#

OptionMeaning
--kind <kind>tal, performer, or act
--name <slug>Asset slug
--stage <stage>Stage/project group (required)
--author <author>Override namespace (defaults to logged-in GitHub username)
--description <text>Seed the template

Generated assets save to:

.dance-of-tal/assets/<kind>/@<author>/<stage>/<name>.json

Typical flow#

dot init
dot create --kind tal --stage agent-presets --name my-persona
# Edit the generated file...
dot publish --kind tal --stage agent-presets --name my-persona

dot publish#

Publish a local asset to the registry.

dot publish --kind tal --stage agent-presets --name my-persona --tags "backend,correctness"
Note: Dance assets cannot be published directly. Dance uses the SKILL.md format from GitHub repos. Use dot add <owner/repo> to install and auto-register instead.

Required options#

OptionMeaning
--kind <kind>Asset type (tal, performer, or act)
--name <name>Asset slug
--stage <stage>Stage/project group
--tags <csv>Optional discovery tags

What happens#

  1. DOT checks you're logged in
  2. Asks you to confirm Terms of Service
  3. Validates asset schema (canonical contract)
  4. Resolves dependencies (for performer/act)
  5. Publishes to the registry
Important: If your dependency belongs to another author and isn't already published, the publish will stop and tell you why.

→ See Publishing Assets for the full flow.


Search the public registry by keyword.

dot search reviewer
dot search security --kind dance
dot search incident --kind act --tag workflow

Searches across URN, author, description, and tags.

Options#

OptionMeaning
--kind <kind>Filter by kind
--tag <tag>Filter by tag

dot list#

List registry packages.

dot list
dot list --kind performer
dot list --mine
dot list --stage agent-presets
OptionMeaning
--kind <kind>Filter by asset kind
--mineShow only your published assets
--stage <stage>Filter by stage/project group

dot check#

Check installed Dance skills for available updates by comparing local file hashes against their remote GitHub sources.

dot check

If updates are available, run dot update to apply them.


dot update#

Update installed Dance skills to the latest version from their GitHub sources.

dot update
dot update --force
OptionMeaning
--forceUpdate all skills regardless of change detection

dot login#

Authenticate with GitHub so you can publish under your namespace.

dot login

What happens:

  1. Opens GitHub OAuth via Supabase in your browser
  2. Waits for authorization (timeout: 3 min)
  3. Token saves to ~/.dance-of-tal/auth.json

Your GitHub username becomes your protected DOT namespace.


dot logout#

Remove saved credentials.

dot logout

URN Format#

Every installable DOT asset uses:

<kind>/@<author>/<stage>/<name>

Examples:

URNType
tal/@acme/agent-presets/senior-backend-engineerTal
dance/@acme/sprint-reviewer/pr-review-standardDance
performer/@acme/agent-presets/sprintPerformer
act/@acme/workflows/incident-responseAct
PartMeaningExample
kindThe asset typetal, dance, performer, act
@authorThe namespace owner@acme
stageRepo or project groupagent-presets, sprint-reviewer
nameThe asset slugsenior-backend-engineer

Workspace Layout Reference#

Project root/
└── .dance-of-tal/
    ├── assets/
    │   ├── tal/@author/<stage>/<name>.json
    │   ├── dance/@author/<stage>/<name>/
    │   ├── performer/@author/<stage>/<name>.json
    │   └── act/@author/<stage>/<name>.json
    └── drafts/
        ├── tal/
        ├── dance/
        ├── performer/
        └── act/

Home directory/
└── ~/.dance-of-tal/
    └── auth.json

Just want to get productive#

dot init
dot install performer/@your-team/agent-presets/default-engineer

Want to publish your own asset#

dot login
dot create --kind tal --stage my-project --name my-persona
# Edit the file...
dot publish --kind tal --stage my-project --name my-persona

Want to add a Dance skill from GitHub#

dot init
dot add monarchjuno/sprint-reviewer
dot check