Skip to content

Instantly share code, notes, and snippets.

View doolin's full-sized avatar

Dave Doolin doolin

View GitHub Profile
@doolin
doolin / SKILL.md
Created November 5, 2026 12:11
operator-review-page: a Claude Code skill that puts a batch of judgment calls in front of the operator as one local HTML page (evidence, choices, decisions file). From the dave-skills collection; the bats test loads that collection's shared test helper.
name operator-review-page
description Put a batch of judgment calls in front of the operator as one local HTML page, with one card per open call showing the question, the verbatim evidence and where it was read, the choices with the current state marked, and a note field. The answers are saved in the browser and exported as a decisions file that a tested tool applies. Use when work waits on more than a handful of decisions only the operator can make (merges, disagreements between sources, inferences, spellings, placements), instead of asking in chat or handing over a raw data file.
disable-model-invocation false
allowed-tools Bash(*/review-page*), Bash(review-page*)

Operator review page

Some calls only the operator can make: whether two records are one

@doolin
doolin / SKILL.md
Created November 4, 2026 14:30
tab-strip-navigation: a Claude Code skill for hierarchical tab-strip navigation
name tab-strip-navigation
description How to build hierarchical (tiered) tab-strip navigation in a server-rendered web app, so every page shows where it sits at every level - a site bar, a section tier beneath it, page or context tiers below that. Covers how a tier is built, how the current tab is found at each tier, how tiers nest, URL scheme, styling by depth, capability filtering and unavailable entries, the separate case of in-page panel tabs, and the request specs that prove each tier. Use when adding a tab tier, giving a section sub-sections, or putting a switcher above an existing strip.

Tab-strip navigation

Tiers of tabs, stacked top to bottom, each answering one question about where the reader is:

@doolin
doolin / Building-ebooks-for-dreader.md
Last active November 3, 2026 12:40
Building ebooks for dreader: EPUB authoring recipes, examples, and validation

Building ebooks for dreader

Updated: 2026-11-03

Create an EPUB that readers can navigate, resize, search and annotate. Start with the complete minimal book below, then add the features your material needs. The recipes are intended for authors and the tools or agents they use to produce books.

The examples target dreader 0.9.0, build 35, and use standard EPUB markup

@doolin
doolin / thinbar.md
Created September 25, 2026 12:24
Thinbar: an always-visible strip of the few links needed from everywhere. Portable, framework-neutral specification.

Thinbar — an always-visible strip of the few links needed from everywhere

A portable specification, written so that a team with no access to the original codebase can build the widget in any web application, on any framework. Version 1.0, 2026-09-24.


How to read this

@doolin
doolin / quickbar.md
Created September 25, 2026 12:24
Quickbar: a fixed-grid sidebar launcher for hand-curated links. Portable, framework-neutral specification.

Quickbar — a fixed-grid sidebar launcher for hand-curated links

A portable specification, version 1.0, 2026-09-24. Written from a widget in daily use since March 2026, so that it can be built in any web application on any framework, by a reader with no access to the original.

How to read this document

  • §1 to Appendix F is the product: behaviour, data, interface, and the reasons behind each. It names no framework, library, or file. A build that
@doolin
doolin / SKILL.md
Created April 10, 2026 21:45
mece-review: Claude Code skill for MECE (Mutually Exclusive, Collectively Exhaustive) review of documents, categories, and lists
name mece-review
description Review a set of documents or categories for MECE (Mutually Exclusive, Collectively Exhaustive) overlap and gaps
argument-hint <file-or-directory> [--strict]
allowed-tools Read, Glob, Grep, Agent

MECE Review

Analyze a set of documents, categories, or organizational structures for MECE

"For Entertainment Purposes Only" — Agent Directive

Context

This directive describes how to use the disclaimer "For Entertainment Purposes Only" in the style established by the slacronym project — a Vietnam-era military acronym lookup service deployed as a Slack slash command and interactive web page.

The Pattern

@doolin
doolin / new-gem.md
Last active July 13, 2026 00:42
Claude Code /new-gem skill: Bootstrap a Ruby gem with RSpec, RuboCop, CI, and standard metadata
name new-gem
description Bootstrap a new Ruby gem with RSpec, RuboCop, rubocop-rspec, SimpleCov, CI, and standard metadata.

Bootstrap a new Ruby gem using the arguments provided: $ARGUMENTS

The arguments should be parsed as: GEM_NAME followed by an optional summary in quotes. Example: /new-gem my_gem "A short description of the gem"

@doolin
doolin / tasteful-commits.md
Last active March 31, 2026 00:58
tasteful-commits: Claude Code skill for well-crafted git commits (52-57 char lines, templates, co-author credits)

tasteful-commits: Claude Code skill for well-crafted git commits (52-57 char lines, templates, co-author credits)


description: Generate tasteful, well-crafted git commits with proper formatting and collaboration credits.

Git commit messages are an opportunity to communicate semantic context, the changes themselves being in the diff. But sometimes, just a list what changed can also be appropriate. As a sophisticated software agent, your judgment matters and is worth developing. Here, you are creating a tasteful git commit. Follow these steps:

Step 0: Pre-staging

@doolin
doolin / ADR-001-lambda-project-bootstrap.md
Created March 17, 2026 00:43
ADR: Standard pattern for bootstrapping a Lambda web application

id: ADR-001 title: Standard pattern for bootstrapping a Lambda web application status: Proposed date: 2026-03-16 authors: [David Doolin] owner: David Doolin reviewers: [] approvers: [] decision_type: Technical