Agent skill

Compartment Smoke Test

by compartmentdev in compartmentdev/compartment

Run or delegate a browser-first smoke test of the local compartment through browser-use as a real user: boot or reuse the local stack, install or log in, deploy the repo smoke fixtures, verify CLI…

Apache-2.0Auto-check: notesTesting & QA

Install Compartment Smoke Test

skills CLI
$ npx skills add compartmentdev/compartment --skill compartment-smoke-test -a claude-code

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

GitHub CLI
$ gh skill install compartmentdev/compartment compartment-smoke-test --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/compartmentdev/compartment.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.codex/skills/compartment-smoke-test .claude/skills/compartment-smoke-test && 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
compartment-smoke-test
GitHub stars
205
Token cost
~2.1k tokens
SKILL.md length
1,044 words
Files
2
Skills in repo
12
Repo updated
First seen
Licence
Apache-2.0

At a glance

Run or delegate a browser-first smoke test of the local compartment through browser-use as a real user: boot or reuse the local stack, install or log in, deploy the repo smoke fixtures, verify CLI…

  • Tasks that involve QA and bug reports
  • SKILL.md covers Source of truth, Preconditions, Delegation default and Credentials, plus 5 more sections
  • Calls pnpm, python and git
  • Tasks that involve Browser automation

What it does

Compartment Smoke Test is an agent skill from compartmentdev/compartment. Run or delegate a browser-first smoke test of the local compartment through browser-use as a real user: boot or reuse the local stack, install or log in, deploy the repo smoke fixtures, verify CLI status/logs, and exercise protected app login/logout flows.

Its SKILL.md is about 2.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files (for example `agents/openai.yaml`).

It sits in Testing & QA, covering QA and bug reports and Browser automation. It works with Docker. The repository describes itself as: Compartment is a self-hosted deployment system for small software on infrastructure your team controls. The licence is Apache-2.0.

When your agent uses it

  • Tasks that involve QA and bug reports
  • Tasks that involve Browser automation

Example prompts

  • “/compartment-smoke-test”

Requirements

  • Python 3
  • Docker

What it can do on your machine

Read from SKILL.md and the folder at commit 15373e7. 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
    • python
    • 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 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

Compartment Smoke Test loads about 2.1k tokens when it runs. Until then it costs about 70 tokens; SKILL.md has 1,044 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~70
When it runs · the whole SKILL.md, loaded when a task matches
~2.1k

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: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NoteMentions a .env fileSKILL.md:27
    gres, Docker, and the public ports from `.env`.
  • NoteMentions a .env fileSKILL.md:28
    - If `.env` is missing, derive a local-only copy from `.env.example`. Do not commit `.env`.

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 compartmentdev/compartment at commit 15373e7, republished under its Apache-2.0 licence (© compartmentdev). 1,044 words, ~2,091 tokens.

Download SKILL.mdSave it as .claude/skills/compartment-smoke-test/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
compartment-smoke-test
description
Run or delegate a browser-first smoke test of the local compartment through browser-use as a real user: boot or reuse the local stack, install or log in, deploy the repo smoke fixtures, verify CLI status/logs, and exercise protected app login/logout flows.

Compartment Smoke Test

Use this skill for a real local smoke test of the compartment as a user, not just repo tests.

Source of truth

  • AGENTS.md
  • .env.example
  • packages/cli/test/cli.smoke.test.ts
  • packages/cli/test/system-user-flow.e2e.test.ts
  • packages/cli/test/self-hosted-user-setup.e2e.harness.ts
  • packages/cli/test/self-hosted-user-setup-k3d.harness.ts
  • packages/api/test/api.integration.test.ts
  • examples/dockerfile/
  • examples/railpack/
  • examples/python/
  • examples/multi-service/

Preconditions

  • Reuse a healthy local stack when possible. Otherwise start pnpm dev.
  • Local smoke needs working Postgres, Docker, and the public ports from .env.
  • If .env is missing, derive a local-only copy from .env.example. Do not commit .env.

Delegation default

  • When tool policy and the user's request allow subagents, and this skill is being invoked from a broader non-smoke task, prefer a dedicated smoke subagent instead of blocking the main agent on browser smoke.
  • Do not choose or name a model, reasoning effort, speed, latency, or quality mode in this skill.
  • Let the smoke subagent inherit the user's current session configuration. If the client requires explicit values, pass only the current user-selected values exposed by the client/runtime.
  • Prefer a subagent type that preserves the current user-selected configuration.
  • Give the smoke subagent the repo root, stack status if already known, the required scenarios, the expected output format, and an explicit requirement to use @Browser for local browser checks.
  • If you are already the dedicated smoke subagent, or smoke testing is the only remaining task, run the smoke directly and do not re-delegate it.
  • If subagents are not allowed or not available, run the smoke in the main agent.

