cccp-setup
Inspect, choose, configure, or troubleshoot the CCCP data backend, or read/set any CCCP config value.
Skill by jhs
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/jhs-cccp-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: backend, cloud, data
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
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/cccp-setup
What's inside
- Skill name
cccp-setup- Description
- Inspect, choose, configure, or troubleshoot the CCCP data backend, or read/set any CCCP config value. Use for "which cccp backend am I on", "set up cccp on azure", "switch cccp to local-fs", "why can't cccp reach the hub", "what cccp settings do I have", or after CCCP announces a freshly created data directory. NOT for joining cells or messaging — use the cccp-chat skill for that.
- License
- Apache-2.0
- Instructions
- 199 lines in SKILL.md · view on GitHub
Agent Skills spec issues
- body: contains an absolute path from the author's machine
Files (1)
- SKILL.md
SKILL.md (first lines)
# CCCP Backend setup ## CCCP Backend Skill Goal Respond to your user's request by understanding the CCCP plugin's **data backend** system, so that you are able to check the current backend, change to a different backend, configure a new backend, or reconfigure an existing backend. With no specific request, run `cccp config` and report what you find. This skill is exclusively about CCCP backend configuration and management. If the user wants to chat, join a cell, send a message, etc., point them at the cccp-chat skill and stop. The `cccp` CLI is on your bash tool's PATH from session start — the cccp-comrade extension puts it there — and `CCCP_PLUGIN_DATA` is already exported: your machine's Claude plugin data directory when one exists (a shared store — same-machine Claude and Pi comrades reach the same local cells), else `~/.pi/cccp`, auto-created on first run. ## CCCP Backend Overview A backend is the shared data store a cell lives in. Every backend costs two separable things, and you should always work out which one the user is actually asking for: - **Joining** a cell means acquiring some values and putting them in config. Cheap, no infrastructure, nothing to operate. You can do this for the user. - **Hosting** a cell means someone actually operates the store the cell lives in. That is infrastructure: it may cost money, it is the user's to own, and it is only to be done on their behalf after aligning and confirming. A user who says "set up cccp on azure" may mean either. **Ask which**, unless it is obvious. Most people who want to talk to an existing cell only need to join, and joining is where you should start. | Backend | Description | Requirements to Join a Cell | Requirements to Host a Cell | |---|---|---|---| | `local-fs` | Files under a local directory. The zero-setup default: out of the box it lives under the plugin data dir, reaching the same host **and** same OS user — terminal tabs, IDE windows, git worktrees, background agents. Setting `CCCP_LOCAL_FS_ROOT` to a directory other users can reach (`/tmp/cccp-hub`, a group dir, a mounted share) extends it across OS users on the same filesystem — file permissions on that directory are yours to manage; cccp does not adjust them. Cannot reach another machine (unless the directory itself is a shared mount). | None (optionally `CCCP_LOCAL_FS_ROOT`) | None — no hosting | | `azure-blob` | Centralized cloud storage (Azure Blob), reachable from any host, user, or network. Low cost. Auth is a shared container-scoped SAS token. | An Azure storage account name, a container name, and a SAS token — set with `cccp config`. | Operate an Azure Blob container: either deploy the repo's Terraform reference (`infra/azure/apply.sh` — read it before running it), or provision one yourself (portal, CLI, existing infra) and hand over the three values above. Needs an Azure subscription and may spend the user's money. | ## How to See the Config | Question | Command | Notes | |---|---|---| | Which backend am I on? | `cccp backend` | Prints the bare name. No network. | | What is my whole config? | `cccp config` | The full resolved dump: globals, then every backend, active first. | | Does a backend work? | `cccp backend check [<name>]` | Hits the network. Prints setup guidance on failure. | Start with `cccp config` — it answers "what am I actually using" in one shot, for every backend at once. The **`Set by`** column names the winner of each key by its config file's path **relative to the plugin data dir** (`config`, `backend/azure-blob/config`), or `env` / `default` / `unset`. Combine `CCCP_PLUGIN_DATA` with that path and you are at the literal file. Config merges `config` < `backend/<name>/config` < **process env**; a row reading `env <- shadows backend/azure-blob/config` means the environment is overriding that file's value. `CCCP_PLUGIN_DATA` heads the dump — it is where all cell data and config actually live, and it is always `env`, since every config file sits inside it. (Under Pi, the cccp-comrade extension exports it at session start.) `secrets` files sit beside `config` files (`secrets`, `backend/azure-blob/secrets`), identical in format — secret keys are simply routed there. Read and edit `config` files freely; **never read, echo, or otherwise expose a `secrets` file.** `cccp config` already shows everything you may know about one (`<set, N chars>`). Every backend appears in the dump, introduced by an `Active backend:` / `Inactive backend:` line — an inactive backend keeps its stored config, which is the whole setup flow: configure it while inactive, `cccp backend use` it when ready. The roster of available backends is the table at the top of this skill. Don't ask the CLI for it. If `cccp` itself fails — a traceback, or `CCCP_PLUGIN_DATA is not set` — notify the user and offer to troubleshoot. A failing `check` is not that: it exits non-zero too, but it is a finding, and it prints its own fix. ## How to Set Config Values `cccp config KEY=VALUE ...` writes; keys are automatically routed to the proper file (`CCCP_AZURE_BLOB_ACCOUNT` to `backend/azure-blob/config`, secrets like `CCCP_AZURE_BLOB_SAS` to `backend/azure-blob/secrets`, globals like `CCCP_DEBUG` to `config`), and the confirmation names the file it touched. Keys are the canonical `CCCP_*` names exactly as the dump prints them; an empty value removes a key. ```bash cccp config # read everything cccp config CCCP_AZURE_BLOB_ACCOUNT=hub CCCP_AZURE_BLOB_CONTAINER=cells ``` Two keys refuse to be set here, each pointing at the right tool: `CCCP_ACTIVE_BACKEND` (use `cccp backend use <name>`, which validates before switching) and `CCCP_PLUGIN_DATA` (environment-only; the cccp-comrade extension exports it at session start). Reads show the **resolved** merge, and a write the environment is currently shadowing warns on the spot (`warning: ... shadows this write`) — so a write can never silently succeed-and-be-ignored. Set non-confidential values yourself, several at once — account names, container names, prefixes all go straight in as above. Secrets do not. ## How to Set a Secret A SAS token, a key, a password: **you cannot set these, and must not try.** - **You cannot read the user's keyboard.** Commands you run do not share the user's stdin. `read -rs`, prompts, and anything that waits for typing will hang until the tool times out — it will not fail fast, it will burn two minutes and look like a crash. - **You must not receive the secret at all.** A value pasted into this chat, or passed in `argv`, is in the transcript and in shell history forever. Do not ask for it.
From jhs/cccp, Apache-2.0.
More from jhs/cccp
- 0.598score
cccp-chat
jhs
Participate in a CCCP cell — chat with other AI agents (comrades).
SkillAFreshness: A★ 2Claude Code +9 - 0.598score
cccp-team
jhs
Work as one of several coordinated comrades in a CCCP cell — team norms, aliases, lanes, and hand-offs.
SkillAFreshness: A★ 2Claude Code +9 - 0.568score
captain-with-tmux
jhs
This skill should be used when the user wants Claude to act as the coordinator of a cccp cell with the ability to spawn, observe, and terminate comrades as…
SkillAFreshness: A★ 2Claude Code +9 - 0.568score
chat
jhs
This skill should be used when the user wants to communicate with another Claude — phrases like "talk to the Claude on my Mac", "connect with comrade X"…
SkillAFreshness: A★ 2Claude Code +9 - 0.568score
team
jhs
This skill should be used when the user wants Claude agents to collaborate as a coordinated team in a cccp cell — dividing work, staying in sync, and…
SkillAFreshness: A★ 2Claude Code +9 - 0.557score
token-aware
jhs
Report Pi context-window usage or opt in to milestone notifications.
SkillBFreshness: B★ 2Claude Code +9 - 0.532score
token-aware
jhs
This skill should be used when the user asks about context window fullness, tokens remaining, nearness to compaction, or wants token-usage monitoring with…
SkillBFreshness: B★ 2Claude Code +9 - 0.529score
help
jhs
This skill should be used when a user new to the CCCP plugin wants concepts and how-tos — phrases like "cccp help", "what can cccp do", "how do I use cccp"…
SkillBFreshness: B★ 2Claude Code +9 - 0.527score
captain
jhs
This skill should be used when the user wants Claude to act as the coordinator of a cccp cell — the one who organizes, sequences, and delegates work across…
SkillBFreshness: B★ 2Claude Code +9 - 0.483score
setup
jhs
This skill should be used when the user wants to inspect, choose, configure, or troubleshoot the CCCP data backend, or to read or set any CCCP config value.
SkillCFreshness: C★ 2Claude Code +9
Signals
- Stars
- 2
- Forks
- 1
- Open issues
- 6
- Last commit (this folder)
- Aug 18, 2026 (2 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- Apache-2.0
- Repository
- github.com/jhs/cccp
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from jhs
- 0.598score
cccp-chat
jhs
Participate in a CCCP cell — chat with other AI agents (comrades).
SkillAFreshness: A★ 2Claude Code +9 - 0.598score
cccp-team
jhs
Work as one of several coordinated comrades in a CCCP cell — team norms, aliases, lanes, and hand-offs.
SkillAFreshness: A★ 2Claude Code +9 - 0.568score
captain-with-tmux
jhs
This skill should be used when the user wants Claude to act as the coordinator of a cccp cell with the ability to spawn, observe, and terminate comrades as…
SkillAFreshness: A★ 2Claude Code +9 - 0.568score
chat
jhs
This skill should be used when the user wants to communicate with another Claude — phrases like "talk to the Claude on my Mac", "connect with comrade X"…
SkillAFreshness: A★ 2Claude Code +9 - 0.568score
team
jhs
This skill should be used when the user wants Claude agents to collaborate as a coordinated team in a cccp cell — dividing work, staying in sync, and…
SkillAFreshness: A★ 2Claude Code +9 - 0.557score
token-aware
jhs
Report Pi context-window usage or opt in to milestone notifications.
SkillBFreshness: B★ 2Claude Code +9
Cite this page
cccp-setup skill. Agent Mart. https://agentmart.dev/skills/jhs-cccp-setup (last updated 2026-10-24)