Agent skill

Rudder Desktop Dev Recovery Maintainer

by Undertone0809 in Undertone0809/rudder

A skill your agent uses when Rudder local Desktop development, Electron shell, embedded Postgres, ~/.rudder instance state, dev startup, update/install smoke, packaged boot, or release-blocking…

Apache-2.0Auto-check passedDevelopment

Install Rudder Desktop Dev Recovery Maintainer

skills CLI
$ npx skills add Undertone0809/rudder --skill rudder-desktop-dev-recovery-maintainer -a claude-code

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

GitHub CLI
$ gh skill install Undertone0809/rudder rudder-desktop-dev-recovery-maintainer --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/Undertone0809/rudder.git skills-src && mkdir -p .claude/skills && cp -r skills-src/agent-skills-bak/maintainer/rudder-desktop-dev-recovery-maintainer .claude/skills/rudder-desktop-dev-recovery-maintainer && 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
rudder-desktop-dev-recovery-maintainer
GitHub stars
292
Token cost
~2.4k tokens
SKILL.md length
1,260 words
Files
2 (incl. references)
Skills in repo
30
Repo updated
First seen
Licence
Apache-2.0

At a glance

A skill your agent uses when Rudder local Desktop development, Electron shell, embedded Postgres, ~/.rudder instance state, dev startup, update/install smoke, packaged boot, or release-blocking…

  • Works in 6 steps: Classify the failure mode → Read the local Desktop contract → Verify the active runtime before repairing → …
  • Rudder local Desktop development
  • SKILL.md covers Use When, Do Not Use When, Default Workflow and Common Failure Modes, plus 1 more section
  • Calls pnpm, curl and git

What it does

Rudder Desktop Dev Recovery Maintainer is an agent skill from Undertone0809/rudder. Use when Rudder local Desktop development, Electron shell, embedded Postgres, ~/.rudder instance state, dev startup, update/install smoke, packaged boot, or release-blocking local Desktop validation fails or needs recovery.

Its SKILL.md is about 2.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including reference files (for example `references/runbook.md`).

It sits in Development. It works with PostgreSQL and pnpm. The repository describes itself as: Open-source local Agent harness for self-improving agent teams: run agents, review work, and turn feedback into reusable skills. The licence is Apache-2.0.

When your agent uses it

  • Rudder local Desktop development
  • Embedded Postgres
  • ~/.rudder instance state
  • Update/install smoke

Example prompts

  • “/rudder-desktop-dev-recovery-maintainer”

Workflow steps

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

  1. Classify the failure mode
  2. Read the local Desktop contract
  3. Verify the active runtime before repairing
  4. Repair narrowly
  5. Validate the right path
  6. Handoff or escalate

What it can do on your machine

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

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • pnpm
    • curl
    • git

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

  • Network

    No URLs in SKILL.md. Its commands use pnpm, curl and git, which can reach the network depending on how they are called.

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

  • Credentials

    Names no API keys, tokens, secrets or passwords.

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

Context cost

Rudder Desktop Dev Recovery Maintainer loads about 2.4k tokens when it runs, and up to ~4.8k if it reads all its reference files. Until then it costs about 66 tokens; SKILL.md has 1,260 words of instructions outside code blocks.

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

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 Undertone0809/rudder at commit 2676a5c, republished under its Apache-2.0 licence (© Undertone0809). 1,260 words, ~2,395 tokens.

Download SKILL.mdSave it as .claude/skills/rudder-desktop-dev-recovery-maintainer/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
rudder-desktop-dev-recovery-maintainer
description
Use when Rudder local Desktop development, Electron shell, embedded Postgres, ~/.rudder instance state, dev startup, update/install smoke, packaged boot, or release-blocking local Desktop validation fails or needs recovery.

Rudder Desktop Dev Recovery Maintainer

Use this skill to get the local Rudder Desktop development path back to a known working state.

This is not the release runbook. It is the recovery layer for local Desktop startup, dev-shell runtime, embedded database state, update/install smoke, and the handoff point before release work.

