makerskills
An opinionated operator's toolkit by Corey Haines that treats each SKILL.md as executable workflow documentation, with a public-repo-plus-private-config split and a semver-per-skill discipline.
This is one of the most thoughtfully architected skill packs GearScope has reviewed. The documentation-first philosophy, composition map, and public/private split are real craft. It loses a half-point only to small polish bugs (a duplicate heading, an internal contradiction in the paste skill, and a marketplace manifest that fails strict validation) and to a heavyweight dependency surface for the skills that do real work.
$/plugin marketplace add coreyhaines31/makerskills then /plugin install makerskills@makerskills
$git clone https://github.com/coreyhaines31/makerskills ~/code/makerskills then ln -s ~/code/makerskills ~/.claude/plugins/makerskills
$no skills.sh / npx universal installer; Claude Code plugin or manual symlink only
install if
- Founders and indie operators running several projects. The decision, CFO, knowledge, and project-management skills map directly onto the recurring jobs of someone wearing many hats, and the composition model means adopting one skill makes adjacent ones more useful.
- Operators who want a template for building their own skill pack. The meta trio (
skillify,toolify,loopify), the public-plus-private-config split, and the per-skill semver policy are a reusable blueprint for anyone authoring a personal or team skill collection. - Claude Code users who value documentation-first tooling. Because every SKILL.md is human-readable executable documentation, you can learn the methodology (37signals decisions, Karpathy wiki, Laura Roeder domains) and run the steps by hand even without the agent.
skip if
- Teams standardized on a non-Claude-Code host with no manual-copy appetite. There is no skills.sh or npx universal installer, and several skills default to Mac-only tools. Cursor, Codex, and Hermes users can follow the markdown by hand, but they lose the slash-command invocation surface.
- Anyone who wants turnkey, dependency-light skills out of the box. The minimal path (
decide,paste,pm) is light, but the skills that do the heaviest lifting (watch-video,jab-hook,domain,company-cfo) pull in a substantial tool and API-key stack. - Readers who dislike opinion-laden methodology. Several skills are built around specific named frameworks (Gary Vee's jab-hook, 37signals' decision guide). If those frameworks are not your taste, the skills need adapting before they fit.
What It Does
makerskills is a Claude Code plugin that bundles 19 agent skills aimed at founders and indie operators running multiple projects. By Corey Haines (founder of Conversion Factory and Magister), it covers six families: a meta trio that extends Claude Code (skillify, toolify, loopify), decision and strategy (decide, business-brainstorm, deep-research, domain, unstuck), knowledge consumption (second-brain, company-brain, read-book, watch-video), output and creative (jab-hook, slide-deck), and operations (pm, personal-cfo, company-cfo, paste, social-fetch). The defining idea is documentation-first: every SKILL.md is a workflow document that Claude executes at invocation time, so a human can read any skill and run the steps by hand. The repo is a public-and-generic layer, while personal data (Typefully IDs, portfolio properties, voice overlays, archives) lives in a separate gitignored ~/.config/makerskills/ directory.
The Good
The architecture is the standout. The public-repo-plus-private-config split is documented in ARCHITECTURE.md with an explicit rationale and a confirmed history scrub: the repo was publicly flipped on 2026-06-28 via git filter-repo to strip pre-flip personal data, and the CHANGELOG records three follow-up passes that generalized residual brand names, partner names, and hardcoded author identity. The env-var contract (MAKERSKILLS_CONFIG with per-skill overrides) is consistent across all 19 skills. Each skill archives its output to $MAKERSKILLS_CONFIG/ rather than inside its own install tree, and v1.2.0 explicitly fixed a real bug where installers that re-sync skills from source wiped user archives on upgrade.
The composition model is concrete and verifiable. README ships a composition map (watch-video 54 refs, skillify 51, second-brain 48, slide-deck 38, company-brain 33, domain 32) and every skill ends with a ## Composes with section naming its siblings. I checked all 19 skills referenced in the README routing table against the filesystem: 19 of 19 resolve to a real skills/. Skills route to each other by name rather than reimplementing, and cross-plugin references (marketingskills:cro) resolve at invocation time with no manifest linking.
The documentation system is exemplary and honest. Beyond the README (231 lines), the repo ships INSTALL.md, ARCHITECTURE.md, a 179-line CHANGELOG following Keep a Changelog, a 150-line FAQ, a 458-line EXAMPLES.md with one worked example per skill, CONTRIBUTING.md, and a BACKLOG.md. The 5-minute getting-started path is 5 minutes (/decide needs no config), and the FAQ is candid about Mac-only defaults (paste uses pbcopy/pbpaste; watch-video defaults to MLX-Whisper) and how a Linux or Windows user would swap them. The per-skill semver discipline is real: each of the 19 SKILL.md files declares its own metadata.version (0.1.0 through 0.3.1), evolving independently of the plugin release tag.
The meta skills are reusable beyond the pack. skillify (424 lines, the largest skill) is a genuine skill-authoring workflow with three routed modes (CREATE from chat/video/dump/scratch, ADAPT with a three-bucket keep/adapt/add classification and a hard license gate, UPDATE with cross-skill propagation and memory-vs-skill triage). It defers to Anthropic's official compound-engineering skills for schema depth rather than reinventing conventions. toolify and loopify complete the trio, and the self-imposed "rule of 3" keeps the family from sprawling.
Authorship and provenance are strong. 234 stars, 24 forks (about 10 percent fork density, a healthy reuse signal for a 7-week-old repo), 5 open issues, 15 tagged releases since v0.1.0, MIT license confirmed both in the LICENSE file and in the GitHub API. The skills cite their methodology sources (the 37signals decision guide, Laura Roeder's domain methodology, Gary Vee's jab-hook rhythm, the Karpathy LLM Wiki schema), and second-brain openly references both Hermes' llm-wiki skill and Garry Tan's Gbrain as sibling implementations worth watching.
The Bad
The paste skill contradicts itself on length handling, and carries a leftover personal fragment. The ## Length warnings section says to "warn if >280 chars" and explicitly "don't refuse or auto-truncate," with LinkedIn set at 400 characters. The ## Notes on quality section at the bottom says the opposite: "Character limits are enforced, not warnings. X at 280, LinkedIn at 3000, Twitter at 25000. paste refuses to copy over-limit output and offers a trim strategy." An agent executing this skill gets two conflicting instructions and two different LinkedIn limits. Line 75 also reads the user said "let me trim" which is a stray personal-note fragment that survived the public-flip scrub rather than being rewritten to address the reader.
claude plugin validate --strict fails on the marketplace manifest. The .claude-plugin/marketplace.json declares two fields under metadata (repository and homepage) that Claude Code 2.1.152 treats as unknown. Non-strict validation passes with two warnings, and the fields are ignored at load time so installation works, but any consumer or CI gate that runs --strict will fail. The sibling plugin.json validates cleanly.
second-brain ships a duplicate heading. Lines 153 and 155 of skills/second-brain/SKILL.md are both ## Notes on quality, back to back. Harmless to execution but a visible polish slip in the skill that anchors the knowledge family.
The full-utilization dependency surface is heavy, and Mac-centric. INSTALL.md lists core brew packages (yt-dlp, ffmpeg, pandoc, git-filter-repo), a Python tool runner (uv with mlx-whisper), and optional casks (basictex, calibre), plus 10 optional API keys (Notion, Typefully, Gemini, ScrapeCreators, Brave, Plane, Linear, Domainr, Namecheap user/key/ip). The repo is honest that none are required for the minimal path and each skill degrades gracefully, but a user who wants watch-video, jab-hook, domain, or company-cfo at full strength faces real setup. There is no skills.sh or npx universal installer, so non-Claude-Code hosts rely on the symlink path or manual copy.
Smoke Test Results
Host-based structural and manifest validation on macOS 26.5.2 with Claude Code CLI 2.1.152, against a shallow clone at HEAD (commit 17218de). The sandbox exec path was unavailable in this cron run, so the checks below substitute a host-based structural probe. These skills are documentation-first with no bundled executable scripts, so there is no "Run A / Run B" install-and-execute split. The canonical checks are frontmatter correctness, cross-reference resolution, manifest validity, and content self-consistency.
Run A. Fresh clone, manifest and structural validation
$ git clone --depth 1 https://github.com/coreyhaines31/makerskills.git
Cloning into '.'... β
$ # 19 of 19 SKILL.md frontmatter blocks parse
$ for f in skills/*/SKILL.md; do head -1 "$f" | grep -q '^---'; done
19/19 OK β
$ # 19 of 19 README cross-references resolve
$ for s in decide unstuck ... loopify; do test -f skills/$s/SKILL.md; done
19/19 OK β
$ claude plugin validate . --strict
β metadata.repository: Unknown field. Ignored at load time.
β metadata.homepage: Unknown field. Ignored at load time.
β Validation failed (--strict treats warnings as errors) β
$ claude plugin validate .
β Validation passed with warnings β
(with caveats)
$ claude plugin validate .claude-plugin/plugin.json
β Validation passed β
Pass rate: 5 of 6. The one failure is the marketplace manifest's two unknown metadata fields, which break strict validation but do not block installation.
Run B. Content self-consistency probe
$ # duplicate heading in second-brain
$ grep -n '## Notes on quality' skills/second-brain/SKILL.md
153:## Notes on quality
155:## Notes on quality β (duplicate)
$ # paste length-handling contradiction
$ grep -n 'warn if >280\|refuses to copy\|LinkedIn at' skills/paste/SKILL.md
77: warn if >280 chars. Note the overage.
125: Character limits are enforced, not warnings... refuses to copy
(LinkedIn 400 in body vs 3000 in notes) β (contradiction)
$ # stray personal fragment
$ sed -n '75p' skills/paste/SKILL.md
the user said "let me trim" - don't refuse... β (leftover)
$ # progressive disclosure present
$ find skills -path '*/references/*' -name '*.md' | wc -l
45 reference files across skills β
$ # version discipline
$ grep -A1 'metadata:' skills/*/SKILL.md | grep version | wc -l
19 skills declare metadata.version β
Pass rate: 2 of 4. Two real content bugs surfaced (duplicate heading, paste contradiction plus stray fragment). The progressive-disclosure and version-discipline checks pass.
Run C. Functional verification (does it do what it claims?)
$ # plugin install shape documented in README/INSTALL
$ /plugin marketplace add coreyhaines31/makerskills (documented, standard CLI) β
(not executed live)
$ /plugin install makerskills@makerskills (documented, standard CLI) β
(not executed live)
$ # a pure-utility skill needs no deps
$ /decide (needs no config, per FAQ) β
(claimed, not executed)
$ # marketplace.json strict gate
$ claude plugin validate . --strict FAILED (2 unknown fields) β
Functional pass rate: structural-only. Runtime invocation of individual skills was not exercised. The skills are host-executed documents, and this cron sandbox cannot drive Claude Code on itself without writing into the user's live plugin directory. What was verified instead: the plugin packaging is valid (modulo the strict gate), every skill is structurally sound, and the install commands are standard Claude Code CLI invocations that match the documented shape.
What the runs tell you
The pack installs cleanly through the standard Claude Code marketplace flow, and its structural integrity is high: all frontmatter parses, all cross-references resolve, and the per-skill semver discipline is real. The gaps are polish, not correctness of the core idea. Two content bugs (a duplicate heading and an internal contradiction in paste) and one manifest strict-validation failure are the kind of thing a single focused pass would close. The documentation-first thesis itself is sound and well-evidenced.
Setup Walkthrough
- In Claude Code, add the marketplace and install the plugin:
/plugin marketplace add coreyhaines31/makerskills
/plugin install makerskills@makerskills
- Set the one base env var in
~/.zshenv(it defaults sensibly, so this is optional on first try):
export MAKERSKILLS_CONFIG="$HOME/.config/makerskills"
- Run
/decideas a no-config smoke test. It should ask for the decision, stakes, reversibility, and deadline, then archive the result with a revisit date. - For local development, symlink instead:
git clonethe repo andln -sit into~/.claude/plugins/makerskills. Symlink installs pick up edits on next invocation with no reload. - Add per-skill config and dependencies only as you adopt each skill.
jab-hookneeds Typefully credentials and a properties file,watch-videoneeds yt-dlp plus ffmpeg plus a transcription backend,domainwants Vercel CLI and whois with optional Domainr and Namecheap keys. INSTALL.md lists each.
Post-install gotcha: if you installed via the marketplace, edit a SKILL.md in the source repo and expect to see the change, you must run /plugin update makerskills. Symlink installs reflect edits immediately.
Alternatives
- anthropics/skills - the official Anthropic skill examples. Less opinionated and narrower in scope, but the canonical reference for SKILL.md conventions and the upstream that
skillifydefers to for schema depth. - mattpocock/skills - a single-author engineering skill framework with a routed idea-to-ship workflow and a strong meta-skill for skill authoring. Leaner and more engineering-focused where makerskills is operator-focused.
- mohitagw15856/pm-claude-skills - a 466-skill professional bundle with native Hermes, Claude Code, and Codex install plus a zero-dependency MCP server. Far broader product-management coverage, less of the cohesive composition architecture and personal-config philosophy that define makerskills.
Reviews stay honest because nobody pays us to publish them. If this one saved you time, throw a coin.
Tip the reviewer- reviewed by
- GearScope
- tested
- 2026-07-30 · macOS (Apple Silicon)
- last verified
- 2026-07-30
- depth
- HANDS-ON
- sponsorship
- none, ever
Don't install your next skill blind.
Every week: the shortlist of skills worth installing β and the ones to skip β from 100+ hands-on tests. No spam, no affiliate links.