Agent skill

Hz Store Pwa

by meta-quest in meta-quest/agentic-tools

Guides shipping a web app to the Meta VR and Horizon OS Store as a PWA/TWA — both 2D windowed panels and immersive WebXR/VR.

Apache-2.0Auto-check passedGame Development

Install Hz Store Pwa

skills CLI
$ npx skills add meta-quest/agentic-tools --skill hz-store-pwa -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install meta-quest/agentic-tools hz-store-pwa --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/meta-quest/agentic-tools.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/hz-store-pwa .claude/skills/hz-store-pwa && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
hz-store-pwa
GitHub stars
215
Token cost
~3.6k tokens
SKILL.md length
1,548 words
Files
7 (incl. references)
Skills in repo
34
Repo updated
First seen
Licence
Apache-2.0

At a glance

Guides shipping a web app to the Meta VR and Horizon OS Store as a PWA/TWA — both 2D windowed panels and immersive WebXR/VR.

  • Works in 6 steps: Pick the App Mode First → Build the Web App → Deploy to Vercel → …
  • Game Development work in your project
  • SKILL.md covers When to Use This Skill, Pipeline Overview, Step 0: Pick the App Mode First and Step 1: Build the Web App, plus 7 more sections
  • Calls npx, curl and npm; reaches developers.meta.com; needs BUBBLEWRAP_KEYSTORE_PASSWORD and BUBBLEWRAP_KEY_PASSWORD

What it does

Hz Store Pwa is an agent skill from meta-quest/agentic-tools. Guides shipping a web app to the Meta VR and Horizon OS Store as a PWA/TWA — both 2D windowed panels and immersive WebXR/VR. Covers building the web app (IWSDK for WebXR, any responsive PWA for 2D), Vercel deploy, web app manifest + icons, the WebXR-only auto-enter-session step, choosing 2D vs immersive mode in @meta-quest/bubblewrap-cli, keystore/Digital-Asset-Links, and ovr-platform-util Store upload. Use before any IWSDK/WebXR build, PWA packaging, bubblewrap, or Horizon Store upload work.

Its SKILL.md is about 3.6k tokens, which your agent loads only when the skill is triggered. The skill folder holds 7 other files, including reference files (for example `references/app-modes.md`, `references/bubblewrap-packaging.md` and `references/manifest-and-icons.md`).

It sits in Game Development. It works with Vercel. The repository describes itself as: Agent Skills for Meta Quest/Horizon OS VR Development. The licence is Apache-2.0.

When your agent uses it

  • Game Development work in your project

Example prompts

  • “Use the hz-store-pwa skill to guide shipping a web app to the Meta VR and Horizon OS Store as a PWA/TWA — both 2D windowed panels and immersive…”
  • “/hz-store-pwa”

Requirements

  • Node.js
  • Pre-approved tools (allowed-tools): Bash(npx:*), Bash(npm:*), Bash(curl:*), Bash(bubblewrap:*)

Workflow steps

6 steps, taken from the step headings in SKILL.md.

  1. Pick the App Mode First
  2. Build the Web App
  3. Deploy to Vercel
  4. PWA Manifest + Icons
  5. Package as a Meta VR APK (bubblewrap)
  6. Upload to the Meta Horizon Store

What it can do on your machine

Read from SKILL.md and the folder at commit 3a8553d. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Bash(npx:*)
    • Bash(npm:*)
    • Bash(curl:*)
    • Bash(bubblewrap:*)

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • npx
    • curl
    • npm

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • developers.meta.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • BUBBLEWRAP_KEYSTORE_PASSWORD
    • BUBBLEWRAP_KEY_PASSWORD

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Hz Store Pwa loads about 3.6k tokens when it runs, and up to ~8.1k if it reads all its reference files. Until then it costs about 128 tokens; SKILL.md has 1,548 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~128
When it runs · the whole SKILL.md, loaded when a task matches
~3.6k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~8.1k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from meta-quest/agentic-tools at commit 3a8553d, republished under its Apache-2.0 licence (© meta-quest). 1,548 words, ~3,612 tokens.