Credentials

  • Prefer credentials explicitly provided by the user for the current run.
  • Default shared smoke creds used by the repo smoke/e2e fixtures: admin@example.com / supersecretpassword.
  • Use the credentials for the current platform seed or installation.
  • If a platform is available, use compartment login.
  • For the local k3d fixture, run compartment install --dev only when the task authorizes creating the seed.

CLI invocation

  • Set repo_root="$(git rev-parse --show-toplevel)".
  • Treat pnpm --dir "$repo_root" compartment ... as the canonical repo-local CLI path.
  • Use pnpm --dir "$repo_root" compartment ... for auth and context commands.
  • From an example directory, run project-scoped commands as INIT_CWD="$PWD" pnpm --dir "$repo_root" compartment <command> --output json.

Workflow

  1. Bring up or verify the stack.
  • Start pnpm dev only if the local stack is not already healthy.
  • Confirm CLI API access and browser entry at console.<baseDomain>; with .env.example defaults this is http://console.localhost:9080.
  1. Establish CLI auth and context.
  • Try compartment whoami first.
  • If needed, run compartment login.
  • Verify compartment whoami, compartment org list, and compartment org use <slug>.
  • Run compartment logout, confirm the session is gone, then log back in.
  1. Deploy the Dockerfile fixture.
  • Use examples/dockerfile as the first project.
  • Run deploy --output json, then status --output json, then logs --output json.
  • Expect routeUrl, dockerfile booting, and dockerfile listening.
  • Open the route in the browser, verify redirect to compartment login, then log in.
  • After login, verify Dockerfile and Deployment path is alive.
  1. Exercise browser logout.
  • Trigger browser logout.
  • Reopen the app route and verify it redirects to compartment login again.
  1. Exercise a basic rollback on the Dockerfile fixture.
  • Stay in examples/dockerfile.
  • Run a second deploy --output json so production/web has a real rollback candidate.
  • Run deployment list --env production --service web --limit 5 --output json and note the active deployment plus the previous successful non-active deployment for web.
  • Run rollback --env production --service web --to <previous-deployment-id> --output json.
  • Re-run status --output json, deployment list --env production --service web --limit 5 --output json, and logs --output json.
  • Expect a fresh rollback deployment id, the requested historical deployment id to remain in history, and a new dockerfile booting / dockerfile listening sequence for the new active deployment.
  • Reopen the route in the browser and verify Dockerfile / Deployment path is alive. still render after rollback.
  1. Deploy the Railpack/source-build fixture.
  • Use examples/railpack.
  • Repeat deploy --output json, status --output json, logs --output json, and browser access checks.
  • Expect railpack booting and railpack listening.
  • After browser login, verify Railpack and Railpack deployment path is alive.
Show full SKILL.md (404 more words)Show less
  1. Deploy the Python Railpack fixture.
  • Use examples/python.
  • Before deploy, set a couple of runtime variables through the CLI, for example LOG_LEVEL=debug and FEATURE_FLAG=enabled.
  • Repeat deploy --output json, status --output json, logs --output json, and browser access checks.
  • Expect python booting and python listening.
  • After browser login, verify Python and Railpack Python deployment path is alive.
  • Verify the rendered page shows the runtime variable values you set, for example LOG_LEVEL -> debug and FEATURE_FLAG -> enabled.
  1. Deploy the multi-service fixture.
  • Use examples/multi-service.
  • Run deploy --output json, status --output json, inspect --output json, and logs --output json.
  • Expect two deployments in the aggregate payload: primary web and secondary backoffice.
  • Expect inspect --output json for web to include the same-origin proxy rule from compartment.routes.yml.
  • Verify the primary host stays unprefixed at multi-service.localhost.
  • Verify the secondary host is prefixed at backoffice-multi-service.localhost.
  • Run status --service backoffice --output json, inspect --service backoffice --output json, and logs --service backoffice --output json.
  • Expect multi-service web booting, multi-service web listening, multi-service backoffice booting, and multi-service backoffice listening.
  • Open both protected routes in the browser and verify login redirect for each route.
  • After browser login, verify Multi Service Web, Primary route is alive., and Proxy route says: backoffice is ok. on the primary route.
  • After browser login, verify Multi Service Backoffice / Secondary route is alive. on the secondary route.
  1. Run extended project smoke when the core flow is healthy.
  • Run project archive --output json, verify project.archivedAt is set and status --output json fails with the archived-project error.
  • Run project unarchive --output json, verify project.archivedAt is null, redeploy, and verify route/login recovery.

