Claude Code skill · LG webOS

Catch LG's rejection reasons before LG does.

Content Store review is slow, and one bounce costs you a week. Most rejections are thirty-second fixes: a largeIcon that's 128×128 instead of 130×130, a :has() that breaks on older panels, a stray localhost URL. This finds them first.

  • Zero setup · stdlib Python
  • READY / NOT READY verdict
  • Full P2 checklist included
webos-qa · report
[PASS] appinfo.json · id, version, vendor
[PASS] icon.png · 80×80 as required
[BLOCKER] largeIcon.png is 120×120, must be 130×130
[BLOCKER] style.css uses :has() — unsupported
✗ NOT READY — fix 2 blockers before submission

It even reads PNG headers to verify icon dimensions.

Checksappinfo.jsonicon sizes :has()http / localhost · then submit with confidence

A one-week rejection over a 2-pixel icon

LG's reviewers are thorough and slow. The reasons they bounce you are almost always small and mechanical — exactly the kind of thing a static check catches in seconds, long before a human ever looks at your build.

assets

wrong icon/splash dimensions or a missing required asset.

compat

:has() or other CSS that breaks older webOS Chromium.

leftovers

a localhost URL or http:// that shipped by accident.

point · run · fix · re-run

From build to submit-ready

Point it at your app

python3 webos-qa.py ./my-app

Read the verdict

Sectioned PASS / WARN / BLOCKER report and a clear READY / NOT READY.

Fix & re-run

Clear every blocker, re-run until READY, then submit. --fail-on=blocker gates CI.

What it checks automatically

Plus a printed manual checklist for what a static tool can't verify — playback, D-pad focus, store metadata.

What's in the pack

  • webos-qa.py — the static checker; reads PNG headers, greps source, prints the verdict
  • P2-checklist.md — the full LG pre-submission checklist, useful on its own
  • --fail-on=blocker — READY / NOT READY exit code to gate CI
  • SKILL.md — a Claude Code skill: "is my app ready for the Content Store?"
  • examples/sample-app — a runnable fixture with planted issues + its report
  • INSTALL.md — run it against your app, fix blockers, re-run before submission
webOS QA Checklist Runner — cover showing a NOT READY verdict with PASS and BLOCKER lines

one-time · yours forever

$29no subscription
  • Zero setup — plain Python 3
  • Full P2 checklist reference
  • READY / NOT READY + CI gate
  • Tunable required-asset sizes
  • Free updates to this product
  • 14-day refund, no questions

A static checker plus a checklist — it won't test playback on a real device, and the size table is documented and editable.

Questions, answered

Do I need any tooling installed?

Just Python 3 — no Pillow, no Node, no SDK. It parses PNG headers itself and greps your source. Point it at the app directory (or an unpacked IPK) and run.

What can't it check?

Anything that needs a real device — actual playback, remote-control focus order, store metadata, privacy-policy reachability. Those are printed as an explicit manual checklist so nothing slips.

Can I change the required asset sizes?

Yes. They default to the FHD profile and live in a small, documented table at the top of the script — adjust for your target firmware in seconds.

Does it work in CI?

Yes — --fail-on=blocker returns a non-zero exit code when any blocker is present, so a build that LG would reject can't pass your pipeline.

One run. Fix the blockers. Submit with confidence.

Stop trading week-long review cycles for two-pixel mistakes.

QA Runner
$29