Airsc is free for everyone. If it helps you, support it with $2–$20.

Support
SkillCautionAgent workflow & memorySome setup

skills

michaelshimeles · michaelshimeles/skills

Agent skills and an AGENTS.md template for worktree isolation, service-layer structure, evidence-based testing and before/after screenshots in PRs.

Agent skills and an AGENTS.md workflow template — isolate in worktrees, build to a service layer, prove with evidence, ship with before/after proof and Greptile review loops. For Claude Code, Cursor, and Codex.

1.3k stars199License: No licenseUpdated 15 days ago0 opens

Preview

▍

What you can do with it

  • Generate a before/after screenshot table for a UI pull request
  • Refactor duplicated logic into a clean service layer
  • Record visual proof while the agent tests your app

Safety check

Caution

Usable, but read the notes first.

  • ●No clear license: check with the author before using it in a commercial product.

Automated scan of the repo files. Always review code you run.

From the README

Skills

A collection of agent skills for Claude Code. Each skill is a folder containing a SKILL.md with frontmatter (name, description) and instructions that Claude loads on demand when the task matches.

Available skills

before-and-after

Captures before/after screenshots of web pages or elements and outputs a PR-ready markdown comparison table. It drives the @vercel/before-and-after CLI.

Use it when:

  • A PR needs visual proof that a UI change does what it claims
  • You want a | Before | After | table generated and uploaded in one step
  • Comparing two URLs, two existing images, or a mix of both

Vendored from vercel-labs/before-and-after (PolyForm Shield 1.0.0, license included in the folder). Install the CLI with npm i -g @vercel/before-and-after agent-browser.

code-structure

Service layer architecture guidance. Enforces a two-layer separation where actions orchestrate domain rules (the "why/when") and a service layer centralizes reusable operational mechanics (the "how").

Use it when:

  • Multiple workflows duplicate the same operational logic
  • You're deciding what belongs in actions vs. shared services
  • A bug fix in one flow doesn't propagate to others doing the same thing
  • Adding a feature that shares mechanics with existing ones

Includes a migration checklist for extracting shared logic safely and a table of anti-patterns to avoid (god services, leaky services, over-abstraction).

evidence-driven-testing

Records visual proof while testing UI behavior. The agent drives the app live via computer use (or cua-driver when the harness has no computer-use tools) while the bundled recorder captures the session, then posts the video and a results summary to the PR and tracker issue. The recorder (scripts/evidence.py, Python 3 + FFmpeg) runs on Linux, macOS, and Windows and has doctor, start, annotate, and stop commands. It timestamps each annotation as the agent tests, burns them into evidence.mp4 on stop, and summarizes them in a generated report.md and manifest.json. Headless environments swap the recorder for scripted screenshots and Playwright captures; non-UI changes still get evidence (measured numbers, output pairs, transcript excerpts).

Use it whenever a change needs verifiable evidence that it works, instead of prose claims.

The recorder needs ffmpeg/ffprobe built with libx264 and the ass filter, plus a screen-capture source: X11 (DISPLAY) or wlroots Wayland (wf-recorder; GNOME/KDE are not supported) on Linux, Screen Recording permission on macOS, any standard ffmpeg on Windows. python3 scripts/evidence.py doctor reports both. The raw capture is MPEG-TS, so a crashed or hard-killed recorder still yields usable evidence. The headless path needs only a running app and a scriptable browser (Playwright via npx). Posting evidence requires the gh CLI (or equivalent). tests/test_evidence.py smoke-tests the recorder end to end with a synthetic video source (python3 -m pytest tests/ -q).

greploop

Iteratively fixes a PR (GitHub), MR (GitLab), or shelved changelist (Perforce) until Greptile gives a perfect review: 5/5 confidence with zero unresolved comments. Triggers the review, fixes actionable comments, resolves threads, pushes, and repeats, up to --max-iterations cycles (default 10).

Use it to get a PR to a clean Greptile review before merge.

Vendored from greptileai/skills (MIT, license included in the folder). Requires Greptile installed on the repo and an authenticated gh/glab/p4 CLI.

greploop-apps

The same loop as greploop, but it triggers reviews by tagging @greptile-apps, which bypasses Greptile's file-count limit on huge PRs that the plain @greptile mention refuses to review. When no check run appears, it falls back to polling Greptile's edited summary comment.

Use it when greploop's trigger gets "Too many files changed for review".

Local variant derived from greptileai's greploop (MIT, license included in the folder); no separate upstream.

new-feature

Starts every new task in an isolated Git worktree branched from origin/main so multiple agents can work on the same repo in parallel without conflicts. It covers unique task naming, a scope check against open PRs, fresh dependency installs, and cleanup after merge.

Use it when:

  • Starting any new feature, fix, or task, before writing code
  • Multiple agents (or sessions) work the same repository concurrently
  • You need a consistent branch-per-task convention with safe cleanup

Includes harness deltas for Claude Code and Cursor, which manage worktrees themselves.

unslop

Edits prose to remove AI tells and put a human voice back in. It names 31 patterns to catch (puffery, filler, hedging, chatbot phrases, em dashes, colons as connectors, bold and emoji overuse, abstract metaphor nouns, passive voice) and a short checklist for adding opinion and rhythm, applied as a four-step loop: scan, rewrite, add soul, self-audit.

Use it when:

  • Writing anything a person will read: commit messages, PR titles and bodies, docs, README edits, code comments, chat replies
  • Cleaning up existing text that reads machine-made

Vendored from cursor/plugins (pstack) (MIT, license included in the folder). The body matches upstream; the frontmatter has two edits so agents apply the skill on their own instead of waiting for a typed /unslop. We dropped the disable-model-invocation: true line, and the description now names the trigger (text you write or edit for a human reader) in place of upstream's "any writing. Must a

View source on GitHub