MCPInstall

skillify

When you want to create, adapt, or update an Agent Skill (Claude Code, Codex, Cursor, and other hosts) in one of your repos (listed in /.config/makerskills/skillify/repos.yaml; defaults to makerskills). Modes — CREATE (from chat, video, dump, or scratch) turns a workflow into a new skill. ADAPT ports an external skill with keep/adapt/add classification, license check, and attribution. UPDATE improves existing skills from learnings with cross-skill propagation, memory-vs-skill triage, and semver. TEST role-plays users through a skill and judges transcripts against a rubric. Checks new skills for host portability. Triggers on "/skillify," "create a skill," "make this a skill," "adapt this skill," "port this skill," "update X skill," "propagate this learning," "improve [skill]," "fix [skill]," "test this skill," "exercise [skill]." Part of the -ify trifecta — integrations and MCP servers go to toolify, schedules and loops to loopify.

Installs
334
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/coreyhaines31/makerskills --skill skillify
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads skillify automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

/skillify — Create, adapt, or update a skill

One skill, four modes. Routes automatically to the right one based on input signal.

Consolidates and replaces the prior create-skill, adapt-skill, and update-skill (all merged as of v0.2.0 for vocabulary-moat consistency with the -ify trifecta).

Step 0 — Detect mode

Route by signal:

SignalMode
Invoked mid-conversation with substantive recent workflow discussionCREATE / from-chat (default)
/skillify from-video <url> OR /skillify + a video URLCREATE / from-video
/skillify from-dump + pasted brief/transcript/notesCREATE / from-dump
/skillify from-scratch <name> OR "make a new skill called X" with no contextCREATE / from-scratch
/skillify <github-url> OR "adapt this skill" / "port this skill" / "fork this skill" + external sourceADAPT
/skillify <existing-skill> <change> OR "update X skill" / "propagate this learning"UPDATE / targeted
/skillify update (mid-conversation)UPDATE / from-chat — scan recent chat for learnings
/skillify usage <skill>UPDATE / usage — review recent runs, suggest improvements
/skillify test <skill-or-path> OR "test this skill" / "exercise X" / "dry-run X"TEST — simulated use against a rubric

If ambiguous, ask before proceeding. Never guess between CREATE and ADAPT if there's an external URL involved.


Mode: CREATE

Build a new skill from chat / video / dump / scratch.

Step 1 — Confirm the input source

Sub-modeWhat
from-chat (default)Extract the skill from the workflow discussed in this conversation. Most common case.
from-videoUser recorded a Loom / Zoom / screen-share. Calls watch-video in visual mode → transcript + key visual moments → SKILL.md. Best for visual/UI-heavy workflows.
from-dumpUser pastes a brief, prior conversation transcript, exported chat, or notes.
from-scratchFresh idea with no source material — interactive Q&A.

Step 2 — Defer to Anthropic guidance for the schema

Don't reinvent SKILL.md format rules. For frontmatter, description-writing, references/ structure, and skill best practices:

  • compound-engineering:create-agent-skill (agent) — expert guidance for creating + editing Claude Code skills
  • compound-engineering:skill-creator (skill) — deeper guide for effective skills
  • compound-engineering:heal-skill (skill) — for fixing existing skills
  • anthropics/skills — official Anthropic examples
  • agentskills.io — open Agent Skills spec

Call those directly when in doubt about format. skillify orchestrates your workflow — which repo, which conventions, which cross-references. Format expertise lives upstream.

Step 3 — Pick target repo

Load the user's sibling repo list from ${MAKERSKILLS_CONFIG:-$HOME/.config/makerskills}/skillify/repos.yaml if present. Otherwise default to makerskills (this repo). Example format:

# ~/.config/makerskills/skillify/repos.yaml
repos:
  - name: makerskills
    domain: Personal cross-cutting operator work
    path: ~/code/makerskills
  - name: marketingskills
    domain: Generic marketing tactics
    path: ~/code/marketingskills

Infer target if obvious from the skill's domain; ask if ambiguous.

Step 4 — Synthesize per sub-mode

