Automated summary
Installs this repository's Claude Code configuration into ~/.claude by linking CLAUDE.md, the subagents, rules and skills, then copies the settings.json template only when no file exists yet.
Strengths
- Links files individually so Claude Code runtime state (sessions, caches, history) never lands back in the repository
- Idempotent and safe to re-run after adding, renaming or removing an agent or skill
- Never overwrites an existing settings.json — even a broken symlink — and preserves machine-local files such as learnings.md
- Ships an explicit verification pass: confirms planner/generator/evaluator, checks stale reviewer and reporter are gone, and that harness is available
Limitations
- Assumes a fixed repository location ($HOME/.dotfiles) and its own install.sh script
- Edits to the settings template are not propagated to installations that already have a settings.json
- Stale links are reported but not removed automatically; cleanup is manual and requires confirming each target's identity
Use it when setting up Claude Code on a new machine or after adding, renaming or changing a subagent, rule or skill in this repo.
Do not use it to change settings on an already-provisioned machine, since those edits belong directly in ~/.claude/settings.json.
Security analysis
CautionThe skill is a dotfiles installer that legitimately uses shell execution and filesystem linking/removal, which is powerful but not malicious. Removal steps are explicitly guarded with symlink-target resolution, hash/identity rechecks, and a prohibition on deleting machine-local files such as learnings.md. The main residual risk is that it delegates real work to an unshown install.sh and modifies global config, so it warrants caution rather than a clean 'safe' rating.
- •Runs a repository-local shell script (`$HOME/.dotfiles/.claude/skills/claude-setup/install.sh`) whose contents are not included in SKILL.md, so the actual link/copy/delete behavior cannot be verified from the skill alone.
- •Instructs the agent to remove stale symlinks and copied files under `~/.claude/agents`, `~/.claude/rules`, and `~/.claude/skills`; deletions are mitigated by identity checks and a 'never delete machine-local files' rule, but remain destructive if a match is misidentified.
- •Writes into user-global configuration (`~/.claude/CLAUDE.md`, agents, rules, skills, `settings.json`), affecting Claude Code behavior in every project on the machine.
- •No network calls, no credential/token access or exfiltration, no `curl | sh`, no obfuscated or encoded payloads, and no instruction to disable safety mechanisms.
Examples
Set up my Claude Code config on this new laptop using the claude-setup skill and tell me what got linked.I renamed a subagent in .claude/agents — re-run the claude-setup install and check ~/.claude/agents for stale links from the old name.Verify my ~/.claude installation: confirm planner, generator and evaluator are present, reviewer and reporter are gone, and settings.json matches the template or was left untouched.name: claude-setup description: Installs this repo's Claude Code configuration into ~/.claude - links CLAUDE.md, the planner/generator/evaluator subagents and the global skills, then copies the settings.json template only if ~/.claude/settings.json does not exist. Use when setting up Claude Code on a new machine, after adding, removing, renaming, or changing a subagent or a skill in this repo, or when asked to install, repair or verify the Claude Code setup.
claude-setup
setup.sh links the shell, vim and tmux config, and stops there. Everything under
~/.claude is installed by this skill instead, because one part of it -
~/.claude/settings.json - carries machine- and project-specific values. The
installer creates it from the template only when absent and leaves existing settings
unchanged.
What gets installed
| Source in this repo | Target | Notes |
| --- | --- | --- |
| .claude/CLAUDE.md | ~/.claude/CLAUDE.md | Loaded in every session, whatever the working directory. |
| .claude/agents/* | ~/.claude/agents/ | Linked file by file, never as a directory. |
| .claude/rules/* | ~/.claude/rules/ | Linked file by file. Path-scoped rules (paths: frontmatter) load only when Claude touches matching files. |
| .claude/skills/* | ~/.claude/skills/<name>/ | File by file, one directory per skill. claude-setup itself is skipped - it stays a project skill of this repo. |
| .claude/settings.json.template | ~/.claude/settings.json | Copied only when absent; existing files and symlinks are left unchanged. |
~/.claude/skills used to be a symlink to a separate skills repo; install.sh removes
that legacy symlink and replaces it with a real directory when it finds one.
Files are linked individually rather than linking the directory, for the same reason
as .config/<app>/ in setup.sh: Claude Code writes runtime state (sessions, caches,
history) into these directories, and a symlinked directory would drop that state into
this repo.
1. Link the files
Idempotent, and safe to re-run after adding an agent or a skill:
sh "$HOME/.dotfiles/.claude/skills/claude-setup/install.sh"
Report what it printed. A source removal or rename leaves the old target behind.
List ~/.claude/agents, ~/.claude/rules, and ~/.claude/skills; remove only
confirmed repository-owned stale files or links. Resolve symlink targets to the
removed repository source, or compare copies with the prior source or a pre-change
hash. Recheck that identity immediately before removal; preserve and report
mismatches. Never delete machine-local files such as learnings.md or whole
directories containing them.
2. Initialize settings.json once
install.sh copies .claude/settings.json.template to ~/.claude/settings.json
only when the destination is absent. Existing files and symlinks, including broken
symlinks, are left unchanged. Re-running setup or editing the template does not
update installed settings. This happens during setup, not on each application launch.
Edit the template to change defaults for new installations. It supplies the
permission mode, following the documented
permission modes.
The attribution.sessionUrl: false default keeps private conversation links out of
commits and pull requests. Machine-specific paths, credentials, plugin state, and
individual permission rules are configured in the installed environment. After
installation, manage settings in ~/.claude/settings.json.
3. Verify
Restart Claude Code after installation. Confirm that the repository-managed
custom agents are planner, generator, and evaluator, confirmed stale
reviewer and reporter definitions are absent, and harness is available.
Review and Report use the built-in general-purpose type.
A newly created settings.json should match the template; an
existing settings file should remain unchanged.
What is installed
Global CLAUDE.md
~/.claude/CLAUDE.md is read in every session regardless of the working directory.
Project level CLAUDE.md files are read in addition to it, and win where they conflict.
Subagents
Three custom agents are available from any project:
- planner - breaks a task into verifiable steps; writes no code
- generator - implements a plan and gets lint and tests passing
- evaluator - checks the result and returns PASS/FAIL with reproducible findings
Review and Report use fresh built-in general-purpose agents: Review runs the
adopted external tool and triages its findings; Report packages the outcome and
performs only explicitly authorized publication. Their contracts live in the
calling skills. Custom definitions and explicit caller prompts preserve role
separation; read the complete contract before reducing or moving an instruction.
harness
The skill that chains all five stages: plan, implement, check, external review, report -
looping evaluator findings back into generator, and reviewer findings back into
generator too, triaged by the Review policy the plan sets in advance - then delivering
the outcome as a report or a GitHub Pull Request/Issue. State passes
through files in the project's .claude/harness/<task-dir>/, so long tasks survive
context compaction and every agent is spawned fresh. Installed globally so it is one
/harness away in any project.
From the file to a first result
The download contains exactly the content displayed on this page. This copy may differ from the latest version in the source repository.
View the source and supporting filesThis download contains SKILL.md only. Any scripts, references, templates and dependencies are not included. Get the required files from the source, preserving their directory structure, before continuing.
1. Download the file
Download SKILL.mdFrom the root of a test project, save the file as .skill-downloads/install-claude-code-configuration-mu26hal3/SKILL.md, or use the command below. This folder is for inspecting the skill before installation.
Command for macOS/Linux or WSL: requires a POSIX shell and curl. On Windows without WSL, use the download button and create the folder manually.
mkdir -p '.skill-downloads/install-claude-code-configuration-mu26hal3' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/install-claude-code-configuration-mu26hal3/download' --output '.skill-downloads/install-claude-code-configuration-mu26hal3/SKILL.md.part' && mv '.skill-downloads/install-claude-code-configuration-mu26hal3/SKILL.md.part' '.skill-downloads/install-claude-code-configuration-mu26hal3/SKILL.md'2. Check prerequisites
Read SKILL.md before using it. If it references scripts or external services, inspect them and prepare the required access in your test environment.
No recognized prerequisites section in this file. This does not mean it is self-contained: libraries, tools and access requirements may be mentioned elsewhere in the content or source repository.
The platforms on this page are catalog indications. The paths below follow tool documentation; they do not prove this skill has been run in those tools. No minimum tool version is confirmed for this listing.
3. Load the skill
After inspection, copy the complete folder into your project using one of the commands below, then open a new tool session. The command stops if a folder with the same name already exists: compare the files before replacing it.
Claude Code
test -f '.skill-downloads/install-claude-code-configuration-mu26hal3/SKILL.md' && test -s '.skill-downloads/install-claude-code-configuration-mu26hal3/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/claude-setup' && cp -R '.skill-downloads/install-claude-code-configuration-mu26hal3' '.claude/skills/claude-setup'OpenSkills
OpenSkills must already be installed. The local install/read procedure is checked with OpenSkills 1.5.0, which requires Node.js ≥ 20.6.0. Catalog slugs are not resolved automatically.
Official OpenSkills installationopenskills install './.skill-downloads/install-claude-code-configuration-mu26hal3'openskills read 'install-claude-code-configuration-mu26hal3'Reading should display the installed file content and its base directory. It does not run the skill or install its dependencies.
For an agent that reads AGENTS.md, then sync the index. This command changes AGENTS.md: review the diff before using it.
openskills syncManual method or another tool: attach SKILL.md to a conversation, or open it in an agent that can read files. Include any required supporting resources. No universal folder is recognized by every tool.
4. Try a first task
Use a short, synthetic input: an API endpoint, a small document or an interface brief. In a new conversation, attach the file or give the agent its path, then adapt this request:
Read .skill-downloads/install-claude-code-configuration-mu26hal3/SKILL.md and apply its instructions to this example: [describe a test input]. Identify any missing files, dependencies or access. Produce the result requested by the skill without inventing data or running unreviewed scripts.Expected result: output matching the skill instructions, or a precise list of missing prerequisites. A read confirmation alone does not validate a first use. If an external resource is unavailable, that path remains untested.
Configure a Chat Channel with SecretRefs
DevOps
Set up chat channels using non-interactive commands, with secrets only as SecretRefs. Covers gather, mutate, repair, and prove steps for reliable delivery.
Investigate ClickHouse CI Failures
DevOps
Investigate a ClickHouse CI failure end-to-end from a PR or S3 report URL. Fetches failed tests, classifies flaky vs real regression, and checks for existing issues/fixes.
Ansible PR Review
DevOps
Reviews an Ansible PR following the project's standardized process, including changelog checks, test coverage validation, and feedback tracking.