Conductor setup
Skill emaarco/hogwarts/plugins/felix-felicis/skills/conductor-setup
A magical place where my skills, rules, and plugins for AI agents are defined, which magically boost productivity π°πͺ
npx -y skills add emaarco/hogwarts --skill conductor-setupAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Sets up a repo for Conductor end-to-end: install/setup script (automatic), selectable Run targets (with more than one, no default so nothing autostarts), and archive cleanup (automatic) β writes .conductor/settings.toml. Use when asked to set up conductor, configure a workspace, add run targets, stop conductor autostarting, make a run-button menu, or add archive/cleanup on workspace removal.
SKILL.md
5.4 KB, as published. Nobody here has run it
Skill: conductor-setup
Configures a repo's full Conductor workspace lifecycle in .conductor/settings.toml: setup (runs after workspace creation), run (a menu of selectable, named targets instead of one auto-starting script), and archive (cleanup before a workspace is removed). See the Conductor scripts reference.
Work collaboratively: discover real commands, confirm choices, then write. Never overwrite an existing script without asking. Do not commit, push, or open a PR.
Checklist
-
Config file: write
.conductor/settings.tomlβ shared/committed. Only takes effect in workspaces created AFTER it merges to the default branch (see the warning below). -
Discover repo conventions β never invent commands. Read
package.jsonscripts,Makefile/justfile/Taskfile, README, Procfile, compose files,.env*.example, and any existing.conductor/settings.toml/ legacyconductor.json:jq '.scripts' package.json 2>/dev/null grep -E '^[a-zA-Z_-]+:' Makefile justfile Taskfile* 2>/dev/null cat .conductor/settings.toml 2>/dev/null -
Configure setup and archive automatically β don't ask whether to include them. Then work through run below.
Setup (automatic)
Runs once after workspace creation, from the workspace directory. Use it for installs, .env copies from $CONDUCTOR_ROOT_PATH, symlinks, submodules. Pick the command from discovered conventions and write scripts.setup (only confirm if the choice is ambiguous).
Run (option-based)
Turns a single auto-starting script into a menu of named targets (dev / test / worker / β¦), each with its own command and icon, that the user triggers manually.
- Confirm with the user which targets to expose. Map each to a discovered command β don't guess.
- Default target: with more than one target, set no default (
defaultomitted everywhere) so the workspace opens quietly and nothing autostarts β the user presses Run on whichever they want. Only a single target may carrydefault = true, and even then off is fine. - Write each as
[scripts.run.<id>]withcommandandicon. Remove any legacy singlerun = "..."andauto_run_after_setup. - Icons:
iconis a Lucide name, kebab-case. Safe picks:play,code,flame,book-open,globe,server,terminal,rocket,database,test-tube. An invalid name silently falls back toplay. run_mode:concurrentonly when targets isolate per workspace (bind$CONDUCTOR_PORT, or worktree-aware.localhostURLs); otherwisenonconcurrent(shared fixed port / single DB / one Docker stack).
Archive / cleanup (automatic)
Runs before a workspace is cleaned up. Tear down anything the workspace created outside the git worktree itself β Docker containers/volumes, cloud sandboxes, reserved ports/DNS entries, temp branches. Scope cleanup with $CONDUCTOR_WORKSPACE_NAME. Write scripts.archive (inline command or a script path) whenever the setup/run scripts create such external resources; if they create none, skip it β don't invent cleanup for resources that don't exist.
Before β after
Legacy single auto-running script, no cleanup:
"$schema" = "https://conductor.build/schemas/settings.repo.schema.json"
[scripts]
setup = "npm install"
run = "npm run dev"
auto_run_after_setup = true
Full lifecycle β install, selectable targets (no default β nothing autostarts), cleanup:
"$schema" = "https://conductor.build/schemas/settings.repo.schema.json"
[scripts]
setup = "npm install"
run_mode = "concurrent"
archive = "./scripts/workspace-archive.sh"
[scripts.run.dev]
command = "npm run dev -- --port $CONDUCTOR_PORT"
icon = "play"
[scripts.run.test]
command = "npm run test:watch"
icon = "test-tube"
[scripts.run.storybook]
command = "npm run storybook"
icon = "book-open"
Removing run + auto_run_after_setup, defining named targets, and leaving no default is what disables autostart β a workspace now opens with the menu and waits for the user to press Run.
β οΈ Merge caveat
.conductor/settings.toml is read from the default branch, so edits only reach workspaces created after they merge β your current workspace will not see them until then. Tell the user this: the setup takes effect once merged, on newly created workspaces.
Verify, then stop
- TOML parses:
python3 -c "import tomllib,sys; tomllib.load(open(sys.argv[1],'rb'))" .conductor/settings.toml. - If
runtargets were touched: with more than one target, nodefault = trueanywhere (at most one, and only when there's a single target); no leftoverrun =orauto_run_after_setup. - Report which sections were configured (setup/run/archive) in
.conductor/settings.toml, the run targets and whether any is default,run_mode, and the merge caveat. Do not commit.