Skip to content
cccskills
FreePublished on GitHub

daytona-seeded-cloud-demo

Prepares an OpenWork Cloud/Den demo on Daytona with Acme Robotics sample data. It checks service health and sign-in, keeps the sandbox active, and returns URLs and credentials ready to share with demo participants.

OriginalShow the original description

Daytona seeded cloud demo, demo credentials, Acme Robotics seed. Use when the user asks to spin up, keep running, seed, or prepare an OpenWork Cloud/Den Daytona demo instance.

See how to install

Good for

  • Preparing a cloud demo with sample organization data
  • Checking demo health endpoints and account sign-in
  • Keeping a demo active and organizing access details

Files included (1)

  • SKILL.md4.9 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Daytona Seeded Cloud Demo

Use this skill to quickly create a persistent-enough OpenWork Cloud/Den Daytona server demo, seed it with Acme Robotics demo data, validate the login, and return copy-pasteable demo details.

Goal

Start a server-only Daytona sandbox for demos, seed the Den database, keep the sandbox warm, and return URLs plus credentials the user can share.

Fast Path

Run from the repo root. Prefer a stable sandbox name when the user wants to hand this to someone else:

BRANCH="$(git rev-parse --abbrev-ref HEAD)"
SANDBOX="openwork-cloud-demo-seeded"

bash .devcontainer/test-server-on-daytona.sh "$BRANCH" --name "$SANDBOX"

If the sandbox name already exists, choose a dated suffix instead, for example:

SANDBOX="openwork-cloud-demo-seeded-$(date +%Y%m%d-%H%M)"
bash .devcontainer/test-server-on-daytona.sh "$BRANCH" --name "$SANDBOX"

The helper prints these values. Capture them exactly:

DEN_WEB_URL="<printed Den Web URL>"
DEN_API_URL="<printed Den API URL>"

Seed Demo Data

Seed the sandbox after the Den stack is healthy. The seed uses the same encryption and auth secrets as .devcontainer/start-daytona-server.sh.

daytona exec "$SANDBOX" -- 'bash -lc '\''cd /workspace && pnpm --filter @openwork/email build && cd /workspace/ee/apps/den-api && OPENWORK_DEV_MODE=1 DATABASE_URL=mysql://root:password@127.0.0.1:3306/openwork_den DEN_DB_ENCRYPTION_KEY=daytona-den-db-encryption-key-please-change-1234567890 BETTER_AUTH_SECRET=daytona-den-auth-secret-please-change-1234567890 BETTER_AUTH_URL="'"$DEN_WEB_URL"'" pnpm exec tsx scripts/seed-demo-org.ts --reset'\'''

Expected seeded credentials:

Email: alex@acme.test
Password: OpenWorkDemo123!

Expected seed summary:

Org: Acme Robotics
Org slug: acme-robotics-demo
Owner: Alex Chen
Members: 17
Teams: 12
Pending invites: 3
Marketplace plugins: 14
Config objects: 71

Keep It Running

The server helper creates the sandbox with Daytona auto-stop enabled. If the CLI does not support changing auto-stop after creation, start a local keepalive loop that pings Den API every 30 minutes:

KEEPALIVE_DIR="${TMPDIR:-/tmp}/opencode"
mkdir -p "$KEEPALIVE_DIR"
KEEPALIVE_LOG="$KEEPALIVE_DIR/${SANDBOX}-keepalive.log"
nohup sh -c 'while true; do date; daytona exec '"$SANDBOX"' -- "bash -lc '\''curl -fsS http://127.0.0.1:8788/health >/dev/null'\''"; sleep 1800; done' >"$KEEPALIVE_LOG" 2>&1 &

Then confirm it is running:

ps -axo pid,command | rg "$SANDBOX.*8788/health|${SANDBOX}-keepalive"

Stop the keepalive later with the printed PID if the demo is no longer needed.

Validate

Validate public health through both routes:

curl -fsS "$DEN_API_URL/health"
curl -fsS "$DEN_WEB_URL/api/den/health"

Validate the demo account through Den Web auth. This is the most relevant browser-facing path:

curl -fsS -X POST "$DEN_WEB_URL/api/auth/sign-in/email" \
  -H 'Content-Type: application/json' \
  --data '{"email":"alex@acme.test","password":"OpenWorkDemo123!"}'

