install
source · Clone the upstream repo
git clone https://github.com/diegosouzapw/awesome-omni-skill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/diegosouzapw/awesome-omni-skill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/tools/makefile" ~/.claude/skills/diegosouzapw-awesome-omni-skill-makefile-0afcc9 && rm -rf "$T"
manifest:
skills/tools/makefile/SKILL.mdsource content
Makefile Conventions
Installation constraint: Always use the Makefile for installing tools and applications. Never run
brew install, npm install -g, or other package manager commands directly — the Makefile is the single source of truth for what is installed and how it is configured.
Structure targets to be self-documenting: the target name should clearly indicate its purpose, avoiding the need for comments.
Sections (respect this organization)
: Shell and terminal tools (fish, tmux, nvim, wezterm...)terminal
: Development tools (cursor, docker, gh, terraform...)work
: Personal apps (obsidian, rust, spotify...)personal
: Utility applications (cleanshot, keycast...)utils
Target Patterns
- Tool targets depend on
and the binary pathbrew - Config targets create symlinks from
to~/.dotfiles/
or~/.config/~/ - Use
and${BREW_BIN}
variables for paths${APP_BIN} - GUI apps (
) are macOS-only; CLI tools should work on both macOS and Linux.app
Example
newtool: brew ${BREW_BIN}/newtool ${BREW_BIN}/newtool: brew install newtool
Note: Homebrew works on both macOS and Linux. For Linux-only alternatives, consider adding conditional targets.
Installation Workflow
When adding a new tool: (1) add it to the Makefile in the right section, (2) run
make <tool-name>. Do not install via brew install or npm install -g outside the Makefile.