Loading...
Loading...
Build and deploy AI agents using VM0's agent-native infrastructure. This skill guides you through the complete agent creation workflow - from understanding requirements to deployment and scheduling.
npx skill4agent add vm0-ai/vm0-skills vm0-agent/vm0-agent create/vm0-agent update/vm0-agent statuscreateupdatestatuscreateWhat would you like to do?
- Create a new agent
- Update an existing agent or schedule
- View current agents and schedules (status)vm0 schedule lsvm0 agent ls/vm0-agent updatevm0 agent clonevm0 agent clone <agent-name> /tmp/<agent-name>vm0 schedule lsvm0 agent lsvm0 agent clone <agent-name> /tmp/<agent-name>curl -s "https://skills.sh/api/search?q=<keyword>"vm0_secretsvm0_varsvm0 secret listvm0 secret setvm0 compose vm0.yamlvm0 compose--forcevm0 agent lsvm0 secret listvm0 variable listvm0 cook "your test prompt"cook-y--artifact-namevm0 runvm0 secret setvm0 schedule updatevm0 compose- [ ] research: intent analysis, understand what the user wants the Agent to help them do
- [ ] innovate: propose solutions based on intent analysis
- [ ] compose: create the vm0 agent
- [ ] token collect: guide the user to complete the various tokens needed for the agent
- [ ] test run: run the agent and confirm with the user if the results are satisfactory
- [ ] schedule: guide the user to set up scheduled tasks
## Research
In this step, interactively ask the user what they want to do. Use the ask user tools to ask questions at each step.
VM0 agents are designed for **scheduled execution** - the same prompt runs repeatedly with dynamic data sources. Start with this question: "What recurring workflow would you like to automate with scheduled execution?"
- **Option 1: Daily Digest** - Aggregate content from tech communities, news sources, or RSS feeds, generate summaries, and deliver to you daily/weekly
- Data sources: HackerNews, RSS, YouTube
- Processing: Filter top content + AI summarization + categorize
- Output: Slack / Notion
- Skills: hackernews, youtube, slack, notion
- **Option 2: Repository Weekly Report** - Summarize GitHub/GitLab activity (PRs, issues, commits) into a team report
- Data sources: GitHub PRs / Issues / Commits
- Processing: Statistics + categorization + highlight key changes
- Output: Slack / Notion
- Skills: github, gitlab, linear, jira, slack, notion
- **Option 3: Website Change Monitoring** - Periodically check target websites (competitors, pricing pages, job boards) and notify you when changes are detected
- Data sources: Competitor websites, pricing pages, product pages
- Processing: Crawl + diff comparison + analyze changes
- Output: Slack / Notion (only when changes detected)
- Skills: firecrawl, serpapi, slack, notion
- **Option 4: Crypto Morning Briefing** - Generate overnight crypto market reports covering price movements, news, and trends - ready for your morning review
- Data sources: CoinGecko, Crypto news feeds, DeFiLlama
- Processing: Price change summary + top news extraction + sentiment analysis + highlight unusual movements
- Output: Slack / Notion
- Skills: firecrawl, rss-fetch, perplexity, slack, notion
- **Option 5: Other** - Describe your own scheduled workflow idea
After the user selects an option, use 1-5 follow-up questions to refine the details (e.g., which sources to fetch from, where to send output, how often to run). Guide the user to think in terms of a three-step workflow: **Fetch → Process → Output**. Finally, form a complete three-step workflow definition
## Innovate
In this step, refine the technical details in the user's workflow by finding suitable skills from two sources.
### Step 1: Search skills
There is two skill marketplace, search theme both.
Search the skills.sh ecosystem (33,700+ skills) using:
```bash
curl -s "https://skills.sh/api/search?q=<keyword>"| Source | URL Format |
|---|---|
| vm0-ai/vm0-skills | |
| anthropics/skills | |
| vercel-labs/agent-skills | |
| Other repos | |
vm0_secretsvm0_varsAPI_KEYTOKENvm0 secret setvm0 secret set SLACK_BOT_TOKEN --body "xoxb-xxx"vm0 variable setvm0 variable set ENV_NAME productionvm0 cook "your test prompt"https://platform.vm0.ai/logs/<run_id>vm0 run
# AGENTS.md
AGENTS.md is used to describe a workflow. It is an ordinary, natural language-described process document. Avoid describing technical details in AGENTS.md, such as not writing scripts or other code in AGENTS.md
## Workspace Persistence
When writing AGENTS.md, always include persistence guidelines for the agent:
**Execution Environment Rules:**
- **Persisted**: Only files in the HOME directory (current working directory) are preserved between runs and saved as artifacts
- **Not Persisted**: System packages, temporary files (`/tmp`), globally installed tools (npm -g, pip), environment modifications outside HOME
**Best Practices to convey in AGENTS.md:**
- Store all important outputs (reports, generated files, data) in the HOME directory
- Use `/tmp` for intermediate or throwaway files
- Don't assume tools installed in previous runs still exist - reinstall if needed or download to HOME
- Clone repositories and install dependencies within HOME if they must persist
**Example instruction to include in AGENTS.md:**
# vm0.yaml
vm0.yaml is the primary configuration file for VM0 agents.
## Key Documentation URLs
- **vm0.yaml Reference**: https://docs.vm0.ai/docs/reference/configuration/vm0-yaml
- **Environment Variables**: https://docs.vm0.ai/docs/core-concept/environment-variable
- **Skills**: https://docs.vm0.ai/docs/core-concept/skills
- **Volumes**: https://docs.vm0.ai/docs/core-concept/volume
- **Artifacts**: https://docs.vm0.ai/docs/core-concept/artifact
## File Structure
```yaml
version: "1.0"
agents:
my-agent:
framework: claude-code # Required
instructions: AGENTS.md # Path to instruction file
apps: # Pre-installed tools
- github
skills: # Skill URLs for extended capabilities
- https://github.com/vm0-ai/vm0-skills/tree/main/slack
- https://github.com/vm0-ai/vm0-skills/tree/main/hackernews
environment: # Additional environment variables (optional)
MY_CUSTOM_VAR: ${{ vars.MY_VAR }}
MY_CUSTOM_SECRET: ${{ secrets.MY_SECRET }}| Type | Syntax | Storage | Use Case |
|---|---|---|---|
| credentials | | Platform (persistent) | Model provider tokens only (e.g., |
| secrets | | Remote (stored via CLI) | API keys for skills, per-execution tokens |
| vars | | Remote (stored via CLI) | Feature flags, environment names |
Important: Use the right type for the right purpose:
- credentials: Reserved for model provider authentication only (e.g.,
). These are stored persistently on the VM0 platform and managed viaCLAUDE_CODE_OAUTH_TOKEN.vm0 model-provider setup/set-default/delete- secrets: Use for ALL sensitive skill API keys and tokens. Store remotely via
— they persist across runs and schedules.vm0 secret set- vars: Use for non-sensitive configuration (feature flags, environment names). Store remotely via
.vm0 variable set
vm0_secretsvm0_vars# Store a secret (interactive — prompts for value securely)
vm0 secret set SLACK_BOT_TOKEN
# Store a secret (non-interactive)
vm0 secret set NOTION_API_KEY --body "secret_xxx"
# Store a variable
vm0 variable set ENV_NAME production
# List what's stored
vm0 secret list
vm0 variable listvm0 run my-agent "prompt" --secrets API_KEY=sk-xxx --vars ENV_NAME=productionMissing required secrets: API_KEYvm0_secretsvm0_varsenvironment:
API_KEY: ${{ secrets.API_KEY }}
# or for non-sensitive values:
MY_VAR: ${{ vars.MY_VAR }}vm0 secret set API_KEYskills:
- https://github.com/vm0-ai/vm0-skills/tree/main/slack
- https://github.com/vm0-ai/vm0-skills/tree/main/notion
- https://github.com/anthropics/skills/tree/main/skills/pdf| Aspect | Volume | Artifact |
|---|---|---|
| Role | Pre-installed agent environment (input) | Agent-produced output |
| Contents | Skills, configs, scripts | Created/modified files |
| Persistence | Manual management | Automatic after runs |
--artifact-name