Also validate direct Den API auth if the user will connect desktop or debug handoff:

curl -fsS -X POST "$DEN_API_URL/api/auth/sign-in/email" \
  -H 'Content-Type: application/json' \
  --data '{"email":"alex@acme.test","password":"OpenWorkDemo123!"}'

Both auth calls should return redirect: false, a token, and user Alex Chen.

Final Response Template

Return concise demo details in this order:

Daytona cloud demo is running and seeded.

**Demo Access**
- Den Web: <DEN_WEB_URL>
- Den API: <DEN_API_URL>
- Sandbox: `<SANDBOX>`
- Sandbox ID: `<id from daytona info>`

**Credentials**
- Email: `alex@acme.test`
- Password: `OpenWorkDemo123!`

**Seeded Data**
- Org: `Acme Robotics`
- Org slug: `acme-robotics-demo`
- Owner: `Alex Chen`
- Members: `17`
- Teams: `12`
- Pending invites: `3`
- Marketplace plugins: `14`
- Config objects: `71`

**Validation**
- Public Den Web health passed.
- Public Den API health passed.
- Seeded login passed through Den Web and Den API auth routes.
- Keepalive loop is running locally and pings the sandbox every 30 minutes.

Troubleshooting

If older docs suggest running the Electron helper in a server-only mode, do not use that path unless this checkout supports it. Use .devcontainer/test-server-on-daytona.sh for server-only cloud demos.

If sign-in returns 403 for email verification, Den API is not running with OPENWORK_DEV_MODE=1 or did not restart after env changes. Restart the Den stack and rerun the seed.

If Den Web health passes but auth through Den Web fails while direct Den API auth passes, report that distinction and debug the Den Web proxy separately. Do not claim the browser-facing demo path passed from direct API auth alone.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

add-a-feature

FreeSummary

Manage OpenWork feature releases with feature flags, switches that control access to new behavior. Register features before coding, release them by organization and deployment, prepare a global shutdown option, and remove temporary flags after rollout.

  • Registering a feature before implementation
  • Releasing a feature to selected organizations
  • Separating cloud and self-hosted availability
different-ai/openwork24.2KUpdated Oct 19, 2026

Connect OpenCode browser tools to a locally running OpenWork Electron app to inspect its UI, enter a task, and check the response. This skill supports exploration and debugging through CDP, Chrome's remote control protocol.

  • Connecting browser tools to a local Electron development app
  • Inspecting screen state during debugging
  • Entering a task in the composer and running it
different-ai/openwork24.2KUpdated Oct 19, 2026

Check added lines in a change for information identifying customers, prospects, partners, or outside individuals. Report locations and generic remediation without reproducing identities, and escalate cases where the information is already public.

  • Checking changes for customer and partner identities
  • Reviewing documents and test data for identifying details
  • Reporting disclosure locations without repeating identities
different-ai/openwork24.2KUpdated Oct 19, 2026

Connects supported AI clients, including Claude Code and Codex, to OpenWork through MCP, a protocol for accessing external tools. It guides account sign-in and verifies that tools for finding and running organization capabilities are available.

  • Connecting an AI client to OpenWork organization resources
  • Signing in and verifying available MCP tools
  • Switching organizations or troubleshooting authentication
different-ai/openwork24.2KUpdated Oct 19, 2026

Review an outside contributor’s pull request before running its code. Identify concealed behavior, obfuscated code, risky dependencies, and build hooks, with file locations and specific checks for maintainers to follow up.

  • Screening an outside contributor’s pull request before execution
  • Checking encoded code and unexplained network calls
  • Reviewing dependency changes and installation scripts
different-ai/openwork24.2KUpdated Oct 19, 2026

create-plugin

FreeSummary

Create an OpenCode plugin for OpenWork with custom tools and hooks, which run code at specific events. The skill builds the plugin file and adds its entry to the project configuration.

  • Adding custom tools to OpenWork
  • Creating a plugin to save and list notes
  • Running custom code before or after tool execution
different-ai/openwork24.2KUpdated Oct 19, 2026

See all skills by different-ai

Report a problem with this skill