eclaflin/claude-dotfiles
Personal Claude Code skills and commands. Portable across machines via symlinks. Includes original, AI-assisted, and open source derived skills.
ARCHETYPE
Pragmatist
A balanced, no-drama setup: some rules, some tools, nothing extreme.
Copy this rig
# review before running: this installs third-party code
$ npx degit eclaflin/claude-dotfiles/skills ./rig-claude-dotfiles/skills MCP servers are added to Claude Code at local scope; env vars are shown as YOUR_… placeholders — we never store values. Files are fetched with degit into a separate folder so you can review before merging.
$ npx degit eclaflin/claude-dotfiles/skills/caveman .claude/skills/caveman $ npx degit eclaflin/claude-dotfiles/skills/grill-me .claude/skills/grill-me $ npx degit eclaflin/claude-dotfiles/skills/grill-with-docs .claude/skills/grill-with-docs $ npx degit eclaflin/claude-dotfiles/skills/handoff .claude/skills/handoff $ npx degit eclaflin/claude-dotfiles/skills/mentor .claude/skills/mentor $ npx degit eclaflin/claude-dotfiles/skills/nvim-tutor .claude/skills/nvim-tutor $ npx degit eclaflin/claude-dotfiles/skills/skill-creator .claude/skills/skill-creator
This rig commits no guardrails. Here is the community baseline instead — the deny/ask rules most often found across all 7,204 rigs:
{
"permissions": {
"deny": [
"Read(./.env)",
"Read(**/.env)",
"Read(~/.ssh/**)",
"Bash(rm -rf *)",
"Read(**/*.pem)",
"Bash(rm -rf /)",
"Bash(git push --force:*)",
"Bash(sudo *)",
"Read(.env)",
"Bash(rm -rf /*)",
"Read(./.env.*)",
"Read(~/.aws/**)",
"Bash(git push --force*)",
"Bash(rm -rf:*)",
"Read(**/*.key)",
"Read(**/.env.*)",
"Bash(sudo:*)",
"Bash(git reset --hard*)",
"Bash(git reset --hard:*)",
"Read(.env.*)"
],
"ask": [
"Bash(git push:*)",
"Bash(git push *)",
"Bash(git commit:*)",
"Bash(rm *)",
"Bash(rm:*)",
"Bash(git rebase *)",
"Bash(wget *)",
"Bash(npm publish:*)",
"Bash(git commit *)",
"Bash(gh pr merge *)"
]
}
}