Umar Siddiqui Full-stack developer
Navigation
Home

Claude Code · Cursor · Codex

I was building software long before coding agents.

I learned the long way: reading a codebase, writing the code, reviewing it line by line. Agents compress the distance between a decision and a diff. I still take the keyboard back.

The loop I actually run

AI-native SDLC playbook

Six stages. Each one commits an artifact the next stage can read. I still accept the gate.
  1. 01 Plan

    intent.md

    I write the problem. Nothing is designed until I accept it.

  2. 02 Design

    spec.md

    Taste, brand, and the security boundary sit in the session before UI exists.

  3. 03 Build

    plan.md

    I interrogate blast radius. Then Claude Code, Cursor, or Codex implement.

  4. 04 Test

    Playwright, axe

    Tests ship with the code. A Stop hook asks if this session ran them.

  5. 05 Deploy

    the PR

    I still merge. Auth, money, and merchant data never auto-accept.

  6. 06 Maintain

    incident.md

    A production miss writes the next intent. The loop does not end at merge.

A merged PR starts the pipeline. A production miss writes the next intent.md.

Skills

A skill is a folder. The agent loads it in three passes, not all at once.

caveman/

  • SKILL.md Required. Frontmatter, then the instructions.
  • references/ Loaded when the task needs the extra chapter.
  • scripts/ Run. The source does not enter context.
  1. 01 Discovery

    name + description Always in the prompt. Enough to know when to load the rest.
  2. 02 Activation

    SKILL.md The body lands only when the task matches.
  3. 03 Execution

    references/ · scripts/ Read or run on demand. Not stuffed into the window.

Compression

  • Caveman

    Cuts filler so context lasts. Lite on client work, full on a long session.

    Claude Code · Cursor · Codex

  • Cavecrew

    Investigator, builder, reviewer as compressed subagents.

    Claude Code · Cursor

  • Caveman commit

    Conventional commits. Why over what. Readable at 1am.

    Claude Code · Cursor · Codex

Taste

  • Design taste

    Anti-slop frontend. The page has to look like this site, not a template.

    Claude Code · Cursor

  • Frontend design

    One signature move, then restraint. Decoration that does not serve the brief gets cut.

    Claude Code · Cursor

  • Brandkit

    Art direction for a mark or a board. Not a random logo generator.

    Claude Code · Cursor

Guardrails

  • Ponytail

    Stdlib, then native, then the repo, then the smallest change that holds.

    Claude Code · Cursor · Codex

  • Security review

    Auth, secrets, injection, tenancy. Then a hook so the policy is not optional.

    Claude Code · Cursor · Codex

  • Caveman review

    Location, problem, fix. One line per finding on the diff I still merge.

    Claude Code · Cursor · Codex

Craft

  • Senior backend

    APIs, Postgres, tenancy, retries. The boring correctness commerce actually fails on.

    Claude Code · Codex

  • Playwright

    Drives the same flows a person will. A DOM dump is not done.

    Claude Code · Cursor

MCP

How the agent leaves the chat. Design, deploys, tickets, and production stay in the session.

  • Figma

    Design context into the editor

  • GitHub

    PRs, issues, the audit trail

  • Vercel

    Previews, env, the deploy I just pushed

  • Sentry

    Production back into the next intent

  • Prisma

    Schema and migrations without folklore

  • Supabase

    Tables, policies, the live project

  • Playwright

    A real browser, not a guessed DOM

  • Cursor browser

    Verify the thing I just shipped locally

  • Context7

    Current library docs, not training-cut memory

  • BigCommerce

    Platform docs next to the integration

  • Postman

    Collections and the request that actually failed

  • Render

    Services that are not on Vercel

  • ClickUp

    The ticket the intent.md came from

  • tldraw

    A canvas when a table is the wrong shape

  • BrowserStack

    The device I do not have on the desk

  • Mobbin

    How real apps solved this flow

Hooks

Skills advise. Hooks refuse, even when the model is tired, eager, or wrong.

Agent hooks
Event Host What it does
SessionStart Claude Code, Cursor, Codex Load CLAUDE.md / AGENTS.md, caveman lite, ponytail, and the design skill that matches the repo.
PreToolUse: Write / Edit Claude Code, Codex Refuse writes to .env, credentials, id_rsa, and anything gitignored as a secret. Refuses .env, *.pem, google-services.json.
PreToolUse: Bash Claude Code, Codex, Cursor Deny git push --force, git reset --hard, and git checkout -- on uncommitted work. Refuses force-push, hard reset, clobber.
UserPromptSubmit Claude Code, Codex On implementation prompts, inject the six-rung ladder so the first draft is the smallest one that holds.
PreToolUse: Write (multi-file) Claude Code If the blast radius is over three files and there is no accepted plan.md, switch the session back to plan mode.
PostToolUse: Edit Claude Code, Cursor Run the repo formatter and linter on the file that changed so drift never accumulates.
Stop Claude Code, Cursor If this session touched UI or a route and did not run Playwright or axe, ask before closing.
PR / GitHub check GitHub + Codex review The merged diff is checked against plan.md. Drift is a comment, not a surprise in production.

Which model, and when

Leaderboards move weekly. The Intelligence Index below is live.

Artificial Analysis

  • Claude Code

    Claude Fable 5.1

    Architecture, spec, and the decision to stop

    Best at saying no. Reads the repo, writes intent.md and spec.md, and will argue with a bad plan before it writes code.

  • Codex

    GPT-6 Astra / GPT-5.3 Codex

    Implementation once the plan is accepted

    Arena WebDev leader, terminal-native, happy in a worktree. I let it run longer once hooks and tests are in front of it.

  • Cursor

    Grok 4.6 / Composer 2.5

    In-file loop while I am looking at the UI

    Lives in the editor I already have open. MCPs, lints, and the browser tools are right there. Speed beats a two-point Elo gap.

  • Any host with a Gemini key

    Gemini 3.8 Flash

    Long context, vision, and bulk reads

    Index score is mid. Tokens per second and dollars per million are not. I use it to read, not to decide.

Artificial Analysis · Intelligence Index

Live board. Score is the Index, not a percentage.

Best of both worlds is not a slogan

Accelerate what I can verify. Refuse what I cannot. That is the whole method.

Email me See the work