Migrate installation to Vercel skills CLI

Amolith created

Remove Makefile, update README and skill-stats.go to use `aubx skills
add`
for installing and updating skills instead of `make` commands.

Change summary

Makefile       |  37 -------------
README.md      | 138 ++++++++++++++++-----------------------------------
skill-stats.go |   5 +
3 files changed, 48 insertions(+), 132 deletions(-)

Detailed changes

Makefile 🔗

@@ -1,37 +0,0 @@
-SKILL_DIR ?= $(HOME)/.agents/skills
-SKILLS := $(patsubst skills/%/,%,$(wildcard skills/*/))
-
-UNINSTALL_TARGETS := $(addprefix uninstall-,$(SKILLS))
-
-.PHONY: list all uninstall $(SKILLS) $(UNINSTALL_TARGETS)
-
-list:
-	@echo "Available skills:"
-	@printf "  %s\n" $(SKILLS)
-	@echo ""
-	@echo "Install with: make <skill-name> [SKILL_DIR=path]"
-	@echo "Default target: $(SKILL_DIR)"
-
-all: $(SKILLS)
-
-$(SKILLS):
-	@mkdir -p "$(SKILL_DIR)"
-	@ln -sfn "$(CURDIR)/skills/$@" "$(SKILL_DIR)/$@"
-	@echo "Installed $@ → $(SKILL_DIR)/$@"
-
-$(UNINSTALL_TARGETS):
-	$(eval SKILL := $(patsubst uninstall-%,%,$@))
-	@if [ -e "$(SKILL_DIR)/$(SKILL)" ]; then \
-		rm -f "$(SKILL_DIR)/$(SKILL)"; \
-		echo "Uninstalled $(SKILL) from $(SKILL_DIR)"; \
-	else \
-		echo "Warning: $(SKILL) not found in $(SKILL_DIR)" >&2; \
-	fi
-
-uninstall:
-	@for skill in $(SKILLS); do \
-		if [ -e "$(SKILL_DIR)/$$skill" ]; then \
-			rm -f "$(SKILL_DIR)/$$skill"; \
-			echo "Uninstalled $$skill from $(SKILL_DIR)"; \
-		fi; \
-	done

README.md 🔗

@@ -21,86 +21,39 @@ I've used and tested them most with [Crush], [Pi], [Amp], and [Shelley].
 
 ## Installation
 
-If you're using [Amp], run `amp skill add
-https://git.secluded.site/agent-skills`. Otherwise, clone the repository, then
-install via `make` or manual symlinks.
+Use Vercel's [skills CLI] to install all skills globally:
 
-[Amp]: https://ampcode.com
-
-```sh
-git clone https://git.secluded.site/agent-skills
-cd agent-skills
-```
-
-### With Make
-
-Skills install to `~/.agents/skills/` by default. Override by setting
-`SKILL_DIR`. Tab completion works so you don't have to remember skill names or
-copy/paste.
-
-```sh
-# List available skills
-make list
-
-# Install all skills to default dir
-make all
-
-# Install specific skills to Claude Code
-SKILL_DIR=$HOME/.claude/skills make authoring-skills formatting-commits
-
-# Remove a specific skill from the default dir
-make uninstall-authoring-skills
-
-# Remove all skills from Codex
-make uninstall SKILL_DIR=$HOME/.codex/skills
-```
-
-### With symlinks
+[skills CLI]: https://github.com/vercel-labs/skills
 
 ```sh
-# Install all skills
-for s in skills/*/; do ln -s "$PWD/$s" ~/.agents/skills/; done
-
-# Install specific skills
-ln -s "$PWD/skills/authoring-skills" ~/.agents/skills/
-
-# Remove a skill
-rm ~/.agents/skills/formatting-commits
+# aubx, bunx, npx
+aubx -y skills add https://git.secluded.site/agent-skills --yes --global
 ```
 
-### Agent skill directories
-
-| Agent                     | Dir                   |
-| ------------------------- | --------------------- |
-| [Crush], [Shelley], [Amp] | `~/.agents/skills/`   |
-| [Pi]                      | `~/.pi/agent/skills/` |
-| Anthropic's Claude Code   | `~/.claude/skills/`   |
-| OpenAI's Codex            | `~/.codex/skills/`    |
+There are commands for installing individual skills in [§&nbsp;Available
+skills](#available-skills).
 
 ## Updating
 
 ```sh
-cd ~/path/to/agent-skills
-git pull
+# aubx, bunx, npx
+aubx -y skills update --global --yes
 ```
 
-Symlinked skills update automatically.
-
 ## Available skills
 
 Each skill below lists its install command, source path, and token counts. The
 counts are computed by [./skill-stats.go](./skill-stats.go) against
-[Synthetic.new]'s [/messages/count_tokens] endpoint.
+Anthropic's [/messages/count_tokens] endpoint.
 
-[Synthetic.new]: https://synthetic.new
-[/messages/count_tokens]: https://dev.synthetic.new/docs/anthropic/messages/count-tokens
+[/messages/count_tokens]: https://platform.claude.com/docs/en/api/messages/count_tokens
 
 ### addressing-code-review-comments
 
 Finds `CR:` comments in code, gathers feedback, and carries out requested
 changes.
 
-- Install with: `make addressing-code-review-comments`
+- Install with: `aubx skills add https://git.secluded.site/agent-skills --skill addressing-code-review-comments --yes --global`
 - Source: [skills/addressing-code-review-comments/](skills/addressing-code-review-comments/)
 - Name/desc: 81 tok
 - SKILL.md: 444 tok
@@ -112,7 +65,7 @@ Applies Amolith's opinions across project setup, tooling, licensing,
 dependencies, mise tasks, CLIs, TUIs, MCP servers, web apps, packaging/releases,
 testing, and Go-specific ecosystem defaults.
 
-- Install with: `make amoliths-opinions`
+- Install with: `aubx skills add https://git.secluded.site/agent-skills --skill amoliths-opinions --yes --global`
 - Source: [skills/amoliths-opinions/](skills/amoliths-opinions/)
 - Name/desc: 167 tok
 - SKILL.md: 958 tok
@@ -124,7 +77,7 @@ Writes [ast-grep] rules for structural code search and modification.
 
 [ast-grep]: https://github.com/ast-grep/ast-grep
 
-- Install with: `make ast-grep`
+- Install with: `aubx skills add https://git.secluded.site/agent-skills --skill ast-grep --yes --global`
 - Source: [skills/ast-grep/](skills/ast-grep/)
 - Name/desc: 137 tok
 - SKILL.md: 4731 tok
@@ -134,7 +87,7 @@ Writes [ast-grep] rules for structural code search and modification.
 
 Audits open source repositories for security, privacy, and unexpected behavior.
 
-- Install with: `make auditing-repositories`
+- Install with: `aubx skills add https://git.secluded.site/agent-skills --skill auditing-repositories --yes --global`
 - Source: [skills/auditing-repositories/](skills/auditing-repositories/)
 - Name/desc: 113 tok
 - SKILL.md: 1983 tok
@@ -145,7 +98,7 @@ Audits open source repositories for security, privacy, and unexpected behavior.
 Creates and reviews Agent Skills following best practices. Covers skill
 structure, frontmatter, and progressive disclosure patterns.
 
-- Install with: `make authoring-skills`
+- Install with: `aubx skills add https://git.secluded.site/agent-skills --skill authoring-skills --yes --global`
 - Source: [skills/authoring-skills/](skills/authoring-skills/)
 - Name/desc: 71 tok
 - SKILL.md: 1499 tok
@@ -157,7 +110,7 @@ Writes and manages keld configuration for restic backups. Covers TOML preset
 structure, split preset composition (`home@cloud`), config file discovery,
 environment variables, and systemd timer setup.
 
-- Install with: `make backing-up-with-keld`
+- Install with: `aubx skills add https://git.secluded.site/agent-skills --skill backing-up-with-keld --yes --global`
 - Source: [skills/backing-up-with-keld/](skills/backing-up-with-keld/)
 - Name/desc: 72 tok
 - SKILL.md: 3077 tok
@@ -171,7 +124,7 @@ both contributing and reviewing patch requests using `git format-patch` and
 
 [pr.pico.sh]: https://pr.pico.sh
 
-- Install with: `make collaborating-through-pr-pico-sh`
+- Install with: `aubx skills add https://git.secluded.site/agent-skills --skill collaborating-through-pr-pico-sh --yes --global`
 - Source: [skills/collaborating-through-pr-pico-sh/](skills/collaborating-through-pr-pico-sh/)
 - Name/desc: 103 tok
 - SKILL.md: 849 tok
@@ -182,7 +135,7 @@ both contributing and reviewing patch requests using `git format-patch` and
 Computes Golden Ratio Typography line heights, spacing units, type scales, and
 readable measures from a font file or explicit font metrics.
 
-- Install with: `make computing-golden-ratio-typography`
+- Install with: `aubx skills add https://git.secluded.site/agent-skills --skill computing-golden-ratio-typography --yes --global`
 - Source: [skills/computing-golden-ratio-typography/](skills/computing-golden-ratio-typography/)
 - Name/desc: 120 tok
 - SKILL.md: 1901 tok
@@ -194,7 +147,7 @@ Guides home cooking as a technically grounded collaborator. Helps plan meals,
 use odds and ends, troubleshoot techniques, handle substitutions, and reason
 through cuisine-specific flavor logic without flattening regional traditions.
 
-- Install with: `make cooking`
+- Install with: `aubx skills add https://git.secluded.site/agent-skills --skill cooking --yes --global`
 - Source: [skills/cooking/](skills/cooking/)
 - Name/desc: 283 tok
 - SKILL.md: 5428 tok
@@ -209,7 +162,7 @@ windows.
 [lune]: https://git.secluded.site/lune
 [Lunatask]: https://lunatask.app/
 
-- Install with: `make creating-tasks-through-lunatask`
+- Install with: `aubx skills add https://git.secluded.site/agent-skills --skill creating-tasks-through-lunatask --yes --global`
 - Source: [skills/creating-tasks-through-lunatask/](skills/creating-tasks-through-lunatask/)
 - Name/desc: 84 tok
 - SKILL.md: 1190 tok
@@ -220,7 +173,7 @@ windows.
 Provides a fallback-only external review flow via CLI tools like Amp,
 CodeRabbit, or Kodus.
 
-- Install with: `make fallback-code-review`
+- Install with: `aubx skills add https://git.secluded.site/agent-skills --skill fallback-code-review --yes --global`
 - Source: [skills/fallback-code-review/](skills/fallback-code-review/)
 - Name/desc: 136 tok
 - SKILL.md: 773 tok
@@ -231,7 +184,7 @@ CodeRabbit, or Kodus.
 Detects a project's commit style from recent history and formats messages
 accordingly. Supports Conventional Commits and kernel-style imperative commits.
 
-- Install with: `make formatting-commits`
+- Install with: `aubx skills add https://git.secluded.site/agent-skills --skill formatting-commits --yes --global`
 - Source: [skills/formatting-commits/](skills/formatting-commits/)
 - Name/desc: 116 tok
 - SKILL.md: 514 tok
@@ -243,7 +196,7 @@ Strives to generate accessible HTML, React, and frontend code following WCAG
 2.2 AA. Prioritizes semantic HTML over ARIA, keyboard navigation, and screen
 reader compatibility.
 
-- Install with: `make frontend-accessibility`
+- Install with: `aubx skills add https://git.secluded.site/agent-skills --skill frontend-accessibility --yes --global`
 - Source: [skills/frontend-accessibility/](skills/frontend-accessibility/)
 - Name/desc: 112 tok
 - SKILL.md: 1900 tok
@@ -254,7 +207,7 @@ reader compatibility.
 Queries customer data responsibly—the agent answers questions about the data
 without ever seeing it directly.
 
-- Install with: `make handling-customer-data`
+- Install with: `aubx skills add https://git.secluded.site/agent-skills --skill handling-customer-data --yes --global`
 - Source: [skills/handling-customer-data/](skills/handling-customer-data/)
 - Name/desc: 93 tok
 - SKILL.md: 1221 tok
@@ -268,7 +221,7 @@ Originally from [blader/humanizer].
 
 [blader/humanizer]: https://github.com/blader/humanizer
 
-- Install with: `make humanize`
+- Install with: `aubx skills add https://git.secluded.site/agent-skills --skill humanize --yes --global`
 - Source: [skills/humanize/](skills/humanize/)
 - Name/desc: 191 tok
 - SKILL.md: 3110 tok
@@ -280,7 +233,7 @@ Guides collaborative discovery of behaviour through structured conversation,
 iterating with the user to refine ideas into user stories and Gherkin
 scenarios. Works for any language or framework.
 
-- Install with: `make ideating-with-bdd`
+- Install with: `aubx skills add https://git.secluded.site/agent-skills --skill ideating-with-bdd --yes --global`
 - Source: [skills/ideating-with-bdd/](skills/ideating-with-bdd/)
 - Name/desc: 223 tok
 - SKILL.md: 2533 tok
@@ -291,7 +244,7 @@ scenarios. Works for any language or framework.
 Runs an extremely strict maintainability review for abstraction quality, giant
 files, and spaghetti-condition growth.
 
-- Install with: `make in-session-review`
+- Install with: `aubx skills add https://git.secluded.site/agent-skills --skill in-session-review --yes --global`
 - Source: [skills/in-session-review/](skills/in-session-review/)
 - Name/desc: 109 tok
 - SKILL.md: 3958 tok
@@ -303,7 +256,7 @@ Analyses a codebase and creates or updates `AGENTS.md` to help future agents
 work effectively. Discovers commands, conventions, patterns, and gotchas from
 the project's source and config files.
 
-- Install with: `make initialising-and-updating-agents-md`
+- Install with: `aubx skills add https://git.secluded.site/agent-skills --skill initialising-and-updating-agents-md --yes --global`
 - Source: [skills/initialising-and-updating-agents-md/](skills/initialising-and-updating-agents-md/)
 - Name/desc: 111 tok
 - SKILL.md: 1426 tok
@@ -315,7 +268,7 @@ Spawns subagents with restricted tool access for parallel tasks across
 repositories. Requires [the Pi coding agent][Pi]. Useful for summarizing git
 history or processing large diffs without filling the main context window.
 
-- Install with: `make invoking-subagents`
+- Install with: `aubx skills add https://git.secluded.site/agent-skills --skill invoking-subagents --yes --global`
 - Source: [skills/invoking-subagents/](skills/invoking-subagents/)
 - Name/desc: 85 tok
 - SKILL.md: 766 tok
@@ -327,7 +280,7 @@ Manages REUSE-compliant licensing with the `reuse` CLI. Covers `reuse annotate`,
 `.license` sidecars for prompt files, custom `LicenseRef-...` identifiers,
 `LICENSES/`, project conventions, and `reuse lint`.
 
-- Install with: `make licensing-with-reuse`
+- Install with: `aubx skills add https://git.secluded.site/agent-skills --skill licensing-with-reuse --yes --global`
 - Source: [skills/licensing-with-reuse/](skills/licensing-with-reuse/)
 - Name/desc: 117 tok
 - SKILL.md: 2059 tok
@@ -339,7 +292,7 @@ Creates and updates AUR packages following Arch packaging standards. Covers
 PKGBUILDs for source, `-bin`, and `-git` package types, checksums with
 `updpkgsums`, linting with `namcap`, and `.SRCINFO` generation.
 
-- Install with: `make maintaining-aur-packages`
+- Install with: `aubx skills add https://git.secluded.site/agent-skills --skill maintaining-aur-packages --yes --global`
 - Source: [skills/maintaining-aur-packages/](skills/maintaining-aur-packages/)
 - Name/desc: 119 tok
 - SKILL.md: 2496 tok
@@ -352,7 +305,7 @@ concept-oriented notes, a dense wikilink graph, and disciplined tags instead of
 dumping transcripts. Tool-agnostic across Markdown vaults like Obsidian,
 Logseq, Roam, and SilverBullet.
 
-- Install with: `make managing-personal-knowledge`
+- Install with: `aubx skills add https://git.secluded.site/agent-skills --skill managing-personal-knowledge --yes --global`
 - Source: [skills/managing-personal-knowledge/](skills/managing-personal-knowledge/)
 - Name/desc: 247 tok
 - SKILL.md: 2935 tok
@@ -363,7 +316,7 @@ Logseq, Roam, and SilverBullet.
 Deploys and manages Munin monitoring across servers. Sets up munin-node on
 hosts, writes plugins, configures masters, and handles alerts.
 
-- Install with: `make monitoring-with-munin`
+- Install with: `aubx skills add https://git.secluded.site/agent-skills --skill monitoring-with-munin --yes --global`
 - Source: [skills/monitoring-with-munin/](skills/monitoring-with-munin/)
 - Name/desc: 117 tok
 - SKILL.md: 3432 tok
@@ -376,7 +329,7 @@ turn.
 
 [ntfy.sh]: https://ntfy.sh
 
-- Install with: `make notifying-through-ntfy`
+- Install with: `aubx skills add https://git.secluded.site/agent-skills --skill notifying-through-ntfy --yes --global`
 - Source: [skills/notifying-through-ntfy/](skills/notifying-through-ntfy/)
 - Name/desc: 70 tok
 - SKILL.md: 1832 tok
@@ -388,7 +341,7 @@ Manages git rebase workflows from simple rebases to the drop-and-repick
 integration branch pattern. Assumes `upstream` remote for forks and `rerere`
 enabled. Supports worktrees including `wt`-managed repos.
 
-- Install with: `make rebasing-with-git`
+- Install with: `aubx skills add https://git.secluded.site/agent-skills --skill rebasing-with-git --yes --global`
 - Source: [skills/rebasing-with-git/](skills/rebasing-with-git/)
 - Name/desc: 137 tok
 - SKILL.md: 3937 tok
@@ -402,7 +355,7 @@ codebases without filling the main context window.
 
 [rumilo]: https://git.secluded.site/rumilo
 
-- Install with: `make researching-with-rumilo`
+- Install with: `aubx skills add https://git.secluded.site/agent-skills --skill researching-with-rumilo --yes --global`
 - Source: [skills/researching-with-rumilo/](skills/researching-with-rumilo/)
 - Name/desc: 101 tok
 - SKILL.md: 1970 tok
@@ -414,7 +367,7 @@ Creates executable Go scripts using a shell trick (not a true shebang). For
 automation and tooling outside of Go projects. For scripting in a non-Go
 project, copy the header comment and adjust as needed.
 
-- Install with: `make scripting-with-go`
+- Install with: `aubx skills add https://git.secluded.site/agent-skills --skill scripting-with-go --yes --global`
 - Source: [skills/scripting-with-go/](skills/scripting-with-go/)
 - Name/desc: 93 tok
 - SKILL.md: 1250 tok
@@ -427,7 +380,7 @@ Drives BDD, red/green TDD, and property-based testing in Go projects using
 
 [gocuke]: https://github.com/tenntenn/gocuke
 
-- Install with: `make testing-with-gocuke-and-gherkin`
+- Install with: `aubx skills add https://git.secluded.site/agent-skills --skill testing-with-gocuke-and-gherkin --yes --global`
 - Source: [skills/testing-with-gocuke-and-gherkin/](skills/testing-with-gocuke-and-gherkin/)
 - Name/desc: 150 tok
 - SKILL.md: 1093 tok
@@ -441,7 +394,7 @@ definitions and community usage tags.
 
 [nimi.li]: https://nimi.li
 
-- Install with: `make toki-pona-dictionary`
+- Install with: `aubx skills add https://git.secluded.site/agent-skills --skill toki-pona-dictionary --yes --global`
 - Source: [skills/toki-pona-dictionary/](skills/toki-pona-dictionary/)
 - Name/desc: 128 tok
 - SKILL.md: 407 tok
@@ -452,7 +405,7 @@ definitions and community usage tags.
 Synchronizes model configurations across Zed, Crush, and Pi from Plexus'
 /v1/models endpoint.
 
-- Install with: `make updating-llm-client-model-lists`
+- Install with: `aubx skills add https://git.secluded.site/agent-skills --skill updating-llm-client-model-lists --yes --global`
 - Source: [skills/updating-llm-client-model-lists/](skills/updating-llm-client-model-lists/)
 - Name/desc: 99 tok
 - SKILL.md: 3835 tok
@@ -465,7 +418,7 @@ disks, instant HTTPS, and built-in auth via SSH.
 
 [exe.dev]: https://exe.dev
 
-- Install with: `make using-exe-dev`
+- Install with: `aubx skills add https://git.secluded.site/agent-skills --skill using-exe-dev --yes --global`
 - Source: [skills/using-exe-dev/](skills/using-exe-dev/)
 - Name/desc: 79 tok
 - SKILL.md: 705 tok
@@ -478,7 +431,7 @@ diff reading, and common pitfalls that trip up agents.
 
 [jujutsu]: https://jj-vcs.github.io/jj/latest/
 
-- Install with: `make using-jujutsu`
+- Install with: `aubx skills add https://git.secluded.site/agent-skills --skill using-jujutsu --yes --global`
 - Source: [skills/using-jujutsu/](skills/using-jujutsu/)
 - Name/desc: 101 tok
 - SKILL.md: 1170 tok
@@ -490,7 +443,7 @@ Manages persistent terminal sessions for background processes, dev servers, and
 long-running tasks. Creates sessions, runs commands detached, checks output, and
 writes files into sessions over SSH.
 
-- Install with: `make working-with-zmx`
+- Install with: `aubx skills add https://git.secluded.site/agent-skills --skill working-with-zmx --yes --global`
 - Source: [skills/working-with-zmx/](skills/working-with-zmx/)
 - Name/desc: 108 tok
 - SKILL.md: 838 tok
@@ -503,7 +456,7 @@ and Conventional Commits via [git-format].
 
 [git-format]: https://git.secluded.site/git-format
 
-- Install with: `make writing-git-tags`
+- Install with: `aubx skills add https://git.secluded.site/agent-skills --skill writing-git-tags --yes --global`
 - Source: [skills/writing-git-tags/](skills/writing-git-tags/)
 - Name/desc: 80 tok
 - SKILL.md: 1440 tok
@@ -515,7 +468,7 @@ Writes idiomatic Rust with strict quality gates: `cargo fmt`, `clippy -- -D
 warnings`, and required tests. Enforces `thiserror` for libs, `anyhow` for apps,
 warns against common anti-patterns.
 
-- Install with: `make writing-rust`
+- Install with: `aubx skills add https://git.secluded.site/agent-skills --skill writing-rust --yes --global`
 - Source: [skills/writing-rust/](skills/writing-rust/)
 - Name/desc: 91 tok
 - SKILL.md: 2348 tok
@@ -554,7 +507,6 @@ complete example workflow.
 
 Some other tools if these interested you
 
-- [wt](https://git.secluded.site/wt) - CLI for managing git worktrees
 - [git-format](https://git.secluded.site/git-format) - CLI that turns LLM input
   into well-formatted conventional commits and tags
 - [garble](https://git.secluded.site/garble) - transform stdin with an LLM (fix

skill-stats.go 🔗

@@ -629,8 +629,9 @@ func renderSection(s SkillInfo, paragraph []string) []string {
 		bodyTk = s.Tokens.Body
 		totalTk = s.Tokens.Total
 	}
-	out = append(out,
-		fmt.Sprintf("- Install with: `make %s`", s.Dir),
+	out = append(
+		out,
+		fmt.Sprintf("- Install with: `aubx skills add https://git.secluded.site/agent-skills --skill %s --yes --global`", s.Frontmatter.Name),
 		fmt.Sprintf("- Source: [skills/%s/](skills/%s/)", s.Dir, s.Dir),
 		fmt.Sprintf("- Name/desc: %d tok", nameDesc),
 		fmt.Sprintf("- SKILL.md: %d tok", bodyTk),