Isolated Space Boundary
openchamber/openchamber
A skill your agent uses when changing isolated-space trust boundaries: container hardening, networks and gatekeeper policy, exec and lifecycle, grants and credentials, code transfer and apply…
Space mental model (the infinite work surface), tool boundaries, and command reference.
$ npx skills add microsoft/Huabu --skill space -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install microsoft/Huabu space --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/microsoft/Huabu.git skills-src && mkdir -p .claude/skills && cp -r skills-src/apps/server/src/prompt/skills/space .claude/skills/space && rm -rf skills-srcUse ~/.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/
Install the "space" agent skill from https://github.com/microsoft/Huabu/tree/main/apps/server/src/prompt/skills/space into .claude/skills/space/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "space", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/microsoft/Huabu/tree/main/apps/server/src/prompt/skills/spaceType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add microsoft/Huabu --skill space -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install microsoft/Huabu space --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/microsoft/Huabu.git skills-src && mkdir -p .agents/skills && cp -r skills-src/apps/server/src/prompt/skills/space .agents/skills/space && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "space" agent skill from https://github.com/microsoft/Huabu/tree/main/apps/server/src/prompt/skills/space into .agents/skills/space/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "space", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add microsoft/Huabu --skill space -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install microsoft/Huabu space --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/microsoft/Huabu.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/apps/server/src/prompt/skills/space .cursor/skills/space && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "space" agent skill from https://github.com/microsoft/Huabu/tree/main/apps/server/src/prompt/skills/space into .cursor/skills/space/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "space", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/microsoft/Huabu.git --path apps/server/src/prompt/skills/space--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add microsoft/Huabu --skill space -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install microsoft/Huabu space --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/microsoft/Huabu.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/apps/server/src/prompt/skills/space .gemini/skills/space && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "space" agent skill from https://github.com/microsoft/Huabu/tree/main/apps/server/src/prompt/skills/space into .gemini/skills/space/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "space", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install microsoft/Huabu spaceInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add microsoft/Huabu --skill space -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/microsoft/Huabu.git skills-src && mkdir -p .github/skills && cp -r skills-src/apps/server/src/prompt/skills/space .github/skills/space && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "space" agent skill from https://github.com/microsoft/Huabu/tree/main/apps/server/src/prompt/skills/space into .github/skills/space/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "space", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add microsoft/Huabu --skill space -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install microsoft/Huabu space --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/microsoft/Huabu.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/apps/server/src/prompt/skills/space .opencode/skills/space && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "space" agent skill from https://github.com/microsoft/Huabu/tree/main/apps/server/src/prompt/skills/space into .opencode/skills/space/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "space", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
spaceSpace mental model (the infinite work surface), tool boundaries, and command reference.
Space is an agent skill from microsoft/Huabu, published by the product's own GitHub organization. Space mental model (the infinite work surface), tool boundaries, and command reference. The single entry point for any agent operating on a Huabu Space.
Its SKILL.md is about 2.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files, including reference files (for example `references/command-cookbook.md` and `references/layout-recipes.md`).
The repository describes itself as: Huabu, where you and your agents think together. The licence is MIT.
Read from SKILL.md and the folder at commit dc0cfa9. It shows what the files ask for, not the result of running them.
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.
No scripts in the folder and no shell commands in SKILL.md.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Space loads about 2.4k tokens when it runs, and up to ~7k if it reads all its reference files. Until then it costs about 40 tokens; SKILL.md has 1,072 words of instructions outside code blocks.
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.
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.
The full file from microsoft/Huabu at commit dc0cfa9, republished under its MIT licence (© microsoft). 1,072 words, ~2,383 tokens.
.claude/skills/space/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.The canonical reference for working with a Huabu Space. This file covers the read side: the on-disk layout and the tools that turn it into structured data. Mutation is gated behind a separate tool (space_commands) and a separate reference file — see the Mutating a Space section below.
Schemas are the source of truth. This skill explains semantics and idioms. Field names, types, and required parameters live on the corresponding tool / command schema. When in doubt about a field, trust the schema.
A Space exposes two complementary surfaces, each owned by its own family of tools. Pick the family by what you want to know, not by which tool feels familiar.
Node text, frontmatter, skill files, memory, history. Read with read, find, ls, grep.
<Space>/
nodes/
<safeLabel>.md # one file per node: YAML frontmatter + Markdown body
memory/*.md # long-form, agent-curated memory
skills/<id>/SKILL.md # per-Space skill overrides (optional)
.artifacts/<id><ext> # raw bytes (image / pdf / video / cover); `read` returns images inline, rejects pdf / video
.history/ # saved threads, event log (rarely needed)A node's filename is deterministically derived from its label and kept in 1:1 sync, so when you have the label you can build the path yourself:
nodes/<safeLabel>.mdsafeLabel = the label with characters \ / : * ? " < > | (and ASCII control chars) replaced by _. Spaces, hyphens, parentheses, dots, and any other character are kept verbatim — do not substitute them. Only leading/trailing dots and spaces are stripped, and the result is truncated to 120 chars. Empty / missing labels fall back to the stable nodeId.
Examples:
| label | safeLabel | path |
|---|---|---|
Dolphin Migration | Dolphin Migration | nodes/Dolphin Migration.md |
Notes (draft) | Notes (draft) | nodes/Notes (draft).md |
Foo: Bar / Baz | Foo_ Bar _ Baz | nodes/Foo_ Bar _ Baz.md |
trailing. | trailing | nodes/trailing.md |
read("nodes/<safeLabel>.md") directly. Don't find first when you already have the label — build the path.find("nodes/*.md") or grep (results carry nodeId, label, nodeType); the stable id also lives in each file's id: frontmatter.find / grep.space.json)Where each node sits, how big it is, which frame it belongs to, what colour it's painted; every edge's endpoints and style. Stored as one space.json per Space, served through get_space_outline, inspect_nodes, inspect_edges. These tools also expose derived fields you can't read off disk — distance, direction, hops, clusterId, arrangement — computed on the fly from the same data, which is why you should query through them rather than read("space.json") and parse it yourself.
| Property | Tool |
|---|---|
| label, content, summary, keywords, src | read / grep |
| position, size, parentFrame, visual style | inspect_nodes |
| edge direction / lineStyle / stroke | inspect_edges |
| whole-Space overview, spatial clusters | get_space_outline |
| Question | Tool |
|---|---|
| "Give me the lay of the land" | get_space_outline() |
| "What does this node say?" | read("nodes/<safeLabel>.md") |
| "Where is this node? How big? In which frame?" | inspect_nodes({ ids: ["<id>"] }) |
| "What's near this node?" | inspect_nodes({ nearNode: { id } }) |
| "What connects to this node?" | inspect_nodes({ connectedTo: { id } }) |
| "What does that edge look like?" | inspect_edges({ ids: ["<edgeId>"] }) |
| "Which nodes mention 'gradient descent'?" | grep |
| "List all PDFs" | find("**/*.pdf") or inspect_nodes({ byType: "pdf" }) |
| "Load a deeper Space reference" | read("skills/space/references/<name>.md") |
Behaviour the schema can't convey:
inspect_nodes({ ids: ["<anchorId>"] }) (or get_space_outline) to query its geometry.inspect_nodes / space_commands schemas): writable parent-local position and read-only world absolutePosition. Practical placement: to put a child next to a sibling in the same frame, add an offset to the sibling's position; to place a root node near some reference, use the reference's absolutePosition (root-local == world); to align a framed child to something outside its frame, submit target.absolutePosition − thisFrame.absolutePosition. Into a column/row/grid (structured) frame, position is only a sort hint — the frame owns the final slot. In grid mode position does not decide rows either: pass cells on SET_FRAME_LAYOUT to place children, giving paired children the same row.file path straight to read for the body. Only when a node is mentioned outside your context (e.g. it appears in a Space snapshot but wasn't shown as a <node>) do you build the path yourself via the safeLabel rule above. For spatial / structural info (including position), call inspect_nodes({ ids: ["<id>"] }).targetCanvasId from a canonical spacePreview, then pass it to get_space_outline, inspect_nodes, inspect_edges, read, grep, find, or ls. The target must be a live ordinary Space addressed by exactly one canonical preview. snapshot_nodes remains owner-scoped because it materializes cache artifacts; use read with targetCanvasId to view source images inline. This never grants cross-Space writes; space_commands remains World-scoped.read returns image artifacts inline as vision content: pass an image node's frontmatter src straight to read, OR — for an inline  image embedded in a note body — call read(".artifacts/<key>") to see it. PDF / video bytes still live under .artifacts/ but are not readable — their src URL is the only handle.size, inspect and match comparable nearby nodes; with no comparable peer, omit it and use the canonical default. See layout-recipes.md for long-Note and per-type sizing rules.The filesystem tools (read, find, ls, grep) are read-only — there is no write / edit_file / rm. Every mutation flows through one tool: space_commands.
space_commands is not in your available tool list → you are in read-only mode. Do not attempt mutations and do not claim in your reply that you performed any.space_commands is available → the tool's own schema and description carry the full command set, the id / dependency-ordering rule, and per-field behaviour. For composed multi-command recipes see command-cookbook.md; for diagram geometry see layout-recipes.md.results[]; on failure it carries a reason (e.g. invalid-target when a CONNECT / SET_NODE_PARENT endpoint doesn't exist). Read it and adjust — don't assume a write landed.Load on demand when the situation calls for it:
read("skills/space/references/command-cookbook.md") — composed batch patterns: brainstorm, merge / synthesize, group into a frame, restyle a cluster, tidy a row, …read("skills/space/references/layout-recipes.md") — coordinate system, hierarchical / left-to-right / grid layouts, frames (including when to pick the row-aligned grid frame mode over column), and the row-track flowchart / roadmap recipe.© microsoft, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 2 other files (references) in apps/server/src/prompt/skills/space of microsoft/Huabu.
Open the folder on GitHubat commit dc0cfa9
Space 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Space this skillmicrosoft/Huabu | 157 | — | ~2.4k | Automated safety check: Pass | MIT | |
| Isolated Space Boundaryopenchamber/openchamber | 11k | — | ~2k | Automated safety check: Pass | MIT | |
| Workspace Surface Auditaffaan-m/ECC | 274k | 3 repos | ~1.3k | Automated safety check: Notes | MIT | |
| Maintain Spaceasgeirtj/system_prompts_leaks | 69k | — | ~1.6k | Automated safety check: Pass | CC0-1.0 | |
| Organize Spaceasgeirtj/system_prompts_leaks | 69k | — | ~1.6k | Automated safety check: Pass | CC0-1.0 | |
| Huggingface Spacessickn33/agentic-awesome-skills | 47k | 1 repos | ~3.9k | Automated safety check: Pass | Apache-2.0 |
openchamber/openchamber
A skill your agent uses when changing isolated-space trust boundaries: container hardening, networks and gatekeeper policy, exec and lifecycle, grants and credentials, code transfer and apply…
affaan-m/ECC
Audit the active repo, MCP servers, plugins, connectors, env surfaces, and harness setup, then recommend the highest-value ECC-native skills, hooks, agents, and operator workflows.
asgeirtj/system_prompts_leaks
Reconcile new evidence into existing ChatGPT Pages or a Space when the user requests upkeep.
asgeirtj/system_prompts_leaks
Organize existing ChatGPT Pages and Space structure when the user requests changes to that structure.
sickn33/agentic-awesome-skills
Build, deploy, and maintain applications on Hugging Face Spaces — Gradio / Docker / Static SDKs, ZeroGPU and dedicated hardware, model loading, debugging, buckets, inference providers, community…
github/awesome-copilot
Use Copilot Spaces to provide project-specific context to conversations.
microsoft/Huabu
Expert code review of current git changes with a senior engineer lens.
microsoft/Huabu
Use ONLY when the user explicitly asks to cut/publish a Huabu desktop release or tag a version.
microsoft/Huabu
Review the quality of an agent's tool descriptions, system/agent prompts, or SKILL.md files against current agent-engineering best practices.
microsoft/Huabu
Review the Huabu operate agent's three steering artifacts at their fixed repo locations — system prompt, tool descriptions, and skills.
microsoft/Huabu
Coordinate one or more GitHub issues through isolated Git worktrees, durable Huabu Tasks, and dedicated Fixing Agent Threads.
microsoft/Huabu
Create and revise editable slide decks, PowerPoint files, and slide images with DeepV.
Space mental model (the infinite work surface), tool boundaries, and command reference. Space is an agent skill from microsoft/Huabu, published by the product's own GitHub organization. Space mental model (the infinite work surface), tool boundaries, and command reference.
Run `npx skills add microsoft/Huabu --skill space -a claude-code`. Or copy the skill folder (apps/server/src/prompt/skills/space in microsoft/Huabu) into .claude/skills/space in your project. Claude Code loads it when a task matches its description.
Run `npx skills add microsoft/Huabu --skill space -a codex`. Or copy the skill folder (apps/server/src/prompt/skills/space in microsoft/Huabu) into .agents/skills/space in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add microsoft/Huabu --skill space -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/space, .gemini/skills/space, .github/skills/space and .opencode/skills/space in your project.
SKILL.md names no scripts, command-line tools or credentials: Space is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
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.
Space is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.4k tokens (SKILL.md is roughly 9.5k 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 4.7k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Space: Isolated Space Boundary (openchamber/openchamber, 11k stars), Workspace Surface Audit (affaan-m/ECC, 274k stars), Maintain Space (asgeirtj/system_prompts_leaks, 69k stars) and Organize Space (asgeirtj/system_prompts_leaks, 69k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
microsoft (a GitHub organization, an official publisher) maintains it in microsoft/Huabu, which has 157 GitHub stars. The repository holds 10 skills in this directory. The repository was last updated on October 7, 2026.
Source: microsoft/Huabu on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.