Skip to content

Training

AI Tool Setup

Needs review — This SOP contains our content but has not been verified by Nick. Treat as a working draft until marked Live.

Last Updated: 2026-03-26 Version: 1.0


One-time setup guide for Claude Code, Cloudflare Workers, API tokens, and per-client Claude projects. Complete this during your first week. These tools are your daily drivers for content creation, data analysis, and technical implementation.

Estimated Time: 2-3 hours Prerequisites: Completion of 11-seo-foundation-training.md


Claude Code is your AI command center. Generates content, analyzes data, creates schemas. Used daily.

Open terminal and install:

Terminal window
npm install -g @anthropic-ai/claude-code

Troubleshooting:

  • “command not found: npm” → Install Node.js first: https://nodejs.org/ (LTS recommended)
  • Permission errors → Try: sudo npm install -g @anthropic-ai/claude-code
  • Verify: claude-code --version
  1. Go to https://console.anthropic.com/
  2. Sign up or log in with work email
  3. Go to Settings > API Keys
  4. Click Create New API Key
  5. Copy the key (you won’t see it again)
  6. Store securely (next step)

Security Note: This key is sensitive. Never share it, never commit to git, never post in Slack.

Step 1.3: Set Your API Key in Shell Profile

Section titled “Step 1.3: Set Your API Key in Shell Profile”

For Mac/Linux (zsh or bash):

Terminal window
nano ~/.zshrc # or ~/.bashrc
# Add this line at the end:
export ANTHROPIC_API_KEY="sk-ant-xxxxxxxxxxxxx"
# Save (Ctrl+O, Enter, Ctrl+X)
# Reload:
source ~/.zshrc # or ~/.bashrc

For Windows (PowerShell):

Terminal window
[System.Environment]::SetEnvironmentVariable('ANTHROPIC_API_KEY', 'sk-ant-xxxxxxxxxxxxx', 'User')

Verify:

Terminal window
echo $ANTHROPIC_API_KEY

Should return your key (truncated). If blank, setup failed.

Step 1.4: Create Local Directory Structure

Section titled “Step 1.4: Create Local Directory Structure”
Terminal window
mkdir -p ~/tekton-growth/clients
mkdir -p ~/tekton-growth/templates
mkdir -p ~/tekton-growth/scripts
mkdir -p ~/tekton-growth/output
Terminal window
claude-code "Write a 100-word blog post about local SEO for a plumbing business in Austin, TX. Include keywords 'emergency plumber austin' and 'plumbing repair near me'."

Expected output: A blog post draft in your terminal

If it fails:

  • Check API key: echo $ANTHROPIC_API_KEY
  • Check internet connection
  • Verify API credits (console.anthropic.com)
  • Slack #tech-support if stuck

Each client gets their own Claude project on Claude.ai. Keeps context separated, enables faster, accurate prompting.

  1. Go to https://claude.ai/
  2. Click Projects (left sidebar)
  3. Click Create New Project
  4. Name it: [Client Name] - [Year] (e.g., “Austin Plumbing Co - 2026”)
  5. Click Create

Customize and upload this template to each project:

Template: Client Project Instructions

