Build a local XOPC app

SkillDev tools

Build and iteratively improve a user-owned local XOPC app while preserving its stable extension identity, UI sandbox, and Phase 1 capability boundary.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Build a local XOPC app skill

What this skill tells your AI

The instructions your AI receives, as published by xopcai/xopc in skills/engineering/build-xopc-local-app/SKILL.md and read by ahel’s review.

Use this skill inside a Project created for a Local App. Treat APP_BRIEF.md, .xopc/app.json, and xopc.extension.json as the app contract. Convert the user's latest request into a small observable UI change, preserve working behaviour, and leave the draft previewable after every iteration.

Required workflow

  1. Read APP_BRIEF.md, .xopc/app.json, .xopc/acceptance.json, xopc.extension.json, and the current ui/ implementation.
  2. Restate the requested behaviour as observable acceptance checks. Add or update a declarative scenario in .xopc/acceptance.json for each critical journey changed by the request.
  3. Edit the smallest coherent set of files. Phase 1 apps are UI-only; do not add backend routes, shell execution, network access, or undeclared permissions. Never edit the manifest main field or .xopc/runtime/local-ui.js; xopc owns that trusted gateway runtime entry.
  4. Keep the extension id, page path, and UI entrypoint stable. Do not rename them during an iteration.
  5. Run node "$XOPC_LOCAL_APP_SKILL_DIR/scripts/validate-local-app.mjs" . when that environment variable is available. Otherwise validate the same contract directly.
  6. Report what changed, what was verified, and whether the draft is ready for the user to install.

Interface constraints

  • Use semantic HTML, keyboard-accessible controls, visible focus states, and aria-live for async feedback.
  • Support light and dark color schemes without assuming access to the host DOM.
  • Keep scripts and styles local. The preview CSP blocks network access and inline scripts.
  • Use browser storage only for user-owned local preferences or app data.
  • Ask before expanding permissions. A permission change must be visible in the install review.
  • Mark scenario targets with stable data-xopc-test-id values. Never encode CSS selectors or executable JavaScript in acceptance scenarios.

For the exact Phase 1 file contract and completion checklist, read references/app-contract.md.

Signals

GitHub stars
37
Forks
7
Last commit
Sep 2026

ahel review

  • K6low
    bundled executables the agent is told to run

Automated review, not a security audit. Ruleset v1+k2.

Advanced
Catalog kind
skill
Gateway key
build-xopc-local-app
Source
github.com/xopcai/xopc