DuetDuet
Log inRegister

Guide

The Claude Code Playbook: Skill-First Workflows

Sawyer MiddeleerSawyer Middeleer
15 min read·Updated February 23, 2026

On this page

What goes in itKeep it shortAdd a Definition of Done
Commands you should create on day oneCommands vs Skills: what's the difference?
Why skills matterExample: how skills work in practiceBuilding your own skills
Explore firstPlan before you executeExecute in focused chunksVerify before you use it
Why this matters for GTM teamsCommon MCP connections for non-engineering teamsStart small
/clear between tasks/compact when continuingThe daily habits
The Claude Code Playbook: Building a Skill-First Workflow That Actually Sticks

We've been using Claude Code every day for months. Initially, it was chaos.

Claude would overwrite work it shouldn't touch. Ignore instructions we'd given five minutes earlier. Generate walls of output when a few sentences would've done the job. And the longer a session went, the more it drifted — confidently wrong about things that were true 20 minutes ago.

The model wasn't the problem. Our setup was.

So we built a system that works — and we're giving it away. Every person on the Duet team runs a version of this, and it just works. No coding experience required.

TLDR;

  • A CLAUDE.md file that makes Claude behave consistently every single time
  • Ready-made commands so you stop re-explaining yourself every session
  • Skills that give Claude deep expertise in specific domains (marketing, writing, strategy)
  • The Explore, Plan, Execute, Verify loop we run daily
  • Context habits that prevent the slow drift that makes AI unreliable

In this guide

01

Before You Start

02

Why Most People Struggle

03

CLAUDE.md: Your Instruction Manual

04

Commands: One-Click Workflows

05

Skills: Deep Expertise

06

Explore, Plan, Execute, Verify

07

Connecting Tools with MCP

08

Context Hygiene

09

Mistakes We've Made

10

Get the Starter Pack

11

FAQ


Before you start. This guide is good for you if…

You've tried Claude Code a few times. You think it's powerful but unpredictable. Some sessions are magic, others are a mess. You're tired of re-explaining the same things, or getting outputs that miss the mark.

This is the fix. And you don't need to be a developer to use it. If you haven't used Claude Code at all yet, start with The Ultimate Beginner's Guide first.


Why Most People Struggle with Claude Code

Three gaps that explain 90% of bad sessions:

1. Nothing is written down.

Your brand voice, project context, preferences — they live in your head. Claude can't read minds. If your standards aren't in a file, Claude invents its own. Every time.

2. Everyone starts from scratch.

Every new session, you re-explain the same context. "Here's our brand voice. Here's our audience. Here's what we did last time." It's exhausting and the quality is inconsistent.

3. Context degrades over time.

Long sessions accumulate stale information. Claude starts referencing things from 30 minutes ago that aren't true anymore. Confidence stays high. Accuracy drops. You don't notice until you read the output closely.

The fix isn't better prompting. It's a system.


CLAUDE.md: Your Project's Instruction Manual

CLAUDE.md is a file that Claude Code reads automatically at the start of every conversation. Think of it as a brief you'd write for a new freelancer — except this one actually gets read. Every. Single. Time.

Claude loads CLAUDE.md from three places

Claude loads it from three places:

  • CLAUDE.md in your project folder — shared context for your whole team
  • .claude/CLAUDE.md — additional project details
  • ~/.claude/CLAUDE.md — your personal preferences (stays local to you)

What goes in it

Keep it focused on five things:

Project Overview: What is this project? What are we working on?

"Duet is a marketing platform for technical founders. Our audience is small teams under 10 people. Tone is direct, no-fluff, value-first."

Key Context: What does Claude need to know to do good work?

"Our brand voice is conversational but authoritative. We never use corporate jargon. We target technical founders, not enterprise buyers."

Preferences: How should Claude approach tasks?

"Keep outputs concise. Use bullet points over paragraphs. Always ask before making major changes to existing content."

Reference Files: Where should Claude look for more detail?

"Brand voice guidelines are in 00_foundation/brand-voice/. Check raw-context/ for customer research and call notes."

Do-Not List: What should Claude avoid?

"Never use buzzwords like 'synergy' or 'leverage.' Never publish content without review. Never change the brand voice doc without asking."

Keep it short

This matters more than people think. CLAUDE.md loads into every conversation. The bigger it gets, the more space it takes up before you've even asked your first question. Aim for under 15KB. If it's growing past that, break things into separate files in .claude/rules/ — they'll load automatically but only when relevant.

Add a Definition of Done

This one addition will save you more frustration than everything else in this section combined:

## Definition of Done
- Output matches our brand voice
- Content is reviewed before publishing
- Sources are cited where applicable
- Formatting follows our style guide
- No placeholder text left in final output

