CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

coding-agent-rollout

Use when rolling Claude Code out to a team or organization, or auditing a rollout already under way — writing or reviewing shared and managed settings.json permissions, deciding which MCP servers, plugins and marketplaces to approve, cleaning up layered CLAUDE.md files, or measuring whether the team actually uses it. Lints settings across scopes, inventories every MCP server and plugin against an approved list, resolves CLAUDE.md layers and imports, and turns local session data into privacy-safe adoption counts.

73

Quality

92%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

The canonical home for this skill is coding-agent-rollout in alirezarezvani/claude-skills

SKILL.md
Quality
Evals
Security

Claude Code Team Rollout

Portability: 4 stdlib scripts, no network, no LLM calls. They read config and counts; they change nothing.

One engineer's Claude Code setup is a preference. A team's is a policy. Settings merge from five scopes, permissions.allow arrays combine across files, and deny beats ask beats allow wherever it is written, so nobody can read the effective policy from a single file. This skill makes it readable, then checks it.

Workflow

# 1 - Guardrails: lint shared, local and managed settings together.
python scripts/settings_linter.py --repo . --managed /etc/claude-code/managed-settings.json
# 2 - Inventory: every MCP server, plugin and marketplace, against your approved list.
python scripts/mcp_plugin_inventory.py --repo . --allowlist approved.json
# 3 - Instructions: what CLAUDE.md actually loads, layer by layer.
python scripts/claude_md_layering_audit.py --repo .
# 4 - Adoption: each member runs this locally and shares only the JSON counts.
python scripts/adoption_tracker.py --member alice --output json > alice.json
python scripts/adoption_tracker.py --merge *.json --seats 12 --weeks-since-launch 6

Start from assets/managed-settings.example.json: bypass mode disabled, secrets denied, risky commands on ask, managed hooks only, an MCP and marketplace allowlist. Ship it through MDM before the first seat; policy added after habits form becomes a negotiation.

What blocks (exit 4)

  • Blanket shell allows (Bash, Bash(*)) and pre-approved destructive commands (force push, rm -rf, sudo, pipe-to-shell, publish, infra apply).
  • A literal credential in a shared settings env block, a committed .mcp.json, or a committed CLAUDE.md.
  • .claude/settings.local.json committed to git.
  • An MCP server, plugin or marketplace missing from the approved list.

Warnings cover dead rules (an allow that a deny shadows, mcp__* in allow), enableAllProjectMcpServers, unpinned npx servers, plain-http remotes, network-calling hooks, broken or too-deep @imports, duplicated or contradictory instructions, and resident CLAUDE.md size.

Hard rules

  1. Policy lives in managed settings. Project files cannot enable bypass mode or telemetry, and a team guardrail in a file anyone can edit is a suggestion.
  2. Approve MCP servers by name, URL or command, never by enableAllProjectMcpServers.
  3. Pin what runs. Unpinned npx/uvx servers and unpinned marketplaces change under you.
  4. Never collect transcripts. Share the adoption JSON (counts only); transcripts are plaintext and can hold secrets.
  5. Report findings, not verdicts on people. Adoption is a team metric; inactive seats are a rollout question, not a performance one.
  6. Settings keys change fast. An unknown key is INFO; check the settings reference before calling it a typo.

Scripts

ScriptRoleExit codes
scripts/settings_linter.pyS1-S12 across shared, local, user and managed scopes0 · 2 warn · 3 bad input · 4 blocker
scripts/mcp_plugin_inventory.pyOne table of servers, plugins, marketplaces; M1-M60 · 2 · 3 · 4
scripts/claude_md_layering_audit.pyResident vs on-demand layers, imports (4 hops), L1-L110 · 2 · 3 · 4
scripts/adoption_tracker.pyMember counts; team stage PILOT / SPREADING / EMBEDDED / STALLED0 · 2 stalled · 3

All support --sample and --output json.

References and assets

Repository

alirezarezvani/claude-skills

Path

.gemini/skills/coding-agent-rollout/SKILL.md

Last updated
First committed

Canonical home

alirezarezvani/claude-skills
In sync

since Oct 22, 2026

Also appears in

alirezarezvani/claude-skills
In sync

since Oct 22, 2026

alirezarezvani/claude-skills
Stale

last in sync Oct 22, 2026

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.