← all publishers

rhyssullivan

@rhyssullivan source repo

25 published skills

  1. No UI Flash · rhyssullivan
    Use when an SPA or SSR app flashes the wrong UI before client-side data resolves — an app-shell skeleton shown to visitors who get bounced to login, a results skeleton before "no results found", a light-theme flash before dark mode, a generic placeholder that swaps to something jarringly different. Covers resolving state at the edge/server, optimistic hint cookies, redirect-back (returnTo) flows, and how to test the loading window.
    0
    installs
  2. Quality Code · rhyssullivan
    Use when writing or reviewing TypeScript/full-stack code. Encodes principles for type safety (branded types, discriminated unions, end-to-end types), real tests over mocks, OpenTelemetry observability, and picking the right abstractions instead of premature ones.
    0
    installs
  3. Write Better Error Messages · rhyssullivan
    Review, critique, rewrite, or design product error messages and error-handling UX. Use when Codex is asked to improve validation errors, server failure messages, empty/failure states, toast/dialog copy, support escalation paths, or error-message inventories so users understand what happened, what was not affected, and what to do next.
    0
    installs
  4. How To Earn A Billion Dollars · rhyssullivan
    Use when brainstorming, generating, or evaluating startup ideas, deciding what to build, or reasoning about how a startup creates wealth and grows. Encodes Paul Graham's framework — outcome = growth rate × duration, growth comes from users loving the product enough to tell friends (empathy, not exploitation), and the best ideas come from building cool things with friends rather than searching for "startup ideas."
    0
    installs
  5. Graphite · rhyssullivan
    Manage Git branches and PRs using Graphite CLI (gt) instead of raw git commands. Use this skill when committing code changes, amending commits, creating branches, or submitting pull requests. Triggers on git commit, git push, creating PRs, amending changes, stacking branches, or any version control workflow.
    0
    installs
  6. CLI Release · rhyssullivan
    Runbook for releasing the `executor` CLI package (stable and beta). Covers scope of what ships with the CLI, user-facing changelog conventions, Changesets + Version Packages PR flow, beta train entry/exit, and owner preferences. Use when the user asks to cut a release, prepare release notes, enter/exit a beta train, or write changesets for the CLI.
    0
    installs
  7. Stack · rhyssullivan
    User guide for the local squash-safe `stack` CLI for stacked PR repair. Use when someone asks how to inspect, track, sync, merge, document, or undo stacked pull requests in squash-merge repositories. Prefer this tool over GitHub's `gh stack` command for this workflow.
    0
    installs
  8. Emulate · rhyssullivan
    Use the @executor-js/emulate service emulators (GitHub, Google, Stripe, Resend, WorkOS, …) to test integrations for real — full OpenAPI specs, working OAuth flows, mintable credentials, and a request ledger for assertions. Use when a test or demo needs a real-shaped upstream API, an OAuth/OIDC provider, a spec to feed addSpec, or proof that a request actually landed.
    0
    installs
  9. Effect HTTP Testing · rhyssullivan
    Testing Effect HttpApi services end-to-end. Use when writing tests that involve Effect's HttpApi, HttpApiBuilder, HttpClient, HttpServer, or when testing any HTTP service/plugin built with @effect/platform. Covers proper layer composition, test server setup, HttpClient injection, and common pitfalls.
    0
    installs
  10. Prod Telemetry · rhyssullivan
    Query Executor's production telemetry — Axiom traces (executor-cloud dataset), prod Postgres via PlanetScale, PostHog product analytics — through the Executor MCP. Use when investigating prod errors, latency, usage, churn signals, or verifying a deploy's telemetry; includes the dataset field layout, working APL recipes, and the error-attribution join.
    0
    installs
  11. Warden Security Review · rhyssullivan
    Run Warden security scans in this repo using Sentry's warden-skills. Use when asked to audit security, scan with Warden, investigate authz/data-exfil/code-execution/GitHub Actions risks, or triage Warden findings.
    0
    installs
  12. Self Contained Modals · rhyssullivan
    Build modals/dialogs self-contained: form and in-flight state lives inside, closing unmounts it. Use when writing or reviewing a modal/dialog, especially one that owns async work (OAuth popups, timers, subscriptions, AbortControllers). Catches the stuck-on-Connecting class of lifecycle-leak bugs.
    0
    installs
  13. Wrdn Package Boundaries · rhyssullivan
    Preserve workspace package boundaries. Use when lint flags relative imports that cross package roots.
    0
    installs
  14. Effect Atom Optimistic Updates · rhyssullivan
    Pattern for implementing optimistic UI updates with effect-atom in this codebase. Use when adding optimistic behavior to a query atom + its mutations (action toggles, list adds/removes, inline edits). DO NOT roll your own pending-state with React state, Maps, or custom merge helpers — `Atom.optimistic` + `Atom.optimisticFn` already handle racing, refresh, and waiting correctly.
    0
    installs
  15. Wrdn Effect Promise Exit · rhyssullivan
    Replace React/effect-atom mutation handlers that use promise-mode plus try/catch with promiseExit and explicit Exit handling. Use when lint or review flags try/catch around useAtomSet mutation calls, especially UI handlers that set error/busy state after a failed mutation.
    0
    installs
  16. Wrdn Effect Typed Errors · rhyssullivan
    Fix lint findings that use untyped JavaScript error handling instead of Effect typed failures. Use when lint flags new Error, throw, try/catch, Promise.catch, Promise.reject, instanceof Error, unknown error message/stringification, or redundant helpers that only construct tagged errors.
    0
    installs
  17. Wrdn Effect Vitest Tests · rhyssullivan
    Keep tests deterministic and Effect-aware. Use when lint flags direct vitest imports or conditional assertions inside tests.
    0
    installs
  18. Wrdn Effect Atom Optimistic · rhyssullivan
    Detects hand-rolled optimistic-update plumbing in React code that should be using effect-atom's Atom.optimistic and Atom.optimisticFn instead. Run on diffs touching packages/react/src/api/atoms.tsx, packages/react/src/pages/**/*.tsx, or any file that imports an effect-atom mutation atom from ./api/atoms. The hand-rolled patterns race on concurrent mutations and the codebase has chosen the effect-atom primitives as the canonical answer.
    0
    installs
  19. Wrdn Typescript Type Safety · rhyssullivan
    Remove TypeScript escape hatches. Use when lint flags @ts-nocheck or similar broad type bypasses.
    0
    installs
  20. Wrdn Effect Schema Boundaries · rhyssullivan
    Normalize unknown or loosely typed data at boundaries with Effect Schema, named guards, or typed adapters. Use when lint flags double casts, inline object assertions, unknown shape probing, or ad hoc property checks on unknown values.
    0
    installs
  21. Wrdn Effect Raw Fetch Boundary · rhyssullivan
    Route HTTP through Effect boundaries instead of raw fetch. Use when lint flags executor/no-raw-fetch or when adding networked protocol/provider code.
    0
    installs
  22. Wrdn Effect Atom Reactivity Keys · rhyssullivan
    Add reactivityKeys to effect-atom write mutation calls. Use when lint flags a useAtomSet mutation call that mutates data without invalidation keys.
    0
    installs
  23. Wrdn Effect Value Inferred Types · rhyssullivan
    Replace duplicated object API types with types inferred from the runtime value or factory that owns the shape. Use when lint or review flags an interface/type alias that mirrors a returned object such as a plugin extension, client surface, route map, or handler table.
    0
    installs
  24. Wrdn Effect Schema Inferred Types · rhyssullivan
    Replace duplicated TypeScript shape declarations next to Effect Schema definitions with schema-derived types. Use when lint or review flags an interface/type alias that repeats fields already described by a nearby Schema.Struct, Schema.Union, Schema.TaggedStruct, or other Effect Schema model.
    0
    installs
  25. Effect Client Wrapper · rhyssullivan
    Pattern for wrapping third-party SDK clients (Stripe, Resend, AWS, etc.) with Effect. Use when creating Effect services that wrap external libraries with Promise-based APIs. Provides type-safe error handling, automatic tracing, and clean dependency injection via the "use" pattern.
    0
    installs