pipeline-setup
Use when users want to install or set up the atelier-pipeline multi-agent orchestration system in their project.
Skill by UberUmbra
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/uberumbra-pipeline-setup-0eaa49
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: data, agent-building
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions: not checked yet.
What's inside
- Skill name
pipeline-setup- Description
- Use when users want to install or set up the atelier-pipeline multi-agent orchestration system in their project. Bootstraps all agent personas, rules, commands, references, and pipeline state files. Works for new and existing projects.
- License
- Apache-2.0
- Instructions
- 1,275 lines in SKILL.md · view on GitHub
Before installing
- Instructions call the network
Agent Skills spec issues
- body: 1275 lines (spec recommends under 500)
Files (4)
- SKILL.md
- directory-layout.md
- hooks.md
- post-install.md
SKILL.md (first lines)
# Atelier Pipeline -- Setup
This skill installs the full Atelier Pipeline multi-agent orchestration system into the user's project.
> **Heads-up (Claude Code < 2.1.89):** Agent persona frontmatter declares an `effort` field (values: `low`, `medium`, `high`, `xhigh`) in addition to `model`. Claude Code runtimes older than **2.1.89** ignore the `effort` field silently -- the pipeline still functions, but effort-based promotion signals are not honoured by the runtime. See **ADR-0041** for the full effort-tier model. If your team is on an older Claude Code build, either upgrade or treat the `effort` field as documentation-only. Cursor users: the `effort` field is passed through as metadata; refer to Cursor release notes for runtime support.
<contract>
<requires>
- `CLAUDE_PLUGIN_ROOT` (Claude Code) or `CURSOR_PROJECT_DIR` (Cursor) or `VSCODE_PID`/`TERM_PROGRAM=vscode` (VSCode) environment variable set by the runtime.
- Plugin `source/` tree present at `${CLAUDE_PLUGIN_ROOT}/source/` (shared, claude, cursor, vscode overlays).
- Write access to project root (`.claude/` for Claude Code, `.cursor-plugin/` for Cursor, `.github/` for VSCode, `docs/`, `CLAUDE.md`).
- `jq` available on `PATH` for hook registration in `settings.json` (Claude Code/Cursor) or `hooks.json` (VSCode).
</requires>
<produces>
- **Claude Code:** `.claude/rules/`, `.claude/agents/`, `.claude/commands/`, `.claude/references/`, `.claude/hooks/` populated from source overlays. `.claude/pipeline-config.json`, `.claude/settings.json`, `.claude/.atelier-version`.
- **Cursor:** `.cursor-plugin/agents/`, `.cursor-plugin/rules/*.mdc` reference wrappers. Hook scripts copied to `.cursor-plugin/hooks/`.
- **VSCode:** `.github/agents/` (`*.agent.md`), `.github/instructions/` (`*.instructions.md`), `.github/hooks/` (`hooks.json` + enforcement scripts), `.github/references/` (plain `.md`), `.github/skills/` (skill directories). `.github/pipeline-config.json`, `.github/.atelier-version`. `.github/mcp.json` when brain is enabled.
- `docs/pipeline/` state files (`pipeline-state.md`, `context-brief.md`, `error-patterns.md`, `investigation-ledger.md`) -- all targets share this directory.
- `CLAUDE.md` with pipeline section appended (Claude Code only; VSCode skips this -- always-apply instructions cover the same content).
</produces>
<invalidates>
- Any prior install's `.claude/rules/`, `.claude/agents/`, `.claude/commands/`, `.claude/references/`, and `.claude/hooks/` contents (overwritten from source on re-sync; live state files in `docs/pipeline/` and `.claude/pipeline-config.json` are preserved).
- Deprecated `quality-gate.sh`, orphan brain-capture hooks, orphan `session-hydrate.sh` registration, and stale `atelier-brain` `.mcp.json` entries (Steps 0–0d).
</invalidates>
</contract>
<procedure id="setup">
## Setup Procedure
### Where Files Are Installed
Before gathering project information, understand where the pipeline installs files and how they interact with your project:
| Location | What Goes There | Git Status | Shared With Team? |
|----------|----------------|------------|-------------------|
| `.claude/rules/` | Eva persona, orchestration rules, model selection, branch lifecycle | Project-local, committed to repo | Yes -- team members get the same pipeline rules |
| `.claude/agents/` | Agent persona files (Sarah, Colby, etc.) | Project-local, committed to repo | Yes -- consistent agent behavior across the team |
| `.claude/commands/` | Slash command definitions (/pm, /pipeline, etc.) | Project-local, committed to repo | Yes -- same commands available to all |
| `.claude/references/` | Quality framework, invocation templates | Project-local, committed to repo | Yes -- shared knowledge base |
| `.claude/hooks/` | Enforcement scripts (path, sequencing, git guards) | Project-local, committed to repo | Yes -- same guardrails for everyone |
| `.claude/pipeline-config.json` | Branching strategy, feature flags | Project-local, committed to repo | Yes -- team-wide configuration |
| `.claude/settings.json` | Hook registrations (tells Claude Code to run the hooks) | Project-local, committed to repo | Yes -- hooks activate for all team members |
| `docs/pipeline/` | Pipeline state, context brief, error patterns | Project-local, committed to repo | Yes -- session recovery works across machines |
| `CLAUDE.md` | Pipeline section appended to project instructions | Project-local, committed to repo | Yes -- Claude Code reads this automatically |
**VSCode path differences:** The table above shows Claude Code paths (`.claude/`). For VSCode, `pipeline-config.json` goes to `.github/pipeline-config.json`, `.atelier-version` to `.github/.atelier-version`, and hook registrations live in `.github/hooks/hooks.json` (no `settings.json`). `CLAUDE.md` is not written for VSCode -- always-apply instructions serve the same purpose.
**Key points:**
- All installed files live inside the project directory -- nothing is written to `~/.claude/` or other user-level locations.
- Everything is designed to be committed to git so team members inherit the pipeline when they clone.
- The plugin itself (installed via `claude plugin add`) is user-level, but the project files it generates are project-level.
- To remove all installed files later, use the `/pipeline-uninstall` skill.
### Step 0: Clean Up Deprecated quality-gate.sh
Before gathering any project information, unconditionally run this cleanup on every /pipeline-setup invocation. It is silent unless it finds something to remove.
1. **Check file:** Check if `.claude/hooks/quality-gate.sh` exists. If found: delete the file. Note that removal occurred.
2. **Check settings.json:** Check if `.claude/settings.json` exists and contains a hook entry referencing `quality-gate.sh` in any command string across all hook event types (PreToolUse, SubagentStop, PreCompact, etc.). If found:
- Parse the JSON. If the JSON is malformed or invalid, log a warning ("Warning: .claude/settings.json is malformed JSON -- skipping quality-gate.sh entry removal. Does not block setup.") and continue to step 3.
- Remove the hook entry containing "quality-gate" from the command string.
- If removing that entry leaves an empty hooks array for an event type, remove the event type entry entirely (no empty arrays left behind).
- Write the updated JSON back to `.claude/settings.json`.
- Note that removal occurred.
3. **Print notice (conditional):** If either artifact was found and removed: print exactly `Removed deprecated quality-gate.sh (see retro lesson #003).`
4. **Silent no-op:** If neither found: do nothing. No output.
**Edge case handling:**
- File exists but settings.json entry already removed: detect file, delete it, print notice. Check settings.json independently of file existence.
- settings.json has quality-gate.sh entry but file does not exist: detect entry in settings.json, remove it, print notice.
- Both found: remove both, print single notice (not two).
- Neither found: silent no-op.
This cleanup targets only quality-gate.sh entries. Other hook entries (enforce-eva-paths.sh, enforce-sequencing.sh, enforce-git.sh, etc.) are not affected.
### Step 0b: Clean Up Orphan Brain-Capture Hooks
Unconditionally run this cleanup on every /pipeline-setup invocation. Silent unless it finds something to remove.
1. **Check prompt-brain-capture.sh:** If `.claude/hooks/prompt-brain-capture.sh` exists, delete it with `rm -f .claude/hooks/prompt-brain-capture.sh`. Note that removal occurred.
2. **Check warn-brain-capture.sh:** If `.claude/hooks/warn-brain-capture.sh` exists, delete it with `rm -f .claude/hooks/warn-brain-capture.sh`. Note that removal occurred.
3. **Print notice (conditional):** If either file was found and removed: print exactly `Removed orphan brain-capture hooks (superseded by brain-extractor agent).`
4. **Silent no-op:** If neither found: do nothing. No output.
### Step 0c: Clean Up Orphan session-hydrate.sh Registration
Unconditionally run this cleanup on every /pipeline-setup invocation. Silent unless it finds something to remove.
`session-hydrate.sh` is now an intentional no-op (superseded by the `atelier_hydrate` MCP tool) and must NOT be registered in `.claude/settings.json`. Older installs may still have a registration entry.
1. **Check settings.json:** Check if `.claude/settings.json` exists and contains a hook entry whose command string contains exactly `session-hydrate.sh` (not `session-hydrate-enforcement.sh` or other similarly-named hooks) across all hook event types (SessionStart is the typical location). If found:
- Parse the JSON. If the JSON is malformed or invalid, log a warning ("Warning: .claude/settings.json is malformed JSON -- skipping session-hydrate.sh entry removal. Does not block setup.") and continue to Step 1 (Gather Project Information).
- Remove the hook entry containing "session-hydrate.sh" from the command string.
- If removing that entry leaves an empty hooks array for an event type, remove the event type entry entirely (no empty arrays left behind).
- Write the updated JSON back to `.claude/settings.json`.
- Note that removal occurred.
2. **Print notice (conditional):** If the entry was found and removed: print exactly `Removed orphan session-hydrate.sh registration (intentional no-op, see source comment).`
3. **Silent no-op:** If not found: do nothing. No output.
**Note:** The `.claude/hooks/session-hydrate.sh` file itself is NOT deleted — it is re-copied by Step 3a as an intentional no-op backward-compatibility shim. Only the `settings.json` registration is removed.
This cleanup targets only session-hydrate.sh registrations. Other hook entries are not affected.
### Step 0d: Clean Up Orphan atelier-brain .mcp.json Entry
Unconditionally run this cleanup on every /pipeline-setup invocation. Silent unless it finds something to remove.
The Atelier Brain MCP server is now registered and managed entirely by the plugin. Older installs may have a stale project-level `.mcp.json` entry that must be removed.
1. **Check .mcp.json:** Check if `.mcp.json` exists in the project root and contains an "atelier-brain" key under the `mcpServers` object. If found, atomically remove atelier-brain and delete the file if mcpServers is empty. Run via Bash:
```bash
python3 -c "
import json, os
p = '.mcp.json'
if not os.path.exists(p): exit(0)
try:
d = json.load(open(p))From UberUmbra/atelier-pipeline, Apache-2.0.
More from UberUmbra/atelier-pipeline
- 0.561score
ultracave
UberUmbra
Maximum compression mode.
SkillAFreshness: AClaude Code +9 - 0.561score
verify-and-stop
UberUmbra
Translate acceptance conditions into smallest sufficient proof set.
SkillAFreshness: AClaude Code +9 - 0.561score
investigate-first
UberUmbra
Separate observed symptom from inferred cause before editing.
SkillAFreshness: AClaude Code +9 - 0.561score
lean-build
UberUmbra
Strict scope enforcement for build tasks.
SkillAFreshness: AClaude Code +9 - 0.561score
surgical-patch
UberUmbra
Fix bugs at the narrowest responsible layer.
SkillAFreshness: AClaude Code +9 - 0.558score
caveman-commit
UberUmbra
Terse commit messages.
SkillAFreshness: AClaude Code +9 - 0.555score
pipeline-setup
UberUmbra
Use when users want to install or set up the atelier-pipeline multi-agent orchestration system in their project.
SkillAFreshness: AClaude Code +9 - 0.474score
brain-hydrate
UberUmbra
Use when users want to bootstrap the brain with existing project knowledge -- reading ADRs, feature specs, UX docs, commit history, and error patterns to seed…
SkillCFreshness: CClaude Code +9 - 0.474score
brain-uninstall
UberUmbra
Use when users want to remove or disconnect the mybrain plugin's persistent memory layer.
SkillCFreshness: CClaude Code +9 - 0.409score
pipeline-uninstall
UberUmbra
Use when users want to remove the atelier-pipeline multi-agent orchestration system from their project.
SkillDFreshness: DClaude Code +9 - 0.409score
pipeline-uninstall
UberUmbra
Use when users want to remove the atelier-pipeline multi-agent orchestration system from their project.
SkillDFreshness: DClaude Code +9 - 0.304score
caveman
UberUmbra
No description from the publisher yet.
SkillAFreshness: AClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Oct 9, 2026 (19 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- Apache-2.0
- Repository
- github.com/UberUmbra/atelier-pipeline
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
Same skill elsewhere
Copies of this SKILL.md published by others; search shows only one of them.
More from UberUmbra
- 0.561score
verify-and-stop
UberUmbra
Translate acceptance conditions into smallest sufficient proof set.
SkillAFreshness: AClaude Code +9 - 0.561score
ultracave
UberUmbra
Maximum compression mode.
SkillAFreshness: AClaude Code +9 - 0.561score
investigate-first
UberUmbra
Separate observed symptom from inferred cause before editing.
SkillAFreshness: AClaude Code +9 - 0.561score
lean-build
UberUmbra
Strict scope enforcement for build tasks.
SkillAFreshness: AClaude Code +9 - 0.561score
surgical-patch
UberUmbra
Fix bugs at the narrowest responsible layer.
SkillAFreshness: AClaude Code +9 - 0.558score
caveman-commit
UberUmbra
Terse commit messages.
SkillAFreshness: AClaude Code +9
Cite this page
pipeline-setup skill. Agent Mart. https://agentmart.dev/skills/uberumbra-pipeline-setup-0eaa49 (last updated 2026-10-24)