Skip to content

Claude settings template: claude.ai skill sync and claude.ai MCP servers off (user-directed, measured unused) - #367

Merged
seathatflowsinourveins merged 1 commit into
mainfrom
claude/skills-context-trim-20260926
Sep 26, 2026
Merged

seathatflowsinourveins merged 1 commit into
mainfrom
claude/skills-context-trim-20260926

Conversation

@seathatflowsinourveins

Copy link
Copy Markdown
Collaborator

Scope

  • What this PR changes, in one or two sentences: the Claude settings template now turns off the claude.ai skill sync ("syncClaudeAiSkills": false) and the claude.ai MCP servers (env.ENABLE_CLAUDEAI_MCP_SERVERS: "false"), as the user directed on 2026-09-26: "disable the unused claude.ai skills and the docs connector". A dated addendum records the decision, both new-host pages mark the template change, and one test pins both values.
  • Base commit: dde28cc2005bff54e4be61195e76d63b166db4f4
  • Lane: lane:foundation (the manifests/evidence.json change only re-registers hashes, which docs/lanes.md says does not make a PR shared)
  • Owned paths touched: adoption/templates/claude.settings.template.json, adoption/bootstrap.md, adoption/platforms/macos-arm64.md, docs/decisions/2026-09-25-skills-trial-and-usage.md, tests/test_render_config.py, manifests/evidence.json (re-registration only)

Not in this PR: every skillOverrides state, adoption/skills/manifest.json and the Codex skill configuration are unchanged. The user replaced the same-day request to turn off never-used user and plugin skills with "don't just mindlessly delete, but improve their usage". Role-based skill wiring comes in a separate change.

SOTA sources

  • Claude Code docs, Extend Claude with skills, read 2026-09-26: "To stop syncing on a machine, set syncClaudeAiSkills to false in your user settings. Claude Code stops downloading, and the next time it starts it moves the skills it already synced to ~/.claude/skills/.trash/ and no longer loads them."
  • anthropics/claude-code CHANGELOG.md at 7779afb12e3635f46f56ec823979d68350ae000b (2026-09-25T21:49:55Z; the copy read here has the same sha256, prefix ae8f617c42850f48b143):
    • 2.1.275, L590: "Added syncing of the skills and plugins enabled on your claude.ai account to terminal sessions signed in with it; opt out with syncClaudeAiSkills: false or syncClaudeAiPlugins: false"
    • 2.1.63, L5695: "Added ENABLE_CLAUDEAI_MCP_SERVERS=false env var to opt out from making claude.ai MCP servers available"
  • This repository's propagation path: tools/adoption/apply_claude_settings.py deep-merges the rendered template into user settings (template scalars win; keys are never deleted), per docs/decisions/2026-09-25-skills-trial-and-usage.md "Mechanics".
  • This repository's usage baseline: the 2026-09-25 native /skill-doctor row in the same decision record (8 synced skills, none ever invoked).

Evidence-class table

Claim Evidence class Command / receipt
The rendered template carries syncClaudeAiSkills false (boolean) and ENABLE_CLAUDEAI_MCP_SERVERS "false" (string) local_integration tests/test_render_config.py test_claude_template_turns_off_claudeai_skill_sync_and_mcp_servers; it fails on all five mutants tried (sync true, sync removed, env boolean false, env "true", env removed)
The two settings stop the claude.ai skill sync and the claude.ai MCP servers source_review The docs sentence and the two CHANGELOG lines above
On this host, after both settings were applied, a fresh headless /skill-doctor run (Claude Code 2.1.283, 0 turns, $0) starts with 8 MCP servers, none from claude.ai, no claude_ai tool and no anthropic-skills:* skill; its table has no claude.ai sync row Native observation, no committed receipt (below native_proven) Coordinator's headless capture, 2026-09-26T20:00:30Z; summarized in the decision addendum
A session started on this host before the change exposed the connector as 8 mcp__claude_ai_Claude_Docs__* tools Native observation, no receipt This change's authoring session's own tool list
The synced skills and the connector went unused Scout measurement (not a receipt) plus the 2026-09-25 native baseline Read-only scan, 2026-09-26T20:15Z: 2,234 local Claude transcript files dated 2026-09-24 to 2026-09-26, 0 mcp__claude_ai_* tool calls, 0 of 384 Skill calls naming an anthropic-skills:* or synced skill
New-host pages disclose the template change against the pinned release v2026.09.26.2 local_integration tests/test_adoption_docs_consistency.py (links, markers and release-pin quotes pass)

Local commands run

All with the CI dependency venv (ci-venv/bin/python), in the branch worktree:

