{"id":5182,"date":"2026-06-14T06:45:00","date_gmt":"2026-06-14T06:45:00","guid":{"rendered":"https:\/\/jonjones.ai\/uncategorized\/how-to-use-claude-code-2\/"},"modified":"2026-06-14T06:45:00","modified_gmt":"2026-06-14T06:45:00","slug":"how-to-use-claude-code-2","status":"publish","type":"post","link":"https:\/\/jonjones.ai\/zh\/%e4%ba%ba%e5%b7%a5%e6%99%ba%e6%85%a7\/how-to-use-claude-code-2\/","title":{"rendered":"\u5982\u4f55\u4f7f\u7528\u514b\u52de\u5fb7\u4ee3\u78bc\uff1a\u667a\u80fd\u9ad4\u4eba\u5de5\u667a\u6167\u64cd\u4f5c\u54e1\u6307\u5357"},"content":{"rendered":"<p>I run 10+ autonomous businesses from a single Docker server. Every one of them uses <strong>how to use Claude Code<\/strong> at its core \u2014 not for writing Python scripts, but for running entire business operations on a cron schedule while I sleep. Blog posts, newsletters, social media queues, outreach campaigns. All of it. Unattended.<\/p>\n\n<p>Most tutorials on Claude Code treat it like a coding tool. It is one. But if that&#8217;s where you stop, you&#8217;re leaving the most powerful part untouched.<\/p>\n\n<p>This guide is the one I wish I had when I started. You&#8217;ll get the setup, the system that makes it actually work (CLAUDE.md), and the exact patterns I use to run autonomous AI operations at scale. You don&#8217;t need to be a developer. You need to be willing to build.<\/p>\n\n<p>Let&#8217;s go.<\/p>\n\n<h2>What Is Claude Code? (Beyond the Dev Hype)<\/h2>\n<figure class=\"wp-block-image size-large\">\n  <img decoding=\"async\" src=\"https:\/\/jonjones.ai\/wp-content\/uploads\/2026\/06\/claude-code-what-is-it.jpg\" alt=\"how to use claude code terminal interface with glowing AI elements\" \/>\n<\/figure>\n\n<p>Claude Code is Anthropic&#8217;s command-line AI agent. You install it, open a terminal, and from that moment Claude can read files, write files, run commands, search the web, call APIs, and execute multi-step tasks \u2014 all from a conversation in your shell.<\/p>\n\n<p>That&#8217;s what makes it different from claude.ai in a browser tab. The browser version answers questions. Claude Code <em>acts<\/em> on things. It&#8217;s the difference between asking a contractor for advice and handing them the keys to your workshop.<\/p>\n\n<p>Here&#8217;s what most people miss: Claude Code is not just for code. Yes, it writes TypeScript and Python beautifully. But the reason it&#8217;s changed my business is that it can be pointed at <em>any repeatable task<\/em> \u2014 with the right context file telling it what to do.<\/p>\n\n<p>I have containers running Claude Code 24\/7 on tasks like:<\/p>\n<ul>\n<li>Writing and publishing blog posts from a keyword queue (yes, including this one)<\/li>\n<li>Monitoring social channels and drafting engagement replies<\/li>\n<li>Running weekly Google Analytics + Search Console sweeps and logging insights<\/li>\n<li>Checking competitor sites for market intelligence and updating Airtable<\/li>\n<li>Sending newsletter campaigns to Sendy lists<\/li>\n<\/ul>\n\n<p>The developer crowd figured out Claude Code first. But operators \u2014 people who run businesses, not just ship code \u2014 are the ones who are going to use it most. Because agents don&#8217;t care if the task is &#8220;refactor a React component&#8221; or &#8220;pull the top 5 keywords from Airtable, write a post, and publish it to WordPress.&#8221; They just run the job.<\/p>\n\n<p>One more thing worth knowing: Claude Code is billed through Anthropic&#8217;s API, not the chat subscription. You pay per token. For operators running daily workflows, this is cheaper than a team of VAs and faster than any human. The math isn&#8217;t close.<\/p>\n\n<h2>How to Install Claude Code in 5 Minutes<\/h2>\n<figure class=\"wp-block-image size-large\">\n  <img decoding=\"async\" src=\"https:\/\/jonjones.ai\/wp-content\/uploads\/2026\/06\/claude-code-installation-setup.jpg\" alt=\"claude code installation setup terminal\" \/>\n<\/figure>\n\n<p>You need two things: Node.js and an Anthropic API key. That&#8217;s it.<\/p>\n\n<h3>Step 1: Get Node.js<\/h3>\n<p>If you&#8217;re on Mac, the fastest path is Homebrew:<\/p>\n<pre><code>brew install node<\/code><\/pre>\n<p>On Ubuntu\/Debian Linux:<\/p>\n<pre><code>curl -fsSL https:\/\/deb.nodesource.com\/setup_20.x | sudo -E bash -\nsudo apt-get install -y nodejs<\/code><\/pre>\n<p>Windows users: grab the LTS installer from <a href=\"https:\/\/nodejs.org\" target=\"_blank\" rel=\"noopener noreferrer\">nodejs.org<\/a>. Takes two minutes.<\/p>\n\n<h3>Step 2: Install Claude Code<\/h3>\n<pre><code>npm install -g @anthropic-ai\/claude-code<\/code><\/pre>\n\n<h3>Step 3: Get Your API Key<\/h3>\n<p>Go to <a href=\"https:\/\/console.anthropic.com\" target=\"_blank\" rel=\"noopener noreferrer\">console.anthropic.com<\/a>, create an account, and generate an API key under &#8220;API Keys.&#8221; Drop a few dollars of credit in. For testing, $5 will last you hours.<\/p>\n\n<h3>Step 4: Set Your Key and Launch<\/h3>\n<pre><code>export ANTHROPIC_API_KEY=\"your-key-here\"\nclaude<\/code><\/pre>\n\n<p>You&#8217;re in. Type something. Claude responds. Ask it to list the files in your current directory. Ask it to read a file and summarize it. You&#8217;ll immediately feel the difference from the browser \u2014 it has access to your file system, and it can <em>do things<\/em>.<\/p>\n\n<p>Pro tip: Add the export line to your <code>~\/.bashrc<\/code> or <code>~\/.zshrc<\/code> so you don&#8217;t have to set it every time.<\/p>\n\n<pre><code>echo 'export ANTHROPIC_API_KEY=\"your-key-here\"' >> ~\/.zshrc\nsource ~\/.zshrc<\/code><\/pre>\n\n<p>One session, done. Claude Code is live.<\/p>\n\n<h2>Your First CLAUDE.md: Teaching Claude Your Business Context<\/h2>\n<figure class=\"wp-block-image size-large\">\n  <img decoding=\"async\" src=\"https:\/\/jonjones.ai\/wp-content\/uploads\/2026\/06\/claude-code-claude-md-context.jpg\" alt=\"CLAUDE.md context system for business automation\" \/>\n<\/figure>\n\n<p>This is where Claude Code goes from &#8220;interesting tool&#8221; to &#8220;autonomous operator.&#8221; The <code>CLAUDE.md<\/code> file is how you give Claude persistent context about what you are, what you do, and how you want things done \u2014 without repeating yourself every session.<\/p>\n\n<p>Every project directory can have a <code>CLAUDE.md<\/code> file. When Claude Code starts in that directory, it reads that file first. It becomes the operating manual for the agent.<\/p>\n\n<h3>What Goes in CLAUDE.md?<\/h3>\n<p>Think of it as an onboarding document for a new team member who forgets everything between conversations. You want to cover:<\/p>\n<ul>\n<li><strong>Identity:<\/strong> What business is this? What does it do? Who&#8217;s the operator?<\/li>\n<li><strong>Brand voice:<\/strong> How should it sound? What tone? What to avoid?<\/li>\n<li><strong>Credentials and integrations:<\/strong> Which APIs are available? What environment variables to use?<\/li>\n<li><strong>Standard procedures:<\/strong> How to publish a blog post, how to schedule social, what to do when a queue is empty<\/li>\n<li><strong>Non-negotiables:<\/strong> Rules that can never be broken (&#8220;always publish as &#8216;publish&#8217;, never draft&#8221;)<\/li>\n<\/ul>\n\n<p>Here&#8217;s a minimal example for a content business:<\/p>\n\n<pre><code>## Identity\nYou are the AI agent for [YourBrand]. You run autonomous content operations.\nOwner: [Your Name]. Location: [Your City].\n\n## Brand Voice\nDirect, helpful, no corporate fluff. Sound like an expert friend.\n\n## Rules\n1. Always publish posts with status: publish \u2014 never draft\n2. Set RankMath focus keyword on every post\n3. Always end with: SKILL_RESULT: success|fail|skip\n\n## WordPress\n- URL: stored as WP_URL\n- Username: stored as WP_USERNAME\n- App Password: stored as WP_PASSWORD\n<\/code><\/pre>\n\n<p>My production CLAUDE.md files are 400+ lines. They cover every integration, every API pattern, every edge case. The more you put in, the less you have to supervise. That&#8217;s the point.<\/p>\n\n<p>The other file type to know: <code>skill files<\/code>. I keep these in <code>.claude\/skills\/<\/code> \u2014 they&#8217;re mini playbooks for specific tasks. A <code>blog-writer.md<\/code> that documents the full 10-step blog publishing pipeline. A <code>social-miner.md<\/code> that explains how to find and draft social replies. Claude reads them on demand and follows the procedures exactly.<\/p>\n\n<p>This combination \u2014 CLAUDE.md for persistent context, skill files for task procedures \u2014 is the foundation of the JonOps system. Every brand I run has its own container with its own CLAUDE.md. The agent wakes up, knows exactly where it is and what to do, executes the task, and goes back to sleep.<\/p>\n\n<p>For a deeper look at building real AI systems from the ground up, see my post on <a href=\"https:\/\/jonjones.ai\/ai\/six-months-from-hackathon-to-production\/\">six months from hackathon to production<\/a> \u2014 every mistake I made so you don&#8217;t have to.<\/p>\n\n<style>#kt-layout-idnl_mid_htclcc26 > .kt-row-column-wrap{align-content:start;}:where(#kt-layout-idnl_mid_htclcc26 > .kt-row-column-wrap) > .wp-block-kadence-column{justify-content:start;}#kt-layout-idnl_mid_htclcc26 > .kt-row-column-wrap{column-gap:var(--global-kb-gap-md, 2rem);row-gap:var(--global-kb-gap-md, 2rem);padding-top:var( --global-kb-row-default-top, 25px );padding-bottom:var( --global-kb-row-default-bottom, 25px );padding-top:32px;padding-right:32px;padding-bottom:32px;padding-left:32px;grid-template-columns:repeat(2, minmax(0, 1fr));}#kt-layout-idnl_mid_htclcc26{border-top-left-radius:16px;border-top-right-radius:16px;border-bottom-right-radius:16px;border-bottom-left-radius:16px;overflow:clip;isolation:isolate;}#kt-layout-idnl_mid_htclcc26 > .kt-row-layout-overlay{border-top-left-radius:16px;border-top-right-radius:16px;border-bottom-right-radius:16px;border-bottom-left-radius:16px;}#kt-layout-idnl_mid_htclcc26{background-color:#1a1035;}#kt-layout-idnl_mid_htclcc26 > .kt-row-layout-overlay{opacity:0.30;}@media all and (max-width: 1024px){#kt-layout-idnl_mid_htclcc26 > .kt-row-column-wrap{grid-template-columns:minmax(0, 1fr);}}@media all and (max-width: 767px){#kt-layout-idnl_mid_htclcc26 > .kt-row-column-wrap{grid-template-columns:repeat(2, minmax(0, 1fr));}}<\/style>\n<div class=\"wp-block-kadence-rowlayout alignnone\">\n<style>.kadence-columnnl_mid_img_htclcc26 > .kt-inside-inner-col{border-top-width:0px;border-right-width:0px;border-bottom-width:0px;border-left-width:0px;}.kadence-columnnl_mid_img_htclcc26 > .kt-inside-inner-col,.kadence-columnnl_mid_img_htclcc26 > .kt-inside-inner-col:before{border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:0px;}.kadence-columnnl_mid_img_htclcc26 > .kt-inside-inner-col{column-gap:var(--global-kb-gap-sm, 1rem);}.kadence-columnnl_mid_img_htclcc26 > .kt-inside-inner-col{flex-direction:column;}.kadence-columnnl_mid_img_htclcc26 > .kt-inside-inner-col > .aligncenter{width:100%;}.kadence-columnnl_mid_img_htclcc26 > .kt-inside-inner-col:before{opacity:0.3;}.kadence-columnnl_mid_img_htclcc26{position:relative;}@media all and (max-width: 1024px){.kadence-columnnl_mid_img_htclcc26 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}@media all and (max-width: 767px){.kadence-columnnl_mid_img_htclcc26 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}<\/style>\n<div class=\"wp-block-kadence-column inner-column-1\"><div class=\"kt-inside-inner-col\">\n\n<figure class=\"wp-block-image size-medium\">\n  <img decoding=\"async\" src=\"https:\/\/jonjones.ai\/wp-content\/uploads\/2026\/06\/newsletter-cta-ai-playbook.jpg\" alt=\"Get the AI Edge \u2014 AI automation newsletter\" style=\"border-radius:12px\" \/>\n<\/figure>\n\n<\/div><\/div>\n\n<style>.kadence-columnnl_mid_txt_htclcc26 > .kt-inside-inner-col{border-top-width:0px;border-right-width:0px;border-bottom-width:0px;border-left-width:0px;}.kadence-columnnl_mid_txt_htclcc26 > .kt-inside-inner-col,.kadence-columnnl_mid_txt_htclcc26 > .kt-inside-inner-col:before{border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:0px;}.kadence-columnnl_mid_txt_htclcc26 > .kt-inside-inner-col{column-gap:var(--global-kb-gap-sm, 1rem);}.kadence-columnnl_mid_txt_htclcc26 > .kt-inside-inner-col{flex-direction:column;}.kadence-columnnl_mid_txt_htclcc26 > .kt-inside-inner-col > .aligncenter{width:100%;}.kadence-columnnl_mid_txt_htclcc26 > .kt-inside-inner-col:before{opacity:0.3;}.kadence-columnnl_mid_txt_htclcc26{position:relative;}@media all and (max-width: 1024px){.kadence-columnnl_mid_txt_htclcc26 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}@media all and (max-width: 767px){.kadence-columnnl_mid_txt_htclcc26 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}<\/style>\n<div class=\"wp-block-kadence-column inner-column-2\"><div class=\"kt-inside-inner-col\">\n<style>.wp-block-kadence-advancedheading.kt-adv-headingnl_mid_h_htclcc26, .wp-block-kadence-advancedheading.kt-adv-headingnl_mid_h_htclcc26[data-kb-block=\"kb-adv-headingnl_mid_h_htclcc26\"]{font-size:24px;font-weight:700;font-style:normal;color:#e9d5ff;}.wp-block-kadence-advancedheading.kt-adv-headingnl_mid_h_htclcc26 mark.kt-highlight, .wp-block-kadence-advancedheading.kt-adv-headingnl_mid_h_htclcc26[data-kb-block=\"kb-adv-headingnl_mid_h_htclcc26\"] mark.kt-highlight{font-style:normal;color:#f76a0c;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}.wp-block-kadence-advancedheading.kt-adv-headingnl_mid_h_htclcc26 img.kb-inline-image, .wp-block-kadence-advancedheading.kt-adv-headingnl_mid_h_htclcc26[data-kb-block=\"kb-adv-headingnl_mid_h_htclcc26\"] img.kb-inline-image{width:150px;vertical-align:baseline;}@media all and (max-width: 767px){.wp-block-kadence-advancedheading.kt-adv-headingnl_mid_h_htclcc26, .wp-block-kadence-advancedheading.kt-adv-headingnl_mid_h_htclcc26[data-kb-block=\"kb-adv-headingnl_mid_h_htclcc26\"]{font-size:20px;}}<\/style>\n<h3 class=\"wp-block-kadence-advancedheading has-text-color\" style=\"color:#e9d5ff;font-weight:700;font-size:24px;margin-bottom:8px\">Get the AI Edge<\/h3>\n\n\n<p class=\"has-text-color\" style=\"color:#c4b5fd\">Weekly automation plays, build logs, and AI operator insights \u2014 straight from the JonOps lab.<\/p>\n\n<div class='fluentform ff-default fluentform_wrapper_8 ffs_default_wrap'><form data-form_id=\"8\" id=\"fluentform_8\" class=\"frm-fluent-form fluent_form_8 ff-el-form-top ff_form_instance_8_1 ff-form-loading ffs_default\" data-form_instance=\"ff_form_instance_8_1\" method=\"POST\" ><fieldset  style=\"border: none!important;margin: 0!important;padding: 0!important;background-color: transparent!important;box-shadow: none!important;outline: none!important; min-inline-size: 100%;\">\n                    <legend class=\"ff_screen_reader_title\" style=\"display: block; margin: 0!important;padding: 0!important;height: 0!important;text-indent: -999999px;width: 0!important;overflow:hidden;\">Lead Magnet - AI Playbook<\/legend><input type='hidden' name='__fluent_form_embded_post_id' value='5182' \/><input type=\"hidden\" id=\"_fluentform_8_fluentformnonce\" name=\"_fluentform_8_fluentformnonce\" value=\"f112d545f8\" \/><input type=\"hidden\" name=\"_wp_http_referer\" value=\"\/zh\/wp-json\/wp\/v2\/posts\/5182\" \/><div class='ff-el-group'><div class='ff-el-input--content'><input type=\"email\" name=\"email\" id=\"ff_8_email\" class=\"ff-el-form-control\" placeholder=\"Your email address\" data-name=\"email\"  aria-invalid=\"false\" aria-required=true><\/div><\/div><div class='ff-el-group ff-text-left ff_submit_btn_wrapper ff_submit_btn_wrapper_custom'><button class=\"ff-btn ff-btn-submit ff-btn-md ff_btn_style wpf_has_custom_css\" type=\"submit\" name=\"custom_submit_button-8_1\" data-name=\"custom_submit_button-8_1\"  aria-label=\"GET THE PLAYBOOK\">GET THE PLAYBOOK<\/button><style>form.fluent_form_8 .wpf_has_custom_css.ff-btn-submit { background-color:#00ff88;border-color:#00ff88;color:#0a0a14;min-width:100%; }form.fluent_form_8 .wpf_has_custom_css.ff-btn-submit:hover { background-color:#00cc6a;border-color:#00cc6a;color:#0a0a14;min-width:100%; } <\/style><\/div><\/fieldset><\/form><div id='fluentform_8_errors' class='ff-errors-in-stack ff_form_instance_8_1 ff-form-loading_errors ff_form_instance_8_1_errors'><\/div><\/div>            <script type=\"text\/javascript\">\n                window.fluent_form_ff_form_instance_8_1 = {\"id\":\"8\",\"settings\":{\"layout\":{\"labelPlacement\":\"top\",\"helpMessagePlacement\":\"with_label\",\"errorMessagePlacement\":\"inline\",\"asteriskPlacement\":\"asterisk-right\"},\"restrictions\":{\"denyEmptySubmission\":{\"enabled\":false}}},\"form_instance\":\"ff_form_instance_8_1\",\"form_id_selector\":\"fluentform_8\",\"rules\":{\"email\":{\"required\":{\"value\":true,\"message\":\"This field is required\"},\"email\":{\"value\":true,\"message\":\"Please enter a valid email address\"}}},\"debounce_time\":300};\n                            <\/script>\n            \n\n<\/div><\/div>\n\n<\/div>\n\n\n<h2>5 Ways I Use Claude Code to Run Autonomous Businesses<\/h2>\n<figure class=\"wp-block-image size-large\">\n  <img decoding=\"async\" src=\"https:\/\/jonjones.ai\/wp-content\/uploads\/2026\/06\/claude-code-autonomous-business-uses.jpg\" alt=\"5 ways to use claude code for autonomous business operations\" \/>\n<\/figure>\n\n<p>Enough theory. Here&#8217;s what the JonOps fleet actually runs on Claude Code, daily, without me touching it:<\/p>\n\n<h3>1. Blog Post Pipeline (This Post Was Written by Claude Code)<\/h3>\n<p>The daily blog writer skill pulls a keyword from Airtable, researches the top-ranking competitors via Firecrawl, writes a 3,000+ word post in brand voice, generates images via Replicate, uploads to WordPress with full RankMath SEO, and logs everything back to Airtable. One agent, one cron job, zero humans. The pipeline runs at midnight and the post is live before I wake up.<\/p>\n\n<h3>2. Social Media Queue<\/h3>\n<p>Social poster agents repurpose the day&#8217;s blog post into platform-native captions for Facebook, Instagram, LinkedIn, Bluesky, Pinterest, and X \u2014 each with the right character count, hashtag strategy, and image aspect ratio. They schedule via Metricool API. I review the queue once a week, approve in bulk, done.<\/p>\n\n<h3>3. Newsletter Campaigns<\/h3>\n<p>The newsletter agent picks a topic from the queue, writes a warm-hug email in Jon&#8217;s voice, and sends it via Sendy to the list. The entire Sendy integration \u2014 subscribe, unsubscribe sync, bounce handling \u2014 runs through API calls in the skill file. No MailChimp dashboard, no manual sends.<\/p>\n\n<h3>4. Market Intelligence Sweep<\/h3>\n<p>Monday mornings, a market intel agent scrapes competitor sites for new content, checks keyword rankings via DataForSEO, and logs trends to Airtable. By the time I have coffee, there&#8217;s a fresh intelligence report waiting. That&#8217;s how I spotted that &#8220;how to use claude code&#8221; was trending at 14,800 searches\/month with near-zero competition \u2014 and why you&#8217;re reading this post.<\/p>\n\n<h3>5. Lead Generation Research<\/h3>\n<p>The outreach researcher finds Reddit threads, LinkedIn posts, and community discussions where my ICP is asking questions that my content answers. It drafts response templates and queues them in Airtable for human review before posting. Warm outreach, sourced autonomously.<\/p>\n\n<p>All of this runs in Docker containers on a single VPS. Total infrastructure cost: under $40\/month. If you want to understand what&#8217;s possible at the small business level, read my breakdown of the <a href=\"https:\/\/jonjones.ai\/ai\/ai-agent-for-small-business\/\">best AI agents for small business<\/a> \u2014 it covers what&#8217;s actually worth building vs. what&#8217;s hype.<\/p>\n\n<h2>How to Run Claude Code on a Schedule (Cron + Docker)<\/h2>\n<figure class=\"wp-block-image size-large\">\n  <img decoding=\"async\" src=\"https:\/\/jonjones.ai\/wp-content\/uploads\/2026\/06\/claude-code-cron-schedule-automation.jpg\" alt=\"claude code cron schedule automation docker container\" \/>\n<\/figure>\n\n<p>Interactive sessions are useful for exploration. But the real leverage is making Claude Code run without you \u2014 on a schedule, in a container, autonomously.<\/p>\n\n<h3>The JonOps Pattern<\/h3>\n<p>Each brand runs in its own Docker container. The container has:<\/p>\n<ul>\n<li>Node.js + Claude Code installed<\/li>\n<li>A project directory with <code>CLAUDE.md<\/code> and <code>.claude\/skills\/<\/code><\/li>\n<li>Environment variables injected at runtime (WP credentials, API keys, etc.)<\/li>\n<li>A crontab that fires skill commands on schedule<\/li>\n<\/ul>\n\n<p>The crontab entry looks like this:<\/p>\n<pre><code># Run blog writer at midnight daily\n0 0 * * * claude --no-login -p \"$(cat .claude\/prompts\/blog-writer-prompt.txt)\" >> \/logs\/blog-writer.log 2>&1<\/code><\/pre>\n\n<p>The <code>--no-login<\/code> flag skips the interactive setup. The <code>-p<\/code> flag passes a prompt directly. The skill prompt reads like: &#8220;Read the skill file at .claude\/skills\/blog-writer.md and execute the complete pipeline.&#8221;<\/p>\n\n<h3>The Non-Docker Version (For Beginners)<\/h3>\n<p>You don&#8217;t need Docker to start. If you&#8217;re on a Linux server or Mac with a cron daemon, you can run the same pattern directly:<\/p>\n\n<pre><code>crontab -e\n# Add this line:\n0 8 * * * export ANTHROPIC_API_KEY=\"your-key\" && cd ~\/my-project && claude --no-login -p \"Run the daily task defined in CLAUDE.md\" >> ~\/logs\/agent.log 2>&1<\/code><\/pre>\n\n<p>This runs every day at 8am, executes Claude Code in your project directory, and logs the output. Start here, add Docker later when you have 3+ agents running.<\/p>\n\n<h3>The Telegram Alert Pattern<\/h3>\n<p>Every skill I run ends with a Telegram message \u2014 success, failure, or skip. It&#8217;s the only monitoring I need. I wake up, check Telegram, see a row of green checkmarks, go back to my coffee.<\/p>\n<pre><code>bash \/path\/to\/telegram-alert.sh \"\u2705 [brand] skill-name \u2014 Published: Post Title | 3200 words\"<\/code><\/pre>\n\n<p>If I see a red X, something broke. I go look at the log. That&#8217;s it. Entire fleet, one Telegram channel, five minutes of monitoring per week.<\/p>\n\n<h2>Claude Code Mistakes I Made So You Don&#8217;t Have To<\/h2>\n<figure class=\"wp-block-image size-large\">\n  <img decoding=\"async\" src=\"https:\/\/jonjones.ai\/wp-content\/uploads\/2026\/06\/claude-code-mistakes-to-avoid.jpg\" alt=\"claude code common mistakes to avoid\" \/>\n<\/figure>\n\n<p>Six months of running autonomous agents teaches you things no tutorial covers. Here are the real mistakes, not the theoretical ones:<\/p>\n\n<h3>Mistake 1: Vague CLAUDE.md = Vague Output<\/h3>\n<p>If your CLAUDE.md says &#8220;write good content,&#8221; you&#8217;ll get generic AI slop. If it says &#8220;write in Jon&#8217;s voice: direct, builder-first, numbers first, no corporate jargon, energy check: would Jon say this out loud?&#8221;, you get something worth reading. Be specific to the point of being obsessive. The agent cannot infer what you mean; it can only execute what you said.<\/p>\n\n<h3>Mistake 2: No Skill Files = Re-explaining Everything Every Time<\/h3>\n<p>The first month I ran agents interactively and re-explained the blog pipeline in every prompt. When I moved the procedure to a <code>blog-writer.md<\/code> skill file and changed the prompt to &#8220;read and execute the skill at .claude\/skills\/blog-writer.md,&#8221; the consistency jumped immediately. The agent follows documented procedures more reliably than it follows improvised instructions.<\/p>\n\n<h3>Mistake 3: Skipping the Verification Step<\/h3>\n<p>Every skill needs a verification step at the end. After publishing a post, the agent should curl the live URL and verify the title appears. After sending a newsletter, check the Sendy API for confirmation. Don&#8217;t assume success because the API returned 200. I&#8217;ve had &#8220;successful&#8221; WordPress publishes that went to draft because of a field name mismatch. Build the check in from day one.<\/p>\n\n<h3>Mistake 4: One Big Prompt vs. Step-by-Step Skills<\/h3>\n<p>Early on I wrote 2,000-word prompts trying to cram everything in at once. Claude Code handles step-by-step procedures better than big-bang instructions. Break complex tasks into numbered steps in the skill file, with clear decision points (&#8220;if queue empty, skip gracefully&#8221;). The agent executes sequentially and the output is far more reliable.<\/p>\n\n<h3>Mistake 5: Forgetting Context Window Limits<\/h3>\n<p>Long-running agent sessions accumulate context. At some point, performance degrades \u2014 the agent starts forgetting early instructions or getting confused by accumulated state. For long tasks, structure your skill so the agent completes one thing, exits, and starts fresh for the next. Don&#8217;t try to do everything in a single infinite session. Build for clean exits and clean starts.<\/p>\n\n<h2>Claude Code FAQ<\/h2>\n<figure class=\"wp-block-image size-large\">\n  <img decoding=\"async\" src=\"https:\/\/jonjones.ai\/wp-content\/uploads\/2026\/06\/claude-code-faq-questions.jpg\" alt=\"claude code frequently asked questions\" \/>\n<\/figure>\n\n<h3>Do I need to be a developer to use Claude Code?<\/h3>\n<p>No. You need to be comfortable in a terminal \u2014 that&#8217;s it. If you&#8217;ve ever run an npm install or a pip install, you have enough command-line experience to get started. The agent handles the complex programming; your job is to write the CLAUDE.md that tells it what to do and to evaluate whether the output is good.<\/p>\n\n<h3>How much does Claude Code cost?<\/h3>\n<p>Claude Code uses Anthropic&#8217;s API pricing. At current rates, running a daily blog post pipeline with SERP research, image generation, and publishing costs roughly $0.50\u2013$1.50 per run depending on article length and model. For 30 posts\/month that&#8217;s $15\u2013$45 in Claude API costs. Compare that to a content writer. There&#8217;s no comparison.<\/p>\n\n<h3>Claude Code vs. Cursor vs. GitHub Copilot \u2014 what&#8217;s the difference?<\/h3>\n<p>Cursor and Copilot are IDE tools optimized for writing code inside an editor. Claude Code is a terminal agent that can do anything \u2014 write code, call APIs, manage files, run scripts, browse the web. The IDE tools are better if your primary use case is pair-programming. Claude Code is better if you want to build autonomous workflows that operate independently of any editor. Different tools for different jobs.<\/p>\n\n<h3>Can Claude Code browse the internet?<\/h3>\n<p>Yes, via tools. With the right configuration and MCP (Model Context Protocol) servers, Claude Code can fetch URLs, search the web, and scrape pages. My agents use Firecrawl for structured scraping and DataForSEO for SERP data \u2014 both called via API from within the skill pipeline.<\/p>\n\n<h3>What&#8217;s the difference between Claude Code and just using the Claude API directly?<\/h3>\n<p>The API gives you a raw model to call programmatically. Claude Code gives you a pre-built agentic shell with tool use, file access, multi-step execution, and an interactive terminal interface baked in. Claude Code is built on the API. Use the API if you&#8217;re building your own product; use Claude Code if you want to run agents without writing an agent framework from scratch.<\/p>\n\n<h3>Is Claude Code safe to run autonomously?<\/h3>\n<p>With proper skill files and guardrails, yes. My agents have clear rules: never make pricing commitments, never delete data without snapshotting first, always log actions, always send Telegram alerts on failure. The key is defining the constraints explicitly in CLAUDE.md. An agent with clear rules is far more predictable than an agent left to improvise. If you want to go deeper on the safety patterns, check out my guide to the <a href=\"https:\/\/jonjones.ai\/ai\/self-hosted-ai-starter-kit\/\">self-hosted AI stack<\/a> \u2014 it covers infrastructure decisions that matter for autonomous deployments.<\/p>\n\n<h2>The Operator Mindset: Start Building Your First Autonomous Loop Today<\/h2>\n\n<p>Most people treat AI tools as productivity multipliers \u2014 they answer questions faster, write drafts quicker, summarize longer. That&#8217;s real value. But it&#8217;s not the ceiling.<\/p>\n\n<p>The ceiling is: one operator, running 10+ autonomous AI businesses, from a $40\/month server, while they sleep.<\/p>\n\n<p>Claude Code is how you get there. Not because it&#8217;s magic, but because it gives you a capable agent that reads your procedures, executes your workflows, and reports back \u2014 without supervision, without a salary, without sick days.<\/p>\n\n<p>Start small. Pick one repeatable task in your business \u2014 a weekly report, a daily content piece, a lead research sweep. Document it in a CLAUDE.md. Write a skill file with the steps. Run it once interactively and watch what happens. Fix what breaks. Run it again.<\/p>\n\n<p>That&#8217;s how the JonOps fleet started. One container. One skill. One cron job. Then another. Then another. Now it&#8217;s 10+ brands, each with their own autonomous agent, each shipping content and managing operations on a schedule.<\/p>\n\n<p>The proof of work is the work. And Claude Code is the operator that does it.<\/p>\n\n<p>Total conquer, complete domination. Let&#8217;s build.<\/p>\n\n<style>#kt-layout-idnl_end_htclcc26 > .kt-row-column-wrap{align-content:start;}:where(#kt-layout-idnl_end_htclcc26 > .kt-row-column-wrap) > .wp-block-kadence-column{justify-content:start;}#kt-layout-idnl_end_htclcc26 > .kt-row-column-wrap{column-gap:var(--global-kb-gap-md, 2rem);row-gap:var(--global-kb-gap-md, 2rem);padding-top:var( --global-kb-row-default-top, 25px );padding-bottom:var( --global-kb-row-default-bottom, 25px );padding-top:32px;padding-right:32px;padding-bottom:32px;padding-left:32px;grid-template-columns:repeat(2, minmax(0, 1fr));}#kt-layout-idnl_end_htclcc26{border-top-left-radius:16px;border-top-right-radius:16px;border-bottom-right-radius:16px;border-bottom-left-radius:16px;overflow:clip;isolation:isolate;}#kt-layout-idnl_end_htclcc26 > .kt-row-layout-overlay{border-top-left-radius:16px;border-top-right-radius:16px;border-bottom-right-radius:16px;border-bottom-left-radius:16px;}#kt-layout-idnl_end_htclcc26{background-color:#1a1035;}#kt-layout-idnl_end_htclcc26 > .kt-row-layout-overlay{opacity:0.30;}@media all and (max-width: 1024px){#kt-layout-idnl_end_htclcc26 > .kt-row-column-wrap{grid-template-columns:minmax(0, 1fr);}}@media all and (max-width: 767px){#kt-layout-idnl_end_htclcc26 > .kt-row-column-wrap{grid-template-columns:repeat(2, minmax(0, 1fr));}}<\/style>\n<div class=\"wp-block-kadence-rowlayout alignnone\">\n<style>.kadence-columnnl_end_img_htclcc26 > .kt-inside-inner-col{border-top-width:0px;border-right-width:0px;border-bottom-width:0px;border-left-width:0px;}.kadence-columnnl_end_img_htclcc26 > .kt-inside-inner-col,.kadence-columnnl_end_img_htclcc26 > .kt-inside-inner-col:before{border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:0px;}.kadence-columnnl_end_img_htclcc26 > .kt-inside-inner-col{column-gap:var(--global-kb-gap-sm, 1rem);}.kadence-columnnl_end_img_htclcc26 > .kt-inside-inner-col{flex-direction:column;}.kadence-columnnl_end_img_htclcc26 > .kt-inside-inner-col > .aligncenter{width:100%;}.kadence-columnnl_end_img_htclcc26 > .kt-inside-inner-col:before{opacity:0.3;}.kadence-columnnl_end_img_htclcc26{position:relative;}@media all and (max-width: 1024px){.kadence-columnnl_end_img_htclcc26 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}@media all and (max-width: 767px){.kadence-columnnl_end_img_htclcc26 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}<\/style>\n<div class=\"wp-block-kadence-column inner-column-1\"><div class=\"kt-inside-inner-col\">\n\n<figure class=\"wp-block-image size-medium\">\n  <img decoding=\"async\" src=\"https:\/\/jonjones.ai\/wp-content\/uploads\/2026\/06\/newsletter-cta-ai-playbook.jpg\" alt=\"Get the AI Edge \u2014 AI automation newsletter\" style=\"border-radius:12px\" \/>\n<\/figure>\n\n<\/div><\/div>\n\n<style>.kadence-columnnl_end_txt_htclcc26 > .kt-inside-inner-col{border-top-width:0px;border-right-width:0px;border-bottom-width:0px;border-left-width:0px;}.kadence-columnnl_end_txt_htclcc26 > .kt-inside-inner-col,.kadence-columnnl_end_txt_htclcc26 > .kt-inside-inner-col:before{border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:0px;}.kadence-columnnl_end_txt_htclcc26 > .kt-inside-inner-col{column-gap:var(--global-kb-gap-sm, 1rem);}.kadence-columnnl_end_txt_htclcc26 > .kt-inside-inner-col{flex-direction:column;}.kadence-columnnl_end_txt_htclcc26 > .kt-inside-inner-col > .aligncenter{width:100%;}.kadence-columnnl_end_txt_htclcc26 > .kt-inside-inner-col:before{opacity:0.3;}.kadence-columnnl_end_txt_htclcc26{position:relative;}@media all and (max-width: 1024px){.kadence-columnnl_end_txt_htclcc26 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}@media all and (max-width: 767px){.kadence-columnnl_end_txt_htclcc26 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}<\/style>\n<div class=\"wp-block-kadence-column inner-column-2\"><div class=\"kt-inside-inner-col\">\n<style>.wp-block-kadence-advancedheading.kt-adv-headingnl_end_h_htclcc26, .wp-block-kadence-advancedheading.kt-adv-headingnl_end_h_htclcc26[data-kb-block=\"kb-adv-headingnl_end_h_htclcc26\"]{font-size:24px;font-weight:700;font-style:normal;color:#e9d5ff;}.wp-block-kadence-advancedheading.kt-adv-headingnl_end_h_htclcc26 mark.kt-highlight, .wp-block-kadence-advancedheading.kt-adv-headingnl_end_h_htclcc26[data-kb-block=\"kb-adv-headingnl_end_h_htclcc26\"] mark.kt-highlight{font-style:normal;color:#f76a0c;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}.wp-block-kadence-advancedheading.kt-adv-headingnl_end_h_htclcc26 img.kb-inline-image, .wp-block-kadence-advancedheading.kt-adv-headingnl_end_h_htclcc26[data-kb-block=\"kb-adv-headingnl_end_h_htclcc26\"] img.kb-inline-image{width:150px;vertical-align:baseline;}@media all and (max-width: 767px){.wp-block-kadence-advancedheading.kt-adv-headingnl_end_h_htclcc26, .wp-block-kadence-advancedheading.kt-adv-headingnl_end_h_htclcc26[data-kb-block=\"kb-adv-headingnl_end_h_htclcc26\"]{font-size:20px;}}<\/style>\n<h3 class=\"wp-block-kadence-advancedheading has-text-color\" style=\"color:#e9d5ff;font-weight:700;font-size:24px;margin-bottom:8px\">Get the AI Edge<\/h3>\n\n\n<p class=\"has-text-color\" style=\"color:#c4b5fd\">Weekly automation plays, build logs, and AI operator insights \u2014 straight from the JonOps lab.<\/p>\n\n<div class='fluentform ff-default fluentform_wrapper_8 ffs_default_wrap'><form data-form_id=\"8\" id=\"fluentform_8\" class=\"frm-fluent-form fluent_form_8 ff-el-form-top ff_form_instance_8_2 ff-form-loading ffs_default\" data-form_instance=\"ff_form_instance_8_2\" method=\"POST\" ><fieldset  style=\"border: none!important;margin: 0!important;padding: 0!important;background-color: transparent!important;box-shadow: none!important;outline: none!important; min-inline-size: 100%;\">\n                    <legend class=\"ff_screen_reader_title\" style=\"display: block; margin: 0!important;padding: 0!important;height: 0!important;text-indent: -999999px;width: 0!important;overflow:hidden;\">Lead Magnet - AI Playbook<\/legend><input type='hidden' name='__fluent_form_embded_post_id' value='5182' \/><input type=\"hidden\" id=\"_fluentform_8_fluentformnonce\" name=\"_fluentform_8_fluentformnonce\" value=\"f112d545f8\" \/><input type=\"hidden\" name=\"_wp_http_referer\" value=\"\/zh\/wp-json\/wp\/v2\/posts\/5182\" \/><div class='ff-el-group'><div class='ff-el-input--content'><input type=\"email\" name=\"email\" id=\"ff_8_2_email\" class=\"ff-el-form-control\" placeholder=\"Your email address\" data-name=\"email\"  aria-invalid=\"false\" aria-required=true><\/div><\/div><div class='ff-el-group ff-text-left ff_submit_btn_wrapper ff_submit_btn_wrapper_custom'><button class=\"ff-btn ff-btn-submit ff-btn-md ff_btn_style wpf_has_custom_css\" type=\"submit\" name=\"custom_submit_button-8_1\" data-name=\"custom_submit_button-8_1\"  aria-label=\"GET THE PLAYBOOK\">GET THE PLAYBOOK<\/button><style>form.fluent_form_8 .wpf_has_custom_css.ff-btn-submit { background-color:#00ff88;border-color:#00ff88;color:#0a0a14;min-width:100%; }form.fluent_form_8 .wpf_has_custom_css.ff-btn-submit:hover { background-color:#00cc6a;border-color:#00cc6a;color:#0a0a14;min-width:100%; } <\/style><\/div><\/fieldset><\/form><div id='fluentform_8_errors' class='ff-errors-in-stack ff_form_instance_8_2 ff-form-loading_errors ff_form_instance_8_2_errors'><\/div><\/div>            <script type=\"text\/javascript\">\n                window.fluent_form_ff_form_instance_8_2 = {\"id\":\"8\",\"settings\":{\"layout\":{\"labelPlacement\":\"top\",\"helpMessagePlacement\":\"with_label\",\"errorMessagePlacement\":\"inline\",\"asteriskPlacement\":\"asterisk-right\"},\"restrictions\":{\"denyEmptySubmission\":{\"enabled\":false}}},\"form_instance\":\"ff_form_instance_8_2\",\"form_id_selector\":\"fluentform_8\",\"rules\":{\"email\":{\"required\":{\"value\":true,\"message\":\"This field is required\"},\"email\":{\"value\":true,\"message\":\"Please enter a valid email address\"}}},\"debounce_time\":300};\n                            <\/script>\n            \n\n<\/div><\/div>\n\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u6211\u7528\u4e00\u53f0 Docker \u4f3a\u670d\u5668\u904b\u884c\u8457 10 \u591a\u500b\u7368\u7acb\u71df\u904b\u7684\u696d\u52d9\u3002\u5b83\u5011\u7684\u6838\u5fc3\u90fd\u904b\u7528\u4e86 Claude Code \u7684\u4f7f\u7528\u65b9\u6cd5\u2014\u2014\u4e0d\u662f\u7528\u4f86\u7de8\u5beb Python \u8173\u672c\uff0c\u800c\u662f\u7528\u4f86\u904b\u884c\u6574\u500b\u696d\u52d9\u6d41\u7a0b\u2026<\/p>","protected":false},"author":2,"featured_media":5174,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_kad_blocks_custom_css":"","_kad_blocks_head_custom_js":"","_kad_blocks_body_custom_js":"","_kad_blocks_footer_custom_js":"","_kadence_starter_templates_imported_post":false,"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","footnotes":""},"categories":[28,44,46],"tags":[67,66,68,53],"class_list":["post-5182","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ai","category-ai-automation","category-tutorials","tag-agentic-ai","tag-ai-automation","tag-anthropic","tag-claude-code-2"],"taxonomy_info":{"category":[{"value":28,"label":"AI"},{"value":44,"label":"AI Automation"},{"value":46,"label":"Tutorials"}],"post_tag":[{"value":67,"label":"agentic ai"},{"value":66,"label":"ai automation"},{"value":68,"label":"anthropic"},{"value":53,"label":"claude code"}]},"featured_image_src_large":["https:\/\/jonjones.ai\/wp-content\/uploads\/2026\/06\/how-to-use-claude-code-featured.jpg",1344,752,false],"author_info":{"display_name":"Jon Jones","author_link":"https:\/\/jonjones.ai\/zh\/author\/jonjonjones-ai\/"},"comment_info":0,"category_info":[{"term_id":28,"name":"AI","slug":"ai","term_group":0,"term_taxonomy_id":28,"taxonomy":"category","description":"","parent":0,"count":23,"filter":"raw","cat_ID":28,"category_count":23,"category_description":"","cat_name":"AI","category_nicename":"ai","category_parent":0},{"term_id":44,"name":"AI Automation","slug":"ai-automation","term_group":0,"term_taxonomy_id":44,"taxonomy":"category","description":"","parent":0,"count":6,"filter":"raw","cat_ID":44,"category_count":6,"category_description":"","cat_name":"AI Automation","category_nicename":"ai-automation","category_parent":0},{"term_id":46,"name":"Tutorials","slug":"tutorials","term_group":0,"term_taxonomy_id":46,"taxonomy":"category","description":"","parent":0,"count":6,"filter":"raw","cat_ID":46,"category_count":6,"category_description":"","cat_name":"Tutorials","category_nicename":"tutorials","category_parent":0}],"tag_info":[{"term_id":67,"name":"agentic ai","slug":"agentic-ai","term_group":0,"term_taxonomy_id":67,"taxonomy":"post_tag","description":"","parent":0,"count":1,"filter":"raw"},{"term_id":66,"name":"ai automation","slug":"ai-automation","term_group":0,"term_taxonomy_id":66,"taxonomy":"post_tag","description":"","parent":0,"count":1,"filter":"raw"},{"term_id":68,"name":"anthropic","slug":"anthropic","term_group":0,"term_taxonomy_id":68,"taxonomy":"post_tag","description":"","parent":0,"count":1,"filter":"raw"},{"term_id":53,"name":"claude code","slug":"claude-code-2","term_group":0,"term_taxonomy_id":53,"taxonomy":"post_tag","description":"","parent":0,"count":2,"filter":"raw"}],"_links":{"self":[{"href":"https:\/\/jonjones.ai\/zh\/wp-json\/wp\/v2\/posts\/5182","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jonjones.ai\/zh\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jonjones.ai\/zh\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jonjones.ai\/zh\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/jonjones.ai\/zh\/wp-json\/wp\/v2\/comments?post=5182"}],"version-history":[{"count":0,"href":"https:\/\/jonjones.ai\/zh\/wp-json\/wp\/v2\/posts\/5182\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/jonjones.ai\/zh\/wp-json\/wp\/v2\/media\/5174"}],"wp:attachment":[{"href":"https:\/\/jonjones.ai\/zh\/wp-json\/wp\/v2\/media?parent=5182"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jonjones.ai\/zh\/wp-json\/wp\/v2\/categories?post=5182"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jonjones.ai\/zh\/wp-json\/wp\/v2\/tags?post=5182"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}