skills
Agent skills for engineers who won't lower their standards to use AI.
33 skills I built for my own work and use every day, open source. Install the set, or take only the ones you want.
- skills
- 33skills
- plugins
- 15plugins
- licensed
- MITlicensed
- agents
- 2agents
Install my skills
Installed as plugins from one marketplace. Add it once, then install the plugins you want.
Any agent — pick the skills and agents you use. The installer writes editable files into your project.
npx skills@latest add smorinlabs/smorinlabs-harnessClaude Code — add the marketplace.
/plugin marketplace add smorinlabs/smorinlabs-harnessThen install a plugin.
/plugin install repo-hygiene@smorinlabs-harnessCodex — clone the repo, then register it in ~/.codex/config.toml.
git clone https://github.com/smorinlabs/smorinlabs-harness.gitThen register it in the config.
[marketplaces.smorinlabs-harness]
source_type = "local"
source = "/absolute/path/to/smorinlabs-harness"Source: smorinlabs/smorinlabs-harness
On this page
What a skill actually is
The problem
An agent will happily do the work the wrong way — skip the tests, guess at the API, commit straight to main — and sound confident doing it.
The fix
A skill is a written procedure the agent loads when it matches the work. Not a prompt you paste: a file the agent finds on its own, at the moment it applies.
What you type
A slash command, or nothing at all. Most of these fire on their own when the task fits, which is the point — you should not have to remember they exist.
Start here
Eight that earn their place on the first day.
The set
All 33, grouped by what you reached for them to do.
Nothing matches that search.
Shape the work
Turn a vague idea into decisions and tasks you can actually start.
8 skills
start with /question-walkthrough
- /question-walkthroughDecide a pile of open questions one at a time.Takes an unresolved pile — open questions in a doc, undecided to-dos, a plan blocked on four things nobody has answered — and turns it into a sequence of single decisions.
- /project-addCapture an idea in four questions, then stop.Registers a new project on the PROJECTS.md trunk: at most four questions, asked one at a time, then an idea stub and a trunk row written in a single atomic commit.
- /project-refineScope an idea up to ready, or break it into tasks.Three sub-modes over one project: refine its notes and references, scope a raw idea until it is genuinely startable, or decompose a scoped project into tasks.
- /project-nextAnswer "what should I work on?" from the actual trunk.Reads PROJECTS.md and projects/ and builds a composite menu: what is in progress, the next few unstarted projects by ID, and the files touched most recently.
- /project-auditEleven drift checks against your project tracking.Dispatches one auditor per check in parallel against PROJECTS.md and projects/, then walks the findings with you one at a time and asks before fixing anything.
- /using-project-harnessBootstraps the project skills on first use in a repo.Establishes the five project-harness skills in a repo, runs a four-step idempotent setup the first time, and routes any edit of project state to whichever sibling owns it.
- /guided-researchDeep research at the moments that actually justify it.An orchestration layer over deep research that decides when the expensive version is worth running — architectural decisions, new problem domains with established best practice, unfamiliar APIs you have already failed against twice — then organizes what comes back so it is reusable rather than read once.
- /design-by-elementsPrototype the form of an artifact before you build it.Decomposes an artifact — terminal output, a report layout, a table design, a page or email mockup, a status block — into elements, then iterates on each one in isolation before assembling.
Work the code
Review, refactor, and consolidate what is already written.
4 skills
start with /factor-scan
- /factor-scanSweep a code area for bugs, smells, and architectural drift.A broad sweep over an area of code that surfaces three different classes of problem at once — outright bugs, quality issues, and architectural smells — then walks you through the findings one at a time rather than dumping a report.
- /factor-architectArchitectural review against precedent and convention.Reviews a design against the codebase's own precedent, its stated conventions, and external references for the pattern in question.
- /factor-dedupConsolidate N implementations of the same idea.Walks per-implementation comparator reports across several similar implementations, classifies every divergence as intentional or accidental, and proposes a unified design — or documents why a divergence should survive.
- /using-factor-harnessRoute to the right one of the three factor skills.Orients across the factor-harness set and picks the right entry point for what you are actually doing.
- /pr-merge-flowDrive an open PR to merge, resolving every thread.Waits (with a bound) for the AI reviewer bots to weigh in, then triages every review thread: verifies claims by running the code where it can, fixes small in-scope bugs, defers out-of-scope work to the tracker, declines style-only asks, and escalates genuine redesigns to you.
- /version-checkIs this version consistent, and is it published?Inspects and compares the versions a project claims across its manifest, its tags, and its registry, and reports where they disagree.
- /readme-syncDoes the README still describe the code?Verifies README.md against the current state of the project and updates it where it has drifted.
- /manual-test-guideThe commands to run to check this by hand.Produces concrete manual testing instructions for a project — what to run, what to look at, what counts as working.
- /fusion-runner-runStart, inspect, and gracefully stop a Windows CI runner on your Mac.Operates an existing Windows virtual machine in VMware Fusion that serves as a GitHub Actions runner.
- /fusion-runner-setupSet up a Windows GitHub Actions runner in VMware Fusion.Guides installation of Fusion and Windows on an Apple Silicon or Intel Mac, provisions the tools needed by the intended workflows, and registers a GitHub Actions runner service.
- /ci-fixFind the cause of red CI checks and verify the repair.Diagnoses failing GitHub Actions and Git hooks, reproduces the relevant failure, and verifies affected behavior before pushing a repair.
- /explainExplanations anchored to a real example, every time.A fixed anatomy for explaining anything: what it is, just enough context to place it, and always a concrete example rather than a description of one.
- /html-codesignA decision page someone can operate and send back.Builds a single self-contained HTML file that turns a decision into something a person can operate: a step-through wizard, one question per screen, each with context and an argued recommendation.
- /clear-technical-communicationRewrite technical prose so the reader infers nothing.Reviews and rewrites technical communication against one rule: minimize what the reader has to reconstruct.
- /use-html-themePick a visual theme, apply it consistently.Offers a small catalog of visual themes whenever HTML is being generated or restyled, and applies the chosen one coherently across the page.
- /reader-stepsFormat the steps only a human can perform.A style spec for rendering actions the reader has to do themselves — interactive logins, UI clicks, approvals in other systems — as a bounded task block: numbered with a stable tag, grouped by surface (terminal, browser, phone, physical world), each step titled by its outcome with the literal command underneath and a verification line.
- /document-mergeMerge overlapping docs without losing a line.Consolidates several overlapping markdown documents into one, verifiably: every synthesis decision gets a stable ID, every source line range maps to an output section, the originals are archived byte-identical, and a validation script enforces the round trip.
- /html-explainAn explainer page where prose alone would not do.A read-only page for settled material, where diagrams, annotated figures, charts, and small interactive widgets do work prose cannot.
- /clear-decision-communicationAsk for a decision with the context needed to make it.Prepares a decision request while an agent works: checks whether approval is actually needed, investigates what can be resolved, and presents the options, recommendation, evidence, and exact action an answer authorizes.
Run the session
Orient, hand off, and clean up the agent sessions themselves.
6 skills
start with /session-recap
- /session-recapCatch yourself up on a session gone cold.Reconstructs a session you have lost the thread of: what it was about, where it started and ended, what is done versus open, the live state of git, the PR, and the worktree — then ranks what to do next and ends with a verdict on whether to close it or carry on.
- /session-statusA "you are here" map of work still in flight.A mid-flight progress check on the active stream of work, in plain language: what the work is, what is done, what is in progress, what is left — scaled to the shape of the work rather than a fixed template.
- /session-handoffPackage a session so a cold one can continue it.Packages the current session into something a zero-context session — often on another machine — can act on cold: the outcome being pursued, full repo identity and paths, the resume state, and the tacit context that dies on compaction.
- /session-loose-endsFind what a session left dangling, and clean it up.Sweeps for four classes of loose end — uncommitted work and stale worktrees, running or zombie processes, promises made in conversation but never kept, and project-tracking drift — then reports each with its evidence and a recommendation in both directions before doing anything.
- /session-agent-listEvery agent session on this machine, as action cards.Finds Claude Code and Codex sessions across the machine and renders them as action-ready cards: how long ago, whether each is open mid-work or handed off or closed cleanly, what it was doing, and which repos and worktrees it touched.
- /repo-finderResolve a repo name to its real path in one command.Turns a bare repo name into every local copy plus the facts you need about each: origin, default branch, whether it is a checkout or a worktree, current branch, dirty state, build tooling.
What changed recently
The last five releases.
- v0.26.0Sep 15, 2026
fusion-runner 0.2.12, a new plugin
Two skills for a Windows GitHub Actions runner in VMware Fusion on a Mac. fusion-runner-setup walks the Broadcom download and Windows installation, verifies the Windows login, records each setup checkpoint, keeps a reusable Windows baseline distinct from the working VM, and ships hosted-compatibility smoke tests that compare the VM with GitHub-hosted Windows. fusion-runner-run starts, checks, and gracefully stops the configured VM, verifying GitHub readiness separately from VM power and preserving the working VM's files.
- v0.25.0Sep 10, 2026
repo-hygiene 0.12.0 — ci-fix reproduces Linux jobs in whatever is already on the machine
A new scripts/detect_runners.py surveys podman, docker, lima, act and the devcontainer CLI and writes ~/.config/ci-fix/runners.toml. The survey is read-only — it starts no VM, pulls no image, installs nothing — and ranks by what the machine already has: installed beats absent, since starting a stopped runner is one command while installing is a download; an image or VM already on disk beats one that must be fetched, so a stopped lima holding a VM outranks a running but empty podman; and only then does the order podman → lima → docker decide, with podman leading as the easiest (rootless, licence-free, docker's CLI) and lima the right answer when a job needs a full VM. act sits above them but is a driver, ready only when a runtime is. A machine with nothing installed is told the easiest thing to get, not the best, and a hand-written pinned value overrides the ranking and survives --refresh. Architecturally this adds no rung: a Linux runner changes *where* rungs 0 and 1 execute, so every floor and cap from 0.11.0 holds, and CI is the lab now means no local path exists at all. ladder_plan.py gains --local-env container, which doubles a step's CI-proxy estimate for its first run in a container and defers to the ledger afterwards. references/local-runners.md carries the podman/docker, act and lima recipes, the toolchain-to-image map and the architecture rule. Every start, pull and install is one AskUserQuestion, and a decline is recorded.
- v0.24.0Sep 10, 2026
repo-hygiene 0.11.0 — ci-fix isolates only where it pays, with a floor per level
A new scripts/ladder_plan.py computes the entry rung and the remote mode from the duration profile. Locally (isolating costs seconds): a failed step expected over --isolate-local (30s) runs its failing IDs first, a shorter one runs whole; the whole step (rung 1) always runs when expected within a 10-minute cap and is asked about once above it. In CI (isolating costs a marked commit, a dispatch, and a second cycle): a plain push is both rung 2 and rung 3 unless CI is the only place the failure can be seen and the job is expected over --isolate-remote (5m); then the failing workflow is dispatched alone with only the failing tests through a workflow_dispatch filter input, with a one-time offer to add the input (references/filter-input.md, newline-split through env:, never ${{ }} in run:, empty input runs the whole suite). Whole-workflow dispatch without a filter is gone from the fix path (runner minutes, not time). Local durations are recorded by scripts/local_ledger.py in a machine-level ledger so later fixes decide from local numbers. The profile reports runs per workflow and tops up starved workflows from their own listing; two workflow files with one name: are keyed by path and an unattributable run is reported as an ambiguous join. extract_failures.py reads vitest and cargo-nextest logs and recovers a pytest ID with an unmatched [. --update-versions and the pin audit name a replacement tag only after git/refs/tags/<tag> returns it (the setup-uv@v10 lesson).
- v0.23.0Sep 9, 2026
repo-hygiene 0.10.0 — ci-audit is now ci-fix, and it fixes CI
Every run measures first: the last successful runs are profiled through the REST jobs endpoint into per-job medians, queue wait, slowest step, a slow/fast/unmeasured class against --slow-threshold (default 2m), and a data-derived CI wait bound. Fix mode triages each red job, extracts the failing test IDs from the job log (pytest, jest, cargo, go; shell-safe quoted), reproduces before editing, and verifies up a ladder: the isolated tests locally, the failed step locally, a local sweep of every other fast job, then a push that dispatches only the failing workflow through workflow_dispatch with the fix commit carrying [skip ci] (the isolated tests again when the workflow declares a filter input), then every run on the pushed commit. Done means every job green on the last pushed commit. Then it offers once to add the failed check as a lefthook or pre-commit hook, staged by its measured duration. --audit reports only; --optimize dispatches a read-only sub-agent that returns ranked, evidence-backed speed changes without applying them. Three stdlib scripts (ci_profile.py, extract_failures.py, workflow_inventory.py), 55 tests with real fixtures, an end-to-end run on a scratch PR. docs/skills/ci-audit.md is a redirect stub. This repo's CI workflow now declares workflow_dispatch. (PROJECTS P42, P45 PR-1; PRs #49, #55)
- v0.22.0Sep 8, 2026
clear-decision-communication plugin (0.1.2)
Decision requests from an agent to a human during a run, as inline ASCII text: a gate that refuses to ask for facts or for anything already authorized; seven diagnostic axes sized into three tiers (Confirm, Compact brief, Full brief) with length signals and caps; representation chosen from the change type out of a 21-form ASCII catalog (F1–F21, including the span chart, layer stack, containment boxes, decision tree, threshold on a scale, and a general tree); a six-question brief rendered decision-first with verified, inferred, assumed, and not-verified evidence told apart; numbered questions and lettered options (Q1.A) with the recommended option always A and a runner-up condition; a silence default that is always the most reversible option; plain text canonical with a derived dialog rendering behind the two-turn gate; decision records keyed by question ID. Self-contained: synthesizes the owner's decision-communication framework with the clarity rules and the two standards (ISO 24495-1, ASD-STE100) behind clear-technical-communication and the text forms of show-me; names no other skill; never produces HTML. Marketplace goes from 13 plugins / 30 skills to 14 / 31. (PRs #50, #51, #52; PROJECTS P43)
Also recommended
Not mine. Installed anyway, on most machines I work on.
Stops the guessing loop where an agent describes what it changed instead of showing you.
Turns the instruction file you keep meaning to tidy into something that actually steers behavior.
Maps a foggy piece of work into decision tickets, so planning stops being one long conversation.
Setup flows that ask rather than assume — the pattern most install skills should have copied.
Structural, syntax-aware code search and rewriting. The right tool the moment a regex refactor starts feeling brave.
Audits code for security vulnerabilities, with independent agents checking each finding against the source before it reaches the report.
Create, improve, and evaluate skills — including measuring whether a description actually triggers.
The methodology layer underneath everything else: brainstorming, planning, TDD, systematic debugging.
A second model family as an independent lens — adversarial review from something that is not Claude.
Skills for your next iOS or Mac app
Explore skills, plugins, and tools for SwiftUI, testing, debugging, and App Store workflows. Includes setup notes, Apple documentation options, and articles from the developers behind them.
34 resources · 6 topics · 7 articles
Explore the iOS & Mac collection- SwiftUI
- Xcode
- Apple docs
- App Store
Install my skills and get to work
MIT licensed, one repo, no account. Take the whole set or one plugin.
Add the marketplace.
/plugin marketplace add smorinlabs/smorinlabs-harnessThen install a plugin.
/plugin install repo-hygiene@smorinlabs-harness