medo-app-builder
Create, modify, generate, and deploy websites, web apps, dashboards, SaaS products, internal tools, interactive web pages, Weixin mini program , games on the Baidu Medo platform using natural-language instructions.
What this skill does
# Medo App Builder
Medo is a **chat-driven full-stack application builder**.
Official website: https://www.medo.dev
Users describe what they want in natural language and Medo generates a **production-ready web product**, including:
- frontend UI
- backend services
- database schema
- integrations
- deployable hosting
Typical outputs include:
- websites
- web applications
- dashboards
- SaaS products
- admin panels
- internal tools
- landing pages
- interactive web pages
- browser games and mini games
This skill enables AI agents to interact with the **Medo platform** to create, iterate, generate, and deploy applications.
All platform operations must be executed through the packaged CLI script:
```bash
python scripts/medo_api.py <command> [options]
```
Do **not** call platform APIs directly. Always use the CLI commands provided by this skill.
---
# When to Use This Skill
Use this skill whenever the user wants to:
* create a **website**
* create a **webpage**
* build a **web application**
* build a **dashboard**
* create a **SaaS product**
* build an **admin panel**
* build an **internal tool**
* create a **landing page**
* build an **interactive web page**
* create a **browser game**
* create a **mini game**
* generate an **MVP web product**
* modify an existing **Medo project**
* publish or deploy a **Medo application**
Do **not** use this skill for unrelated programming tasks.
---
# Routing Keywords
Trigger this skill if the request includes concepts such as:
* build a website
* create a webpage
* build a web app
* create a SaaS
* build a dashboard
* create an admin panel
* build an internal tool
* create a landing page
* build a browser game
* create a mini game
* generate a web product
* make a snake game webpage
* build a todo web app
* create a blog site
---
# Example Requests
Examples that should route to this skill:
* "Create a todo list web app"
* "Build a personal blog website"
* "Make a dashboard for sales analytics"
* "Create a SaaS landing page"
* "Build an admin panel"
* "Write a snake game webpage"
* "Create a browser game"
* "Build a mini web game"
* "Modify my Medo project"
* "Publish this Medo app"
---
# Stateless Execution Model
The CLI script is **stateless**.
It does not store workflow state between calls.
Application workflow state is maintained by the Medo platform and must be inferred from:
* `appId`
* `conversationId`
* application detail
* conversation trajectory events
Agents must pass the appropriate identifiers when continuing conversations or modifying applications.
---
# Application Lifecycle Rules
Medo applications follow a strict lifecycle.
Agents must follow these rules.
---
## Initial Creation
For a new application:
1. Start with a `chat` request describing the product.
2. The application enters the **PRD refinement stage**.
3. Continue chatting to refine the specification.
4. When the trajectory contains a **Generate App** button (`type":"button"` and `event":{"name":"generateApp"}` in `result.artifact.parts[].data.actions[]`), trigger application generation using `generate-app`.
Generation is required **only once** during the initial creation.
---
## Multi-Round Modification
After an application has already been generated:
* **Do not call `generate-app` again.**
* Continue using `chat` with the same `appId` and `conversationId`.
Normal chat messages modify the existing application.
---
## Publishing
Publishing is allowed **after the application has been generated at least once**.
Rules:
* Publishing does **not require another generation step**
* Publishing may happen anytime after the first generation
* Publishing must be followed by **status polling** (or use `--wait` flag)
Typical deployment flow:
```
publish → publish-status polling
```
Or use the `--wait` flag to auto-poll:
```
publish --wait
```
Stop polling when the status becomes:
* `SUCCESS`
* `FAILED`
---
# Application URLs
Medo provides two types of URLs during the lifecycle.
---
## Project Preview (Editor / Development)
After the application is created, the project can be accessed at:
```
https://www.medo.dev/projects/<app_id>
```
This URL can be shared with the user for:
* viewing the project
* editing the application
* previewing the generated result
The preview URL becomes available once an `appId` is created.
---
## Production Deployment URL
After publishing succeeds, the application is accessible at:
```
https://<app_id>.appmedo.com
```
This is the **public production URL** of the deployed application.
Only return this URL after publishing completes successfully.
---
# Standard Workflow
## Create New Application
```
chat → PRD refinement → generate-app → publish
```
---
## Modify Existing Generated Application
```
chat → chat → chat
```
(no additional generation step required)
---
## Deploy Application
```
publish → publish-status polling
```
Or:
```
publish --wait
```
---
# Available Commands
All commands are executed via the CLI script.
**Important**: Always set the `MEDO_API_KEY` environment variable before running commands.
```bash
export MEDO_API_KEY="your_api_key_here"
```
---
## list-apps
List all applications belonging to the authenticated user.
**Usage:**
```bash
python scripts/medo_api.py list-apps [--brief]
```
**Optional Parameters:**
- `--brief`: Output only key fields: `appId`, `name`, `type`, `appFocus`, `host`, `updatedAt`. Recommended for agents to reduce token usage.
- `--name NAME`: Filter by app name (substring)
- `--page PAGE`: Page number (default: 1)
- `--size SIZE`: Page size (default: 12)
**Example:**
```bash
export MEDO_API_KEY="sk_xxxxx"
# Brief mode (recommended for agents)
python scripts/medo_api.py list-apps --brief
# Full mode
python scripts/medo_api.py list-apps
```
**Returns:** JSON array of applications with `appId`, `name`, `type`, etc.
---
## app-detail
Get detailed information about a specific application. **Automatically injects `conversationId`** into the response by default — no need to call `get-context-id` separately.
**Usage:**
```bash
python scripts/medo_api.py app-detail --app-id <app_id> [--no-context]
```
**Required Parameters:**
- `--app-id APP_ID`: Application ID
**Optional Parameters:**
- `--no-context`: Skip auto-fetching `conversationId` from trajectory (faster, but response will not contain `conversationId`)
**Example:**
```bash
export MEDO_API_KEY="sk_xxxxx"
python scripts/medo_api.py app-detail --app-id app-abc123xyz
```
**Returns:** JSON object with application details, configuration, and status. `data.conversationId` is automatically populated.
---
## get-context-id
Recover the `conversationId` for an existing app by reading its trajectory. Useful when the `conversationId` has been lost after a session reset.
**Usage:**
```bash
python scripts/medo_api.py get-context-id --app-id <app_id>
```
**Required Parameters:**
- `--app-id APP_ID`: Application ID
**Optional Parameters:**
- `--fetch-timeout SECONDS`: Request timeout in seconds (default: 10)
**Example:**
```bash
export MEDO_API_KEY="sk_xxxxx"
python scripts/medo_api.py get-context-id --app-id app-abc123xyz
```
**Returns:** `{"appId": "app-abc123xyz", "conversationId": "conv-def456uvw"}`
**Use Cases:**
- Need to modify a previously created app in a new session but `conversationId` is lost
- Use the returned `conversationId` with `chat --app-id --context-id` to resume modification
---
## conversation-history
Show a human/agent-readable summary of past interactions for an app. More convenient than `trajectory` or `fetch-trajectory` for quickly understanding what happened in previous sessions.
**Usage:**
```bash
python scripts/medo_api.py conversation-history --app-id <app_id> [options]
```
**Required Parameters:**
- `--app-id APP_ID`: Application ID
**Optional Parameters:**
- `--full`: Show full content instead of truncated summaries (default: truncate at 200 chars)
- `--limit N`: Only show the last N conversation tuRelated in Cloud & DevOps
appbuilder-action-scaffolder
IncludedCreate, implement, deploy, and debug Adobe Runtime actions with consistent layout, validation, and error handling. Use this skill whenever the user needs to add actions to an App Builder project, understand action structure (params, response format, web/raw actions), configure actions in the manifest, use App Builder SDKs (State, Files, Events, database), deploy and invoke actions via CLI, debug action issues, or implement patterns such as webhook receivers, custom event providers, journaling consumers, large payload redirects, action sequence pipelines, and Asset Compute workers. Also trigger when users mention serverless functions in Adobe context, action logging, IMS authentication for actions, or cron-style scheduled actions.
orchestrating-datacloud
IncludedSalesforce Data Cloud product orchestrator for connect→prepare→harmonize→segment→act workflows. Use this skill when the user needs a multi-step Data Cloud pipeline, cross-phase troubleshooting, or data space and data kit management. TRIGGER when: user needs a multi-step Data Cloud pipeline, asks to set up or troubleshoot Data Cloud across phases, manages data spaces or data kits, or wants a cross-phase sf data360 workflow. DO NOT TRIGGER when: work is isolated to a single phase (use the matching phase-specific skill), the task is STDM/session tracing/parquet telemetry (use observing-agentforce), standard CRM SOQL (use querying-soql), or Apex implementation (use generating-apex).
github-project-automation
IncludedAutomate GitHub repository setup with CI/CD workflows, issue templates, Dependabot, and CodeQL security scanning. Includes 12 production-tested workflows and prevents 18 errors: YAML syntax, action pinning, and configuration. Use when: setting up GitHub Actions CI/CD, creating issue/PR templates, enabling Dependabot or CodeQL scanning, deploying to Cloudflare Workers, implementing matrix testing, or troubleshooting YAML indentation, action version pinning, secrets syntax, runner versions, or CodeQL configuration. Keywords: github actions, github workflow, ci/cd, issue templates, pull request templates, dependabot, codeql, security scanning, yaml syntax, github automation, repository setup, workflow templates, github actions matrix, secrets management, branch protection, codeowners, github projects, continuous integration, continuous deployment, workflow syntax error, action version pinning, runner version, github context, yaml indentation error
sf-datacloud
IncludedSalesforce Data Cloud product orchestrator for connect→prepare→harmonize→segment→act workflows. TRIGGER when: user needs a multi-step Data Cloud pipeline, asks to set up or troubleshoot Data Cloud across phases, manages data spaces or data kits, or wants a cross-phase `sf data360` workflow. DO NOT TRIGGER when: work is isolated to a single phase (use the matching sf-datacloud-* skill), the task is STDM/session tracing/parquet telemetry (use sf-ai-agentforce-observability), standard CRM SOQL (use sf-soql), or Apex implementation (use sf-apex).
fabric-cli
IncludedUse this skill for Fabric.so CLI workflows with the `fabric` terminal command: diagnose/install/login, search or browse a Fabric library, save notes/links/files, create folders, ask the Fabric AI assistant, manage tasks/workspaces, generate shell completion, check subscription usage, produce JSON output, and use Fabric as persistent agent memory. Do not use for Microsoft Fabric/Azure/Power BI `fab`, Daniel Miessler's Fabric framework, Python Fabric SSH, Fabric.js, or textile/fashion fabric.
lark
IncludedLark/Feishu CLI skills: lark-cli operations for docs, markdown, sheets, base, calendar, im, mail, task, okr, drive, wiki, slides, whiteboard, apps, approval, attendance, contact, vc, minutes, event. Use when the user needs to operate Lark/Feishu resources via lark-cli, send messages, manage documents, spreadsheets, calendars, tasks, OKRs, deploy web pages, or any Feishu/Lark workspace operations.