CLI: Common Workflows

Publish a report as an artifact

The fastest way to put work product on a URL. Assemble a clean directory containing only what belongs on the page, then create and deploy:

mkdir -p ~/reports/migration-audit
cp audit.html ~/reports/migration-audit/index.html
cd ~/reports/migration-audit

valet sites create migration-audit
valet deploy

The artifact is private on creation — only members of your org can view it, after a Valet login. Share it wider only when you mean to:

# Let external people in with a password
valet sites access migration-audit password --password '<generated>'

# Or open it to the internet
valet sites access migration-audit public

Publish from a coding agent with the publish skill

The valet-publish skill teaches Claude Code (and other coding agents) this whole flow — building a clean directory, writing a complete HTML document, creating the artifact, deploying, and reporting the URL. Install it alongside the valet skill:

# Claude Code (recommended: one plugin, both skills)
/plugin marketplace add valetdotdev/skills
/plugin install valet@valet

# Or install a single skill with npx
npx skills add valetdotdev/skills --skill valet-publish -g

Then ask for a page, or just let the agent decide the answer is better as one — the skill fires on its own when the agent concludes a report, comparison, or dashboard wants to be a rendered page:

> Audit our staging config drift and publish the findings as a page I can
  send to the team.

Share a quick demo without an account

Anonymous artifacts need no login at all. They are public to anyone with the link and expire 36 hours after creation unless claimed:

cd path/to/site
valet sites create --anonymous
valet deploy

Keep it by claiming it into an org — from the browser claim URL printed at creation, or from the same directory:

valet orgs create my-org        # if you don't have one yet
valet sites claim --org my-org

Update an artifact a teammate or agent created

A static artifact's deployed release is the source of truth. Any org member can download it, edit, and redeploy — the original source directory is not needed:

valet sites download docs-site
cd docs-site
# edit files...
valet deploy

Stand up an agent that maintains an artifact

Artifacts pair naturally with agents: an agent that owns an artifact can regenerate and republish it on a schedule.

# Create the site the agent will publish to
valet sites create weekly-metrics

# Create the agent and give it a schedule
cd my-agent-project
valet agents create metrics-agent
valet channels create cron weekly --schedule "every monday at 9:00am"

In the agent's channel prompt, tell it to rebuild the report and publish with valet sites download weekly-metrics, edit, and valet deploy.

Admin sets up shared resources for the org

An org admin configures shared resources once. Team members then attach them to their agents:

# Set the org secret
valet env set GITHUB_TOKEN=ghp_abc123 --org acme

# Create the GitHub integration from the catalog
valet connectors create github --org acme

# Team members attach to their agents
valet connectors attach github --agent my-bot

Secret rotation

Update an org secret with the new value. Agents that reference it are redeployed automatically:

valet env set GITHUB_TOKEN=ghp_new_value --org acme

Complete teardown

Remove an agent and its resources. Detach org resources first, then destroy agent-scoped resources and the agent itself:

# Detach org resources
valet connectors detach github --agent my-bot

# Destroy agent-scoped resources
valet channels destroy my-hook
valet connectors destroy my-api

# Destroy the agent, and any site it owned
valet agents destroy my-bot
valet sites destroy weekly-metrics

Org-scoped resources (integrations, channels, env vars) remain available for other agents.