You are an SEO specialist working on [CLIENT NAME]'s local SEO campaign.
---
BUSINESS PROFILE
Business Name: [Full legal name]
Website: [URL]
Service Areas: [Cities/regions served]
Primary Service: [Main offering]
Years in Business: [X]
Unique Value Prop: [What sets them apart]
---
AUDIENCE AVATAR
Primary Customer: [Name, age, pain point, intent]
Search Intent: [What are they looking for]
Decision Drivers: [Cost, speed, reputation, expertise, location]
---
TARGET KEYWORDS (Priority Order)
1. [Keyword 1] – Volume [X], Difficulty [X/10]
2. [Keyword 2] – Volume [X], Difficulty [X/10]
[Up to 15 total]
---
BRAND VOICE
Tone: [Professional, casual, expert, friendly]
Language Style: [Simple explanations, technical, storytelling]
Example content: [URL of best existing page]
---
WEBSITE PLATFORM
Platform: [WordPress, Squarespace, GHL, other]
Host/Performance: [Strengths and constraints]
Editing Access: [Who can edit, any limitations]
---
CONTENT GUIDELINES
Content types: [Blogs, service pages, FAQs, GBP posts, etc.]
Publishing cadence: [X posts per month]
Content length: [500w, 1500w, 3000w]
---
TECHNICAL DETAILS
GBP Status: [Verified? Categories optimized? Review count]
Mobile: [Good, needs work, terrible]
Site speed: [Good, acceptable, needs work]
Current schema: [What's already implemented]
Analytics: [GA4 set up? GHL connected]
---
COMPETITOR INTEL
Top 3 competitors: [Names and domains]
Competitor advantage: [What they're doing better]
Opportunity gaps: [What they're missing]
---
PREVIOUS WORK
Best performing content: [URL and why]
Worst performing content: [URL and what failed]
Already tried: [Campaigns, keywords, tactics]
---
END INSTRUCTIONS
You have all context needed to create SEO content and strategy for this client.
When I ask to "generate a blog post" or "analyze data," apply all context above.
Always confirm details match before finalizing output.

For each project, upload (if available):

  1. Brand Guidelines PDF (logo, colors, fonts, tone)
  2. Keyword Research spreadsheet (list with volume, difficulty, intent)
  3. Competitor Analysis (top 3 competitors’ backlinks, content profile)
  4. Audience Avatar Document (detailed customer persona)
  5. Content Audit (best and worst performing pages)
  6. GBP Audit (current state, categories, photos count)

How to upload:

  1. Open the project
  2. Click Upload (in chat interface)
  3. Select file (PDF, .xlsx, .txt, .md supported)
  4. Reference in prompts

Send a test prompt:

Based on my business profile and audience, write 3 blog post topic ideas that would resonate with my primary customer avatar. Rank by search volume and difficulty. Explain why each would work.

Expected output: 3 custom topic ideas tailored to their business

If it’s generic: Update project instructions and try again


Cloudflare Workers is where we inject schema, handle redirects, and optimize performance without touching client site code.

Step 3.1: Access Tekton Growth Cloudflare Account

Section titled “Step 3.1: Access Tekton Growth Cloudflare Account”
  1. Manager sends you account access link (email or 1Password)
  2. Accept invitation, set your password
  3. Log in to https://dash.cloudflare.com/
  4. You should see “Tekton Growth” account in top-left dropdown
  5. Ask manager for “Editor” access for your first month
Terminal window
npm install -g wrangler

Verify:

Terminal window
wrangler --version
Terminal window
wrangler login

This opens a browser. Click “Authorize Wrangler.” You’ll see confirmation in terminal.

Terminal window
mkdir ~/tekton-growth/workers/schema-injector
cd ~/tekton-growth/workers/schema-injector

Use Claude Code to generate production-ready Workers:

Terminal window
claude-code "Create a Cloudflare Worker that injects LocalBusiness schema for [CLIENT NAME].
The business is: [NAME], located at [ADDRESS], phone [PHONE], website [URL].
Include FAQSchema for these FAQs: [FAQ list].
Output the complete src/index.js file ready to deploy."

Copy output into src/index.js.

Edit wrangler.toml:

name = "schema-injector-client-name"
main = "src/index.js"
compatibility_date = "2026-03-01"
[env.staging]
routes = [
{ pattern = "staging.clientdomain.com/*", zone_name = "clientdomain.com" }
]
[env.production]
routes = [
{ pattern = "clientdomain.com/*", zone_name = "clientdomain.com" },
{ pattern = "www.clientdomain.com/*", zone_name = "clientdomain.com" }
]
Terminal window
wrangler dev

Usually http://localhost:8787. Visit to see Worker in action.

Expected output: Client’s website with schema injected

Debugging:

  • Check browser console (F12) for errors
  • Check terminal for Worker errors
  • Verify schema in HTML source (Ctrl+U, search ld+json)
Terminal window
wrangler deploy --env staging

Test on the staging URL.

After staging verification:

Terminal window
wrangler deploy --env production
  1. Visit client’s live site
  2. View page source (Ctrl+U)
  3. Search for ld+json
  4. Confirm schema appears with correct data
  5. Test in Google Rich Results: https://search.google.com/test/rich-results

DO:

  • Store in environment variables (never in code)
  • Use 1Password for backup storage
  • Rotate keys quarterly
  • Use separate keys for dev/prod if possible

DON’T:

  • Commit API keys to git (even private repos)
  • Share keys in Slack, email, or chat
  • Use one key for multiple team members
  • Leave keys in terminal history

If Exposed:

  1. Immediately regenerate key in Anthropic Console
  2. Tell your manager
  3. Check API usage for suspicious activity
  4. Update all saved keys

DO:

  • Use per-client Claude projects (data separated)
  • Reference client data by context, not by pasting sensitive info
  • Delete local files after completing projects
  • Use 1Password for client credentials

DON’T:

  • Paste client passwords, API keys, credentials into Claude
  • Include PII (names, addresses) except when necessary
  • Create public Claude projects
  • Share client project links

TaskToolCommand/Location
Generate blog postClaude CodeUse Prompt from 13-ai-prompt-library.md
Create service pageClaude CodeUse Prompt 3.1 from library
Write meta descriptionsClaude CodeUse batch Prompt 6.1
Analyze keywordsClaude CodeUpload CSV, ask for gaps
Generate schemaClaude CodeUse Prompt 9.1 or 9.2
Create GBP postsClaude.ai projectUse Prompt 2.1 in client project
Inject schema liveCloudflare WorkerDeploy from ~/tekton-growth/workers/
Test schemaBrowserVisit site, Ctrl+U, search ld+json
Verify with GoogleGoogle Rich Resultshttps://search.google.com/test/rich-results
Store outputsLocal folder~/tekton-growth/output/[client-name]/

Claude Code won’t run

  • Check Node.js: node --version
  • Reinstall: npm install -g @anthropic-ai/claude-code
  • Check PATH: echo $PATH

API Key not found

  • Verify export: echo $ANTHROPIC_API_KEY
  • Reload shell: source ~/.zshrc
  • Regenerate key if lost

Wrangler deploy fails

  • Re-authenticate: wrangler logout then wrangler login
  • Verify “Editor” access
  • Check internet

Worker not injecting schema

  • Verify deployed: Check Cloudflare dashboard Workers tab
  • Verify route matches domain: Check wrangler.toml
  • Clear cache: Ctrl+Shift+Delete then Ctrl+Shift+R
  • Check Worker logs in dashboard

  • 11-seo-foundation-training.md — Complete before this
  • 13-ai-prompt-library.md — Prompts to use with these tools
  • 01-role-seo-specialist.md — SEO Specialist responsibilities

Version Control:

  • v1.0 (2026-03-26): Rewritten with seo-ops-skills project reference, updated skill list, Cloudflare Workers schema injection, per-client Claude project setup
  • v1.1 (TBD): [Updates as process refined]