$ python scripts/validate.py
rc=0  {"components": 69, "hashed_files": 6990, "profiles": 4, "receipts": 159, "status": "passed"}
$ python scripts/evidence_manifest.py --check
rc=0  {"files": 6990, "status": "passed"}
$ python scripts/build_ecosystem.py --check
rc=0  {"status": "passed", ...}
$ python scripts/component_matrix.py --check
rc=0  {"rows": 32, "status": "checked"}
$ python scripts/new_host_grand_list.py --check
rc=0  {"status": "passed", "layers": 32, "winners": 66}
$ python -m unittest tests.test_render_config tests.test_adoption_docs_consistency tests.test_skills_manifest tests.test_install_claude_profile tests.test_apply_claude_settings tests.test_skills_status -q
rc=0  Ran 177 tests, OK (skipped=1: the profile-cell release-note check, "no profile's coverage differs")
$ python -m unittest discover -s tests -q
rc=0  Ran 6257 tests in 575.875s, OK (skipped=663)   (summary read from stderr)

The full suite ran before one prose-only edit, which pinned the CHANGELOG commit in the addendum. After it, the decision record was re-registered, and validate.py, evidence_manifest.py --check, build_ecosystem.py --check and the six touched modules above were run again, all with rc=0.

Decision record

docs/decisions/2026-09-25-skills-trial-and-usage.md, section "Addendum 2026-09-26: claude.ai skill sync and MCP servers off" (#addendum-2026-09-26-claudeai-skill-sync-and-mcp-servers-off): the user's sentence, the upstream sources, the measured use, the host read-back, the effect on selection rule 4, and the overturn (change the template value, not only the host).

Host evidence

Not applicable: no file under evidence/hosts/ changes.

Checklist

  • New/changed GitHub Actions are pinned to a full commit SHA with a
    version comment (no floating tags). (None changed.)
  • New/changed workflows declare top-level permissions: contents: read
    (or a narrower, explicitly justified addition). (None changed.)
  • No secrets are printed, logged or committed; no new required secret was
    added without a documented owner.
  • No new paid hosting, subscription or billing surface was introduced.
  • Peer-owned untracked files and worktrees were preserved (not deleted,
    moved or overwritten).

Residuals

  • adoption/skills/manifest.json excluded[] still gives "Duplicates of the synced anthropic-skills" (pdf, docx, xlsx, pptx) and the synced skill-creator copy as exclusion reasons. Where this template applies, those synced copies no longer load. The addendum records that they stay excluded on the user's finding that they went unused, and leaves re-wording the manifest text to the 2026-10-25 trial review.
  • The host read-back and the transcript scan are not committed receipts. The addendum states their evidence class, and no other host (including the Macs) has been read back.
  • syncClaudeAiPlugins is deliberately unset: the user did not ask for it, and the host's init event lists no claude.ai plugin.
  • On an already-applied host, the next apply_claude_settings.py run adds both keys. A host-only value is overwritten there because template scalars win, so re-enabling either one means changing the template (the addendum's overturn).

🤖 Generated with Claude Code

…ervers

The user asked on 2026-09-26 to "disable the unused claude.ai skills and
the docs connector". The template now sets "syncClaudeAiSkills": false
(Claude Code 2.1.275; per the skills docs, the client then moves skills it
already synced to ~/.claude/skills/.trash/ and no longer loads them) and
env ENABLE_CLAUDEAI_MCP_SERVERS "false" (2.1.63).
tools/adoption/apply_claude_settings.py carries both into applied hosts.

- docs/decisions/2026-09-25-skills-trial-and-usage.md: dated addendum with
  the user's sentence, the upstream sources (CHANGELOG pinned at
  anthropics/claude-code 7779afb12e36), measured use (the 2026-09-25
  /skill-doctor baseline and a read-only transcript scout), the host
  read-back, the effect on selection rule 4, and the overturn.
- adoption/bootstrap.md, adoption/platforms/macos-arm64.md: the template
  changed after `v2026.09.26.2`.
- tests/test_render_config.py: pins both values in the rendered template.
- manifests/evidence.json: re-registers the changed files.

skillOverrides, adoption/skills/manifest.json and the Codex skill
configuration are unchanged. The user withdrew the same-day request to
turn off never-used skills in favour of improving their use.

Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
@seathatflowsinourveins seathatflowsinourveins added the lane:foundation Foundation lane: Claude/Codex setup, hosts, memory, RAG, research, workers label Sep 26, 2026
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

lane:foundation Foundation lane: Claude/Codex setup, hosts, memory, RAG, research, workers

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant