Dotfiles development
Use when working in this dotfiles repository - modifying shell configs, SSH, neovim, or scripts. Covers symlink architecture, agent selection, and permission model.From its SKILL.md
npx -y skills add JamesPrial/skills --skill dotfiles-developmentAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
4.7 KB, ~1.2k tokens by cl100k_base, as published. Nobody here has run it
Dotfiles Development
Symlink Architecture
~/.dotfiles -> <repo> # Primary anchor (points to repo root)
~/.zshrc # Bootstrap file (sources ~/.dotfiles/zshrc)
~/.ssh/config -> ~/.dotfiles/ssh/config
~/.config/nvim -> ~/.dotfiles/nvim
~/.claudescripts -> ~/.dotfiles/claudescripts
All paths resolve through ~/.dotfiles. Scripts find the repo via:
DOTFILES_DIR="$(readlink -f "$HOME/.dotfiles")"
Agent Selection
digraph agent_selection {
"Task type?" [shape=diamond];
"Git operation?" [shape=diamond];
"GitHub/Actions?" [shape=diamond];
"Writing script?" [shape=diamond];
"git-ops (Haiku)" [shape=box];
"gh-cli-expert (Sonnet)" [shape=box];
"bash-script-architect + bash-tdd-architect (parallel)" [shape=box];
"devops-infra-lead (Sonnet)" [shape=box];
"No agent needed" [shape=box];
"Task type?" -> "Git operation?";
"Git operation?" -> "git-ops (Haiku)" [label="yes"];
"Git operation?" -> "GitHub/Actions?" [label="no"];
"GitHub/Actions?" -> "gh-cli-expert (Sonnet)" [label="yes"];
"GitHub/Actions?" -> "Writing script?" [label="no"];
"Writing script?" -> "bash-script-architect + bash-tdd-architect (parallel)" [label="yes"];
"Writing script?" -> "devops-infra-lead (Sonnet)" [label="infra/CI work"];
"Writing script?" -> "No agent needed" [label="config edit"];
}
| Agent | Model | Use For |
|---|---|---|
git-ops | Haiku | All git operations - commits, branches, status. Isolates git context from main conversation. |
bash-script-architect | Haiku | Writing/debugging bash scripts |
bash-tdd-architect | inherit | TDD for bash scripts - runs IN PARALLEL with bash-script-architect |
gh-cli-expert | Sonnet | GitHub Actions failures, PR management, gh CLI |
devops-infra-lead | Sonnet | Infrastructure, CI/CD, system admin |
Important: For committing changes, use the git-ops agent (not generic skills). It keeps git output isolated from the main context window.
TDD for Scripts: When writing or modifying bash scripts, launch bash-tdd-architect IN PARALLEL with bash-script-architect. The TDD agent designs behavior-driven tests BEFORE seeing implementation, ensuring true test-first development.
Wrapper Scripts (claudescripts/)
| Script | Model | Purpose |
|---|---|---|
push | Haiku | Quick commit/push with conventional commits |
ghcli | Sonnet | GitHub CLI operations |
support | Opus | Bash debugging with web search |
Accessed via ~/.claudescripts symlink (in PATH).
Adding New Configurations
| Step | Action | Script to Update |
|---|---|---|
| 1 | Add file to repo root (no dot prefix) | — |
| 2 | Add chmod line for permissions | fix-perms (bin/dotfiles-fix-perms) |
| 3 | Add symlink if needed | install (bin/dotfiles-install) |
Detailed steps:
- Add file to repo root (no dot prefix in name)
- Update fix-perms — Add chmod line to
bin/dotfiles-fix-perms:- Scripts/dirs:
chmod 700 - Config files:
chmod 600
- Scripts/dirs:
- Update install (if needed) — Add symlink to
setup_symlinks()inbin/dotfiles-install
Common mistake: Forgetting the fix-perms step. Every new file needs a chmod line.
Permission Model
| Type | Permission | Example |
|---|---|---|
| Directories | 700 | nvim/, bin/ |
| Scripts | 700 | bin/dotfiles-install, bin/dotfiles-sync |
| Config files | 600 | zshrc, ssh/config |
Git hooks auto-fix permissions on pulls via bin/dotfiles-fix-perms.
Testing Changes
source ~/.zshrc # Reload shell config
./bin/dotfiles-install # Safe to re-run (idempotent)
ls -la # Verify permissions
Common Mistakes
| Mistake | Fix |
|---|---|
| Adding dot prefix to files | Use zshrc not .zshrc - symlinks add the dot |
| Forgetting fix-perms | Every new file needs a chmod line in bin/dotfiles-fix-perms |
| Wrong permission value | Scripts=700, configs=600 |
| Editing ~/.zshrc directly | Edit zshrc at repo root - bootstrap file just sources it |
| Hardcoding paths | Use $HOME/.dotfiles or resolve via symlink |
Key Files
bin/dotfiles-install- Bootstrap, symlinks, dependenciesbin/dotfiles-fix-perms- Permission managementbin/dotfiles-sync- Pull and fix permissionsCLAUDE.md- Repository overviewbin/CLAUDE.md- Scripts documentation
What ships with it: 16 files
61.0 KB alongside SKILL.md, 8 of them executable
agents/
- bash-script-architect.md6.9 KB
- bash-tdd-architect.md7.7 KB
- devops-infra-lead.md6.8 KB
- gh-cli-expert.md6.9 KB
- git-ops.md1.6 KB
- README.md1.3 KB
tests/
- helpers.shruns5.5 KB
- MANIFEST.md8.8 KB
- README.md7.4 KB
- run_tests.shruns2.6 KB
- test_add_config.shruns1.0 KB
- test_agent_git.shruns843 B
- test_agent_script.shruns923 B
- test_agent_tdd.shruns957 B
- test_permissions.shruns846 B
- test_symlink.shruns1008 B