from-chat:

  1. Read backward through this conversation. Look for a workflow repeated multiple times, a process re-explained, opinions restated, tooling/voice/output decisions.
  2. Identify the load-bearing pieces: trigger, steps, references, success shape, voice.
  3. Surface gaps that need clarification before scaffolding — ask 2–4 tight questions.
  4. Draft SKILL.md, citing chat moments inline ("Per your message about X…") so the user can verify.

from-dump:

  1. Parse the dump (Notion page, Slack thread, Loom transcript, teammate brief, exported ChatGPT conversation).
  2. Same synthesis logic as from-chat.
  3. Cite where in the dump each rule came from.

from-video:

  1. Take the URL or local path.
  2. Call watch-video <url> visual — get transcript + key visual moments + summary.
  3. Read outputs: <workdir>/transcript.txt, <workdir>/moments.md, <workdir>/summary.md.
  4. Synthesize: trigger (first 30s), steps (visual moments + matching transcript), tools used, decision points ("if X do Y" moments), success shape (last few seconds), voice cadence.
  5. Surface gaps — ambiguous moments needing clarification.
  6. Draft SKILL.md citing video moments by timestamp.
  7. Optionally save the source to second-brain as call-<slug>.md or note-<slug>.md.

Heuristic: recording >10 minutes = process probably too big for one skill. Suggest splitting before drafting.

from-scratch: Interactive Q&A:

  1. Name (kebab-case, verb-noun preferred — matches watch-video, read-book, paste)
  2. One-line purpose
  3. Trigger phrases (4–8)
  4. Initial reference files?
  5. Composes with which other skills?

Step 5 — Generate frontmatter

---
name: <kebab-case>
description: <rich, trigger-rich, ~2–4 sentences. Lead with "When you want to..." Include 4–8 trigger phrases in quotes. Differentiate from adjacent skills.>
metadata:
  version: 0.1.0
---

Description rules (load-bearing — agents route by description match):

  • Lead with the use case ("When you want to X…")
  • Include explicit trigger phrases
  • Differentiate from sibling skills
  • Mention key references the skill loads
  • Keep under ~500 characters (the Agent Skills spec hard limit is 1024; stricter hosts may reject longer ones)

For deeper description-writing guidance, consult compound-engineering:skill-creator.

Step 6 — Scaffold the directory

<target-repo>/skills/<name>/
├── SKILL.md
└── references/
    └── ...

Body follows existing skills' pattern (pm, decide, second-brain):

  • # /<name> — <one-line purpose>
  • Numbered ## Step N — <phase> sections
  • Composes-with cross-references
  • Quality notes at the end

Step 7 — Update README, commit, push

Append to target repo's README skill table:

| [`<name>`](./skills/<name>/SKILL.md) | <one-line purpose> |

Commit + push. Report new skill path, commit hash, and reminder that /plugin install or symlink may need a refresh.

Step 8 — Offer follow-ups

  • "Run TEST mode on the draft before we commit?" (recommended for any skill that asks the user questions)
  • "Flesh out a specific Step now, or come back to it?"
  • "Run through compound-engineering:heal-skill for a quality pass?"
  • "Should this compose with [adjacent skill]?"

Mode: ADAPT

Port an external skill (GitHub URL, agentskills.io, local disk, or pasted SKILL.md) into your namespace.

Step 1 — Fetch the source

