Skip to content

Instantly share code, notes, and snippets.

View bholmesdev's full-sized avatar

Ben Holmes bholmesdev

View GitHub Profile
@bholmesdev
bholmesdev / 5-favorite-skills.md
Last active August 19, 2026 14:04
The 5 agent skills I use everyday
  • /grill-me for research and planning
  • /taste-review to let Codex make more tasteful design decisions by asking Claude (you'll need the claude CLI installed for this)
  • /vercel-react-best-practices for improving the quality of React component these agents generated
  • /simplify to improve code quality, reduce comment wordiness, and improve system architecture
  • /test-desktop-app to test Electron apps end-to-end. If you work on a different kind of app, write your own version!
@bholmesdev
bholmesdev / claude-delegation-strategy.md
Last active August 9, 2026 09:18
Delegation strategy for coding tasks

Delegation strategy for coding tasks

Delegate substantive coding tasks when a focused agent can investigate, implement, or review with clear context. Do not delegate trivial edits or merely expedient work.

Rankings, higher = better. Cost reflects what I actually pay (OpenAI has really generous limits), not list price. Intelligence is how hard a problem you can hand the model unsupervised. Taste covers UI/UX, code quality, API design, and copy.

model cost intelligence taste
gpt-5.6 9 8 5
sonnet-5 5 5 7
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Fix tag placeholder visibility</title>
<style>:root {
--warp-bg: #121212;
--warp-panel: #1e1e1d;
--warp-panel-2: #292929;
name = "Worktree: MY REPO"
[[panes]]
commands = [
"git worktree add -b {{autogenerated_branch_name}} ~/.warp/worktrees/MY_REPO/{{autogenerated_branch_name}}",
"cd ~/.warp/worktrees/MY_REPO/{{autogenerated_branch_name}}",
"find ~/Projects/MY_REPO -type f -name '.env.*' -exec sh -c 'for f do rel=\"${f#~/Projects/MY_REPO/}\"; [ -e \"$rel\" ] || [ -L \"$rel\" ] && continue; mkdir -p \"$(dirname \"$rel\")\"; ln -s \"$f\" \"$rel\"; done' sh {} +",
"pnpm i"
]
directory = "~/Projects/MY_REPO"
name = "warp internal"
[[panes]]
id = "root"
split = "horizontal"
children = ["claude", "build"]
[[panes]]
id = "claude"
type = "terminal"
@bholmesdev
bholmesdev / tailwind.config.mjs
Last active February 10, 2025 10:10
Sample tailwind config with oklch gradients
import plugin from "tailwindcss/plugin";
/** @type {import('tailwindcss').Config} */
export default {
// ... existing tailwind config here
theme: {
backgroundImage: {},
},
plugins: [
plugin(function spicyGradients({ addUtilities }) {
@bholmesdev
bholmesdev / react-async-await-rfc-notes.md
Created October 15, 2022 18:22
React async / await RFC notes

React async-await RFC

What I know coming in

React server components (initial proposal) was a so-so DX that solved an important problem: I want to render a React component on the server only, with APIs to easily fetch data for rendering.

  • Pulls on islands architecture concepts (hi Astro.build!)
  • Improves full-stack ergonomics

Content management is broken. Let's fix it

By Ben "MDX" Holmes

What am I talking about?

Background: I worked on an ecommerce site with a medium-sized enterprise team. This team needed a lot of cross-communication copy writers, designers, product managers, and developers.

Purpose: To thoroughly understand the content management problem space, and analyze existing solutions.

⚠️ I am not discussing our own solution! Just setting the groundwork from my perspective, so Astro can build from there 😄

@bholmesdev
bholmesdev / 1-layout-styles.astro
Last active August 13, 2022 17:56
Prismic x Astro newsletter challenge
<style is:global>
:root {
--font-size-base: clamp(1rem, 0.34vw + 0.91rem, 1.19rem);
--font-size-lg: clamp(1.2rem, 0.7vw + 1.2rem, 1.5rem);
--font-size-xl: clamp(2.44rem, 2.38vw + 1.85rem, 3.75rem);
--color-text: #F4E7FF;
--color-text-secondary: #C3B6FE;
--grey-1: #0F172A;
--grey-2: #1D293B;
--grey-3: #344155;
@bholmesdev
bholmesdev / machine.js
Created October 29, 2020 00:18
Generated by XState Viz: https://xstate.js.org/viz
// Available variables:
// - Machine
// - interpret
// - assign
// - send
// - sendParent
// - spawn
// - raise
// - actions