Use When

Use this skill for prompts like:

  • "pnpm dev 好像桌面端跑不起来了"
  • "Desktop dev shell 起不来"
  • "API 能访问,但桌面端没起来"
  • "pnpm dev starts the API but Electron exits during a UI build/typecheck"
  • "embedded Postgres / ~/.rudder 状态是不是乱了"
  • "update 最新版失败,先 debug 一下"
  • "桌面端问题修完之后再发版"
  • "我本地 Desktop 是不是指到错的 instance"

Also use this when a release request is blocked by local Desktop validation. Fix the local Desktop blocker first, then route the release to release-maintainer.

Do Not Use When

Do not use this skill for:

  • npm/GitHub Release/tag/dist-tag publishing; use release-maintainer
  • packaged-app verification after code changes with no startup failure; follow the normal Desktop validation workflow
  • stopping only a known repo-local dev runtime; use stop-rudder-dev-maintainer
  • ordinary web UI data diagnosis; use rudder-data-path-diagnostician-maintainer
  • review-only of a Desktop feature; use agent-work-reviewer-maintainer

If the user's first request is "发版" and Desktop is already healthy, do not route through this skill.

Default Workflow

1. Classify the failure mode

Start with a short state packet:

  • git status --short --branch
  • requested command, for example pnpm dev, pnpm desktop:dev, or pnpm desktop:verify
  • whether the failure is API server, Vite middleware, Electron shell, embedded Postgres, UI build/typecheck, packaged smoke, update download, or app launch
  • exact stderr/stdout excerpt and exit code
  • currently listening ports around 3100
  • relevant ~/.rudder/instances/* path when the process prints one
  • whether the failing file is committed, modified, untracked, or part of a broader dirty feature set

Do not guess from memory when the command can be rerun safely.

2. Read the local Desktop contract

Read only the relevant docs and scripts:

  • doc/engineering/DEVELOPING.md
  • doc/engineering/DESKTOP.md
  • doc/README.md for navigation when needed
  • desktop/package.json
  • root package.json scripts
  • desktop/scripts/smoke.mjs for packaged-smoke expectations
  • scripts/prod-desktop.mjs only when the failure is prod-local or installer related

When docs and scripts disagree, scripts are the executable truth for the active diagnosis. Record the mismatch as a docs follow-up if it matters.

3. Verify the active runtime before repairing

Check the local server and org list when the API is expected to be running:

bash
curl -sS http://127.0.0.1:3100/api/health
curl -sS http://127.0.0.1:3100/api/orgs

If the Desktop shell is pointed at another base URL, use that URL instead.

Common causes to distinguish:

  • no server process is running
  • wrong port or stale process owns the port
  • embedded Postgres failed to initialize
  • dev server is up but Electron did not launch
  • Electron launched but cannot reach the server
  • API/server is healthy, but Desktop launch is blocked because @rudderhq/ui build/typecheck fails on dirty WIP, incomplete fixtures, or an untracked companion feature file
  • Desktop profile or instance id points to unexpected data
  • update metadata resolves but asset download/checksum/install fails
  • update helper or CLI child process writes progress after its parent pipe is closed, causing EPIPE, ERR_STREAM_DESTROYED, broken pipe, or an Electron main-process error dialog during restart
  • packaged smoke differs from dev-shell behavior
4. Repair narrowly

Prefer the smallest repair that matches the cause:

  • stop only the repo-local stale process when it blocks the port
  • reinstall dependencies only when package state or lockfile evidence points there
  • fix script/config code when the failure is reproducible from a clean command
  • for dirty-WIP compile failures, build a changed-file ownership packet before editing: failing path, related untracked files, likely source session or feature group, and whether a narrow fixture repair would leave a companion feature half-committed
  • reset ~/.rudder/instances/dev only when the user accepts data loss or the instance is disposable and the task explicitly targets dev state
  • keep release publishing untouched until local Desktop state is green

Do not delete ~/.rudder, change npm auth, move GitHub dist-tags, or install a new app globally as a "dev recovery" shortcut.

If the compile blocker belongs to a larger unrelated feature already dirty in the worktree, fix only the minimum needed to unblock the requested dev run, and do not commit a lone companion file unless the whole feature group is in scope. If a safe narrow repair is not possible, report the ownership packet and the exact blocked command instead of sweeping unrelated WIP into the recovery.

Show full SKILL.md (569 more words)Show less
5. Validate the right path

Validation depends on what failed:

  • dev server/API: health and org API calls
  • Desktop dev shell: launch evidence plus logs that the shell reached the API
  • dirty-WIP compile failure: rerun the failing package build or typecheck and the original startup command far enough to prove the blocked layer has moved
  • packaged startup, profile isolation, migrations, installer assets, or prod-local data path: pnpm desktop:verify
  • update/download path: dry-run is not enough when the issue is download, checksum, extraction, or launch; run the strongest safe non-dry-run local check available and state platform limitations
  • update restart path: if the failure appears after clicking "Restart to update", reproduce or simulate the pipe lifecycle. Check the old app process, update child process, progress JSON/stdout/stderr handling, installed app path, and whether the child handles closed output streams as a normal shutdown case.

If code changed, run the narrow relevant tests first, then the repo baseline when feasible:

bash
pnpm -r typecheck
pnpm test:run
pnpm build

For Desktop startup, migration, profile routing, or packaging changes, do not claim done without packaged verification or an explicit blocker.

Closed Progress Pipe / Update Child Recovery

Use this branch when the UI update flow starts a helper process or CLI mode and the error appears after the parent app exits or restarts.

Evidence to collect:

  • installed app path, for example /Users/zeeland/Applications/Rudder.app
  • exact update action clicked: automatic prompt, About check, download, or "Restart to update"
  • old version, target version, and whether the app reopened
  • stderr/dialog text including EPIPE, ERR_STREAM_DESTROYED, write after end, broken pipe, or uncaught exception text
  • code paths that write progress JSON, flush stdout/stderr, or install/relaunch the app

Repair pattern:

  • Treat closed stdout/stderr/progress pipes during update handoff as expected when the parent app has exited.
  • Add a shared broken-pipe predicate rather than scattering string checks.
  • Guard process-level uncaughtException and unhandledRejection only for known broken-pipe shutdown errors; do not swallow arbitrary exceptions.
  • Add a regression test that closes or destroys the progress reader before the helper writes/flushed output, and assert the update path exits quietly or reports success as appropriate.
  • Finish with packaged or installed-app verification. If a full in-app update drill is too expensive, state that limitation and provide the strongest local substitute plus the exact remaining manual drill.
6. Handoff or escalate

If the user also asked to release after recovery:

  1. finish the local Desktop repair
  2. record validation evidence
  3. route the release portion to release-maintainer

Keep the handoff concrete:

markdown
Root cause: ...

Repair:
- ...

Validation:
- ...

Next route:
- release-maintainer for version ...

Common Failure Modes

  • Treating local pnpm dev breakage as a release problem before reproducing the local command.
  • Resetting ~/.rudder too early and losing the user's useful local state.
  • Looking only at API health when the Electron shell is the broken layer.
  • Looking only at Electron logs when embedded Postgres never started.
  • Claiming update install is fixed from a dry-run that never downloads or launches the app.
  • Treating EPIPE during update restart as a generic release failure before checking whether the parent progress pipe intentionally closed.
  • Treating a dirty-WIP TypeScript or fixture failure as Desktop/Postgres corruption just because it surfaced during pnpm dev.
  • Mixing unrelated dirty package changes into a Desktop recovery commit.

Safety Rules

  • Preserve unrelated dirty worktree files.
  • Do not destroy local Rudder data without explicit authorization.
  • Do not publish, tag, move dist-tags, or create GitHub Releases from this skill.
  • Prefer exact command output and log excerpts over guesses.
  • If the fix changes Desktop startup, profile routing, migrations, packaging, or update behavior, require packaged verification before final handoff unless blocked.

© Undertone0809, 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 1 other file (references) in agent-skills-bak/maintainer/rudder-desktop-dev-recovery-maintainer of Undertone0809/rudder.

  • SKILL.md
  • references/runbook.md

Open the folder on GitHubat commit 2676a5c

Compare with similar skills

Rudder Desktop Dev Recovery Maintainer 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.

Rudder Desktop Dev Recovery Maintainer compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Rudder Desktop Dev Recovery Maintainer this skillUndertone0809/rudder292—~2.4kAutomated safety check: PassApache-2.0
Meta PR Creationcipherstash/stack157—~937Automated safety check: PassMIT
Stash Supply Chain Securitycipherstash/stack157—~5.2kAutomated safety check: WarnMIT
Veloxdb Scalable Performanceveloxbase/veloxdb652—~1.7kAutomated safety check: PassMIT
Relaunchnaveedharri/baalda156—~870Automated safety check: PassApache-2.0
Devinggo Project Inithuagelong/devinggo122—~1.1kAutomated safety check: NotesApache-2.0

Similar skills

  • Meta PR Creation

    cipherstash/stack

    How an agent authors branches, commits, and pull requests on cipherstash/stack — naming, signed commits, the changeset/skills/meta-file checklist, and PR body structure with dumbed-down wording.

    157 GitHub stars~937 tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Supply-chain security controls for the @cipherstash/stack monorepo.

    157 GitHub stars~5.2k tokensUpdated yesterday
    DevelopmentAuto-check: warnings
  • Guides scalability and performance work for VeloxDB's Tauri + Rust PostgreSQL backend and React + TanStack frontend.

    652 GitHub stars~1.7k tokensUpdated 11 days ago
    DatabasesAuto-check passed
  • Relaunch

    naveedharri/baalda

    Kill the running Baalda desktop (Tauri) dev instance AND the backend server, then launch fresh instances of both.

    156 GitHub stars~870 tokensUpdated yesterday
    Knowledge ManagementAuto-check passed
  • Devinggo Project Init

    huagelong/devinggo

    DevingGo 项目初始化与本地开发环境配置流程。用于用户询问项目初始化、开发环境搭建、依赖检查、配置文件生成、数据库迁移、本地启动后端/前端/Worker 服务、或希望 AI 大模型一步步把 DevingGo 跑起来时。适用于基于本项目 CLI、Makefile、manifest/config、hack/config、admin-ui 前端工作区的初始化排障与启动验证。

    122 GitHub stars~1.1k tokensUpdated 3 mo ago
    DatabasesAuto-check: notes
  • Drizzle Database

    ChatbotXIO/ChatbotX

    Work with Drizzle ORM database schema, migrations, relations, and queries in PostgreSQL.

    888 GitHub stars~2.1k tokensUpdated today
    DatabasesAuto-check passed

More from Undertone0809/rudder

All 30 skills in this repo
  • Conversation To Skill

    Undertone0809/rudder

    Turn the current conversation's workflow into a reusable agent skill.

    292 GitHub stars~3.6k tokensUpdated yesterday
    Auto-check passed
  • A skill your agent uses when starting the current Rudder checkout as a temporary managed local preview with a stable URL, readiness check, logs, stop command, and cleanup path for manual inspection…

    292 GitHub stars~2.1k tokensUpdated yesterday
    Auto-check passed
  • Stop Rudder Dev Maintainer

    Undertone0809/rudder

    A skill your agent uses when the user explicitly asks to stop, restart, kill, or clean Rudder repo-local pnpm dev processes or local dev runtime residue, including “把 pnpm dev 停了”, “重启 dev”, or “清掉…

    292 GitHub stars~1.3k tokensUpdated yesterday
    Auto-check passed
  • Deep Research

    Undertone0809/rudder

    Conducts enterprise-grade research with multi-source synthesis, citation tracking, and verification.

    292 GitHub stars~1.2k tokensUpdated yesterday
    Auto-check passed
  • A skill your agent uses to audit or clean Rudder worktrees, generated artifacts, logs, caches, and repo-owned processes without deleting active work, user data, or unrelated machine state.

    292 GitHub stars~664 tokensUpdated yesterday
    Auto-check passed
  • Visualize

    Undertone0809/rudder

    Create safe inline visual explanations in Rudder Chat. An agent skill from Undertone0809/rudder.

    292 GitHub stars~1.8k tokensUpdated yesterday
    Auto-check passed

Works with

Categories

Questions about Rudder Desktop Dev Recovery Maintainer

What does Rudder Desktop Dev Recovery Maintainer do?

A skill your agent uses when Rudder local Desktop development, Electron shell, embedded Postgres, ~/.rudder instance state, dev startup, update/install smoke, packaged boot, or release-blocking…. Rudder Desktop Dev Recovery Maintainer is an agent skill from Undertone0809/rudder.rudder instance state, dev startup, update/install smoke, packaged boot, or release-blocking local Desktop validation fails or needs recovery.

When should I use Rudder Desktop Dev Recovery Maintainer?

Rudder Desktop Dev Recovery Maintainer fits situations like: rudder local Desktop development; embedded Postgres; ~/.rudder instance state; update/install smoke.

How do I install Rudder Desktop Dev Recovery Maintainer in Claude Code?

Run `npx skills add Undertone0809/rudder --skill rudder-desktop-dev-recovery-maintainer -a claude-code`. Or copy the skill folder (agent-skills-bak/maintainer/rudder-desktop-dev-recovery-maintainer in Undertone0809/rudder) into .claude/skills/rudder-desktop-dev-recovery-maintainer in your project. Claude Code loads it when a task matches its description.

How do I install Rudder Desktop Dev Recovery Maintainer in Codex?

Run `npx skills add Undertone0809/rudder --skill rudder-desktop-dev-recovery-maintainer -a codex`. Or copy the skill folder (agent-skills-bak/maintainer/rudder-desktop-dev-recovery-maintainer in Undertone0809/rudder) into .agents/skills/rudder-desktop-dev-recovery-maintainer in your project. Codex loads it when a task matches its description.

Can I use Rudder Desktop Dev Recovery Maintainer 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 Undertone0809/rudder --skill rudder-desktop-dev-recovery-maintainer -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/rudder-desktop-dev-recovery-maintainer, .gemini/skills/rudder-desktop-dev-recovery-maintainer, .github/skills/rudder-desktop-dev-recovery-maintainer and .opencode/skills/rudder-desktop-dev-recovery-maintainer in your project.

What does Rudder Desktop Dev Recovery Maintainer need to run?

Going by SKILL.md and its folder, Rudder Desktop Dev Recovery Maintainer needs the command-line tools its instructions call (pnpm, curl and git).

Does Rudder Desktop Dev Recovery Maintainer access the network?

SKILL.md contains no URLs. Its commands use curl and git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Rudder Desktop Dev Recovery Maintainer 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 Rudder Desktop Dev Recovery Maintainer use?

Rudder Desktop Dev Recovery Maintainer is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Rudder Desktop Dev Recovery Maintainer use?

About 2.4k tokens (SKILL.md is roughly 9.6k 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 2.4k tokens, read only when the agent opens those files.

What are the alternatives to Rudder Desktop Dev Recovery Maintainer?

Skills that share tags, products or a category with Rudder Desktop Dev Recovery Maintainer: Meta PR Creation (cipherstash/stack, 157 stars), Stash Supply Chain Security (cipherstash/stack, 157 stars), Veloxdb Scalable Performance (veloxbase/veloxdb, 652 stars) and Relaunch (naveedharri/baalda, 156 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Rudder Desktop Dev Recovery Maintainer?

Undertone0809 (a GitHub user) maintains it in Undertone0809/rudder, which has 292 GitHub stars. The repository holds 30 skills in this directory. The repository was last updated on October 10, 2026.

Source: Undertone0809/rudder on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.