lab-setup
Set this machine up for the lab plugin, once, after installing it: Claude Code auto-update, the plugin in Codex, Kimi Code reading the marketplace clone, and…
Skill by liuhlab
Chalk Labs
Need help deploying lab-setup?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/liuhlab-lab-setup
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: agent-building
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Python package
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/lab-setup
What's inside
- Skill name
lab-setup- Description
- Set this machine up for the lab plugin, once, after installing it: Claude Code auto-update, the plugin in Codex, Kimi Code reading the marketplace clone, and edison-cli on PATH. Use when the user types /lab-setup, asks to set up Codex or Kimi Code for the lab skills, wants the plugin to update by itself, or asks which old skill copies shadow the plugin's. Also points each agent at the lab defaults. Confirms each change with the user and removes nothing. User-invoked only.
- License
- MIT
- Instructions
- 67 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
Files (4)
- SKILL.md
- openai.yaml · agents/
- defaults.md · references/
- lab_setup.py · scripts/
SKILL.md (first lines)
# Set this machine up for the lab plugin
One script does the work: `scripts/lab_setup.py` in this skill's folder. It acts on the home
directory named on its command line, changes only what is not yet set up, and removes
nothing. A second run on a set-up machine changes no file, so a rerun repairs a half-done one.
Feishu's `lark-cli` is the exception: section 4 sets it up by hand.
| Step | What it sets up |
| --- | --- |
| `claude` | `autoUpdate: true` on the `liulab` entry under `extraKnownMarketplaces` in `~/.claude/settings.json` |
| `codex` | `codex plugin marketplace add liuhlab/liulab-skills`, then `codex plugin add lab@liulab` |
| `kimi` | the marketplace clone's `skills/` in `extra_skill_dirs` in `~/.kimi-code/config.toml` |
| `defaults` | one marked block pointing at [references/defaults.md](references/defaults.md) in `~/.claude/CLAUDE.md`, `~/.codex/AGENTS.md` and `~/.kimi-code/AGENTS.md`; a rerun replaces only the block |
| `edison-cli` | a link to the clone's `bin/edison-cli` in `~/.local/bin` or `~/bin`, whichever is on PATH |
| `clashes` | reports user-level skills that take a name the plugin ships; changes nothing |
## 1. Pick an interpreter
The script needs Python 3.11 or newer and nothing else. Use `python3` if
`python3 --version` says 3.11 or later; otherwise `pixi exec --spec "python>=3.11" python`.
With neither, stop: the user installs pixi from <https://pixi.sh> and runs `/lab-setup` again.
## 2. Show the plan
Run `<python> <skill dir>/scripts/lab_setup.py --home "$HOME" --dry-run`. If `CODEX_HOME` or
`KIMI_CODE_HOME` is set, pass its value as `--codex-home` or `--kimi-home`. Relay every line:
- **`refused`**: no marketplace clone. Stop and relay the install commands it prints. If the
plugin *is* installed, Claude Code has moved its clone; say this skill needs a fix, and stop.
- **`would change`**: one change the script will make once the user says yes.
- **`skipped`**, the odd machine:
- *No Codex or no Kimi Code*: nothing to set up for that agent. Say so and move on.
- *No user bin folder on PATH*: offer to create `~/.local/bin` and add it to PATH in the
user's shell profile. With a yes, do both, and run the step with
`PATH="$HOME/.local/bin:$PATH"` in front of the command.
- *`edison-cli` is already something else*: show it with `ls -l`. It stays unless the user
removes it.
- **`clash`**: a user-level copy that shadows the plugin's skill of that name, in every
agent, without a word. Name each path. What happens to it is the user's call; never delete
it.
- **`failed`**: relay the reason. A file the script cannot read is the user's to fix.
## 3. Make the agreed changes
Ask about each `would change` line on its own. Then run once, naming only the steps the
user agreed to, for example
`<python> <skill dir>/scripts/lab_setup.py --home "$HOME" --only claude --only kimi`, and
relay what it prints. Each line should now read `changed` or `ok`.
## 4. Feishu's `lark-cli`, by hand
The script does not run these: the app and the login need the user in a browser or a terminal.
Offer them after the script and ask before each. Skip what is done: `command -v lark-cli` for
1, the `lark-*` folders in `~/.agents/skills` for 2, `lark-cli auth status --json` for 3 to 5,
`lark-cli config strict-mode` for 6.
1. `npm install -g @larksuite/cli`. No `npm`: the user installs Node.js.
2. `npx -y skills add https://open.feishu.cn -g --skill '*' -y`: Feishu's official `lark-*`
skills, user-level.
3. An app: ask whether new or existing.
- New: `lark-cli config init --new`. It blocks until the user finishes in the browser, so
run it in the background and relay the link it prints.
- Existing: the user runs, in their own terminal, with their App ID in place of `<id>`:
`read -rs s; printf '%s' "$s" | lark-cli config init --app-id <id> --app-secret-stdin; unset s`.
The secret goes only to the CLI's store: never ask for it, print it or write it down.
Not a plain `config init`: see [references/feishu.md](references/feishu.md).
4. `lark-cli auth login --recommend`. It blocks too; relay its link at once, as it expires in
minutes.
5. `lark-cli auth status --verify --json` must show `identities.user.status` as `ready`.
6. `lark-cli config strict-mode user --global`, the lab default; the user's yes to it is the
confirmation the CLI's help asks for. Why: [references/feishu.md](references/feishu.md).
## 5. What happens next
- **Claude Code** checks the marketplace in the background after the first message of a
session, and loads an update at the next launch. By hand:
`claude plugin marketplace update liulab`, then `claude plugin update lab@liulab`.
- **Codex** upgrades the marketplace at every startup; restart it once now.
- **Kimi Code** reads the clone live, so it follows each Claude Code update.
- **`edison-cli`** works as a bare command in a new shell. `/lab-edison` checks the key.
- **`lark-cli`** keeps its login only while it is used: see
[references/feishu.md](references/feishu.md).
- **The lab defaults** load in each new session. An edit to the page reaches every agent with
the next update, no rerun. If the user once appended the old `CLAUDE-stub.md` rules to
`~/.claude/CLAUDE.md`, say the page carries them now; removing that copy is the user's call.
## Rules
- Never remove a file, a link or an entry. A clash is reported, not fixed. Text outside the
defaults block's markers is the user's.
- Run only the steps the user agreed to, and never against another `--home`.From liuhlab/liulab-skills, MIT.
More from liuhlab/liulab-skills
- 0.592score
hq-mode
liuhlab
/hq-mode: take on a whole task the lab's way, such as an analysis, a cluster run, a figure, a paper or grant section, a talk, an experiment plan or landing…
SkillAFreshness: A★ 1Claude Code +9 - 0.592score
lab-edison
liuhlab
Run Edison research platform work from a lab machine: literature search, precedent, molecules, data analysis, Kosmos, dataset upload, task history and…
SkillAFreshness: A★ 1Claude Code +9 - 0.592score
lab-hpc
liuhlab
Lab HPC clusters (arc/chimera GPU, ircbc CPU) and remote compute on them.
SkillAFreshness: A★ 1Claude Code +9 - 0.588score
lab-containers
liuhlab
Pull, build, update, version-check or use the lab's Singularity container images (SIF, ghcr.io liulab-runtime) on ircbc: run commands, pixi-env shells or…
SkillAFreshness: A★ 1Claude Code +9 - 0.588score
lab-jupyter
liuhlab
Start, reuse or reconnect to a Jupyter Lab or notebook on a lab HPC cluster (arc/chimera GPU, ircbc CPU), tunnelled to the local machine.
SkillAFreshness: A★ 1Claude Code +9 - 0.567score
diagnosing-bugs
liuhlab
Diagnosis loop for hard bugs and performance regressions.
SkillAFreshness: A★ 1Claude Code +9 - 0.562score
codebase-design
liuhlab
Shared vocabulary for designing deep modules.
SkillAFreshness: A★ 1Claude Code +9 - 0.562score
domain-modeling
liuhlab
Build and sharpen a project's domain model.
SkillAFreshness: A★ 1Claude Code +9 - 0.562score
code-review
liuhlab
Review the changes since a fixed point (commit, branch, tag, or merge-base) along two axes: Standards (does the code follow this repo's documented coding…
SkillAFreshness: A★ 1Claude Code +9 - 0.551score
implement
liuhlab
Implement a piece of work based on a spec or set of tickets.
SkillAFreshness: A★ 1Claude Code +9
Signals
- Stars
- 1
- Forks
- 0
- Open issues
- 2
- Last commit (this folder)
- Oct 12, 2026 (19 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/liuhlab/liulab-skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from liuhlab
- 0.592score
hq-mode
liuhlab
/hq-mode: take on a whole task the lab's way, such as an analysis, a cluster run, a figure, a paper or grant section, a talk, an experiment plan or landing…
SkillAFreshness: A★ 1Claude Code +9 - 0.592score
lab-edison
liuhlab
Run Edison research platform work from a lab machine: literature search, precedent, molecules, data analysis, Kosmos, dataset upload, task history and…
SkillAFreshness: A★ 1Claude Code +9 - 0.592score
lab-hpc
liuhlab
Lab HPC clusters (arc/chimera GPU, ircbc CPU) and remote compute on them.
SkillAFreshness: A★ 1Claude Code +9 - 0.588score
lab-containers
liuhlab
Pull, build, update, version-check or use the lab's Singularity container images (SIF, ghcr.io liulab-runtime) on ircbc: run commands, pixi-env shells or…
SkillAFreshness: A★ 1Claude Code +9 - 0.588score
lab-jupyter
liuhlab
Start, reuse or reconnect to a Jupyter Lab or notebook on a lab HPC cluster (arc/chimera GPU, ircbc CPU), tunnelled to the local machine.
SkillAFreshness: A★ 1Claude Code +9 - 0.567score
diagnosing-bugs
liuhlab
Diagnosis loop for hard bugs and performance regressions.
SkillAFreshness: A★ 1Claude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get lab-setup running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
lab-setup skill. Agent Mart. https://agentmart.dev/skills/liuhlab-lab-setup (last updated 2026-10-24)