~ / rigs / letitbk / claude-academic-setup

letitbk/claude-academic-setup

Claude Code + Cursor setup for academic social science researchers (R, Stata, Python). 22 skills, 13 plugins, 5 commands, 14 IDE extensions.

↗ GitHub ★ 46 MIT updated 4mo ago personal setup Claude CodeCodex
share on X
ARCHETYPE
YOLO Cowboy
Permissions? Never heard of 'em. Ships at the speed of `--dangerously-skip-permissions`.
CONTEXT TAX · EVERY TURN
~1.7k tokens
Featherweight · median rig: 2.3k · breakdown
GUARDRAILS
3/5
Blocks destructive commands · Protects secrets · Sandbox or ask-first rules · details

Copy this rig

# review before running: this installs third-party code
$ npx degit letitbk/claude-academic-setup/commands ./rig-claude-academic-setup/commands
$ npx degit letitbk/claude-academic-setup/skills ./rig-claude-academic-setup/skills
$ npx degit letitbk/claude-academic-setup/hooks ./rig-claude-academic-setup/hooks

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 letitbk/claude-academic-setup/skills/brainstorming .claude/skills/brainstorming
$ npx degit letitbk/claude-academic-setup/skills/catch-up .claude/skills/catch-up
$ npx degit letitbk/claude-academic-setup/skills/clean-survey-data .claude/skills/clean-survey-data
$ npx degit letitbk/claude-academic-setup/skills/codex .claude/skills/codex
$ npx degit letitbk/claude-academic-setup/skills/datacheck .claude/skills/datacheck
$ npx degit letitbk/claude-academic-setup/skills/dataverse-sync .claude/skills/dataverse-sync
$ npx degit letitbk/claude-academic-setup/skills/discuss-claims .claude/skills/discuss-claims
$ npx degit letitbk/claude-academic-setup/skills/doc .claude/skills/doc
$ npx degit letitbk/claude-academic-setup/skills/humanizer .claude/skills/humanizer
$ npx degit letitbk/claude-academic-setup/skills/marginaleffects .claude/skills/marginaleffects
$ npx degit letitbk/claude-academic-setup/skills/marp-slide .claude/skills/marp-slide
$ npx degit letitbk/claude-academic-setup/skills/napkin .claude/skills/napkin
$ npx degit letitbk/claude-academic-setup/skills/pdf .claude/skills/pdf
$ npx degit letitbk/claude-academic-setup/skills/playwright .claude/skills/playwright
$ npx degit letitbk/claude-academic-setup/skills/qualtrics-survey .claude/skills/qualtrics-survey
$ npx degit letitbk/claude-academic-setup/skills/screenshot .claude/skills/screenshot
$ npx degit letitbk/claude-academic-setup/skills/security-best-practices .claude/skills/security-best-practices
$ npx degit letitbk/claude-academic-setup/skills/skill-creator .claude/skills/skill-creator
$ npx degit letitbk/claude-academic-setup/skills/stop-slop .claude/skills/stop-slop
$ npx degit letitbk/claude-academic-setup/skills/survey-analysis .claude/skills/survey-analysis
$ npx degit letitbk/claude-academic-setup/skills/viz .claude/skills/viz

Merge into .claude/settings.json (project) or ~/.claude/settings.json (user). Hook commands reference scripts in the source repo — copy those too.

{
  "permissions": {
    "deny": [
      "Read(**/.ssh/*)",
      "Read(**/.aws/*)",
      "Read(**/.gnupg/*)",
      "Read(**/.env)",
      "Read(**/.env.*)",
      "Read(**/*credentials*)",
      "Read(**/*secret*)",
      "Read(**/*.pem)",
      "Read(**/*.key)",
      "Edit(**/.ssh/*)",
      "Edit(**/.aws/*)",
      "Edit(**/.gnupg/*)",
      "Edit(**/.env)",
      "Edit(**/.env.*)",
      "Edit(**/*credentials*)",
      "Edit(**/*secret*)",
      "Write(**/.ssh/*)",
      "Write(**/.aws/*)",
      "Write(**/.gnupg/*)",
      "Write(**/.env)",
      "Write(**/.env.*)",
      "Write(**/*credentials*)",
      "Write(**/*secret*)",
      "Bash(sudo *)",
      "Bash(rm -rf /*)",
      "Bash(rm -rf ~ *)",
      "Bash(dd *)",
      "Bash(mkfs *)",
      "Bash(fdisk *)",
      "Bash(shutdown *)",
      "Bash(reboot *)",
      "Bash(chmod 777 *)",
      "Bash(git push --force *)",
      "Bash(git push -f *)",
      "Bash(docker rm -f *)",
      "Bash(docker system prune *)"
    ]
  },
  "sandbox": {
    "enabled": true
  }
}

