aohp-uda
Generate personalized HTML apps via UDAGen on AOHP — idea-only or with structured input (requirements, OpenAPI, schemas).
Skill by aohp-os
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/aohp-os-aohp-uda
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: frontend
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/aohp-uda
What's inside
- Skill name
aohp-uda- Description
- Generate personalized HTML apps via UDAGen on AOHP — idea-only or with structured input (requirements, OpenAPI, schemas).
- License
- Apache-2.0
- Instructions
- 156 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# AOHP User Defined App (UDAGen)
Use this skill when the user wants a **personalized mini-app** (UDA / PUI) generated on the AOHP device.
Pair with **`uda-app`** after generation completes (`hasApp: true`) to install, pin, and launch.
## Prerequisites
1. LLM credentials on device (not baked into the image):
```bash
aohp uda config-set \
--api-key "$UDA_API_KEY" \
--model "doubao-seed-2-0-pro-260215" \
--base-url "https://ark.cn-beijing.volces.com/api/v3" \
--provider openai
```
2. The `uda` Alpine container is created automatically on first run.
## Choose a workflow
### A. Idea-only (fastest)
No custom input files. UDAGen auto-drafts mock API docs from `--idea`.
```bash
aohp uda generate \
--app-name "Google Search" \
--idea "Google Search mini-app: search arbitrary keywords on a single mobile page; show Google results after submit"
```
Note the returned `jobId`, then poll `aohp uda status -j <jobId>` until `status: completed` and `hasApp: true`.
### B. Structured input (richer apps)
Stage per-job input **before** `uda.generate`. When `/opt/udagen/workspace/<jobId>/input/` contains supported files, generation uses that tree instead of the empty template.
**1. Allocate input scaffold**
```bash
aohp uda input init
# → { "jobId": "job-1710000000000", "containerInputDir": "...", "hostInputDir": "..." }
```
**2. Write input files** (repeat as needed)
```bash
JOB=job-1710000000000
aohp uda input write -j "$JOB" --path requirements/idea.md --content "$(cat <<'EOF'
# Google Search App
Single search field; submit runs a Google search for arbitrary keywords.
Mobile-first; pin-friendly launcher name: Google Search.
EOF
)"
aohp uda input write -j "$JOB" --path app/manifest.json --content '{
"name": "Google Search",
"short_name": "Search",
"theme_color": "#4285F4",
"background_color": "#FFFFFF",
"description": "Search Google with any keyword"
}'
aohp uda input write -j "$JOB" --path mock_docs/openapi.yaml --content "$(cat <<'EOF'
openapi: 3.0.3
info:
title: Google Search Proxy
version: 1.0.0
paths:
/search:
get:
summary: Search by keyword
parameters:
- name: q
in: query
required: true
schema: { type: string }
responses:
"200":
description: Redirect or embed URL for Google results
EOF
)"
```
**3. Generate with the same job id**
```bash
aohp uda generate -j "$JOB" \
--app-name "Google Search" \
--idea "Google Search: arbitrary keywords"
```
**Alternative:** edit files via sandbox:
```bash
aohp sandbox exec uda -- ls /opt/udagen/workspace/$JOB/input/
```
Host bind path: `/data/aohp/shared/uda/<jobId>/input/`
## After generation
```bash
aohp uda status -j <jobId> # poll until hasApp
aohp uda install -j <jobId> --pin
aohp uda launch -j <jobId>
```
See skill **`uda-app`** for install/launch details.
## Input bundle reference
Supported extensions: `.md`, `.txt`, `.json`, `.yaml`, `.yml`, `.csv`, `.tsv`
| Path | Role |
|------|------|
| `requirements/*.md` | Product brief / user stories |
| `app/manifest.json` | Launcher name, theme, icon hint |
| `mock_docs/openapi.yaml` | API contract for mock backend |From aohp-os/aohp, Apache-2.0.
More from aohp-os/aohp
- 0.677score
aohp-ui-actions
aohp-os
Tap, swipe, keys, text, node-targeted actions, and node progress updates on a logical display via the aohp CLI (UI-level injection; not app launch, files, or…
SkillCFreshness: C★ 156Claude Code +9 - 0.674score
aohp-display
aohp-os
List, create, destroy, and focus AOHP virtual displays via the aohp CLI (no MediaProjection).
SkillCFreshness: C★ 156Claude Code +9 - 0.674score
aohp-event-stream
aohp-os
Register, drain, and stop AOHP Toast/notification event streams via the aohp CLI.
SkillCFreshness: C★ 156Claude Code +9 - 0.674score
aohp-file
aohp-os
Locate recent files, show paths in the AOHP File Bridge UI, and open Android sharing via the aohp CLI.
SkillCFreshness: C★ 156Claude Code +9 - 0.674score
aohp-perception
aohp-os
Screenshots and UI hierarchy (windows/nodes) on a logical display via the aohp CLI.
SkillCFreshness: C★ 156Claude Code +9 - 0.674score
aohp-sandbox
aohp-os
Create, run commands in, reset, or manage services inside AOHP Linux chroot sandboxes via the aohp CLI.
SkillCFreshness: C★ 156Claude Code +9 - 0.674score
aohp-sensor
aohp-os
Capture still photos with the device camera hardware via the aohp CLI (no Camera app UI required).
SkillCFreshness: C★ 156Claude Code +9 - 0.674score
aohp-sys
aohp-os
Clipboard, notifications, outbound SMS, device status, and wake or unlock helpers via the aohp CLI.
SkillCFreshness: C★ 156Claude Code +9 - 0.674score
aohp-app-launch
aohp-os
List installed packages and start, stop, or inspect apps on a logical display via the aohp CLI.
SkillCFreshness: C★ 156Claude Code +9 - 0.674score
uda-app
aohp-os
Install and launch user-defined HTML apps (UDA) generated on AOHP devices.
SkillCFreshness: C★ 156Claude Code +9
Compare and alternatives
Featured in
Signals
- Stars
- 156
- Forks
- 18
- Open issues
- 1
- Last commit (this folder)
- Jun 21, 2026 (4 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- Apache-2.0
- Repository
- github.com/aohp-os/aohp
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from aohp-os
- 0.677score
aohp-ui-actions
aohp-os
Tap, swipe, keys, text, node-targeted actions, and node progress updates on a logical display via the aohp CLI (UI-level injection; not app launch, files, or…
SkillCFreshness: C★ 156Claude Code +9 - 0.674score
aohp-display
aohp-os
List, create, destroy, and focus AOHP virtual displays via the aohp CLI (no MediaProjection).
SkillCFreshness: C★ 156Claude Code +9 - 0.674score
aohp-event-stream
aohp-os
Register, drain, and stop AOHP Toast/notification event streams via the aohp CLI.
SkillCFreshness: C★ 156Claude Code +9 - 0.674score
aohp-file
aohp-os
Locate recent files, show paths in the AOHP File Bridge UI, and open Android sharing via the aohp CLI.
SkillCFreshness: C★ 156Claude Code +9 - 0.674score
aohp-perception
aohp-os
Screenshots and UI hierarchy (windows/nodes) on a logical display via the aohp CLI.
SkillCFreshness: C★ 156Claude Code +9 - 0.674score
aohp-sandbox
aohp-os
Create, run commands in, reset, or manage services inside AOHP Linux chroot sandboxes via the aohp CLI.
SkillCFreshness: C★ 156Claude Code +9
Cite this page
aohp-uda skill. Agent Mart. https://agentmart.dev/skills/aohp-os-aohp-uda (last updated 2026-10-24)