App Skills Suite
Use this as the first-stop suite for Harzva app work. It is an orchestrator, not a replacement for specialist skills: keep specialized skills independent, but route through this suite so every app gets the same product shell, QA expectations, and release/update contract.
For the full routing map, read references/app-skill-map.md when the task spans more than one app discipline or when deciding which specialist skill to use.
Default App Lifecycle
Follow this order unless the user asks for a narrower slice:
- Product shape: define the core screen, platform target, user promise, and update story.
- UI design: create a polished app shell before implementing details.
- Implementation: preserve the existing tech stack and platform conventions.
- Preview: produce a local browser, simulator, or emulator preview when the platform supports it.
- QA: run only the checks the user asked for, or the checks required by a release request.
- Release: publish assets, update the version manifest, and verify remote availability.
- Reuse: capture repeatable app patterns back into this suite.
Always-On App Shell
Every Harzva app home screen should expose:
- Current app version from native bundle, package, or build metadata.
- Online latest version from a public JSON manifest.
- A visible state: checking, up to date, update available, or check failed.
- A "Download Latest" action that opens the best platform-specific asset.
- A short install note explaining overwrite behavior for the current platform.
Online Update Manifest
Publish a stable JSON file with the app site, for example:
https://example.com/app-update.json
Use templates/app-update.json as the base. Include:
latestVersion and latestTag.
releaseUrl as a human fallback.
- Platform-specific
downloadUrl values.
- Platform-specific
installMode values.
- Package or bundle identifiers where overwrite safety depends on identity.
Safe Overwrite Rules
Android:
- Overwrite install is allowed only when package id and signing lineage match.
- Download buttons may open an APK, but installation must still go through the system installer.
- Use
same-package-same-signature-overwrite in the manifest.
Desktop:
- Prefer launcher-managed cache replacement or next-launch binary replacement.
- Do not overwrite a running executable in place.
- Use
launcher-cache-replace or next-launch-replace in the manifest.
iOS:
- Public apps update through App Store or TestFlight.
- Enterprise apps may use managed distribution.
- Simulator previews may provide a zip, but production iOS apps must not claim silent self-update.
App Home Checklist
- Version card is visible above secondary content.
- Current and online versions use the same semantic version format.
- The download action works even when the app is already up to date.
- Network failures degrade to a visible retry state.
- Platform install limitations are honest and visible.
Release Checklist
- Bump app package version, native bundle version, and launcher package version together.
- Update
app-update.json to point at the new tag and assets.
- Build and publish release assets before relying on the manifest in production.
- Verify release assets and the online manifest after publishing.
- Keep old releases available so older apps can still update through the manifest.
Suite Maintenance
- Add new app-related specialist skills to
references/app-skill-map.md.
- Prefer routing to existing specialist skills over copying their full instructions here.
- Keep this
SKILL.md lean; move detailed platform playbooks into references or templates.
- Never store credentials, token values, cookies,
.env values, raw chat logs, or private machine paths in this suite.
1---2name: app-skills-suite3description: Orchestrate Harzva app work across product UI, mobile and desktop implementation, local preview, emulator QA, release packaging, online update manifests, latest-download buttons, and safe overwrite-install behavior. Use when creating, redesigning, testing, releasing, or standardizing any app or app-like product.4---56# App Skills Suite78Use this as the first-stop suite for Harzva app work. It is an orchestrator, not a replacement for specialist skills: keep specialized skills independent, but route through this suite so every app gets the same product shell, QA expectations, and release/update contract.910For the full routing map, read `references/app-skill-map.md` when the task spans more than one app discipline or when deciding which specialist skill to use.1112## Default App Lifecycle1314Follow this order unless the user asks for a narrower slice:15161. Product shape: define the core screen, platform target, user promise, and update story.172. UI design: create a polished app shell before implementing details.183. Implementation: preserve the existing tech stack and platform conventions.194. Preview: produce a local browser, simulator, or emulator preview when the platform supports it.205. QA: run only the checks the user asked for, or the checks required by a release request.216. Release: publish assets, update the version manifest, and verify remote availability.227. Reuse: capture repeatable app patterns back into this suite.2324## Always-On App Shell2526Every Harzva app home screen should expose:2728- Current app version from native bundle, package, or build metadata.29- Online latest version from a public JSON manifest.30- A visible state: checking, up to date, update available, or check failed.31- A "Download Latest" action that opens the best platform-specific asset.32- A short install note explaining overwrite behavior for the current platform.3334## Online Update Manifest3536Publish a stable JSON file with the app site, for example:3738```text39https://example.com/app-update.json40```4142Use `templates/app-update.json` as the base. Include:4344- `latestVersion` and `latestTag`.45- `releaseUrl` as a human fallback.46- Platform-specific `downloadUrl` values.47- Platform-specific `installMode` values.48- Package or bundle identifiers where overwrite safety depends on identity.4950## Safe Overwrite Rules5152Android:5354- Overwrite install is allowed only when package id and signing lineage match.55- Download buttons may open an APK, but installation must still go through the system installer.56- Use `same-package-same-signature-overwrite` in the manifest.5758Desktop:5960- Prefer launcher-managed cache replacement or next-launch binary replacement.61- Do not overwrite a running executable in place.62- Use `launcher-cache-replace` or `next-launch-replace` in the manifest.6364iOS:6566- Public apps update through App Store or TestFlight.67- Enterprise apps may use managed distribution.68- Simulator previews may provide a zip, but production iOS apps must not claim silent self-update.6970## App Home Checklist7172- Version card is visible above secondary content.73- Current and online versions use the same semantic version format.74- The download action works even when the app is already up to date.75- Network failures degrade to a visible retry state.76- Platform install limitations are honest and visible.7778## Release Checklist7980- Bump app package version, native bundle version, and launcher package version together.81- Update `app-update.json` to point at the new tag and assets.82- Build and publish release assets before relying on the manifest in production.83- Verify release assets and the online manifest after publishing.84- Keep old releases available so older apps can still update through the manifest.8586## Suite Maintenance8788- Add new app-related specialist skills to `references/app-skill-map.md`.89- Prefer routing to existing specialist skills over copying their full instructions here.90- Keep this `SKILL.md` lean; move detailed platform playbooks into references or templates.91- Never store credentials, token values, cookies, `.env` values, raw chat logs, or private machine paths in this suite.