Skills (21)

Hooks (2)

eventmatcherruns
Stop*$HOME/.claude/hooks/check-docs-update.sh
PostToolUseWrite|Editf=$(jq -r '.tool_input.file_path'); if echo "$f" | grep -qE '\.json$'; then python3 -c "import json; json.load(open('$f'))" 2>&1 || true; elif echo "$f" | grep -qE '\.R$'; then R --no-save --no-restore -e "parse('$f')" 2>&1 | tail -3 || tru

Slash commands (7)

/analyze-function/page/plannotator-annotate/plannotator-last/plannotator-review/search-prompts/updates-git

Plugins (14)

code-simplifier@claude-plugins-officialclaude-notifications-go@claude-notifications-gosuperpowers@superpowers-marketplaceplannotator@plannotatorcontext7@claude-plugins-officialcode-review@claude-plugins-officialgithub@claude-plugins-officialfeature-dev@claude-plugins-officialralph-loop@claude-plugins-officialplaywright@claude-plugins-officialcommit-commands@claude-plugins-officialpyright-lsp@claude-plugins-officialplugin-dev@claude-plugins-officialclaude-hud@claude-hud

Permissions

deny (36)
Read(**/.ssh/*)
Read(**/.aws/*)
Read(**/.gnupg/*)
Read(**/.env)
Read(**/.env.*)
Read(**/*credentials*)
Read(**/*secret*)
Read(**/*.pem)
Read(**/*.key)
Edit(**/.ssh/*)
Edit(**/.aws/*)
Edit(**/.gnupg/*)
Edit(**/.env)
Edit(**/.env.*)
Edit(**/*credentials*)
Edit(**/*secret*)
Write(**/.ssh/*)
Write(**/.aws/*)
Write(**/.gnupg/*)
Write(**/.env)
Write(**/.env.*)
Write(**/*credentials*)
Write(**/*secret*)
Bash(sudo *)
Bash(rm -rf /*)
Bash(rm -rf ~ *)
Bash(dd *)
Bash(mkfs *)
Bash(fdisk *)
Bash(shutdown *)
Bash(reboot *)
Bash(chmod 777 *)
Bash(git push --force *)
Bash(git push -f *)
Bash(docker rm -f *)
Bash(docker system prune *)
ask (0)
—
allow (68)
Read
Edit
Write
Bash(npm run build)
Bash(npm run test:*)
Bash(npm run lint)
Bash(npm install)
Bash(npm ci)
Bash(npx *)
Bash(node *)
Bash(yarn *)
Bash(pnpm *)
Bash(git status)
Bash(git diff *)
Bash(git log *)
Bash(git branch *)
Bash(git show *)
Bash(git stash list)
Bash(git add *)
Bash(git commit *)
Bash(git checkout *)
Bash(git switch *)
Bash(git merge *)
Bash(git rebase *)
Bash(git pull *)
Bash(git push)
Bash(git push origin *)
Bash(ls *)
Bash(pwd)
Bash(which *)
Bash(echo *)
Bash(cat *)
Bash(head *)
Bash(tail *)
Bash(wc *)
Bash(sort *)
Bash(uniq *)
Bash(find *)
Bash(grep *)
Bash(rg *)
Bash(python *)
Bash(python3 *)
Bash(pip install *)
Bash(pip3 install *)
Bash(Rscript *)
Bash(R CMD *)
Bash(renv::*)
Bash(stata *)
Bash(stata-mp *)
Bash(snakemake *)
Bash(docker build *)
Bash(docker run *)
Bash(docker compose *)
Bash(docker ps *)
Bash(docker images *)
Bash(docker logs *)
Bash(make *)
Bash(quarto *)
Bash(pandoc *)
Bash(latexmk *)

Similar rigs

copied ✓