skillZs
LIVE SKILL TAGS
>>> LIVE SKILLS INDEX <<<
* OPEN SOURCE *
NO LOGIN, NO TRACKING
REAL INSTALL DATA
← back to all skills
qcrao/codedrobe-one-shot-theme-skill47 installs

codedrobe-theme-manager

Safely download, inspect, install, apply, switch, verify, and restore data-only .codedrobe-theme packages from CodexSkins.org through the published CodeDrobe Core runtime. Use when a user names a CodexSkins theme id or URL, wants an installed theme activated or changed, asks what themes are installed or active, or wants to return Codex to its native appearance.

How do I install this agent skill?

npx skills add https://github.com/qcrao/codedrobe-one-shot-theme-skill --skill codedrobe-theme-manager
view source ↗

Is this agent skill safe to install?

  • Gen Agent Trust Hubwarn

    The skill installs and applies themes from CodexSkins.org by executing the @codedrobe/core utility via npx. It dynamically generates and executes PowerShell scripts on Windows and configures background processes on macOS to manage theme states, which involves remote code execution and temporary security policy overrides.

  • Socketwarn

    2 alerts: gptSecurity, gptAnomaly

  • Snykpass

    Risk: LOW · No issues

What does this agent skill do?

Manage CodeDrobe themes

Keep packages in the managed CodexSkins library and use published @codedrobe/core as the only runtime. Never patch the application bundle or evaluate code from a theme package.

Read references/lifecycle.md before debugging watcher ownership, platform paths, or restore failures.

Find or install

When the user names only a visual style, use codedrobe-theme-finder first. When they name an installable catalog id, run:

node scripts/theme_library.mjs install <theme-id>

If the catalog reports downloadAuth: "google", do not try to automate Google sign-in or follow the login page as a package download. Give the user the theme detail URL, ask them to sign in and download it in a browser, then inspect and apply the resulting local .codedrobe-theme path with apply_theme.mjs.

The installer downloads only the package URL published in the CodexSkins catalog, checks byte size and SHA-256, inspects it with CodeDrobe Core, and then writes it under ~/.codexskins/themes/<theme-id>/. It refuses to overwrite an existing package unless the user asked to update it or approved --force. Use --catalog /absolute/catalog.json or CODEXSKINS_CATALOG_URL only for staging/local validation, never to install from an untrusted user-supplied catalog.

List or resolve installed packages with:

node scripts/theme_library.mjs list
node scripts/theme_library.mjs resolve <theme-id>

Apply or switch

Applying means the user wants to see the theme. If the request explicitly says install and apply, continue after installation. Otherwise state the installed path and ask whether to apply.

Apply through the single owned watcher:

node scripts/apply_theme.mjs --theme /absolute/theme.codedrobe-theme

This hot-applies when Codex already exposes CDP. When it reports that a restart is required, ask for permission, then rerun with --restart-existing. Do not interpret browsing or downloading as restart permission.

The helper owns exactly one CodexSkins watcher, so switching replaces the old watcher instead of stacking injectors. It binds CodeDrobe to port 9335 on 127.0.0.1 and supports macOS and Windows without modifying WindowsApps.

Verify

The helper waits up to 45 seconds for runtime readiness. action: applied includes compact Core proof; action: submitted means the bounded wait expired and is not visual proof. After Codex is reachable, run:

npx --yes @codedrobe/core@latest verify \
  --app codex --port 9335 \
  --theme /absolute/theme.codedrobe-theme \
  --screenshot /absolute/verification.png

Inspect the screenshot. Report theme id/version, active image names, renderer profile, required landmarks, overflow, and which home/conversation/settings contexts were checked. Never claim Windows verification from a macOS run.

Restore

Stop the owned watcher before restoring so it cannot reinject:

node scripts/restore_theme.mjs

Treat the result as a lifecycle status, not a cosmetic promise:

  • native: renderer and host state are already native; no restart is needed.
  • restart-required: injection is gone and the backed-up host appearance is restored on disk, but the running Codex process may still display cached theme colors. Ask for restart permission.
  • watcher-stopped: Core could not reach the renderer; a complete quit and reopen is required.

After the user authorizes closing Codex, let the helper submit a detached restart that survives the current Codex task closing:

node scripts/restore_theme.mjs --restart-existing

After Codex returns, capture a privacy-safe Core DOM snapshot. Complete restore requires activeTheme.installed: false, no codedrobe-theme/host theme classes, no owned watcher, and native computed background colors. Do not report full restore merely because codedrobe restore exited successfully.

Boundaries

  • Use only catalog-declared HTTPS downloads and verify their digest.
  • Never modify app bundles, app.asar, WindowsApps, authentication data, or user tasks.
  • Never overwrite a local package with --force when it may contain user edits without warning.
  • Do not claim active or verified based on download, inspection, or packaging.

Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.

<a href="https://skillzs.dev/skills/qcrao/codedrobe-one-shot-theme-skill/codedrobe-theme-manager">View codedrobe-theme-manager on skillZs</a>