harness/claude/skills/laptop-setup/SKILL.md
This skill should be used when the user says "install <something>", "brew install", "add a package", "install tool", "remove package", "add symlink", "add config", "update ansible", "change laptop setup", "add brew package", "add cask", or mentions modifying the dotfiles ansible playbook. Trigger on ANY install request for CLI tools or GUI apps.
npx skillsauth add popoffvg/dotfiles laptop-setupInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Manage the dotfiles-based laptop provisioning via ansible/install_packages.yaml.
Dotfiles repo: ~/Documents/git/dotfiles
All setup is declared in ansible/install_packages.yaml:
brew_packages — CLI tools installed via Homebrewbrew_casks — GUI apps installed via Homebrew Caskhome_symlinks — files from dotfiles root symlinked to $HOMEconfig_symlinks — dirs from .config/ symlinked to ~/.config/Read ansible/install_packages.yaml
Understand the current vars and tasks before making changes.
| User wants to... | Action |
|------------------------------|-----------------------------------------------------------|
| Add a CLI tool | Add to brew_packages under the right category comment |
| Add a GUI app | Add to brew_casks |
| Add a dotfile to $HOME | Add to home_symlinks, create the file in repo root |
| Add a config dir | Add to config_symlinks, create dir under .config/ |
| Add a setup step | Add a new task in the tasks section, in logical order |
| Remove a tool/app | Remove from vars list, remove related files/symlinks/tasks |
Edit ansible/install_packages.yaml with the minimal change needed.
# shell, # tools, # git, # dev, # terminal, # apps). Place new entries under the correct category.ansible-playbook ansible/install_packages.yaml --check --diff to verify syntax.# Dry-run to check for errors
ansible-playbook ansible/install_packages.yaml --check --diff -c local -i localhost,
# Full provisioning run
ansible-playbook ansible/install_packages.yaml -c local -i localhost,
# Just install packages (skip symlinks, hooks, etc.)
ansible-playbook ansible/install_packages.yaml -c local -i localhost, --tags packages
testing
Use when the user asks to create test sets, enumerate scenarios, generate edge cases, or draft a coverage matrix before implementation.
testing
Use when the user asks to review, audit, score, or validate test sets for missed cases before execution or merge.
tools
Test harness plugins in isolation using tmux panes. Runs MCP servers, unit tests, typecheck, and Claude plugin loading. Use when user says "test plugin", "check plugin", "run plugin tests", "validate plugin", or names a specific plugin to test.
development
Guide for designing integration and e2e tests using BDD (Behavior-Driven Development) methodology with Cucumber-style Given/When/Then scenarios. Use when writing or reviewing tests for any service, API, or component. Language-agnostic — covers scenario structure, step notation, assertion principles, async patterns, and common anti-patterns.