Without this, Claude declares work "complete" prematurely. With it, Claude has a concrete checklist to hit. Simple as that.


Commands: One-Click Workflows

Every time you type "write me a LinkedIn post about our new feature," you get slightly different results. The wording varies, the context changes, and Claude interprets it differently each time.

Commands fix this.

Commands are simple text files in .claude/commands/ that become slash commands. The file name becomes the command name. The file content is the prompt. Everyone on your team gets identical, repeatable behavior.

.claude/commands/
  blog-outline.md
  linkedin-post.md
  email-draft.md
  competitor-brief.md
  weekly-report.md
  content-review.md

The 6 commands you need on day one

Commands you should create on day one

CommandWhat it doesWhen to use
/blog-outlineCreates a structured blog outline with key points and CTAStarting any new article
/linkedin-postDrafts a LinkedIn post in your brand voice with a hook and CTADaily or weekly content creation
/email-draftWrites an email sequence or one-off email following your templatesOutreach, nurture sequences, announcements
/competitor-briefResearches a competitor and produces a structured comparisonBefore writing comparison pages or sales material
/weekly-reportSummarizes this week's activity, metrics, and next stepsMonday planning or Friday wrap-up
/content-reviewReviews any content for brand voice, clarity, and effectivenessBefore publishing anything

These are starting points. Create commands for anything you do repeatedly.

Commands vs Skills: what's the difference?

Commands vs Skills explained

This trips people up, so here's the simple version:

Commands are buttons you press. You type /linkedin-post and it runs. Explicit. Intentional. You decide when to use them.

Skills are expertise that activates automatically. Claude reads the skill description at startup. When your conversation matches a skill's domain — say, you ask about email sequences — the full skill instructions load automatically. You don't have to remember to trigger them.

Commands live in .claude/commands/ (single files). Skills live in .claude/skills/ (folders with supporting reference material).

Use commands for repeatable workflows. Use skills for domain expertise.

For example, you might have a /linkedin-post command that kicks off the writing process, while a social-content skill ensures Claude always knows best practices for LinkedIn formatting, hooks, and engagement — without you having to explain it.


Skills: Giving Claude Deep Expertise

Skills are the most powerful — and most underused — feature in Claude Code. They turn Claude from a general-purpose assistant into a domain expert. For the full technical breakdown of how skills compare to tools and MCP, see Agent Skills 101.

A skill is a folder containing:

  • SKILL.md — the core instruction file with frameworks, best practices, and decision logic
  • Supporting files — templates, examples, reference material

When Claude detects that your conversation matches a skill's domain, it automatically loads the full instructions. No prompting needed.

Why skills matter

Without skills, every time you ask Claude to write marketing copy, you have to re-explain your frameworks, your audience, your voice. With skills, all of that is pre-loaded. Claude writes like someone who's read your entire marketing playbook — because it has.

Example: how skills work in practice

Say you have these skills installed:

  • copywriting — your copy frameworks, persuasion patterns, CTA formulas
  • brand-voice — tone, vocabulary, dos and don'ts
  • email-sequence — drip campaign best practices, subject line templates

When you say "write a welcome email sequence for new trial users," Claude automatically loads the email-sequence skill, cross-references your brand voice, and applies your copy frameworks. You get a polished output on the first try — not the third.

Building your own skills

You don't need to be technical. A skill is just a markdown file with clear instructions:

# Skill: Blog Writing

## When to activate
When the user asks to write, outline, or edit a blog post.

## Instructions
- Always start with a hook that addresses a specific pain point
- Use short paragraphs (2-3 sentences max)
- Include a clear CTA at the end
- Reference our customer research in raw-context/ for real examples
- Follow our brand voice: conversational, direct, no jargon

## Templates
[Include your blog post template here]

Drop this in .claude/skills/blog-writing/SKILL.md and Claude picks it up automatically. For a deeper look at building a shared skill library that works across Claude.ai, the API, and the Agent SDK, see Beyond Claude Code: Building a Shared Skill Library.


A Simple Workflow That Keeps Things on Track

Explore, Plan, Execute, Verify loop

Explore, Plan, Execute, Verify. This is what makes Claude Code predictable instead of chaotic.

Explore first

Before Claude produces anything, make sure it understands the context.

This prevents the most common failure mode: Claude generating content that ignores your existing work, your audience, or constraints you mentioned two messages ago.

Point Claude to the relevant files. Have it read your brand guidelines, check your previous content, look at your notes. Never let Claude create from a blank slate when context exists.

Plan before you execute

For anything beyond a quick one-liner, ask Claude to outline its approach first. This is the single biggest quality lever.