Accept:

  • GitHub URL to a SKILL.md or repo (https://github.com/<owner>/<repo> or full path to SKILL.md)
  • agentskills.io URL or skills.sh URL
  • Local path to an existing skill on disk (other installed plugins, e.g. ~/.claude/plugins/ in Claude Code, ~/.agents/skills/ or ~/.codex/skills/ elsewhere)
  • Pasted SKILL.md content
# GitHub repo: clone shallow
git clone --depth 1 <url> /tmp/skillify-adapt-<short-id>/
# OR fetch a single file
gh api -H "Accept: application/vnd.github.raw" repos/<owner>/<repo>/contents/SKILL.md > /tmp/adapt-source.md

Capture the commit SHA so attribution can point at a stable revision.

Step 2 — Analyze + classify

Read source SKILL.md + any references/ it ships. Classify into three buckets per references/adapt-buckets.md:

BucketWhatExample
Keep verbatimFormat, schema, mechanic, scripts, frameworksQuestion banks, ffmpeg flags, regex patterns, JSON schemas
AdaptTool defaults, paths, voice, naming, opinionsTheir video tool → your watch-video, their kanban → your pm, their voice → your voice
AddCross-references to your existing skills, composition notes, your conventions"Composes with decide," "Saves to second-brain raw/," "Uses MLX-Whisper local"

Output classification as a table for approval before writing anything. Don't silently rewrite — surface the changes.

Step 3 — License check

Read the source's LICENSE. Per references/adapt-license-check.md:

LicenseAction
MIT / Apache-2.0 / BSD / ISC / CC0✅ Green — proceed
MPL-2.0 / LGPL🟡 Yellow — adapt OK; warn about file-level reciprocity
GPL-2.0 / GPL-3.0 / AGPL❌ Red — contagion risk. Surface before proceeding.
Proprietary / no license❌ Red — stop. No legal basis to copy.
Unclear🟡 Yellow — ask, default to skip if uncertain

For permissive licenses, attribution is the only requirement — handled in Step 6.

Step 4 — Pick target repo

Same table as CREATE Step 3.

Step 5 — Rewrite

Keep verbatim: copy as-is; add <!-- from <source> --> marker if helpful.

Adapt:

  • Naming: rename to verb-noun if not (matches watch-video, read-book, paste)
  • Tool swaps: their generic kanban → pm, their video tool → watch-video, their note system → second-brain, their decision framework → decide
  • Voice: apply your voice rules — direct, conviction-coded. For social-adjacent skills, apply link-placement rule.
  • Paths: their ~/outputs/ → your ~/Documents/<skill>-<...>/ convention; their config → your references/ pattern
  • Names + context: generic examples → your portfolio context where the skill needs it

Add:

  • Cross-references to existing sibling skills
  • Composition notes (which other skills this calls or feeds)
  • Your conventions (frontmatter version, references/ subdir structure, BACKLOG entry if it spawns sub-ideas)

Step 6 — Attribution file

Write references/attribution.md:

# Attribution

- **Source**: <original SKILL.md URL>
- **Repository**: <repo URL>
- **Author**: <name + handle>
- **Commit SHA**: <SHA at time of adapt>
- **License**: <license name + URL>
- **Adapted**: <YYYY-MM-DD>

## What was kept verbatim
- ...

## What was adapted
- <old> → <new>

## What was added
- ...

## License compliance
<upstream LICENSE text if MIT/BSD/Apache requires it, OR reference where in this repo it lives>

## Upgrade path
Run `git ls-remote <repo-url> HEAD`. If SHA differs from above, re-run `/skillify <same-url>` for a 3-way merge.

For MIT / Apache / BSD, LICENSE text either gets copied into this file or the source LICENSE file gets copied to the skill dir.

Step 7 — Scaffold + commit

Same as CREATE Steps 6–7. Commit message: "Adapt <name> skill from <source-name>".

Step 8 — Report + offer follow-ups

  • Commit hash + new skill path
  • Show three-bucket classification one more time so the diff is clear
  • Offer:
    • "Flesh out the adaptations? Some defaults may still need your touch."
    • "Run compound-engineering:heal-skill for a QA pass?"
    • "Set up an upstream-check reminder via loopify?"

Mode: UPDATE

Improve existing skill(s) from learnings.

Step 1 — Confirm sub-mode

Sub-modeWhen
from-chat (default)Scan recent conversation for learnings, identify affected skill(s)
from-dumpUser provides a brief, feedback, transcript, postmortem
targetedUser names the skill + change directly. Skip discovery.
usageReview recent runs of the named skill, identify gaps

Default when invoked mid-conversation with substantive recent activity: from-chat.

Step 2 — Extract learning(s)

For from-chat / from-dump / usage: look for change-worthy signals (full taxonomy in references/update-change-types.md):

  • Corrections — "no, don't do that anymore"
  • Validations — "yes that worked — bake it in"
  • New patterns — user just did an undocumented workflow; encode it
  • Voice / tone updates — like the spoken-aloud rule for slide-deck
  • Tool changes — switched defaults
  • Architectural decisions — naming conventions, file layout, frontmatter
  • Gaps — something the skill should have handled but didn't

Output: a clear list of N learnings, each phrased as a single change.

For targeted: skip extraction — user already named the change.

Step 3 — Identify affected skills

For each learning, search across all SKILL.md + references/ in the current repo (and optionally all sibling repos from your repos.yaml with --cross-repo):

grep -rln "<key terms>" ~/code/makerskills/skills/ --include="*.md"

# Across all sibling repos (list yours in $MAKERSKILLS_CONFIG/skillify/repos.yaml):
config="${MAKERSKILLS_CONFIG:-$HOME/.config/makerskills}/skillify/repos.yaml"
for raw in $(yq -r '.repos[].path' "$config"); do
  repo="${raw/#\~/$HOME}"  # expand leading ~ to $HOME so grep resolves the real path
  grep -rln "<terms>" "$repo/skills/" --include="*.md" 2>/dev/null
done

Classify by confidence:

ConfidenceWhatAction
HighDirect keyword match + clearly same topicPropose change
MediumAdjacent topic — rule might applySurface for explicit approval
LowTangential — rule could be stretchedMention but don't propose

See references/update-propagation.md for the cross-skill propagation playbook.

Step 4 — Memory-vs-skill check

For each learning: is this skill-specific or a broader principle?

TypeWhere it goes
Skill-specific ruleEdit the SKILL.md / references file directly
Cross-cutting principlefeedback_<topic>.md in the memory store (agent memory, or ${MAKERSKILLS_MEMORY:-${MAKERSKILLS_CONFIG:-$HOME/.config/makerskills}/memory}/)
BothWrite the memory file AND update the skill(s) that immediately apply

Example: "links go in first comments, not body" → applies to jab-hook AND is a broader social principle → both update jab-hook AND save feedback_social_link_placement.md.

Offer the memory write explicitly: "This looks like a principle, not just a skill rule. Save to memory as feedback_<slug>.md?"

Step 5 — Propose diffs per file

For each affected file, show change as before/after or unified diff:

### `skills/<skill>/SKILL.md` — proposed change

**Before** (lines NN–NN):
> <existing text>

**After**:
> <new text>

**Why**: <one-line rationale>

**Version bump**: 0.2.0 → 0.2.1 (PATCH — clarification)

**Approve / edit / skip?**

Per-file approval. Don't batch — small changes are easy to OK; bundling forces all-or-nothing.

See references/update-versioning.md for semver rules.

Step 6 — Apply approved changes

  1. Use Edit to apply the exact change
  2. Bump metadata.version per the suggested level
  3. If the change involves a rename, follow the cross-reference update pattern (grep all files, update all references)

Batch multiple file changes within one skill into a single commit.

Step 7 — Commit + push

Group by skill. Examples:

  • One-skill update: "slide-deck: emphasize spoken-aloud voice (write for the ear, not the page)"
  • Multi-skill propagation: "jab-hook, marketingskills:social: link placement (no inline URLs)"
  • Cross-repo: one commit per repo. Don't atomic-commit across repos.

Step 8 — Report

Show:

  • Learnings extracted
  • Skill(s) updated (with version bumps)
  • Memory files written
  • Whether compound-engineering:heal-skill would be a useful QA pass
  • Whether a TEST run is worth it (substantial redesigns: yes — earlier passes certify the old text)
  • Anything flagged but skipped

When NOT to use UPDATE mode

Don't add ceremony to surgical edits. If the user says "add this one bullet to X.md," just Edit. UPDATE mode earns its keep when:

  1. Multiple skills are affected by one learning (cross-skill propagation)
  2. Bulk extraction from a long session
  3. Memory-vs-skill decision is unclear (need explicit triage)
  4. Version discipline matters (about to commit and want sane semver)

For one-line updates with no cross-skill implications: just Edit.


Mode: TEST

Watch a skill run before real users do. Role-play realistic users through the SKILL.md, judge each transcript against a fixed rubric, and turn every failure into a patch. Works on published skills (regression check before/after an UPDATE) and on fresh CREATE/ADAPT drafts.

Full scenario set, rubric, and judging rules: references/test-rubric.md. Read it before Step 2.

Step 1 — Resolve the target and quarantine

  • Skill name → <repo>/skills/<name>/SKILL.md (repo per CREATE Step 3)
  • Explicit path → that file
  • Neither → ask

Pin the version under test. Subagents read from disk while they run. If the working tree can change underneath them (you switch branches, merge, edit), point them at a frozen copy: git worktree add <scratch>/wt-<skill> <commit> (remove it afterward), or a snapshot copy of the skill folder. Otherwise they test whatever's checked out when they get to it and report gaps that aren't real.

Read the SKILL.md and every references/ file it tells the agent to load — once. From here on the simulated wielder knows only those files. Anything it needs that isn't there is a finding, not something to fill in. If your host can spawn subagents, run each scenario in its own subagent whose prompt gives only the skill path, the scenario, and the dry-run rules, and tells it to read nothing else. Otherwise, play both sides yourself and state the quarantine in one line first.

Dry run, always. Nothing a simulated wielder does leaves the transcript. That means no file writes, drafts, issues, commits, pushes, or paid API calls; show them instead. The full rules are in references/test-rubric.md.

Step 2 — Pick scenarios

3–6 from the table in references/test-rubric.md: canonical, terse, and boundary always; refusal, lazy-answerer, die-and-resume, and missing-config when the skill's design calls for them. One-line persona each. Show the list; go unless the user swaps one.

Step 3 — Run transcripts

6–12 turns each, USER: / WIELDER:. Realistic user (weak answers, pushback, shortcut attempts). Literal wielder (follows the files, flags ambiguity, never idealized). Stop once the scenario's question is answered.

Step 4 — Judge

Every applicable rubric criterion gets PASS / WEAK / FAIL with a quoted line as evidence. No quote, no finding.

Step 5 — Report + patch

  1. Verdict table — scenarios × criteria
  2. Patch list — each FAIL/WEAK mapped to the section that caused it, labeled missing/ambiguous or easy to drift from, with a concrete edit
  3. Hand the patches to UPDATE mode (per-file approval, version bump), then re-run only the failed scenarios

A clean pass is a real result. Say so and stop.


Composes with

  • watch-video — load-bearing for CREATE / from-video. Visual-mode output (transcript + key visual moments + summary) is the input for skill synthesis. Always call in visual mode for process recordings — UI state matters as much as words.
  • second-brain — optionally capture source video/dump as raw/call-<slug>.md or raw/note-<slug>.md so the source artifact lives alongside the skill it produced.
  • toolify — sibling in the -ify trifecta. Use toolify when the goal is adding an integration/MCP/API, not authoring a skill.
  • loopify — sibling in the -ify trifecta. Use loopify for agent-loop setup rather than a skill.
  • compound-engineering:create-agent-skill (agent) — call for format and best-practices expertise
  • compound-engineering:skill-creator (skill) — deeper best-practices reference
  • compound-engineering:heal-skill (skill) — QA pass after any mode

Notes on quality

  • Cite the source. Whether chat, video, dump, external URL, or user-named learning — the SKILL.md body should reference where each decision came from. Makes revising easier.
  • Don't over-engineer v0.1. Ship a minimal SKILL.md + 1–2 references files. Iterate after first use. Most generated skills are over-scoped.
  • Verb-noun naming where possible (matches watch-video, read-book, paste). Single-word noun names are fine for distinctive concepts (decide, pm, paste, skillify).
  • Always reference Anthropic's official guidance for the schema — don't invent format conventions.
  • Write for any agent host, not just Claude Code:
    • Name capabilities, not tool names ("fetch the URL", not a host tool name like Claude Code's fetch tool; "the Typefully create-draft tool", not a raw MCP tool ID).
    • Memory lives in the agent's memory or ${MAKERSKILLS_MEMORY:-${MAKERSKILLS_CONFIG:-$HOME/.config/makerskills}/memory}/, never a hardcoded Claude Code memory path.
    • Read CLAUDE.md or AGENTS.md for user-owned schema/config docs.
    • Give Linux fallbacks for macOS-only commands (clipboard, open, MLX) — e.g. wl-copy/xclip, xdg-open, faster-whisper.
    • If a skill genuinely needs a Claude Code feature, say so in the body and give the other-hosts path (see loopify).
  • Attribution is non-negotiable for ADAPT mode. Every adapted skill ships with references/attribution.md.
  • License is a hard gate. Don't proceed on GPL/proprietary without explicit approval.
  • Per-file approval in UPDATE mode. Small changes are easy to OK; bundling forces all-or-nothing.
  • Reading a skill isn't testing it. A rule that reads well can still fail to fire. TEST mode judges transcripts, not prose — and when a live run fails in a way TEST missed, add the missing scenario or criterion to references/test-rubric.md.

FAQ

What does the skillify skill do?

When you want to create, adapt, or update an Agent Skill (Claude Code, Codex, Cursor, and other hosts) in one of your repos (listed in /.config/makerskills/skillify/repos.yaml; defaults to makerskills). Modes — CREATE (from chat, video, dump, or scratch) turns a workflow into a new skill. ADAPT ports an external skill with keep/adapt/add classification, license check, and attribution. UPDATE improves existing skills from learnings with cross-skill propagation, memory-vs-skill triage, and semver. TEST role-plays users through a skill and judges transcripts against a rubric. Checks new skills for host portability. Triggers on "/skillify," "create a skill," "make this a skill," "adapt this skill," "port this skill," "update X skill," "propagate this learning," "improve [skill]," "fix [skill]," "test this skill," "exercise [skill]." Part of the -ify trifecta — integrations and MCP servers go to toolify, schedules and loops to loopify.

How do I install skillify?

Run npx skills add https://github.com/coreyhaines31/makerskills --skill skillify in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/skillify/ (personal) or .claude/skills/skillify/ (project).

Which AI agents can use skillify?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is skillify safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains skillify?

It is published by coreyhaines31 in coreyhaines31/makerskills. It has 334 recorded installs.

More from coreyhaines31/makerskills

View all →

watch-video

coreyhaines31/makerskills

When you want to extract content from a video — YouTube, Loom, Vimeo, Riverside, Zoom recording, local MP4, X/IG video, anything yt-dlp supports. Three depth modes user picks per invocation — transcript (just words, fast/free), visual (transcript + ffmpeg frame extraction + Claude vision pass on key moments), multimodal (Gemini native video ingestion if $GEMINIAPIKEY set, else dense Claude vision). Uses local Whisper for transcription (MLX-Whisper on Apple Silicon, faster-whisper elsewhere), falls back to platform-provided transcripts when available (Loom, Riverside, YouTube auto-subs). Saves to /Documents/videos/ - - / and optionally captures summary to second-brain raw/ as call-/meeting-/note-. Triggers on "/watch-video ," "watch this video," "transcribe this loom," "analyze this video," "summarize this recording," "key moments from this," "what happened in this video." For a post's text and engagement, use social-fetch.

Media & Creative707 installs

decide

coreyhaines31/makerskills

When you have a decision to make and want a structured workflow that picks the load-bearing questions, walks through them, reaches a call (or "wait"), and archives the rationale for future reference. Based on the 37signals Guide to Making Decisions (38 questions) plus house additions like Q39 opportunity cost ("what does saying yes displace?"). Triages to 6–8 relevant questions per decision instead of forcing the full set. Archives every decision to /.config/makerskills/decide/archive/ with a revisit date so you can check later whether the call was right. Triggers on "/decide," "help me decide," "should I [X]," "I need to make a decision about," "stuck on a decision," "deciding between," "go/no-go on," "what should I do about." This is both the decision-making workflow AND the decision log — making the decision is the act of logging it.

social-fetch

coreyhaines31/makerskills

When you or another skill needs to fetch the content of a social media post by URL — tweet, X thread, LinkedIn post, Instagram post, TikTok video, Bluesky post, Reddit thread, Mastodon status, Threads post, Hacker News thread. Returns normalized structured data (author, postedat, text, engagement counts, media URLs, replies if requested) regardless of platform. Tries strategies in order: direct API (Bluesky, Mastodon, HN, Reddit), agent-browser with modal dismissal (LinkedIn, X preview), Wayback Machine (older posts), paid APIs (ScrapeCreators / Apify — only if env keys present). Triggers on "/social-fetch ," "fetch this tweet," "fetch this post," "what does this LinkedIn say," "read this thread," "pull this post." For what's said inside a video, use watch-video. Used by deep-research (citing specific posts), jab-hook (inspiration account analysis), business-brainstorm (competitor / operator commentary).

Marketing & SEO462 installs

read-book

coreyhaines31/makerskills

When you want to read and extract structured notes from a book — PDF, EPUB, MOBI, markdown, .txt, pasted text, or URL to a public-domain work. Reads in chunks (by chapter when a TOC exists, by 50-page blocks otherwise), extracts per-chapter TL;DR + key concepts + quotes + action items + frameworks, and offers to capture to second-brain raw/ as a highlights- file. Four modes — notes (default, chapter-by-chapter), summary (whole-book TL;DR + 3–5 takeaways), quotes (pull-quote highlights only), study (notes + Q&A spaced-rep prep). Triggers on "/read-book," "read this book," "extract notes from this PDF," "what's in this book," "summarize this ebook," "pull quotes from this." Sibling to watch-video (same content-consumption pattern, different medium).

Docs & Writing412 installs

business-brainstorm

coreyhaines31/makerskills

When you want to pressure-test a potential new business, product, or side project against the serial-founder filter. Not "marketing ideas for a product" (that's marketing-skills:marketing-ideas) — this is "should this business exist + can you win it." Runs the idea through a structured framework (problem, audience, wedge, monetization, moat, portfolio fit, distribution, energy fit, opportunity cost), checks domain availability via /domain, optionally triggers /deep-research for market validation, and outputs a viability brief: build / sleep on it / pass. Archives every idea to /.config/makerskills/business-brainstorm/archive/ so past work is searchable. Triggers on "/business-brainstorm," "/brainstorm," "new business idea," "should I build X," "pressure test this idea," "validate this idea," "is X a good business," "what about a [type] for [audience]."

company-brain

coreyhaines31/makerskills

Your team's shared, AI-ready knowledge base — people, companies, meetings, SOPs, and decisions structured so an agent can answer on your team's behalf. Team-scope sibling to second-brain — personal notes go there, not here. Modes — capture, compile (wiki pages + INDEX.md), query (trust-weighted, saved to outputs/), review (verify / deprecate / supersede stale captures), lint, connect, search. Structured raw dirs (people/, companies/, meetings/, sops/, decisions/, customer-language/, sales-objections/). Every capture stamps author, timestamp, and trust status. Optional sync from call transcripts, Slack/email exports, CRM. Vault at ${COMPANYBRAINVAULT:-$HOME/Documents/CompanyBrain}/. Triggers on "/company-brain," "/cb," "capture this into the team brain," "log this meeting," "save this SOP," "compile the company wiki," "query the team brain," "what does the team know about X," "review the company brain," "lint the company brain," "who's the internal expert on X."

Popular testing & qa skills

View category →

tdd

mattpocock/skills

Test-driven development. Use when the user wants to build features or fix bugs test-first, mentions "red-green-refactor", or wants integration tests.

Testing & QA1.2M installs

grilling

mattpocock/skills

Grill the user relentlessly about a plan, decision, or idea. Use when the user wants to stress-test their thinking, or uses any 'grill' trigger phrases.

Testing & QA996.2K installs

migrate-to-shoehorn

mattpocock/skills

Migrate test files from as type assertions to @total-typescript/shoehorn. Use when user mentions shoehorn, wants to replace as in tests, or needs partial test data.

Testing & QA484.1K installs

run-train

lllllllama/rigorpilot-skills

Rigor Train skill for deep learning research repositories. Use when a documented or selected training command should be run conservatively for startup verification, short-run verification, full kickoff, or resume, with command, config, seed, log, checkpoint, status, and metric evidence written to standardized trainoutputs/. Do not use for environment setup, exploratory sweeps, speculative idea implementation, or end-to-end orchestration.

Testing & QA337.8K installs

test-driven-development

obra/superpowers

Use when implementing any feature or bugfix, before writing implementation code

Testing & QA261.8K installs

Use when implementation is complete, all tests pass, and you need to decide how to integrate the work

Testing & QA216.8K installs