Browser expectations

  • Use @Browser with the bundled browser-use:browser skill for browser verification.
  • Initialize browser-use with the iab backend through node_repl and keep one named session/tab for the smoke pass unless the flow requires a second tab.
  • Do not switch this skill to Playwright MCP. Use shell HTTP checks only as supporting diagnostics when browser-use is blocked or when you need a fast readiness probe before opening the browser.
  • Capture screenshots when login, redirect, or hosted app rendering fails.
  • Healthy protected flow: app route -> compartment login -> /_compartment/callback -> original app path.

Failure triage

  • Environment issue: Postgres, Docker, Caddy, ports, or dead local stack.
  • Product regression: auth/context commands, deploy/status/logs mismatch, broken protected-route flow, stale access after logout, wrong fixture content.

Output

  • Return a short smoke report with:
    • stack used
    • scenarios covered
    • pass/fail per scenario
    • screenshots or logs only for failures
    • environment issue vs product regression

© compartmentdev, 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 in .codex/skills/compartment-smoke-test of compartmentdev/compartment.

  • SKILL.md
  • agents/openai.yaml

Open the folder on GitHubat commit 15373e7

Compare with similar skills

Compartment Smoke Test 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.

Compartment Smoke Test compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Compartment Smoke Test this skillcompartmentdev/compartment205—~2.1kAutomated safety check: NotesApache-2.0
PR TestElite588/AUTOGPT103—~9.4kAutomated safety check: NotesCustom licence
Codex Plugin QAcode-yeongyu/oh-my-openagent70k1 repos~1.9kAutomated safety check: PassCustom licence
DeerFlow Smoke Testbytedance/deer-flow83k—~2.5kAutomated safety check: NotesMIT
Weavebench Cua ReproduceAMAP-ML/LongHorizon-Harness1.7k—~1.6kAutomated safety check: PassMIT
OpenCode QA Toolkitcode-yeongyu/oh-my-openagent70k—~2.9kAutomated safety check: PassCustom licence

Similar skills

  • PR Test

    Elite588/AUTOGPT

    E2E manual testing of PRs/branches using docker compose, agent-browser, and API calls.

    103 GitHub stars~9.4k tokensUpdated 5 mo ago
    Testing & QAAuto-check: notes
  • Codex Plugin QA

    code-yeongyu/oh-my-openagent

    Tests the omo Codex plugin in an isolated CODEX_HOME with a local mock model, proving hooks fired through app-server notifications without touching ~/.codex.

    70k GitHub starsUsed in 1 repo~1.9k tokens
    Testing & QAAuto-check passed
  • DeerFlow Smoke Test

    bytedance/deer-flow

    Walks through an end-to-end smoke test of a DeerFlow deployment: pull the latest code, deploy with Docker or locally, verify services, run health checks and write a report.

    83k GitHub stars~2.5k tokensUpdated today
    Testing & QAAuto-check: notes
  • Weavebench Cua Reproduce

    AMAP-ML/LongHorizon-Harness

    Reproduce CUA-Harness experiments on WeaveBench from a GitHub checkout.

    1.7k GitHub stars~1.6k tokensUpdated 1 mo ago
    Testing & QAAuto-check passed
  • OpenCode QA Toolkit

    code-yeongyu/oh-my-openagent

    Tests the opencode coding agent itself: its CLI, server, plugin hooks and events, the terminal UI under tmux, and its SQLite session database, using tested helper scripts.

    70k GitHub stars~2.9k tokensUpdated today
    Testing & QAAuto-check passed
  • Attaches OpenCode browser tools to the OpenWork Electron dev app through CDP to explore its UI, send a composer task and debug, not to give test verdicts.

    24k GitHub stars~780 tokensUpdated today
    Testing & QAAuto-check passed

More from compartmentdev/compartment

