agentleFS
ParadevAIParadevAI/Paradev/.agents/skills/superset-settings/SKILL.md

superset-settings

Skill16k starsChanged 12 days agoMITView on GitHub

Read and update the Paradev desktop app's user settings (theme, fonts, terminal, git, notifications, behavior) via the superset CLI, including creating and installing custom themes from JSON. Use when asked to change app settings, switch or create a theme, adjust fonts, or configure desktop preferences without opening the settings UI.

1 other project uses a version of this; 1 new project in the last 4 weeks, against 0 the 4 before.

Adopted by

Surging: 1 new project took it in the last 4 weeks, none the 4 weeks before.thin data

Week of Sep 13: 0 new projectsWeek of Sep 20: 0 new projectsWeek of Sep 27: 0 new projectsWeek of Oct 4: 0 new projectsWeek of Oct 11: 0 new projectsWeek of Oct 18: 0 new projectsWeek of Oct 25: 0 new projectsWeek of Nov 1: 1 new project
Sep 2026Oct 2026Nov 2026
New projects taking a version of this file each week, over the 8 weeks our latest run read: only 1 in all, so this is a hint, not a trend.

Most recently taken up by

Who's talking about ParadevAI/Paradev

The biggest 5 of 64 mentions linking to the repository that our crawl found. Each line is their own headline.

See all 64

Talked about on GitHub, the web, Bluesky and YouTube (64 times).

On GitHub · 50

45 more on GitHub

On the web · 11

6 more on the web

The file

We split this skill into the rules it gives an agent

