Claudelike a chatbot with better memory. That's level one thinking. After burning through way too many API credits and late-night debugging sessions, I've mapped out seven distinct stages β each unlocks something the previous one couldn't touch.
Level 1: Raw prompting (where everyone starts) #
You type a question, get an answer. Maybe you've learned to add "think step by step" or paste in a few examples. It works for one-offs β summarizing a PDF, drafting an email, explaining a regex. But you're re-explaining context every single time. The moment you need consistency across ten related tasks, this breaks.
Level 2: System prompts that stick #
Stop pasting the same instructions. Write a proper system prompt once: role, tone, constraints, output format, error-handling rules. Save it. Reuse it. Suddenly your "summarize this codebase" prompt produces consistent structure whether you feed it a React component or a Django view. Pro tip: version-control your system prompts like code. I keep mine in a prompts/
folder with git history.
Level 3: Projects β persistent context that actually works #
This is where Claude stops feeling stateless. Create a Project, upload your docs (specs, API references, style guides, existing code), set the system prompt once. Now every conversation in that Project inherits all of it. I have a "backend-api" Project with our OpenAPI spec, database schema, and naming conventions. Ask it to "add a new endpoint for user preferences" and it knows the auth middleware, the pagination pattern, the error envelope. No re-explaining.
Level 4: Skills β reusable mini-agents #
Projects handle context. Skills handle workflows. A Skill is a packaged prompt chain: input β transform β validate β output. Example: "generate TypeScript types from this JSON sample" β feed it messy API responses, get clean interfaces with JSDoc comments, null-safety flags, and Zod schemas. Build a library of these. Share them across Projects. My team has twenty-odd Skills now: "write unit test for this function," "create migration from schema diff," "generate OpenAPI patch from code changes."
Level 5: Automation via the API #
Skills are manual. Automation is scheduled. Hook the API into CI/CD: PR opens β Claude reviews diff against style guide β posts inline comments. Nightly cron β Claude scans Jira tickets with "needs-spec" label β drafts technical specs in Confluence. Webhook β Slack mention β Claude summarizes the thread and suggests action items. The key insight: treat Claude as a service, not a chat window. Write thin wrappers around the API (I use a 200-line Python module) and deploy them as Cloud Functions or GitHub Actions.
Level 6: Claude Code β the agent that lives in your terminal #
This changed everything for me. claude-code
isn't just autocomplete β it's an agent that reads your repo, runs tests, edits files, commits. You say "refactor the auth module to use the new token service" and it: finds all imports, updates them, runs the test suite, fixes failures, stages changes. It respects your .gitignore
, your lint config, your test commands. I've had it rewrite entire feature branches while I grabbed coffee. The learning curve is trusting it β start with claude-code --dry-run
to see the plan before it executes.
Level 7: Multi-agent orchestration #
Single agent hits limits. Complex tasks need specialization: a planner agent breaks down "migrate from REST to GraphQL" into subtasks, a coder agent implements resolvers, a tester agent writes integration tests, a reviewer agent checks for N+1 queries. They pass structured JSON between each other. I built a tiny orchestrator (300 lines) that manages the conversation graph, handles retries, logs everything to a local SQLite DB for debugging. Now "migrate the payments module" is a single command that spins up four agents and finishes in twenty minutes.
Where are you stuck? Level 3 (Projects) is the sweet spot for most solo devs β high leverage, zero infrastructure. Level 6+ pays off when you're maintaining a real codebase with tests and CI. Happy to share my Skill templates or the orchestrator skeleton if anyone wants a starting point.
Next Can we actually migrate Hermes Agent skills to OpenCode without β