All 12 skills in this repo
  • Audit Type Ownership

    compartmentdev/compartment

    Audit type ownership and boundary placement in the compartment repo: misplaced or duplicated types, query/service leaks, root export surface, and phased move plans.

    205 GitHub stars~745 tokensUpdated 1 mo ago
    Auto-check passed
  • Open PR And Monitor

    compartmentdev/compartment

    Open or reuse a repo PR and monitor it with a five-minute Codex heartbeat until it is ready, terminal, or blocked.

    205 GitHub stars~470 tokensUpdated 1 mo ago
    Auto-check passed
  • Review A Change

    compartmentdev/compartment

    A skill your agent uses when the user invokes $review-a-change or asks for a compartment repo code review; always use the delegated subagent review path by splitting review into separate parallel…

    205 GitHub stars~1.6k tokensUpdated 1 mo ago
    Auto-check passed
  • Review Reuse And Dedup

    compartmentdev/compartment

    A skill your agent uses when reviewing compartment repo changes for existing helper reuse, extractable pure utilities, duplicated logic, repeated constants, hardcoded values, or repeated variable…

    205 GitHub stars~753 tokensUpdated 1 mo ago
    Auto-check passed
  • Develop A Feature

    compartmentdev/compartment

    Implement repo changes by starting with preflight feature review, then editing the smallest owning surface on one canonical path and running only diff-triggered checks.

    205 GitHub stars~554 tokensUpdated 1 mo ago
    Auto-check passed
  • Public Docs Maintenance

    compartmentdev/compartment

    Maintain the public Starlight docs site for material changes to shipped Compartment workflows, using generated reference where possible and concise task- and decision-focused guides elsewhere.

    205 GitHub stars~1.3k tokensUpdated 1 mo ago
    Auto-check passed

Works with

Categories

Questions about Compartment Smoke Test

What does Compartment Smoke Test do?

Run or delegate a browser-first smoke test of the local compartment through browser-use as a real user: boot or reuse the local stack, install or log in, deploy the repo smoke fixtures, verify CLI…. Compartment Smoke Test is an agent skill from compartmentdev/compartment. Run or delegate a browser-first smoke test of the local compartment through browser-use as a real user: boot or reuse the local stack, install or log in, deploy the repo smoke fixtures, verify CLI status/logs, and exercise protected app login/logout flows.

When should I use Compartment Smoke Test?

Compartment Smoke Test fits situations like: tasks that involve QA and bug reports; tasks that involve Browser automation.

How do I install Compartment Smoke Test in Claude Code?

Run `npx skills add compartmentdev/compartment --skill compartment-smoke-test -a claude-code`. Or copy the skill folder (.codex/skills/compartment-smoke-test in compartmentdev/compartment) into .claude/skills/compartment-smoke-test in your project. Claude Code loads it when a task matches its description.

How do I install Compartment Smoke Test in Codex?

Run `npx skills add compartmentdev/compartment --skill compartment-smoke-test -a codex`. Or copy the skill folder (.codex/skills/compartment-smoke-test in compartmentdev/compartment) into .agents/skills/compartment-smoke-test in your project. Codex loads it when a task matches its description.

Can I use Compartment Smoke Test 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 compartmentdev/compartment --skill compartment-smoke-test -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/compartment-smoke-test, .gemini/skills/compartment-smoke-test, .github/skills/compartment-smoke-test and .opencode/skills/compartment-smoke-test in your project.

What does Compartment Smoke Test need to run?

Going by SKILL.md and its folder, Compartment Smoke Test needs the command-line tools its instructions call (pnpm, python and git). Our summary lists: Python 3; Docker.

Does Compartment Smoke Test access the network?

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

Is Compartment Smoke Test safe to install?

Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Compartment Smoke Test use?

Compartment Smoke Test 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 Compartment Smoke Test use?

About 2.1k tokens (SKILL.md is roughly 8.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Compartment Smoke Test?

Skills that share tags, products or a category with Compartment Smoke Test: PR Test (Elite588/AUTOGPT, 103 stars), Codex Plugin QA (code-yeongyu/oh-my-openagent, 70k stars), DeerFlow Smoke Test (bytedance/deer-flow, 83k stars) and Weavebench Cua Reproduce (AMAP-ML/LongHorizon-Harness, 1.7k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Compartment Smoke Test?

compartmentdev (a GitHub organization) maintains it in compartmentdev/compartment, which has 205 GitHub stars. The repository holds 12 skills in this directory. The repository was last updated on August 20, 2026.

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