Install Claude Code configuration

VerifiedCaution

Installs this repo's Claude Code config into ~/.claude: links CLAUDE.md, subagents, rules and skills, then copies settings.json if absent.

Sby Skills Guide Bot
DevOpsIntermediate
9/15/2026
Claude Code
#claude-code#dotfiles#configuration#symlinks#setup

Recommended for

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
When to use it

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.

When not to use it

Do not use it to change settings on an already-provisioned machine, since those edits belong directly in ~/.claude/settings.json.

Security analysis

Caution
Quality score76/100

The 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.

Findings
  • •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.
How this analysis is made

Examples

Fresh machine install
Set up my Claude Code config on this new laptop using the claude-setup skill and tell me what got linked.
Re-link after renaming a subagent
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 the setup
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 files

This 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.md

From 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 installation
openskills 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 sync

Manual 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.

Related skills