_SH Log's
Back to Root
EST: 4 min read

How I Use Claude Code to Ship Faster (Solo Founder)

I use Claude Code with a custom skills layer to plan, build, test, and deploy across products. Here's my exact workflow as a solo founder shipping six products.

#claude-code#ai#productivity#founder

I use Claude Code as my primary coding agent across six products. Not as an autocomplete or a rubber duck — as a full collaborator that handles architecture planning, implementation, test writing, and deployment scripting. Here's the exact workflow I've built after shipping 170+ repos.

The custom skills layer

Out-of-the-box Claude Code is powerful. With a skills layer it's transformative. I've published several skills that I use across all products:

# Add to Claude Code
/softco build [feature]          # PM + architect + dev + DevOps in one loop
/frontend-design [component]     # production-grade UI, no AI slop
/seo-master [page/site]          # SEO + GEO + AEO audit + implementation
/skill-builder [description]     # build a new skill from plain English

Each skill is a SKILL.md file in ~/.claude/skills/ that loads domain-specific context and instructions. The skill-builder skill builds new skills from descriptions — meta, but it works.

The daily workflow

My day with Claude Code:

Morning (architecture): I open the product I'm working on, describe the day's feature in plain English, and run /softco. The agent produces a spec → I review and adjust the architecture → it writes the implementation plan. I read everything before it touches a file.

Midday (implementation): I let the agent implement while I'm in the loop on anything touching DB schema, API contracts, or infrastructure. I never approve DB migrations without reading them. Everything else I can approve fast.

Evening (review + ship): /code-review on the diff, fix any findings, push. GitHub Actions handles build and deploy.

Prompting principles that actually work

Scope hard. "Build a user auth system" produces bloat. "Add JWT middleware to the Go Chi router in middleware/auth.go that validates tokens against the users table token_hash column" produces exactly what you need.

Front-load constraints. Put "no new dependencies", "must work with the existing DB schema", "Go 1.22 only" at the top of the prompt, not buried in it.

Review architecture before code. Ask the agent to describe its approach before writing code. Changing architecture after implementation is expensive. Changing a paragraph description is free.

Use TodoWrite for long tasks. Claude Code's TodoWrite tool tracks multi-step work. For anything > 3 steps, I tell the agent to create a todo list first. It keeps the session from losing track mid-task.

What I never let the agent do autonomously

| Action | Why | |--------|-----| | DB migrations | Schema changes are hard to reverse | | Terraform apply | Infrastructure changes affect all products | | git push --force | Non-recoverable in shared branches | | Package version changes | Breaks can be subtle and widespread | | Environment variable changes | Security-sensitive |

For all of these I read the generated file/command, understand it, then execute it myself.

Failure modes and fixes

Context drift. Long sessions accumulate bad assumptions. Fix: /clear when switching features. Start fresh per feature, not per day.

Test hallucination. Tests that test nothing (mock everything, assert nothing). Fix: read every test the agent writes. Look for assertions, not just green output.

Over-engineering. Agents tend toward abstraction. Fix: explicit "no abstractions — write the simplest code that works" in the prompt. Three similar functions beat one clever generic.

Dependency creep. Agents import packages reflexively. Fix: "no new dependencies" constraint in every implementation prompt.

ROI measurement

Before Claude Code: ~2 features per week across all products.
After Claude Code + skills: ~6–8 features per week.

The improvement isn't the agent writing code faster. It's eliminating the 3-hour research rabbit holes (how does pgvector indexing work?), the boilerplate (Go HTTP handler + middleware + test), and the context-switching cost of going from product to product.

FAQ

Is Claude Code worth it for a solo founder? Yes — if you use it as a full collaborator with strict oversight, not as magic code generation. The ROI is highest for boilerplate, research synthesis, and cross-product consistency.

What's the difference between Claude Code and Cursor? Claude Code is a CLI-first, command-driven agent with a skills/hooks system. Cursor is IDE-integrated with inline completions. I use Claude Code for autonomous feature implementation and architecture work; IDE completions for quick edits.

Do you use it for all languages? Go, TypeScript, Python, Bash, HCL (Terraform). It's strongest in Go and TypeScript for me because I review its output there most carefully.

How do you prevent the agent from making breaking changes? Explicit constraints in every prompt + reviewing all DB, infra, and API contract changes before approving. The agent doesn't have autonomy over those boundaries.


Written by Shihab Shahriar Antor — AI Engineer & Founder of Shahriar Labs. See also: My AI Agent Skills Stack · The Tools I Built to Make AI Coding Agents 10x.