The most expensive mistake: skipping the plan on a "simple" task. Claude will happily generate 2,000 words of content that misses the point entirely. A 30-second plan prevents a 30-minute rewrite.

A good plan includes: what Claude will create, the structure it'll follow, which reference files it'll use, and what the output will look like.

Execute in focused chunks

Once the plan looks right:

  • One task at a time — don't ask Claude to write a blog post, three emails, and a landing page in one message
  • Review as you go — catch drift early before it compounds
  • Keep the scope tight — if Claude starts expanding beyond what you asked, pull it back

Verify before you use it

Every output should pass your Definition of Done before you consider it finished. Does it match your brand voice? Is it the right length? Does it actually say something useful?

Build this into your CLAUDE.md so Claude checks itself — not because you remembered to ask.


Connecting External Tools with MCP

MCP (Model Context Protocol) lets Claude Code talk to external tools you already use — Google Sheets, Notion, your CRM, email platforms. Instead of copying and pasting data between tools, Claude can read from and write to them directly. For setup instructions, see the MCP Tools section in the Beginner's Guide.

Why this matters for GTM teams

Imagine telling Claude: "Pull our latest campaign data from the Google Sheet, cross-reference it with leads in our CRM, and draft a performance summary." With MCP, Claude can actually do this — no manual data wrangling. See How to Run Your Entire Business with Claude Code for real examples of this in action.

Common MCP connections for non-engineering teams

ToolWhat Claude can do
Google SheetsRead campaign data, update tracking sheets, create reports
NotionRead meeting notes, update content calendars, pull research
CRM (Attio, HubSpot)Look up contacts, enrich lead data, update records
Email (Instantly, Resend)Pull campaign analytics, manage lead lists
LinkedInResearch prospects, draft posts, check engagement

Start small

Don't connect everything at once. Each connection takes up space in Claude's memory. The rules:

  • Start with 1-2 tools you use every day
  • Read-only first — let Claude pull data before you let it write data
  • Test it — make sure Claude returns the right information before building workflows around it
  • Document it in your CLAUDE.md so your team knows what's available

Context Hygiene: Keeping Claude Sharp

Every feature in this guide — CLAUDE.md, commands, skills, MCP — exists partly to manage one reality: Claude's memory fills up. And when it fills up, things go sideways quietly.

/clear between tasks

If you're starting something unrelated to what Claude was just working on, type /clear first. Always.

The cost of re-establishing context is lower than the cost of Claude referencing stale information from a previous task. Every time.

/compact when continuing

If you want to keep the current conversation going but Claude seems to be slowing down or losing track:

/compact Keep the content plan and brand voice notes. Drop the research.

But compaction is lossy — you can't fully control what gets kept. When in doubt, /clear and start fresh.

The daily habits

  • /clear between unrelated tasks
  • Start new sessions for new projects
  • Keep CLAUDE.md concise — every extra line costs space every session
  • If Claude starts giving off-base responses, the context is stale. Clear it.

Mistakes We've Made So You Don't Have To

Common mistakes and how to fix them

MistakeWhat happensFix
No CLAUDE.mdClaude reinvents your standards every sessionCreate a minimal one today
Huge CLAUDE.mdUses up Claude's memory before you even startKeep under 15KB, use .claude/rules/ for the rest
No skills installedClaude gives generic outputs instead of expert-level workAdd skills for your core workflows (copy, email, content)
Skipping the plan2,000 words of content that misses the pointAlways plan non-trivial work
Connecting too many toolsClaude's memory shrinks, quality dropsStart with 1-2 MCP connections
Never clearing contextDrift, stale references, off-brand outputs/clear between tasks
Doing everything in one sessionClaude loses track, outputs degradeOne task per session, use commands for consistency

Get the Starter Pack

Get the starter pack

We packaged everything from this guide into files you can drop into your project today:

  • CLAUDE.md template — ready to customize with your brand and context
  • 6 starter commands — /blog-outline, /linkedin-post, /email-draft, /competitor-brief, /weekly-report, /content-review
  • Example skills — copywriting, brand voice, and email sequence skills you can adapt
  • Context hygiene cheat sheet — one-page reference for your team

→ Download the Starter Pack

Drop your email and you'll get instant access to the full pack.


Frequently Asked Questions

Want to use Claude Code with your team?

Try Duet—the collaborative workspace for AIs and Humans

Get Started

Product

  • Get Started
  • Documentation

Compare

  • Duet vs OpenClaw
  • Duet vs Claude Code
  • Duet vs Codex
  • Duet vs Conductor
  • Duet vs Zo Computer

Resources

  • Blog
  • Guides

Company

  • Contact

Legal

  • Terms
  • Privacy
Download on the App StoreGet it on Google Play

© 2026 Aomni, Inc. All rights reserved.