Download SKILL.mdSave it as .claude/skills/hz-store-pwa/SKILL.md (or your agent's skills folder). This skill also uses 6 other files; get the full folder from GitHub.
name
hz-store-pwa
description
Guides shipping a web app to the Meta VR and Horizon OS Store as a PWA/TWA — both 2D windowed panels and immersive WebXR/VR. Covers building the web app (IWSDK for WebXR, any responsive PWA for 2D), Vercel deploy, web app manifest + icons, the WebXR-only auto-enter-session step, choosing 2D vs immersive mode in @meta-quest/bubblewrap-cli, keystore/Digital-Asset-Links, and ovr-platform-util Store upload. Use before any IWSDK/WebXR build, PWA packaging, bubblewrap, or Horizon Store upload work.
allowed-tools
Bash(npx:*), Bash(npm:*), Bash(curl:*), Bash(bubblewrap:*)
license
Apache-2.0

Store PWA/TWA Skill

Guide the end-to-end process of wrapping a web app as a Meta VR app and shipping it to the Meta Horizon Store. This skill covers both delivery modes — a 2D windowed panel and an immersive WebXR/VR experience — through the same pipeline: build the web app, deploy to Vercel, add a PWA manifest + icons, package as a signed Meta VR APK with @meta-quest/bubblewrap-cli, and upload with ovr-platform-util.

Commands use <…> tokens (e.g. <DOMAIN>, <HORIZON_APP_ID>, <team-slug>, <PW>) — substitute your own values before running.

When to Use This Skill

Use this skill when you need to:

  • Ship a web app (2D or WebXR) to the Meta Horizon Store as a PWA/TWA
  • Decide whether an app should run as a 2D panel or an immersive WebXR session
  • Build a WebXR app with IWSDK and wire up auto-enter-session for the installed PWA
  • Deploy a PWA to Vercel and produce a valid, installable web app manifest + icons
  • Package a live PWA into a signed Meta VR APK with @meta-quest/bubblewrap-cli
  • Configure the signing keystore and Digital Asset Links so the TWA will launch
  • Upload a build to the Store with ovr-platform-util
  • Troubleshoot a 2D app stuck loading, an immersive app showing a URL bar, a TWA that won't launch, or an upload that's blocked

For deeper IWSDK app-building guidance, see the hz-iwsdk-webxr skill. For the broader Store submission process (VRC compliance, store assets, review tracking), see the hz-store-submit skill.

Pipeline Overview

The full pipeline follows this order. The two mode-specific deltas are flagged; all other steps are identical for 2D and immersive.

0. Pick app mode        → 2D panel vs immersive WebXR (sets steps 1 + 4)
1. Build the web app    → IWSDK WebXR app (immersive) OR any responsive PWA (2D)
2. Deploy to Vercel     → public HTTPS origin = <DOMAIN>
3. Manifest + icons     → installable web app manifest, PNG icons, live on <DOMAIN>
4. Package as APK       → bubblewrap: keystore, twa-manifest, build, asset links
5. Upload to the Store  → ovr-platform-util upload-quest-build

Dependencies between steps matter — see Order of Operations at the end.

Step 0: Pick the App Mode First

The app mode is the single most important decision, chosen once. It changes exactly two things downstream:

  1. Whether the web app auto-enters a WebXR session on launch (immersive only).
  2. The horizonOSAppMode value in twa-manifest.json ("immersive" vs "2D").
2D PWAImmersive WebXR PWA
Runs aswindowed 2D panel on Horizonenters a full VR/WebXR session
Web appany responsive PWA (IWSDK optional)WebXR app (IWSDK is the easy path)
Auto-enter requestSessionNO — do not add it (Step 1)YES — built into the app (Step 1)
horizonOSAppMode"2D" (Step 4)"immersive" (Step 4)

A wrong horizonOSAppMode value is the classic failure mode: a 2D app set to immersive is stuck loading; an immersive app set to 2D shows a browser URL bar.

See references/app-modes.md for the full decision guide.

Step 1: Build the Web App

Immersive WebXR app (IWSDK)

Scaffold with @iwsdk/create (the only supported scaffolder):

bash
npx @iwsdk/create@latest <app-name> --yes --mode vr --no-metaspatial \
  --no-physics --no-locomotion --grabbing

Toggle --physics (Havok gravity/collisions), --locomotion (roam a large space), and --grabbing (hands/controllers pick objects up) to fit the app. For arcade-style apps prefer deterministic manual motion over physics.

Don't reinvent IWSDK app code. The template's bundled CLAUDE.md, .claude/skills/iwsdk-* skills, and the iwsdk-rag MCP are the source of truth for imports, ECS, XR input, physics, UI, and debugging. Query those rather than guessing.

Build auto-enter into the immersive app from the start. An installed immersive PWA opens with no 2D page, so the app itself must start the session on load (the app-icon tap is the user activation). Gate it on getDigitalGoodsService so it runs only in the installed PWA, never a browser tab:

ts
const nav = navigator as Navigator & { xr?: { isSessionSupported?: (m:string)=>Promise<boolean> } };
if ("getDigitalGoodsService" in window && nav.xr?.isSessionSupported) {
  nav.xr.isSessionSupported("immersive-vr")
    .then(s => { if (s) world.launchXR(); })   // IWSDK launchXR == requestSession + setup
    .catch(() => {});
}

getDigitalGoodsService is device-only — validate this path on the headset.

2D windowed app

Any responsive web app/PWA works — IWSDK is not required. It runs as a single- instance standalone panel with its own Library entry. Make sure it's a valid installable PWA (Step 3) and build/deploy it like any static/SPA site (Step 2). Do NOT add the auto-enter code above.

Full scaffolding flags, project layout, and the auto-enter rationale are in references/app-modes.md.

Step 2: Deploy to Vercel

The web app must be live on a public HTTPS origin before packaging — bubblewrap fetches the manifest and icons from it. Set base: "./" in your Vite config, then:

bash
npx -y vercel@latest whoami
npx -y vercel@latest teams ls
npx -y vercel@latest deploy --prod --yes --scope <team-slug>

Two URLs result:

  • Canonical alias https://<project>.vercel.app → public (200). Use this as <DOMAIN> everywhere downstream.
  • Hashed per-deploy URL …-<team>.vercel.app → 401 under deployment protection. Not for sharing, not usable as <DOMAIN>.

Verify the root and manifest both return 200, and that the manifest is served as application/manifest+json:

bash
curl -s -o /dev/null -w "%{http_code}\n" https://<DOMAIN>/manifest.webmanifest

See references/vercel-deploy.md for details and the redeploy-vs-rebuild rule.

Step 3: PWA Manifest + Icons

Both modes need a valid, installable manifest and PNG icons, live on <DOMAIN> before bubblewrap update runs. Place public/manifest.webmanifest:

json
{ "name":"…","short_name":"…","description":"…","start_url":"/","scope":"/",
  "display":"standalone","orientation":"landscape",
  "background_color":"#06010f","theme_color":"#0a0418",
  "icons":[
    {"src":"/icons/icon-192.png","type":"image/png","sizes":"192x192","purpose":"any"},
    {"src":"/icons/icon-512.png","type":"image/png","sizes":"512x512","purpose":"any"},
    {"src":"/icons/icon-512-maskable.png","type":"image/png","sizes":"512x512","purpose":"maskable"}]}

Link it in index.html <head> (<link rel="manifest"> + <meta name="theme-color">

  • <link rel="icon">). For multi-origin 2D apps, add additional_trusted_origins and host asset links on each origin.

There's no ImageMagick/PIL here — generate icons with sharp (npm i -D sharp) from an SVG. The maskable icon must be full-bleed and opaque (no transparency or rounded corners). Vite copies public/ into dist/.

See references/manifest-and-icons.md for the icon script and the full manifest reference.

Step 4: Package as a Meta VR APK (bubblewrap)

bubblewrap wraps the live PWA into a signed Android APK (a Trusted Web Activity).

bash
npm i -g @meta-quest/bubblewrap-cli   # bin: bubblewrap

Prereqs are pre-provisioned in ~/.bubblewrap (its own JDK 17 + Android SDK). Find the tools dynamically:

bash
KT=$(find ~/.bubblewrap/jdk -path '*/bin/keytool' | head -1)
BT=$(ls -d ~/.bubblewrap/android_sdk/build-tools/* | sort -V | tail -1)

bubblewrap init uses an interactive inquirer wizard that needs a real TTY. A non-TTY caller (an agent driving Bash) can't answer it and there are no value flags to bypass it — use the scripted path below.

  1. Signing keystore — pause and ask the developer which key to use before building. The key is permanent: every future update must reuse it. Either reuse an existing keystore (ask for its path, alias, and passwords — required when updating a published app) or generate a new one outside the deployable web tree.

  2. twa-manifest.json (scripted path) — author it from the authoritative TwaManifest schema. The critical field:

    json
    "horizonOSAppMode": "immersive"   // ← "immersive" for WebXR | "2D" for a 2D panel app

    A wrong value is the classic failure mode (Step 0). applicationId = numeric Horizon App ID ("0" builds & sideloads without IAP; set the real id before Store work).

  3. Build — update regenerates gradle and bumps version; passwords go via env vars (no password CLI flags exist):

    bash
    cd <twa-dir>
    export BUBBLEWRAP_KEYSTORE_PASSWORD=<PW> BUBBLEWRAP_KEY_PASSWORD=<PW>
    bubblewrap update && bubblewrap build
    # → app-release-signed.apk + app-release-bundle.aab
    "$BT/apksigner" verify --print-certs app-release-signed.apk | grep -i SHA-256  # must == keystore
  4. Digital Asset Links — a TWA "will not launch" if this fails. Host public/.well-known/assetlinks.json on the same domain (and every trusted origin), with the package name and the colon-hex cert SHA-256. Redeploy, then curl https://<DOMAIN>/.well-known/assetlinks.json to confirm.

Security: the keystore and app secret NEVER go to the public host — verify with curl -o /dev/null -w "%{http_code}" https://<DOMAIN>/android.keystore (expect 404). Back up the keystore.

Full keystore handling, the complete twa-manifest.json template, build verification, and asset-link details are in references/bubblewrap-packaging.md.

Show full SKILL.md (502 more words)Show less

Step 5: Upload to the Meta Horizon Store

hzdb / metavr are device-only and cannot upload. Use ovr-platform-util — the same command works for 2D and WebXR builds. Before uploading, sanity-check the signed APK on a real headset (metavr app install, launch it, skim metavr log) — Store review is a slow place to discover a launch crash:

bash
./ovr-platform-util upload-quest-build \
  --app-id <HORIZON_APP_ID> --app-secret <SECRET> \
  --apk app-release-signed.apk \
  --channel ALPHA --age-group MIXED_AGES \
  --notes "…" --disable-progress-bar

Required: --app-id, --apk, --channel, --age-group (TEENS_AND_ADULTS | MIXED_AGES | CHILDREN), and --app-secret or --token. Channels: ALPHA/BETA/RC for testing, STORE for production. Auth is the app's App Secret (Dashboard → app → API tab) or a user token — ask the user, never invent it.

Likely first-time blocker: must first agree to our Developer Distribution Agreement — an org admin must sign it once at https://developers.meta.com/horizon/manage/organizations/<ORG_ID>/legal-documents/. Pause, ask the user, then retry the same command.

See references/store-upload.md for tool download, auth, and the DDA blocker.

Order of Operations

  • Decide 2D vs immersive up front (Step 0) — it sets the auto-enter step (Step 1, WebXR-only) and the horizonOSAppMode value (Step 4).
  • Manifest + icons must be LIVE before bubblewrap update — it fetches them from <DOMAIN>.
  • Asset links must be live before the TWA will launch — on every trusted origin.
  • Web-only fixes need only a Vercel redeploy — the installed TWA picks them up on the next launch. Rebuild and re-upload the APK only for native changes (id, name, icon, version, app mode, packaging).

Gotchas

  • horizonOSAppMode mismatch is the #1 failure — "2D" set to immersive hangs on a loading screen; "immersive" set to 2D shows a URL bar. Fix the value and rebuild.
  • The signing key is permanent — every update must reuse the same keystore, alias, and packageId. A lost keystore means a new app entry. Back it up, and keep it outside the deployable web tree.
  • bubblewrap init needs a TTY — agents must use the scripted path (hand-written twa-manifest.json + update + build).
  • Auto-enter is immersive-only — never add the launchXR() snippet to a 2D app, and always gate it on getDigitalGoodsService so it doesn't fire in a browser tab.
  • getDigitalGoodsService is device-only — auto-enter can't be validated in a desktop browser or emulator; test on the headset.
  • Use the canonical Vercel alias — the hashed per-deploy URL returns 401 under deployment protection and can't be used as <DOMAIN>.
  • The maskable icon must be full-bleed and opaque — transparency or rounded corners produce visible artifacts after the platform applies its mask.
  • Asset links gate launch — a TWA "will not launch" until /.well-known/assetlinks.json is live with a matching package name and cert SHA-256.
  • DDA blocks the first upload — only an org admin can sign it; it's the most common first-time upload failure.

References

  • App Modes: 2D vs Immersive — decision guide, IWSDK scaffolding, project layout, and the auto-enter-session rationale.
  • Vercel Deployment — Vite config, deploy commands, the canonical-vs-hashed URL distinction, and the redeploy-vs-rebuild rule.
  • PWA Manifest + Icons — full manifest reference, multi-origin setup, and the sharp icon-generation script.
  • Bubblewrap Packaging — keystore handling, twa-manifest.json template, build verification, asset links, and security.
  • Store Upload — ovr-platform-util download, auth, the upload command, and the Developer Distribution Agreement blocker.
  • Troubleshooting — common failure modes across the whole pipeline and how to fix them.

© meta-quest, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 6 other files (references) in skills/hz-store-pwa of meta-quest/agentic-tools.

  • SKILL.md
  • references/app-modes.md
  • references/bubblewrap-packaging.md
  • references/manifest-and-icons.md
  • references/store-upload.md
  • references/troubleshooting.md
  • references/vercel-deploy.md

Open the folder on GitHubat commit 3a8553d

Compare with similar skills

Hz Store Pwa next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Hz Store Pwa compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Hz Store Pwa this skillmeta-quest/agentic-tools215—~3.6kAutomated safety check: PassApache-2.0
Petdexcrafter-station/petdex4.2k—~614Automated safety check: PassMIT
Coss Particlescrafter-station/petdex4.2k—~10kAutomated safety check: PassMIT
Threejs Performancestaruhub/ClaudeSkills728—~904Automated safety check: PassMIT
Vercel Composition Patternssupabase/supabase111k58 repos~726Automated safety check: PassMIT
Agent Browser CLIvercel-labs/agent-browser44k24 repos~864Automated safety check: PassApache-2.0

Similar skills

  • Petdex

    crafter-station/petdex

    Browse, install, submit, and edit pixel-art pets with the Petdex CLI.

    4.2k GitHub stars~614 tokensUpdated today
    Game DevelopmentAuto-check passed
  • Coss Particles

    crafter-station/petdex

    Index of all COSS UI particle examples. An agent skill from crafter-station/petdex.

    4.2k GitHub stars~10k tokensUpdated today
    Game DevelopmentAuto-check passed
  • Threejs Performance

    staruhub/ClaudeSkills

    Three.js 性能优化指南。当 Three.js/React Three Fiber 项目出现掉帧、内存增长、加载缓慢、绘制调用过多,或需要迁移 WebGPU、实现大规模粒子/实例化渲染、配置资源压缩管线时使用。触发关键词:"Three.js 优化"、"WebGPU"、"draw calls"、"内存泄漏"、"TSL"、"InstancedMesh"、"R3F 优化"等。不用于:通用…

    728 GitHub stars~904 tokensUpdated 1 mo ago
    Game DevelopmentAuto-check passed
  • Official

    React composition patterns that scale. An agent skill from supabase/supabase.

    111k GitHub starsUsed in 58 repos~726 tokens
    DevelopmentAuto-check passed
  • Agent Browser CLI

    vercel-labs/agent-browser

    Official

    Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking…

    44k GitHub starsUsed in 24 repos~864 tokens
    Productivity & AutomationAuto-check passed
  • Vercel Deploy

    bytedance/deer-flow

    Deploys a project to Vercel with one script and no login, then returns a live preview URL and a claim link for moving the deployment into your own Vercel account.

    84k GitHub starsUsed in 10 repos~797 tokens
    DevOps & CloudAuto-check passed

More from meta-quest/agentic-tools

All 34 skills in this repo
  • Hz Android 2D Porting

    meta-quest/agentic-tools

    Guides porting existing Android 2D apps to Meta VR and Horizon OS — input adaptation, panel layout, and design requirements.

    215 GitHub stars~2.1k tokensUpdated 16 days ago
    Auto-check passed
  • Hz API Upgrade

    meta-quest/agentic-tools

    Upgrades Meta VR apps to newer Horizon OS SDK versions — migration guides, deprecated API replacements, changelog.

    215 GitHub stars~1.8k tokensUpdated 16 days ago
    Auto-check passed
  • Hz Iwsdk Webxr

    meta-quest/agentic-tools

    Builds WebXR experiences for Meta VR and Horizon OS using the Immersive Web SDK (IWSDK) — ECS architecture, Three.js integration, spatial UI.

    215 GitHub stars~3k tokensUpdated 16 days ago
    Auto-check passed
  • Hz Metavrx Layout SDK

    meta-quest/agentic-tools

    Build multi-window Meta Horizon OS experiences with the MetaVrx Layout SDK in Jetpack Compose or React Native.

    215 GitHub stars~855 tokensUpdated 16 days ago
    Auto-check passed
  • Hz New Project Creation

    meta-quest/agentic-tools

    Scaffolds new Meta VR and Horizon OS projects after the build path is selected — Standard Android, Meta Spatial SDK, Unity, Unreal, or WebXR.

    215 GitHub stars~2.3k tokensUpdated 16 days ago
    Auto-check passed
  • Hz Perfetto Debug

    meta-quest/agentic-tools

    Analyzes Meta VR and Horizon OS VR performance using Perfetto traces — frame timing, CPU/GPU bottlenecks, render pass analysis.

    215 GitHub stars~2.8k tokensUpdated 16 days ago
    Auto-check passed

Works with

Questions about Hz Store Pwa

What does Hz Store Pwa do?

Guides shipping a web app to the Meta VR and Horizon OS Store as a PWA/TWA — both 2D windowed panels and immersive WebXR/VR. Hz Store Pwa is an agent skill from meta-quest/agentic-tools. Guides shipping a web app to the Meta VR and Horizon OS Store as a PWA/TWA — both 2D windowed panels and immersive WebXR/VR.

When should I use Hz Store Pwa?

Hz Store Pwa fits situations like: game Development work in your project.

How do I install Hz Store Pwa in Claude Code?

Run `npx skills add meta-quest/agentic-tools --skill hz-store-pwa -a claude-code`. Or copy the skill folder (skills/hz-store-pwa in meta-quest/agentic-tools) into .claude/skills/hz-store-pwa in your project. Claude Code loads it when a task matches its description.

How do I install Hz Store Pwa in Codex?

Run `npx skills add meta-quest/agentic-tools --skill hz-store-pwa -a codex`. Or copy the skill folder (skills/hz-store-pwa in meta-quest/agentic-tools) into .agents/skills/hz-store-pwa in your project. Codex loads it when a task matches its description.

Can I use Hz Store Pwa in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add meta-quest/agentic-tools --skill hz-store-pwa -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/hz-store-pwa, .gemini/skills/hz-store-pwa, .github/skills/hz-store-pwa and .opencode/skills/hz-store-pwa in your project.

What does Hz Store Pwa need to run?

Going by SKILL.md and its folder, Hz Store Pwa needs the command-line tools its instructions call (npx, curl and npm) and credentials named BUBBLEWRAP_KEYSTORE_PASSWORD and BUBBLEWRAP_KEY_PASSWORD. Our summary lists: Node.js. Its frontmatter pre-approves these tools: Bash(npx:*), Bash(npm:*), Bash(curl:*), Bash(bubblewrap:*).

Does Hz Store Pwa access the network?

SKILL.md names 1 domain. In commands or code: developers.meta.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Hz Store Pwa safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Hz Store Pwa use?

Hz Store Pwa is published under the Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Hz Store Pwa use?

About 3.6k tokens (SKILL.md is roughly 14k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 4.5k tokens, read only when the agent opens those files.

What are the alternatives to Hz Store Pwa?

Skills that share tags, products or a category with Hz Store Pwa: Petdex (crafter-station/petdex, 4.2k stars), Coss Particles (crafter-station/petdex, 4.2k stars), Threejs Performance (staruhub/ClaudeSkills, 728 stars) and Vercel Composition Patterns (supabase/supabase, 111k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Hz Store Pwa?

meta-quest (a GitHub organization) maintains it in meta-quest/agentic-tools, which has 215 GitHub stars. The repository holds 34 skills in this directory. The repository was last updated on September 24, 2026.

Source: meta-quest/agentic-tools on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.