# Workspaces

Stencila workspace configuration and document tracking - stencila.toml sections...

- Repository: https://github.com/stencila/stencila (914 stars)
- Category: Git and review
- License: Apache-2.0
- Last updated: 2026-11-01
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add stencila/stencila --skill workspaces -g -a claude-code -y`
Codex: `npx skills add stencila/stencila --skill workspaces -g -a codex -y`
Cursor: `npx skills add stencila/stencila --skill workspaces -g -a cursor -y`
Gemini CLI: `npx skills add stencila/stencila --skill workspaces -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add stencila/stencila`

## Description

Stencila workspace configuration and document tracking - stencila.toml sections, stencila init, track/status/untrack/clean, and what lives in the .stencila/ directory. Use when configuring a Stencila project, setting up remotes or outputs, interpreting stencila status, or deciding what to commit or clean.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Stencila workspaces

A workspace is a directory containing `stencila.toml` (or
`stencila.local.toml`). Stencila finds the workspace by walking up from the
current directory. Configuration merges, lowest to highest precedence:
`~/.config/stencila/stencila.toml` → `<workspace>/stencila.toml` →
`<workspace>/stencila.local.toml` (for uncommitted, machine-local
overrides).

Initialize a workspace non-interactively:

```sh
NO_COLOR=1 stencila init --yes
```

Options: `--root <ROOT>` (site root directory), `--home <HOME>` (home page
file), `--outputs html,pdf` (output formats for executable documents).

## stencila.toml sections

| Section | Purpose |
|---|---|
| `[workspace]` | Workspace identity: Stencila Cloud `id` and `watch` ids (assigned automatically; rarely hand-edited) |
| `[remotes]` | Map local paths to remote service URLs (Google Docs, Microsoft 365, a Stencila site) for push/pull/sync |
| `[outputs]` | Output files to render and upload: `"report.pdf" = "report.smd"`, static files, glob patterns, and parameter spreads like `"{region}/report.pdf" = { source = "report.smd", arguments = { region = ["north", "south"] } }` |
| `[site]` | Site structure: `root`, routes, layout, navigation, formats |
| `[agents]` | Defaults for Stencila's own agents (e.g. default agent, commit attribution) |
| `[content-credentials]` | C2PA signing of rendered outputs (see the `publishing` skill) |

Example:

```toml
[remotes]
"report.smd" = "https://docs.google.com/document/d/..."

[outputs]
"report.pdf" = "report.smd"

[site]
root = "docs"
```

## Document tracking

Tracking records the state of documents so Stencila can detect staleness
and sync with remotes:

The rest: https://github.com/stencila/stencila/blob/HEAD/claude/skills/workspaces/SKILL.md