2 rules. About 0 are common, 0 are distinctive, and 2 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈0

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 2

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Prefer --json (auto-on in agent environments.

    line 30
  2. Very specific:

    After every write the CLI nudges the running desktop app (POST /settings-changed on its local server) and the app refreshes immediately, …

    line 102

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Paradev settings via CLI

Change the desktop app's user settings from the command line with superset settings. Works offline, no login required; everything is local to this machine.

Commands

superset settings list                 # every key: value, default, allowed values
superset settings get <key>            # effective value (default if unset)
superset settings set <key> <value>    # validated write
superset settings reset <key>          # back to the app default

superset settings theme list           # system + built-ins + imported custom themes
superset settings theme get
superset settings theme set <id>       # e.g. dark | light | monokai | system | <custom id>
superset settings theme set system --system-light light --system-dark monokai

superset settings theme export <id> [--out <file>]  # dump full theme JSON (starter)
superset settings theme import <file>               # add/replace custom themes (validated)
superset settings theme remove <id>                 # delete a custom theme

Prefer --json (auto-on in agent environments; parse it rather than matching the human sentences) and superset settings list to discover keys and allowed values instead of guessing. In Paradev terminals superset is already on PATH. SUPERSET_HOME_DIR overrides the target profile (~/.paradev by default); useful for testing against a sandbox copy.

Creating custom themes

Two paths; both end with import → set (a running app restyles live).

From scratch: a minimal file is enough. Every color you omit is filled in from the built-in base theme for your declared type, so start small and override only what you care about:

{
  "name": "Midnight Ocean",
  "type": "dark",
  "ui": {
    "background": "#071A2E",
    "sidebar": "#061426",
    "primary": "#38BDF8"
  },
  "terminal": { "background": "#071A2E", "cursor": "#38BDF8" }
}
superset settings theme import ocean.json   # -> Imported 1 theme: midnight-ocean
superset settings theme set midnight-ocean  # a running app applies it live

From a starter: export any theme's complete definition (all ~38 ui + 21 terminal colors) and edit it. Best when restyling everything:

superset settings theme export dark --out my-theme.json
# edit, then:
superset settings theme import my-theme.json && superset settings theme set my-theme

Theme file anatomy

FieldNotes
name / ideither works; the id is slugified ("Midnight Ocean" → midnight-ocean). Reserved: dark, light, monokai, system
type"dark" or "light" (defaults to dark); picks the base theme that fills omitted colors
uiapp chrome. Highest-impact keys: background, foreground, sidebar, card, popover, primary, accent, muted, border, input, ring, plus sidebar* variants
terminalxterm colors: background, foreground, cursor, selectionBackground, and the 16 ANSI names (red, brightRed, ...)
editoroptional { "colors": {...}, "syntax": {...} } for the file editor; generated from ui/type when omitted
author, version, descriptionoptional metadata

Rules (same parser as the app's Appearance → Import): all colors are CSS color strings; missing colors inherit from the base; a file can hold one theme, an array, or a pack { "themes": [...] }; max 256 KB; re-importing an id replaces that theme; import never activates; theme set does.

Verify and iterate

superset settings theme list      # SOURCE column shows custom; * marks active
superset settings theme get       # active theme id
superset settings theme export midnight-ocean   # round-trip the stored result
superset settings theme remove midnight-ocean   # active falls back to dark

Iterating on colors: each import replaces the theme, and a running app applies it live; the loop is edit → import → theme set <id> (re-set to re-apply the active theme after edits).

How changes take effect

After every write the CLI nudges the running desktop app (POST /settings-changed on its local server) and the app refreshes immediately, themes included, no restart. The command output tells you which happened: "refreshed immediately" / "Applied to the running desktop app" means the nudge landed. The notes below are the fallback behavior when no app acknowledged (app not running, or an older app version):

  • Regular settings (most of settings set): written to local.db in the target profile ($SUPERSET_HOME_DIR, else ~/.paradev). A running older app picks them up the next time its window regains focus; no restart needed.
  • Git settings (branchPrefixMode, branchPrefixCustom, worktreeBaseDir): host-wide values written through the local host service (auth via its manifest, no login needed). Requires the desktop app or superset start to be running; also refreshed on window focus.
  • Ringtone caveat: selectedRingtoneId changes what sound plays immediately, but the checkmark in Settings → Notifications only updates after an app restart.
  • Theme (settings theme set): applies live when the nudge lands. If the output shows the restart fallback instead: quit the app cleanly first, then set, then relaunch; a running older app overwrites the file on its own writes. If you are an agent running inside a Paradev terminal, never kill the app yourself (that kills your own session); ask the user to restart instead.
  • Both stores are created by the desktop app. On a machine that never ran the app, set commands fail with a hint to launch it once.

Key reference (by section)

Booleans accept true/false/on/off/1/0/yes/no.

SectionKeys
behaviorconfirmOnQuit, fileOpenMode (split-pane|new-tab), showResourceMonitor, showUsageInSidebar, openLinksInApp, defaultEditor (vscode, cursor, zed, ...)
gitbranchPrefixMode (none|github|author|custom), branchPrefixCustom, worktreeBaseDir; host-wide, written through the local host service, so the app (or superset start) must be running
notificationsselectedRingtoneId (shamisen, arcade, ping, quick, doowap, woman, african, afrobeat, edm, comeback, shabala, tribute), notificationSoundsMuted, notificationVolume (0-100)
terminalterminalLinkBehavior (external-editor|file-viewer), terminalParkedRuntimeCap (2-64), showPresetsBar, useCompactTerminalAddButton, autoApplyDefaultPreset, waitForSetupBeforeAgent
terminal appearanceterminalFontFamily, terminalFontSize (10-24, 0.5 steps), terminalLineHeight (1-2.5), terminalLetterSpacing (-2-4), terminalFontWeight (100-900), terminalLigatures, terminalMinimumContrast (1|3|4.5|7), terminalCursorStyle (block|bar|underline), terminalCursorBlink
editor appearanceeditorFontFamily, editorFontSize, editorLineHeight, editorLetterSpacing, editorFontWeight, editorLigatures

Not settable here (by design)

  • exposeHostServiceViaRelay: security-sensitive; the app gates it behind a plan check and an explicit confirmation dialog. Point the user to Settings → Security.
  • Structured settings (terminal presets, agent preset overrides/custom agents, disabled agent hooks); use superset agents ... or the app UI.
  • deleteLocalBranch and other renderer-only prefs stored in the app's localStorage (diff view, chat model, hotkey rebinds) are not reachable from outside the renderer.

Examples

# Dark theme with bigger terminal text
superset settings theme set dark
superset settings set terminalFontSize 16
superset settings set terminalLineHeight 1.4

# Quieter notifications
superset settings set notificationVolume 40
superset settings set selectedRingtoneId ping

# Git hygiene (host service must be running)
superset settings set branchPrefixMode custom
superset settings set branchPrefixCustom kiet/

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.