Skip to content
Agentmart
Submit a tool

aohp-uda

Generate personalized HTML apps via UDAGen on AOHP — idea-only or with structured input (requirements, OpenAPI, schemas).

Skill by aohp-os

IndexedApache-2.0★ 156
Write a review

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.

We use your email only for this newsletter. Privacy

About

Generate personalized HTML apps via UDAGen on AOHP — idea-only or with structured input (requirements, OpenAPI, schemas).

Use cases: frontend

No 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

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
    First seen
    Oct 24, 2026
    Last checked
    Oct 24, 2026

    More from aohp-os

    Cite this page

    aohp-uda skill. Agent Mart. https://agentmart.dev/skills/aohp-os-aohp-uda (last updated 2026-10-24)