Playbook
Who Does What
| Label | Meaning | Example |
|---|---|---|
| You | Human action — must be done manually | Writing purpose, setting up GitHub, committing files |
| Claude | You instruct — Claude executes autonomously | Writing code, generating CHANGELOG, refactoring |
| Both | You initiate, Claude executes, you review | Reviewing code before committing, testing features |
| Auto | Triggered automatically — no action needed | CLAUDE.md loaded on init, Pages deploys on push |
The 8 Core Principles
| Principle | What it means in practice | When it fires |
|---|---|---|
| Security | Never expose keys. Use .env. Run security reviewer before every deploy. | Any time credentials or user data are involved |
| Low Token | One task per session. /compact when context grows. No padding. | Every session — enforce from message 1 |
| Max Efficiency | Reuse prompts. Full file context. One task only. | Session start and task scoping |
| Max Memory | Update CLAUDE.md + memory.md every session without fail. | Session end — non-negotiable |
| Self-Learn | After every solution ask Claude to explain why. Absorb it. Note it. | After every working piece of output |
| Self-Execute | Give Claude full context and let it run. Review output. Don’t micromanage. | Complex builds and repetitive tasks |
| Code Recheck | Every output tested before commit. Tester sub-agent on every deploy. | Before every commit and every deployment |
| Teach Human | Always ask ‘why’ not just ‘what’. Claude explains. You learn. | After any fix, build, or explanation |
Quick Commands Reference
claude init # initialise Claude Code in project folder
/status # see what Claude knows — files, CLAUDE.md, memory
/memory add [fact] # save fact to persistent cross-session memory
/memory list # view all saved memory
/compact # compress context when it grows long
/clear # clear conversation (keeps memory)
/agents # manage sub-agents
# Git essentials
git status # what files changed
git log –oneline -20 # last 20 commits with hashes
git add . # stage all changes
git commit -m “message” # commit with message
git push # push to GitHub
git checkout [hash] — file # restore single file to specific commit
git checkout -b branch-name # create + switch to new branch
git stash # park uncommitted changes
git stash pop # restore parked changes
git revert [hash] # safe undo — creates new commit
| ☐ | Task | Detail | Who | Principle |
|---|---|---|---|---|
| Project name — lowercase-hyphenated | study-visa-hub. No spaces. Before opening any tool. | You | Max Efficiency | |
| One-sentence purpose | [Tool] that helps [who] to [outcome]. Write on paper first. | You | Max Efficiency | |
| MVP features — max 5 | Number them. Nothing outside this list ships in v1. | You | Max Efficiency | |
| Explicit out-of-scope list | “v1 will NOT include…” — equally important as the in-scope list | You | Max Efficiency | |
| Define done precisely | A URL loads / form submits / data appears. Not vague. | You | Max Efficiency | |
| Full tech stack decided | Frontend, backend, DB, hosting, domain — all four before coding | You | Max Efficiency | |
| Identify biggest unknown | The one thing you don’t know how to build. Name it now. | You | Self-Learn |
| ☐ | Skill | Why needed | Who | Principle |
|---|---|---|---|---|
| Read a console error (F12) | Without this you can’t debug. Google the exact error text. | You | Self-Learn | |
| Edit file in GitHub web UI + commit | pencil → edit → commit. Must do before first project. | You | Max Efficiency | |
| Understand API keys + why to hide them | It is a password for a paid API. Exposed = charges on your account. | You | Security | |
| Run claude init in Antigravity | cd project-folder → claude init → /status confirms CLAUDE.md loaded | You | Self-Execute | |
| Use /memory and /compact | /memory add [fact] · /compact when context grows long | You | Max Memory | |
| Branch vs commit | Branch = alternate timeline. Commit = save snapshot on timeline. | You | Self-Learn |
| ☐ | Task | Detail | Who | Principle |
|---|---|---|---|---|
| Create repo: lowercase-hyphenated | github.com → New repository. Exact match to project name. | You | Security | |
| .gitignore BEFORE any credentials | Tick during repo creation. Choose Node or None for HTML-only. | You | Security | |
| Enable GitHub Pages | Settings → Pages → branch: main → /root → Save | You | Max Efficiency | |
| Create folder structure | /assets /components /pages /api /docs — add .gitkeep to each | You | Max Efficiency | |
| Note live URL + clone URL | username.github.io/repo-name — test it loads | You | Max Efficiency |
your-project/
├── index.html # entry point
├── README.md # public overview
├── CLAUDE.md # AI instruction file — auto-loaded
├── CHANGELOG.md # version history
├── .env.example # env template (safe to commit)
├── .gitignore # must include .env
├── /assets/css /js /images
├── /components /pages /api
└── /docs
├── memory.md # cross-project learnings
├── prompts.md # reusable prompts
└── decisions.md # why you made key decisions
| File | Purpose | Key Contents | Who | When |
|---|---|---|---|---|
CLAUDE.md |
AI instruction file | Stack, rules, status, session history | Both | Every session |
CHANGELOG.md |
Version history | Date, what changed, broke, fixed | Both | After every session |
.env |
Secrets — local only | Real API keys. NEVER commit. | You | Adding credentials |
.env.example |
Env template — public | Placeholder values only. Safe to commit. | You | Adding new env var |
docs/memory.md |
Cross-project learnings | Patterns, gotchas, reusable solutions | Both | After solving new problem |
docs/prompts.md |
Project prompt library | Reusable prompts tuned for this project | Both | When prompt worth saving |
# Project: [NAME]
# Last updated: [DATE]
# Status: [ACTIVE / PAUSED / BROKEN / COMPLETE]
## Purpose
[One sentence: what this does and who for]
## Tech Stack
– Frontend: [HTML/CSS/JS or React]
– Backend: [Supabase / None]
– Hosting: [GitHub Pages / Vercel]
– APIs: [list each API]
## Coding Rules
– Complete files only — no snippets
– Explain every change in plain English (I am non-developer)
– Flag before touching anything outside task scope
## Do Not Touch
– [list files/sections]
## Current Status
– Works: [list]
– Broken: [list]
– Next: [priority ordered list]
## Session History
– [DATE]: [what was done, outcome]
One session = one task. If you think of a second thing mid-session — open a new chat. Context dilution is real: more scope = worse output across everything.
| ☐ | Task | Detail | Who | Principle |
|---|---|---|---|---|
| Line 1: project name + purpose | Never assume Claude remembers. Always restate. Every single chat. | You | Low Token | |
| ONE task this session | Not “build everything”. One feature, one fix, one file. | You | Max Efficiency | |
| Paste complete relevant file | Claude works on what you paste — not what it imagines. | You | Low Token | |
| Paste exact error text if debugging | The exact error string — not your description of it | You | Code Recheck | |
| Specify output format | Complete file / function only / explanation / step-by-step | You | Low Token | |
| After output: ask Claude to explain why | “Explain what you changed in 3 bullets and why each was needed” | You | Teach Human | |
| Run end-of-session memory capture | Use the memory capture prompt — see Memory tab | Both | Max Memory |
git reset –hard destroys uncommitted changes permanently. Always use git revert instead — it creates a new commit that undoes the change, keeping history intact.
| ☐ | Task | Detail | Who | Principle |
|---|---|---|---|---|
| Commit before ANY change | Label: “snapshot before [change]”. This is your restore point. | You | Security | |
| Test in browser before committing | F12 → Console → zero red errors. Mobile too. | You | Code Recheck | |
| Run Tester sub-agent before commit | Paste into QA chat. Action every CRITICAL finding. | Claude | Code Recheck | |
| Commit message: [verb] [what] — [result] | “add contact form — tested working” not “update” | You | Max Memory | |
| Update CHANGELOG.md | Claude can write this from your description | Both | Max Memory | |
| Use branches for experiments | git checkout -b experiment/feature — never break main | You | Security |
| ☐ | Task | Detail | Who | Principle |
|---|---|---|---|---|
| Zero console errors | F12 → Console → every red error fixed before commit | You | Code Recheck | |
| No API keys in committed files | Search for: sk-, key=, secret, password, token | You | Security | |
| Env vars set on hosting platform | Vercel/Cloudflare dashboard — not in code | You | Security | |
| Tester + Security reviewer run | Action every CRITICAL finding before deploying | Claude | Code Recheck | |
| Mobile tested (<768px) | DevTools → device toolbar → iPhone width | You | Code Recheck | |
| Live URL tested after deploy | Pages: wait 2min. Vercel: ~30sec. Actually click through. | You | Code Recheck |
| Layer | What it is | Lives in | Lifetime | Who |
|---|---|---|---|---|
| Short-term | Current chat context — everything said so far | Conversation window | Until chat ends | Auto |
| Long-term | CLAUDE.md — project rules, stack, status | Repo root | Permanent until edited | Both |
| System | /memory — Claude Code persistent store | Claude Code internal | Persists across sessions | Both |
| Cross-project | memory.md — learnings across all projects | docs/memory.md in repo | Permanent, grows over time | Both |
Session Transfer — How to Move to a New Chat
This is the most important memory skill. When a session gets long or you need to start fresh, this is how you transfer everything — context, decisions, status, next steps — without losing anything.
The Session Transfer Protocol
End of current session — run the capture prompt
Before closing the chat, run the “End-of-session capture” prompt (see Prompts tab). Claude will produce a structured summary you can paste into the next chat.
Copy the full structured output
Claude will give you: current state, what was decided, what was built, what broke, what’s next, and /memory commands to run. Copy all of it.
In Antigravity — run /memory commands
Paste and run each /memory add command Claude gave you. This saves the session facts to Claude Code’s persistent memory.
Update CLAUDE.md — Status + Session History
Paste Claude’s CLAUDE.md update suggestions. Commit the file. This is your long-term memory layer.
Open new chat — use the handoff prompt
Paste the full structured handoff at the top of the new chat. Claude reads it and continues exactly where you left off.
## SESSION HANDOFF — [DATE]
### Project State
– Project: [name + one-sentence purpose]
– Stack: [current tech stack]
– Live URL: [if deployed]
– Repo: [GitHub URL]
### What We Completed This Session
[List each thing built, fixed, or decided — numbered]
### What We Decided (with reasons)
[List key architectural or design decisions made and WHY]
### Current Working State
– Works: [list what currently functions correctly]
– Broken: [list what is currently broken with suspected cause]
– Untested: [list what was built but not yet verified]
### Next Session — Priority Order
1. [highest priority task]
2. [second task]
3. [third task]
### /memory Commands to Run Now
[List each: /memory add [specific reusable fact]]
### CLAUDE.md Updates Needed
[Exact text to paste into Status and Session History sections]
### memory.md Additions
[Bullet points under correct headings, max 15 words each]
### Warnings for Next Session
[Any gotchas, fragile code, things to be careful of]
Keep every section. Leave nothing blank. This document will be pasted into the next chat as the opening message.
[PASTE THE ENTIRE HANDOFF DOCUMENT FROM THE PREVIOUS SESSION]
Rules for this session:
– You have full context from the handoff above — do not re-ask what I already told you
– Complete files only — no snippets
– Explain every change in plain English (I am a non-developer)
– Flag before touching anything outside the task scope
– One task at a time unless I explicitly ask for more
Today’s task: [ONE specific task from the priority list above]
Current file to work on: [PASTE FULL FILE CONTENT]
Memory Layer How-To
/memory add Always commit before making any changes to working code
Purpose: [one sentence]
Stack: [e.g. HTML/CSS/JS + Supabase + Vercel]
Current state: [working / broken at X / starting fresh]
My level: Non-developer. I build with Claude Code + Antigravity.
This session task: [ONE specific task only]
Output required:
– Complete updated file (not a snippet)
– Exact file name and where to place the code
– Do not change anything outside this task scope
– Flag anything that could break existing functionality
– After the code: explain in plain English what changed and why
Current file: [PASTE ENTIRE FILE CONTENT HERE]
## SESSION HANDOFF — [DATE]
### Project State
– Project: [name + purpose]
– Stack: [current stack]
### What We Completed
[numbered list]
### Decisions Made (with reasons)
[key decisions + why]
### Current State
– Works: [list]
– Broken: [list with suspected cause]
### Next Session Priority Order
1. [highest priority]
2. [second]
### /memory Commands to Run
[each: /memory add [fact]]
### CLAUDE.md Updates Needed
[exact text for Status + Session History]
### memory.md Additions
[bullets under correct headings, max 15 words each]
### Warnings for Next Session
[gotchas, fragile code, things to be careful of]
[PASTE ENTIRE HANDOFF DOCUMENT]
Rules: Complete files only. Plain English explanations. One task. Flag before touching anything outside scope.
Today’s task: [task from priority list]
Current file: [PASTE FULL FILE]
Do not remove or change anything not related to this task.
Flag anything that could break existing functionality.
After the code: explain in plain English what changed and why.
Current file: [PASTE ENTIRE FILE]
– [requirement 1]
– [requirement 2]
– [requirement 3]
Stack: [HTML/CSS/JS / React / etc]
Output: Complete file, ready to use. No placeholders.
After the code: explain the key parts in plain English.
My planned approach: [how you think you’d build it]
Stack I’m considering: [list]
Review this plan. Flag:
– Anything that will cause problems
– Simpler alternatives if my approach is overcomplicated
– Security considerations I’m missing
– The one most important thing to get right first
I am a non-developer building with AI tools. Be direct.
Error: [PASTE EXACT ERROR TEXT FROM CONSOLE]
Expected: [what should happen]
Actual: [what is happening]
Tell me: exact line to change + what to change it to.
Then explain why that line caused the error — I want to understand it.
File: [PASTE FULL FILE]
1. What does each major section do? (one sentence each)
2. What would break if I changed [specific part]?
3. Is there anything in here that looks risky or fragile?
4. What is the most important concept to understand here?
Code: [PASTE CODE]
What I did: [describe steps]
What I expected: [expected outcome]
What happened: [actual outcome]
Console errors (if any): [paste exact text or “none”]
Diagnose the most likely causes in order of probability.
For each: tell me how to confirm it is the cause, then how to fix it.
Relevant files: [PASTE FILES]
Find bugs, edge cases, and things that will break in production.
Exact line number + what fails + why. Do not be encouraging.
Also check:
– console.log statements left in (remove before deploy)
– hardcoded values that should be in .env
– functions that fail on empty or null inputs
– breaks at screen width under 768px
– any API calls without error handling
Report: CRITICAL (must fix) / WARNING (should fix) / NOTE (optional)
Code: [PASTE ALL CHANGED FILES]
Flag if present:
– API keys, tokens, or secrets visible in frontend
– Unvalidated or unsanitised user inputs
– Data accessible without auth that requires it
– CORS misconfigurations
– XSS attack vectors
– Sensitive data logged to console
Severity: Critical / High / Medium. Line number. How to fix.
Code: [PASTE CODE]
SECURITY: API keys in frontend / unvalidated inputs / auth gaps
CODE QUALITY: console.log remaining / hardcoded .env values / null input failures
MOBILE: breaks at <768px / images without dimensions
PERFORMANCE: obvious slow operations / redundant API calls
Report: CRITICAL (block deploy) / WARNING (fix soon) / NOTE (optional)
Files: [PASTE ALL CHANGED FILES]
1. What does each major section do? (1 sentence, plain English)
2. What would break if I changed [specific part]? Why?
3. What is the one concept I most need to understand here?
4. What would a senior developer do differently, and why?
5. What should I add to memory.md from this?
Code: [PASTE]
1. One real-world analogy (not software)
2. One practical example from web development
3. What is the one thing I need to be able to DO with this?
4. What breaks if I get this wrong?
5. Should I add anything about this to memory.md?
Decision: [describe what you are planning to build or how]
Tell me:
1. What is wrong or risky about this approach?
2. What would you do differently and why?
3. What are the 3 most important things to get right?
4. What will cause the most pain at scale?
I am a non-developer. Explain trade-offs simply.
Format: ## [version] – [date] / ### Added / ### Fixed / ### Changed / ### Known Issues
Keep each bullet under 15 words. Plain English.
Changes made this session: [describe or paste diff]
Rules:
– Do NOT change any functionality — same inputs, same outputs
– Explain every change you make and why it improves the code
– Flag anything you are unsure about before changing it
– Give me the complete refactored file
Code: [PASTE]
Generate a .env.example file with:
– Every variable name found
– A clear comment explaining what each one is for
– Placeholder values (never real values)
– Group related variables together
Code: [PASTE ALL PROJECT FILES]
Is this too much for one session?
If yes: break it into the minimum number of focused sessions.
For each session: state the single task, estimated complexity, and what the output will be.
Order them by dependency — what must be done first.
MCP (Model Context Protocol) tools extend what Claude Code can do. Install them via claude mcp add [name]. Each gives Claude a new capability.
claude mcp add github # read/write repos, create PRs, manage issues
claude mcp add supabase # query DB, manage tables, check RLS from Claude
claude mcp add memory # persistent memory outside conversation window
claude mcp add puppeteer # browser automation — Claude opens URLs, clicks, tests
claude mcp add filesystem # read/write local files (built-in to Claude Code)
Browse the full MCP server registry at github.com/modelcontextprotocol/servers and mcp.so
Design skills are the set of prompts, references, and rules you give Claude to produce consistently good-looking output. You don’t need to be a designer — you need the right instructions.
Design Prompts
– Font: [font name from Google Fonts]
– Primary colour: [hex]
– Background: [dark/light, hex]
– Style: [minimal/editorial/dashboard/bold/soft]
– Framework: [Tailwind / vanilla CSS / shadcn]
– Icons: Lucide
Avoid: generic AI aesthetics, Inter font, purple gradient backgrounds.
Make it look like it was professionally designed, not AI-generated.
Content needed: [describe the content/sections]
Use this to audit your gaps before starting a new project. Must = you need this to ship anything. Should = most projects need it. Nice = specific use cases only.
| Skill | Level | How to learn | Why you need it |
|---|---|---|---|
| Read a JS console error | Must | F12 → Console → Google the exact red text | Cannot debug without this. Everything else depends on it. |
| Edit a file in GitHub web UI | Must | Repo → file → pencil → edit → commit | Your fallback when Antigravity isn’t available |
| What an API key is + .env pattern | Must | See Security tab in Principles section | Every project uses at least one API. Must not expose it. |
| git commit + git push (CLI) | Must | Claude Code in Action course, Phase 6 | Web UI is fine but CLI is faster and more reliable |
| claude init + /status + /memory | Must | Claude Code in Action course | Foundation of every Claude Code session |
| JSON — what it looks like, how to read it | Must | Ask Claude: “Explain JSON with 3 examples” | All APIs return JSON. You must understand the shape of data. |
| HTML/CSS basics — div, class, id, flexbox | Should | freeCodeCamp Responsive Web Design (free) | Lets you read and modify Claude’s frontend output |
| Async/await — what it means | Should | Ask Claude: “Explain async/await with an analogy” | All API calls are async. You’ll see this in every JS file. |
| Supabase RLS — what it does | Should | Supabase docs + /memory add the gotcha | Skipping RLS = your database is publicly readable |
| Git branch + merge + conflict resolve | Should | Claude Code in Action + practice | Needed the moment you and your son work on the same repo |
| Vercel env vars + deployment config | Should | Vercel docs · 10 min read | Your .env values need to live somewhere in production |
| MCP tool installation | Should | Intro to MCP course | MCPs multiply Claude’s capabilities — learn after basics |
| Prompt engineering patterns | Should | Anthropic prompting docs at docs.claude.com | Better prompts = better output = fewer iterations |
| React fundamentals | Nice | React.dev official tutorial | Needed for complex UIs with lots of state |
| Python basics | Nice | freeCodeCamp Python · 6 hrs | Many AI/data tools use Python. Claude writes it — you need to read it. |
Data source: [Supabase table / Google Sheets / static JSON / API endpoint]
Metrics to show: [list each metric]
Chart types: [line / bar / doughnut / mixed]
Refresh: [real-time / on load / manual]
Auth required: [yes – Supabase / no – public]
Stack: HTML/CSS/JS + Chart.js. No frameworks unless necessary.
Style: dark theme, minimal, professional. Use [font name].
– Signup form: captures email + name, stores in Supabase
– Confirmation email: sent via Resend API on signup
– Admin view: shows subscriber count and recent signups
– Unsubscribe: link in every email, updates Supabase record
Stack: HTML/CSS/JS + Supabase + Resend. Hosted on Vercel.
Paid tier later: [yes – add Stripe / no]
– Listing card: [fields: name, description, category, URL, image]
– Filter by: [category / location / tags]
– Search: real-time text search across listing names and descriptions
– Submit form: [yes – public submissions / no – admin only]
– Data: stored in Supabase table called [table name]
Stack: HTML/CSS/JS + Supabase. No frameworks.
Style: [clean/dark/editorial]
– Auth: Supabase email+password login, signup, logout
– Protected routes: redirect to login if not authenticated
– Pricing tiers: [free / pro / enterprise — list what each includes]
– Billing: Stripe checkout for paid tier, webhook to update user role in Supabase
– Dashboard: shows user’s current plan and usage of [main feature]
Stack: React + Supabase + Stripe + Vercel.
This is an MVP skeleton — no extra features yet.
– Data source: [Google Sheets / Supabase / Moodle API export]
– Show per student: [name, course, progress %, completion date, status]
– Filter by: [campus / trainer / visa type / cohort]
– Alert rules: flag students below [X]% progress
– Export: CSV download of filtered view
Stack: HTML/CSS/JS. No auth needed (internal tool).
Style: clean, functional, printable.
You are past beginner AI literacy. You are not yet a developer. Your zone is tools, workflow, memory, sub-agents, and skills. That is this learning path.
| Priority | Course | Links | Key lessons | Why it matters for you |
|---|---|---|---|---|
| NOW | Claude 101 | ▶ Video · 📄 Docs | Getting better results · Projects · Skills · Connecting tools | Closes your gaps in Projects, Skills, and tool connections |
| NOW | Intro to Claude Cowork | ▶ Video | Task loop · Plugins · File tasks · Scheduled tasks | You use Cowork but still learning — this is the official tutorial |
| NEXT | Intro to Agent Skills | ▶ Video · 📄 Docs | What are skills · Creating first skill · Skills vs CLAUDE.md | Auto-triggering reusable instructions — stop repeating yourself |
| NEXT | Intro to Subagents | ▶ Video · 📄 Docs | All 4 lessons | Builds your Tester, Reviewer, and Docs agents properly |
| NEXT | Claude Code in Action | ▶ Video · 📄 Docs | Setup · Context · Custom commands · MCP servers | claude init, CLAUDE.md, context management — your core gap |
| LATER | Intro to MCP | ▶ Video · 📄 Docs | All lessons — after the 5 above | Extends Claude Code. Only useful once basics are solid. |
| SKIP | Building with the Claude API | ▶ Video | Skip entirely for now | Requires coding knowledge. Revisit in 6 months. |
| SKIP | AI Fluency: Framework | ▶ Video | Skip — you exceed this | Entry-level AI literacy. You’re already past it. |
Additional Learning Resources
Anthropic Docs
Full reference for Claude Code, prompting, MCP, and API. Bookmark this.
Prompt Engineering Guide
Anthropic’s official guide to writing better prompts. Read the overview.
freeCodeCamp
Free HTML/CSS and JavaScript courses. Do the Responsive Web Design cert first.
Supabase Docs
Official Supabase docs. Read the Quickstart and the RLS guide before any project.
MDN Web Docs
Best reference for HTML, CSS, JavaScript. Use it to understand what Claude built.
MCP Server Registry
Browse all available MCP servers. Find tools that extend Claude Code capabilities.
Biv — Darwin, AU
Uses Claude Code + Antigravity. CAC, APEX Trade Lab, EduDataHub. Primary owner.
Son — also on Claude Code / Antigravity
Same toolchain. Same playbook. Collaborate on shared projects via GitHub.
How to Share This Playbook
Option 1 — Host on GitHub Pages (Recommended)
| Step | Action |
|---|---|
| 1 | Create new GitHub repo: ai-builder-playbook (public) |
| 2 | Upload this HTML file as index.html |
| 3 | Settings → Pages → main → /root → Save |
| 4 | Share URL: yourusername.github.io/ai-builder-playbook |
| 5 | Both bookmark it. When you update and commit, it live-updates for both. |
Option 2 — Claude Project (per-person)
claude.ai → Projects → New project → Upload AI_Project_Playbook_v4.docx as knowledge
Add instruction: “You are a senior AI-native builder assistant. Always refer to the playbook. Both users are non-developers building with AI tools — explain everything simply.”
Claude Projects are per-account. Each person creates their own and uploads the same docx. You cannot share a single Project between two accounts currently.
Collaboration Rules (Shared Repo)
| Rule | Why | Enforced by |
|---|---|---|
| Same CLAUDE.md structure on every project | Either person can pick up the other’s project without confusion | Both |
| Same commit message formula | Shared history is readable by both | Both |
| Never commit to main during active collab | Use branches: feature/[name]. Merge only when tested. | Both |
| One person owns each task at a time | Prevents file conflicts and overwrites | Both |
| CHANGELOG.md updated after every session | Other person knows exactly what state the project is in | Both |
| Tester sub-agent before any merge to main | Never merge broken code | Whoever wrote the code |
| memory.md is shared in the repo | Both accumulate and benefit from shared learnings | Both — commit after every session |
SKILL.md Setup — Reusable Across Projects
A SKILL.md is a markdown file Claude Code reads automatically when it detects a matching task. Write once — Claude applies it every time without repeating yourself. Watch Introduction to Agent Skills first.
name: project-init
description: Use when starting a new project, initialising a repo,
setting up CLAUDE.md, or asking how to structure a new build
—
# Project Init — follow in sequence
## Phase 1 — Define first (before any tool)
– Project name: lowercase-hyphenated
– Purpose: [Tool] that helps [who] to [outcome]
– MVP features: maximum 5, numbered
– Out-of-scope: “v1 will NOT include…”
## Phase 2 — Repo
– Create GitHub repo with README + .gitignore
– .gitignore BEFORE .env — always
– Enable GitHub Pages
## Session rules (enforce every session)
– Complete files only — no snippets
– Plain English explanations (non-developer)
– Flag before touching anything outside task scope
– One task per session
## Security rules
– Never put API keys in code — use .env
– Run security review before every deploy
– Grep for sk-, secret, password before committing
You are a one-person marketing department. AI lets you operate like a team of 6. The goal: Claude handles the repetitive, research-heavy, and draft-production work so you focus on strategy, client relationships, and creative direction.
Your AI Marketing Stack — Master Map
| Your Role | AI Tool | What AI does for you | Time saved |
|---|---|---|---|
| Website Design | Claude + Figma AI + Framer | Generate layouts, write copy, build pages with code | 60% |
| SEO | Semrush + Surfer SEO + Claude | Keyword research, content briefs, on-page optimisation | 50% |
| Content Writing | Claude + Surfer SEO | First drafts, rewrites, tone matching, SEO optimisation | 70% |
| Google My Business | Claude + n8n + Semrush Local | Post generation, review responses, profile optimisation | 65% |
| Reputation Management | Brandwatch + Claude + n8n | Monitor mentions, draft responses, sentiment analysis | 60% |
| Brand Management | Claude Projects + Canva AI | Brand voice consistency, visual asset generation | 40% |
| Bulk Email | Resend + Beehiiv + n8n + Claude | Copy generation, segmentation, automation sequences | 65% |
| Social Media | Buffer/Later + Canva AI + Claude | Caption writing, scheduling, content calendar generation | 60% |
| Video Content | Runway ML + ElevenLabs + CapCut AI | Script writing, voiceover, edit automation | 50% |
| Meta Ads | Claude + AdCreative.ai + n8n | Ad copy variants, creative briefs, performance analysis | 55% |
| Google Analytics | Claude + Looker Studio + n8n | Report generation, insight extraction, anomaly alerts | 70% |
| Proposals & Presentations | Claude + Gamma.app + Beautiful.ai | Proposal drafts, deck generation, executive summaries | 65% |
Priority Learning Order — Digital Marketing AI
| Priority | Focus | Learn via |
|---|---|---|
| NOW | Brand Voice Skill in Claude Projects — set up before anything else | Claude 101 — Introduction to Projects |
| NOW | Content writing workflow with Claude + Surfer SEO | Surfer SEO YouTube channel |
| NEXT | Social media content calendar automation via n8n | n8n.io/workflows/categories/marketing |
| NEXT | Meta Ads analysis + weekly reporting workflow | n8n Meta Ads templates |
| NEXT | Google Analytics automated reporting with Claude insights | Looker Studio + n8n GA4 template |
| LATER | Full reputation monitoring pipeline | Brandwatch + n8n setup guides |
SEO — AI-Powered Tools & Workflow
SEO Prompts
Business: [business name + what they do]
Location: [city/region if local]
Target audience: [describe ideal customer]
Competitors: [list 2-3 competitor URLs]
Produce:
1. 10 primary target keywords (high intent, achievable difficulty)
2. 20 long-tail keywords grouped by topic cluster
3. 5 featured snippet opportunities (question-based queries)
4. Local SEO keyword variations if location-based
5. Content gap opportunities competitors are ranking for
Format as a table: keyword | monthly volume estimate | intent | priority (H/M/L)
Target keyword: [primary keyword]
Supporting keywords: [3-5 secondary keywords]
Search intent: [informational / transactional / navigational]
Target audience: [describe]
Competitor URLs to outrank: [paste 3 URLs]
Brief must include:
– Recommended title (H1) — 3 variations
– Recommended meta description — 2 variations (under 155 chars)
– Exact heading structure (H2s and H3s)
– Word count recommendation
– Must-include topics and subtopics
– Internal linking suggestions
– Schema markup type to use
– CTA recommendation
My site: [your URL]
Competitor 1: [URL]
Competitor 2: [URL]
My target keyword: [keyword]
From the content at these URLs (or describe what you know about them):
1. What topics do they cover that I don’t?
2. What questions do they answer that I’m missing?
3. Where is my content weaker (depth, structure, examples)?
4. What unique angle can I take to differentiate?
5. Recommend 5 new content pieces I should prioritise
Website: [URL]
Platform: [WordPress / Webflow / custom / etc]
Categorise by: Critical (fix immediately) / Important (fix this month) / Nice-to-have
Include checks for: page speed, Core Web Vitals, mobile responsiveness, crawlability, sitemap, robots.txt, canonical tags, structured data/schema, internal linking, broken links, image alt text, meta tags, heading hierarchy, HTTPS, duplicate content
Content Writing — AI Workflow
Claude writes the first draft in your brand voice → Surfer SEO scores it → you refine the human angle → publish. This cuts writing time by 70% without losing quality.
Content Prompts
Title: [H1 title from your brief]
Target keyword: [primary keyword — use naturally, not stuffed]
Supporting keywords: [include these throughout]
Word count: [target word count]
Audience: [describe reader — level, pain points, goals]
Brand voice: [professional/conversational/authoritative/friendly]
Banned phrases: [any phrases to avoid — e.g. “game-changer”, “leverage”]
Structure:
– H1: include primary keyword
– Introduction: hook + what reader will learn
– Body: follow this heading structure: [paste H2s and H3s from brief]
– Conclusion: summarise + clear CTA
– Meta description: under 155 chars, include keyword, include a benefit
After writing: flag any section that feels thin and needs more depth.
[PASTE ORIGINAL BLOG POST OR ARTICLE]
Create:
1. LinkedIn post (150-200 words, hook opening, 3 key points, CTA)
2. Instagram caption (80-100 words, engaging question, 5 hashtags)
3. Twitter/X thread (5 tweets, numbered, hook in tweet 1)
4. Email newsletter intro (150 words — tease the full piece, drive click)
5. Short video script (60 seconds, spoken word, punchy sentences)
Keep the core message consistent. Adapt tone for each platform.
Analyse these sample content pieces and extract the brand voice:
[PASTE 3-5 EXAMPLES OF THEIR EXISTING CONTENT]
Produce a brand voice document with:
1. Voice characteristics (5 adjectives that describe the tone)
2. Do’s — phrases, structures, approaches to use
3. Don’ts — things this brand never says or does
4. Target audience summary (who we’re writing for)
5. Example paragraph rewrite showing the voice in action
6. 10 banned/overused phrases to always avoid
This will become the brand voice instruction in the project.
Social Media — AI Tools & Workflows
Social Media Prompts
Brand: [brand name + what they do]
Platforms: [Instagram / Facebook / LinkedIn / TikTok — list all]
Posting frequency: [e.g. daily Instagram, 3x/week LinkedIn]
Audience: [describe]
Goals this month: [awareness / leads / engagement / sales]
Key dates: [upcoming events, product launches, holidays]
Brand voice: [tone description]
For each post include:
– Date and platform
– Content type (carousel / reel / static / story)
– Caption (complete, ready to post)
– Hashtags (15 for Instagram, 3-5 for LinkedIn)
– Visual direction (describe what the image/video should show)
– CTA
Format as a table. Export-ready.
Topic: [topic]
Goal: [educate / entertain / sell / build trust]
Slides: [6-10 slides]
Brand voice: [tone]
For each slide:
– Slide number
– Headline (under 8 words — bold, punchy)
– Body text (under 30 words — clear, scannable)
– Visual direction
Slide 1: Hook — must make them swipe
Last slide: CTA + save prompt
Caption: 150 words + 5 relevant hashtags
Brand: [brand name]
Industry: [industry]
Templates for:
1. Positive review / compliment (2 variations)
2. Negative complaint (2 variations — empathetic, de-escalating)
3. Product/service question (2 variations)
4. Request for more info (1 variation)
5. Spam / irrelevant comment (1 variation — polite ignore)
6. Influencer / partnership inquiry (1 variation)
7. Crisis / sensitive situation (1 variation)
Each template: natural-sounding, brand-aligned, not robotic. Include [PLACEHOLDER] tags where personalisation is needed.
Meta & Google Ads — AI Tools
Ads Prompts
Product/Service: [describe]
Offer: [what’s being promoted — discount, free trial, consultation, etc]
Target audience: [age, interests, pain points]
Campaign objective: [awareness / traffic / leads / conversions]
Brand voice: [tone]
For each variation write:
– Primary text (125 chars max — hook first)
– Headline (40 chars max)
– Description (25 chars max)
– CTA button: [Learn More / Shop Now / Sign Up / Contact Us]
Variation approaches:
1. Pain-focused (lead with the problem)
2. Benefit-focused (lead with the transformation)
3. Social proof (lead with results/numbers)
4. Curiosity/question hook
5. Direct offer (lead with the deal)
[PASTE YOUR AD DATA — campaign name, spend, impressions, clicks, CTR, CPL, ROAS]
I need:
1. Which campaigns/ad sets to scale (and by how much)
2. Which to pause or kill (and why)
3. Audience insights from the data
4. Creative fatigue indicators
5. Budget reallocation recommendation
6. Top 3 tests to run next week
My monthly budget: [budget]
Primary KPI: [CPL / ROAS / CPM / CTR]
Target: [e.g. CPL under $25]
Business: [name + what they do]
Target keyword: [primary keyword being bid on]
Landing page: [URL or describe the page]
USPs: [3-5 unique selling points]
Location: [if local]
Produce:
– 15 headlines (under 30 chars each — include keyword in at least 5)
– 4 descriptions (under 90 chars each)
– 2 sitelink extensions with descriptions
– 4 callout extensions
Follow Google’s best practices: keyword in first headline, benefit in second, brand in third.
Analytics — AI-Powered Reporting
Analytics Prompts
[PASTE GA4 EXPORT OR KEY METRICS]
Period: [date range]
Compare to: [previous period]
Business goal: [e.g. lead generation / ecommerce / brand awareness]
Produce:
1. Executive summary (3 sentences max — what happened, why it matters)
2. Top 3 wins this period (with specific numbers)
3. Top 3 concerns or anomalies (with suspected causes)
4. Channel performance breakdown (organic, paid, social, direct, referral)
5. Conversion funnel analysis (where are users dropping off?)
6. Recommended actions for next period (prioritised)
Write in plain English for a non-technical client.
Client: [business name + industry]
Period: [month + year]
Data:
– Website: [sessions, users, bounce rate, avg session duration]
– SEO: [organic traffic, keyword rankings changes]
– Social: [follower growth, engagement rate, reach, best performing post]
– Ads: [spend, impressions, clicks, conversions, ROAS/CPL]
– Email: [open rate, click rate, subscribers, unsubscribes]
Write:
1. Month in review (1 paragraph — story of the month)
2. What worked (celebrate the wins with specifics)
3. What we’re watching (honest about what needs work)
4. Next month priorities (3 clear actions)
5. One strategic recommendation
Tone: professional, confident, client-friendly. Not corporate-jargon.
Brand & Reputation Management
Brand & Reputation Prompts
Business: [business name + industry]
Review: [paste the review]
Star rating: [5 / 4 stars]
Requirements:
– Thank the reviewer by first name if mentioned
– Acknowledge the specific thing they praised
– Reinforce a brand value naturally
– Invite them back with a soft CTA
– Under 80 words each
– Sound human — not like a template
– No emojis unless the reviewer used them
Business: [business name]
Review: [paste the review]
Response requirements:
– Acknowledge the frustration (don’t be defensive)
– Apologise for the experience (not admitting fault if disputed)
– Offer to resolve — move conversation offline with contact details
– Do NOT include anything that could be used against the business
– Under 100 words
– Professional but warm tone
Also write: a private follow-up message to send directly to the reviewer to resolve the issue
Business: [name + what they do]
Location: [city]
Posting frequency: [weekly]
For each post:
– Post type: What’s New / Event / Offer / Product
– Title (under 58 chars)
– Body (150-300 words, include local keyword naturally)
– CTA button: [Book / Order / Learn More / Call / Sign Up]
– Offer details (if applicable)
Topics to cover: services, team, community, FAQ, tips, promotions
Email Marketing — AI Tools & Sequences
Email Prompts
Brand: [name + what they do]
Audience: [who subscribes + why they signed up]
Goal of sequence: [build trust / educate / convert to customer]
Brand voice: [tone]
Lead magnet delivered: [what they signed up for]
Email 1 (immediate): Deliver the lead magnet + warm welcome
Email 2 (day 2): Your brand story — why you do what you do
Email 3 (day 4): Biggest insight or value piece (educate)
Email 4 (day 6): Social proof — results, testimonials, case study
Email 5 (day 8): Soft offer or CTA to next step
For each email:
– Subject line (3 variations — curiosity / benefit / question)
– Preview text (under 85 chars)
– Full email body
– CTA (text + button copy)
Brand: [name]
Topic/theme this month: [describe]
Key content pieces to feature: [list 2-3 articles, updates, or offers]
Audience: [subscriber type]
List size: [approximate]
Produce:
– Subject line (5 variations — A/B test options)
– Preview text for best subject line
– Full email (800-1200 words)
– Structure: personal opener → main story → 2-3 content sections → CTA → sign-off
– Footer: unsubscribe reminder, social links placeholder
Tone: like writing to a friend, not a corporation
Video Content — AI Production Stack
Video Prompts
Platform: [Instagram Reel / TikTok / YouTube Shorts / LinkedIn]
Topic: [topic]
Goal: [educate / entertain / sell / build trust]
Brand voice: [tone]
CTA: [follow / visit link / comment / DM]
Format:
– Hook (0-3 sec): visual direction + opening line — must stop the scroll
– Problem/context (3-15 sec): set up the tension
– Value delivery (15-50 sec): the main content in punchy sentences
– CTA (50-60 sec): clear ask
Also provide:
– On-screen text suggestions for each section (under 6 words each)
– Thumbnail text suggestion
– Caption (150 words + 5 hashtags)
Business/Product: [describe]
Target audience: [who is watching]
Problem it solves: [pain point]
Key differentiators: [what makes it unique]
Structure: Problem → Solution → How it works (3 steps) → Social proof → CTA
Spoken word: short sentences, natural rhythm, conversational
Indicate: [PAUSE], [VISUAL: describe what should show on screen], [GRAPHIC: text overlay]
End with: voiceover CTA + screen URL/contact
Total word count: ~280 words (fits 2 minutes at natural speaking pace)
Automations & n8n Workflows
These are the workflows that will save you the most time as a one-person marketing department. Build them in priority order.
Browse 2,700+ marketing automation templates at n8n.io/workflows/categories/marketing — most are free and ready to import.
Priority Automations to Build
| Priority | Automation | What it does | Tools needed | n8n Template |
|---|---|---|---|---|
| BUILD 1st | Weekly Marketing Report | Pulls GA4 + Meta Ads + Google Ads data weekly, sends to Claude for AI analysis, emails PDF report to you + clients every Monday 8am | n8n + GA4 + Meta API + Claude + Gmail | View template → |
| BUILD 2nd | Social Content Auto-Scheduler | Monitors Google Trends for your niche, Claude generates posts, auto-schedules to Buffer/Later across all platforms at optimal times | n8n + Google Trends + Claude + Buffer | View template → |
| BUILD 3rd | Review Response Bot | New Google review triggers → Claude drafts response → you approve via email → auto-posts to GMB. Handles 95% of review responses on autopilot. | n8n + Google My Business API + Claude + Gmail | Build custom |
| BUILD 4th | Meta Ads Daily Alert | Every morning: checks yesterday’s ad performance, flags anomalies (CPL spike, budget pacing), sends Slack/email alert with Claude’s recommended actions | n8n + Meta Ads API + Claude + Slack | View template → |
| BUILD 5th | Content Repurposing Pipeline | New blog post published → Claude repurposes into 5 social formats → auto-queues in Buffer for the next 2 weeks | n8n + WordPress webhook + Claude + Buffer | Build custom |
| LATER | Brand Mention Monitor | Google Alerts → n8n → Claude sentiment analysis → categorises as positive/neutral/negative → Slack alert for negatives requiring response | n8n + Google Alerts + Claude + Slack | Build custom |
| LATER | Lead Nurture Sequence | New lead in CRM → Claude personalises email sequence based on lead source and industry → sends via Resend over 7 days | n8n + CRM + Claude + Resend | Build custom |
| LATER | Competitor Intelligence Report | Weekly: Firecrawl scrapes competitor blog + social → Claude identifies new content topics + ad angles → emails digest to you | n8n + Firecrawl + Claude + Gmail | Build custom |
n8n Setup for Digital Marketing
Workflow goal: [describe what should happen start to finish]
Trigger: [schedule / webhook / new email / new review / form submission]
Data sources: [what data it pulls — GA4 / Meta Ads / Sheets / etc]
AI processing: [what Claude should do with the data]
Output: [where results go — email / Slack / Sheets / Buffer / CRM]
My n8n experience: beginner / I can follow step-by-step instructions
Produce:
1. Workflow map (nodes in sequence, what each does)
2. Step-by-step build instructions
3. The exact Claude prompt to use in the AI node
4. What credentials/API keys I need
5. How to test it safely before going live
Digital Marketing Sub-Agents
Each sub-agent is a separate Claude chat with a specialist role. Open them alongside your main session. They are your virtual marketing team.
| Agent | Role | When to use | Opening prompt |
|---|---|---|---|
| SEO Strategist | Keyword research, content briefs, on-page recommendations | Before writing any content, auditing a page, planning a campaign | See prompt below |
| Ad Copy Writer | Generate ad copy variants, analyse performance, A/B test ideas | Before launching any campaign, refreshing ad creative, testing new angles | See prompt below |
| Analytics Interpreter | Translate data into insight, flag anomalies, write client narratives | After pulling reports, before client presentations, monthly reviews | See prompt below |
| Brand Voice Guardian | Review content for brand consistency, tone, and messaging alignment | Before publishing any content — the final quality gate | See prompt below |
| Reputation Manager | Draft review responses, monitor sentiment, crisis communication | When a negative review appears, crisis situations, weekly review management | See prompt below |
| Proposal Writer | Draft proposals, pitch decks, client presentations, case studies | New client pitches, contract renewals, award submissions | See prompt below |
You specialise in: keyword research, content strategy, on-page SEO, local SEO, and technical audits.
You do NOT write the final content — you produce briefs and strategies for a content writer to execute.
My context:
– I am a Digital Marketing Manager at [CAC/client name]
– Target market: [describe]
– Current rankings: [describe what you know]
– Primary goals: [e.g. increase organic traffic by 30% in 6 months]
When I give you a topic or URL, produce:
1. Target keyword + 5 supporting keywords
2. Search intent analysis
3. Content brief with heading structure
4. On-page optimisation checklist
5. Internal linking recommendations
Always explain your reasoning so I learn from every brief.
Your job: receive marketing data, identify the story it tells, and produce client-ready narratives.
Rules:
– Never use jargon without explaining it
– Always lead with the most important finding
– Separate what happened from why it happened from what to do about it
– Flag data anomalies and hypothesise causes
– All numbers should be compared to a baseline (previous period, industry average, or target)
When I paste data:
1. Give me the 3-sentence executive summary first
2. Then the full analysis
3. End with 3 prioritised actions
Audience: my client is [describe — business owner / marketing director / etc]
Brand voice rules:
– Tone: [describe — e.g. professional but warm, confident but not arrogant]
– We always: [list 3-5 brand communication rules]
– We never: [list banned phrases and approaches]
– Target reader: [describe the audience]
– Brand personality: [3 adjectives]
When I share content with you:
1. Rate it for brand voice alignment (1-10)
2. Flag any phrases that feel off-brand
3. Suggest alternative phrasing for anything that needs changing
4. Check for: clarity, tone, reading level (aim for grade 8), CTA strength
5. Give the content a final score: Publish Ready / Needs Minor Edits / Needs Rewrite
Be direct. I’d rather know about a problem before it’s published.
Proposals & Client Presentations
Proposal & Presentation Prompts
Client: [business name + industry]
Services proposed: [list: SEO / Social Media / Ads / Email / etc]
Monthly retainer: [$ amount]
Contract length: [e.g. 6 months minimum]
Client’s main pain point: [what problem they want solved]
Our agency/your name: [name]
Proposal structure:
1. Executive summary (1 page — the decision-maker reads only this)
2. Situation analysis (what we see wrong + what the opportunity is)
3. Proposed strategy (high-level approach for each service)
4. Deliverables (exactly what they get each month — be specific)
5. Timeline (months 1-3 focus, months 4-6 focus)
6. Investment (pricing table, what’s included, what’s extra)
7. Why us (3 differentiators + relevant case study reference)
8. Next steps (clear CTA to sign)
Tone: confident, client-focused, not agency-speak
Client: [name + industry]
Meeting length: [30 / 45 / 60 minutes]
Key results this month: [paste your data]
Wins to highlight: [what went well]
Challenges to address: [what underperformed]
Next month plan: [what you’re doing differently]
Script sections:
1. Opening (30 sec — set the narrative frame for the month)
2. Headline results (2 min — the 3 numbers that matter most)
3. Deep dive by channel (10 min — what happened + why)
4. What we’re optimising (5 min — own the issues, present solutions)
5. Next month plan (5 min — show you’re already working on it)
6. Q&A prompts (3 questions clients typically ask — with your prepared answers)
Include: presenter notes, slide content suggestions, data visualisation recommendations
🛡 Pre-Deploy Security & Quality Check — SKILL.md
This is a reusable SKILL.md file for Claude Code. Install it once — Claude auto-runs a full security, quality, and performance check every time you ask it to review code before deploying. Works on every project, not just StudyVisaHub.
One security miss in production can expose student data, API keys, or your Supabase database to the public internet. This skill runs every check automatically so you never forget a step.
How to Install the Skill
| Step | Action | Who |
|---|---|---|
| 1 | In Antigravity, navigate to: ~/.claude/skills/ — create the folder if it doesn’t exist |
You |
| 2 | Create subfolder: ~/.claude/skills/pre-deploy-check/ |
You |
| 3 | Create file: SKILL.md inside that folder — paste the content below |
You |
| 4 | Test: in any project, say “run pre-deploy check on this file” — Claude should load and run it | Both |
| 5 | Share with son: commit the ~/.claude/skills/ folder to a shared GitHub repo — he clones it |
You |
SKILL.md — Copy and save this file
name: pre-deploy-check
description: Use when reviewing, auditing, or checking code before committing
or deploying. Triggers on: “check this”, “review before deploy”, “final check”,
“security check”, “debug this”, “pre-deploy”, “is this safe to deploy”
allowed-tools: Read, Grep, Bash
—
# Pre-Deploy Security & Quality Check
Run ALL checks in sequence. Report by severity.
## 1. SECURITY (Critical — block deploy if found)
– Exposed API keys/tokens: sk-, Bearer, apiKey=, secret=, password=, token=
– .env values hardcoded in client-side code
– SQL injection risks in database queries
– XSS: innerHTML or dangerouslySetInnerHTML with user input
– Unvalidated inputs used in queries or DOM
– CORS set to * in production
– Protected routes not validated server-side
– Supabase: RLS disabled on tables with user data
## 2. CODE QUALITY (Warning)
– console.log() statements remaining
– TODO, FIXME, HACK comments
– Hardcoded URLs/values that should be env vars
– Async functions missing try/catch error handling
– Functions with no null/undefined input validation
## 3. PERFORMANCE (Note)
– Images without width/height
– Redundant API calls on page load
– Missing loading states for async operations
## 4. MOBILE & ACCESSIBILITY (Warning)
– Fixed widths that break below 768px
– Images missing alt text
– Form inputs missing labels
## REPORT FORMAT — use exactly this:
🔴 CRITICAL (block deploy)
🟡 WARNING (fix before next deploy)
🔵 NOTE (log and monitor)
✅ DEPLOYMENT READINESS: [READY / NOT READY]
Ask: “Do you want me to fix any of these now?”
Quick Commands
“Run pre-deploy check on all changed files”
“Security check before I push this”
“Final review — is this safe to deploy?”
“Debug and security scan: [paste file]”
# Claude will automatically:
1. Load the pre-deploy-check skill
2. Scan every file you paste
3. Return structured Critical / Warning / Note report
4. Offer to fix findings immediately
Check for ALL of the following and report by severity:
🔴 CRITICAL (block deploy):
– Any API keys, tokens, or secrets visible in the code (sk-, Bearer, apiKey=, password=)
– User inputs used in database queries without sanitisation
– Protected data accessible without authentication
– Supabase tables without RLS enabled
🟡 WARNING (fix soon):
– console.log() statements remaining
– Hardcoded values that should be in .env
– Async functions without error handling (try/catch)
– Functions that fail on null/undefined input
🔵 NOTE (monitor):
– Performance issues (redundant API calls, no loading states)
– Mobile breakpoint issues below 768px
– Images missing alt text
For each finding: file name + line number + issue + exact fix.
End with: ✅ DEPLOYMENT READINESS: READY / NOT READY
Code to review: [PASTE ALL CHANGED FILES]
🗺 StudyVisaHub — Project Master Plan
Australia’s most trusted intelligence platform for international students, education agents, and providers. Data-driven. AI-powered. Built to be the go-to resource for the $40B+ Australian international education market.
Market Context (Why This Will Win)
| Metric | Data | Source |
|---|---|---|
| International students in AU (2025) | 846,321 active | Dept of Education → |
| Student visa fee (2025) | AUD $2,000 — world’s most expensive | ICEF Monitor → |
| Visa grant rate changes | VET down 45% vs 2019; HE -1% vs 2024 | DHA Statistics → |
| Raw visa grant rate data | CSV available for download | data.gov.au → |
| PR points minimum (2025-26) | 65 points — competitive rounds at 75-90 | ANZSCO Search → |
| Policy update cadence | Evidence levels updated quarterly (Sep/Mar) | VisaConnect → |
Platform Architecture — Build Order
| Phase | Build | Purpose | Revenue model | Timeline |
|---|---|---|---|---|
| Phase 1 | Core Website + Newsletter | Establish the brand, capture audience | Free — audience building | Week 1-2 |
| Phase 1 | DHA Alert System | The most valuable free tool — trust builder | Free tier + paid premium alerts | Week 2-3 |
| Phase 2 | Agent + Provider Directories | Lead generation for agents and providers | Listing fees + featured placement | Month 2 |
| Phase 2 | Course + Scholarship Finders | Core student utility — drives traffic | Provider referral fees, ads | Month 2-3 |
| Phase 3 | Data Intelligence Dashboard | Premium product for agents/providers | SaaS subscription AUD $99-299/mo | Month 3-4 |
| Phase 3 | Student Registry + Tools | Lead collection + student engagement | Agent referral fees per enrolled student | Month 4-5 |
| Phase 3 | AI Blog + Social Automation | SEO traffic engine — compound growth | Organic SEO + display ads | Month 3 onwards |
| Phase 4 | Strategy Reports + Infographics | Premium content for agents/providers | Report sales AUD $299-999 each | Month 5-6 |
Core Tech Stack
Supabase (DB + Auth)
Vercel (hosting)
Cloudflare (DNS + Workers)
studyvisahub.com.au (domain)
Claude API (AI features)
Resend (email)
Beehiiv (newsletter)
n8n (automation)
Chart.js (data viz)
Firecrawl (data scraping)
Stripe (payments)
Key Data Sources (Free, Official)
| Data | Source | Format | Use |
|---|---|---|---|
| Student visa grant rates | data.gov.au → | CSV/Excel | Dashboard, alerts, strategy reports |
| Monthly student enrolments | education.gov.au → | PDF/Excel | Dashboard, course demand data |
| DHA policy updates | homeaffairs.gov.au → | HTML/PDF | Alert system, blog content |
| CRICOS provider list | cricos.education.gov.au → | CSV | Provider directory, course finder |
| PR points + occupation list | DHA Occupation List → | HTML | PR pathway tools |
| Austrade education data | education.austrade.gov.au → | Dashboard | Market intelligence |
🌐 How to Build StudyVisaHub.com.au
Australia’s most trusted, data-driven resource for international students, education agents, and providers. Must feel authoritative, clean, and trustworthy — like a government site but with personality.
Pages to Build
| Page | Purpose | Key sections | Priority |
|---|---|---|---|
| Home | First impression + tool access hub | Hero with data counter, latest DHA update banner, top tools grid, newsletter CTA | Build first |
| Visa Information Hub | SEO traffic driver — informational intent | Subclass 500 guide, visa conditions, GTE requirement, evidence levels explainer | Build first |
| For Students | Student tools gateway | Links to: visa probability, PR checker, course finder, scholarship finder, doc checklist | Phase 2 |
| For Agents | B2B acquisition | Agent directory, strategy reports, DHA alerts, compliance tools | Phase 2 |
| For Providers | B2B acquisition | Provider listing, enrolment data, student demand intelligence | Phase 2 |
| Blog / News | SEO + authority building | DHA updates, policy news, study tips, career guides — AI-generated | Phase 3 |
| About + Contact | Trust building | Team, mission, data sources disclosure, contact form | Build first |
Step-by-Step Build
| Step | Task | Tool | Who |
|---|---|---|---|
| 1 | Connect domain to Vercel — studyvisahub.com.au | Cloudflare DNS + Vercel | You |
| 2 | Set up GitHub repo: study-visa-hub | GitHub | You |
| 3 | Create CLAUDE.md with full project context | Claude Code | Both |
| 4 | Build home page — hero, stats bar, tool cards, newsletter signup | Claude Code + HTML/CSS | Claude |
| 5 | Build Visa Information Hub — 10 key visa pages | Claude Code | Claude |
| 6 | Connect Supabase — newsletter signups table, auth | Supabase + Claude | Both |
| 7 | Set up Cloudflare Workers as API proxy for any external APIs | Cloudflare Workers | Both |
| 8 | SEO: meta tags, sitemap.xml, robots.txt, schema markup | Claude Code | Claude |
| 9 | Pre-deploy check: run security skill on all files | Claude Code (pre-deploy skill) | Claude |
| 10 | Deploy to Vercel + test all pages + set up GA4 | Vercel + Google Analytics | You |
Key Learning Resources
▶ HTML/CSS Full Course
freeCodeCamp — Responsive Web Design certification. Free, 300 hours.
▶ Vercel Deploy Tutorial
Official Vercel guide — connect GitHub, custom domain, environment variables.
▶ Supabase Quickstart
Official Supabase quickstart with auth and database in 10 minutes.
▶ SEO for Beginners
Semrush Academy — free SEO certification. Covers on-page, technical, and strategy.
Brand: StudyVisaHub — Australia’s trusted international education intelligence platform
Audience: International students, education agents, RTO/HE providers
Tone: Professional, data-driven, trustworthy — like a government resource with clarity
Page sections:
1. Navigation: logo + Study in AU / For Agents / For Providers / Tools / Blog / Get Alerts
2. Hero: “Australia’s International Education Intelligence Platform” + subheadline + 2 CTAs (Free Tools / Get DHA Alerts) + live stat counter (students in AU: 846,321)
3. Latest DHA Update banner: amber alert bar with placeholder for dynamic update
4. Tools grid: 6 cards — Visa Probability, PR Points Check, Course Finder, Scholarship Finder, Agent Directory, Strategy Reports
5. Newsletter signup: “Get DHA policy updates delivered to your inbox”
6. Stats section: 3 data points from latest DHA data
7. Footer: links + data sources disclosure + GDPR/privacy
Stack: HTML/CSS/JS only. No frameworks. Dark navy + teal colour scheme.
Font: use DM Sans from Google Fonts.
Style: Premium, data-driven — NOT generic. Think Bloomberg meets gov.au.
Mobile: fully responsive.
SEO: include H1, meta title, meta description, structured data (WebSite schema)
📊 Student Visa Data Intelligence Dashboard
This becomes your premium SaaS offering — the dashboard agents and providers pay AUD $99-299/month for. It visualises DHA data, shows trends, and generates AI-powered strategic insights.
Data Sources to Integrate
| Dataset | URL | Update frequency | How to use |
|---|---|---|---|
| Visa grant rates by country + provider | data.gov.au → | Monthly | Download CSV → store in Supabase → visualise with Chart.js |
| Monthly student enrolment summary | education.gov.au → | Monthly | n8n scrapes PDF → Claude extracts table data → Supabase |
| Provider evidence levels (PRISMS) | DHA via agents → | Quarterly (Mar/Sep) | Manual update + DHA alert system notifies you |
| CRICOS provider + course list | CRICOS → | Weekly | Firecrawl scrape → Supabase table |
Dashboard Modules to Build
📈 Visa Grant Rate Tracker
Line chart showing grant rate by country over time. Filter by education sector (HE/VET/ELICOS/Schools). Compare periods.
🗺 Enrolment Heat Map
State/territory breakdown of enrolments. Which states are growing? Which declining? Filters by source country.
🌍 Source Country Analysis
Top 20 source countries by enrolments, visa grants, and refusal rates. Trend arrows vs previous period.
📚 Course Demand Intel
Which courses are growing? VET vs HE. Diploma vs Certificate IV. Mapped to occupation demand for PR pathway relevance.
⚠ Provider Risk Ratings
Evidence level risk by provider. High/medium/low risk flag. Update alerts. Filter by state and sector.
🤖 AI Insight Generator
Claude API: paste any month’s data → get plain-English strategic recommendations for agents and providers.
Build Steps
| Step | Task | Tool | Who |
|---|---|---|---|
| 1 | Download all CSV datasets from data.gov.au + education.gov.au | Manual download | You |
| 2 | Create Supabase tables: visa_grants, enrolments, providers, countries | Supabase | Both |
| 3 | Import CSV data into Supabase tables | Supabase CSV import | You |
| 4 | Build dashboard page — fetch data from Supabase, render with Chart.js | Claude Code | Claude |
| 5 | Add AI insight module — button triggers Claude API call with selected data | Claude API + Cloudflare Worker | Claude |
| 6 | Add Supabase auth — dashboard behind login (free vs paid tier) | Supabase Auth | Claude |
| 7 | n8n automation: monthly data refresh from government sources | n8n + Firecrawl | Both |
Learning Resources
▶ Chart.js Full Tutorial
Official Chart.js documentation with interactive examples for every chart type.
▶ Supabase Data Import
Import CSV files directly into Supabase tables via the dashboard.
▶ Looker Studio Dashboard
Free alternative: connect Supabase/Sheets to Looker Studio for no-code dashboards.
Data source: Supabase tables — visa_grants (country, grants, refusals, rate, month, year, sector), enrolments (state, sector, country, count, month, year)
Dashboard layout:
– Top row: 4 KPI cards — total students, visa grant rate %, top source country, fastest growing sector
– Row 2: Line chart (grant rate over 12 months, filter by sector), bar chart (top 10 countries by enrolments)
– Row 3: Heat map by state (horizontal bar chart), pie chart by education sector
– Row 4: AI Insight button — “Generate strategic insights from this data” → calls Claude API
Filters: date range selector, education sector dropdown, source country dropdown
Auth: check Supabase session — if not logged in, show “Sign up for free access”
Stack: HTML/CSS/JS + Chart.js + Supabase JS client. No React.
Style: dark theme (match StudyVisaHub brand), data-dense but readable.
Performance: load data once on page load, cache in JS variables.
📧 Newsletter for Agents & Providers
Two separate lists: “StudyVisaHub Weekly” for students (free, high volume) and “Agent Intelligence Brief” for agents/providers (paid premium, high value). The agent list becomes a revenue channel at AUD $49-99/month.
Newsletter Architecture
| Newsletter | Audience | Frequency | Content | Platform | Model |
|---|---|---|---|---|---|
| StudyVisaHub Weekly | Students | Weekly | Visa tips, course highlights, policy updates, scholarship alerts | Beehiiv (free tier) | Free — audience building |
| Agent Intelligence Brief | Agents + providers | Monthly | DHA data analysis, evidence level updates, market intelligence, strategy tips | Beehiiv (paid) | AUD $49/mo subscription |
Build Steps
| Step | Task | Tool | Who |
|---|---|---|---|
| 1 | Create Beehiiv account + 2 publications | Beehiiv | You |
| 2 | Add signup forms to site — connect to Beehiiv via API | Beehiiv API + Supabase | Claude |
| 3 | Build 5-email welcome sequence for each list | Claude (content) + Beehiiv | Both |
| 4 | n8n automation: weekly email generation from DHA data → Claude drafts → you approve → sends | n8n + Claude + Beehiiv API | Both |
| 5 | Set up Stripe payment for agent newsletter subscription | Stripe + Beehiiv premium | You |
Audience: Australian education agents and registered training providers (RTOs)
Tone: Professional, data-driven, practical — we are their most reliable source of truth
Structure:
1. Subject: “DHA Update: [most important change this month] — What agents need to know”
2. Opening: 2 sentences on why this month’s data matters
3. Data spotlight: key number from latest DHA release with plain-English interpretation
4. Policy update: any recent evidence level changes or DHA announcements
5. Market intelligence: which source countries are trending up or down
6. Agent action item: one specific thing agents should do this week based on the data
7. Course spotlight: one course type showing strong visa grant rates
8. Closing CTA: upgrade to full dashboard access
Use these real data points:
– 846,321 international students in AU (YTD Dec 2025)
– Visa fee: AUD $2,000 (world’s highest)
– VET sector down 45% vs 2019
– HE sector up 14% vs 2019
– Evidence level update: effective 30 Sep 2025
🤝 Education Agent Directory Listing
Free basic listing → AUD $29/month for featured → AUD $99/month for verified + leads. Agents pay to be visible to students searching for agents by location and specialty.
Directory Features
🔍 Search & Filter
Filter by: state, specialty (HE/VET/ELICOS), source country expertise, MARA registered, languages spoken
⭐ Agent Profile
Business name, MARA number, specialties, countries, languages, contact form, reviews, response time
📊 Performance Badge
Premium: “High Grant Rate Agent” badge based on anonymised DHA data integration
📝 Agent Submission
Self-service listing form. Manual verification of MARA number via DHA register before approval.
Supabase Schema
id, name, business_name, mara_number, email, phone,
state, city, specialties[], source_countries[],
languages[], website, description, logo_url,
tier (free/featured/verified), verified (bool),
created_at, updated_at
agent_reviews table:
id, agent_id, student_name, rating (1-5),
review_text, verified_student (bool), created_at
Data: Supabase table ‘agents’ with fields: id, business_name, mara_number, state, city, specialties (array), source_countries (array), languages (array), description, logo_url, tier, verified, rating_avg
Features:
– Search bar: searches business_name and description
– Filters: state dropdown, specialty multiselect, verified toggle, language dropdown
– Agent cards: logo, name, state, specialties pills, languages, star rating, “Verified MARA” badge if verified=true, “Featured” gold border if tier=featured
– Click → agent profile page (route: /agents/[id])
– Agent profile: full details + contact form (submits to Supabase contact_requests table)
– Pagination: 20 per page, load more button
– Submission form: “List your agency” → form → sends to Supabase pending_agents table for manual review
Featured agents appear first. Free agents sorted by state then name.
Stack: HTML/CSS/JS + Supabase. Mobile responsive.
🏫 Provider Listing Directory
CRICOS data is public and free. Pre-populate the directory with all registered providers before anyone pays — this gives you instant credibility and search engine presence.
Build Steps
| Step | Task | Tool | Who |
|---|---|---|---|
| 1 | Download CRICOS provider CSV (all registered AU providers) | CRICOS website | You |
| 2 | Import CRICOS data to Supabase providers table | Supabase | You |
| 3 | Build provider directory with search, filters, and profile pages | Claude Code | Claude |
| 4 | Add “claim your listing” flow — providers verify ownership via email domain | Supabase Auth + Resend | Claude |
| 5 | Premium tier: enhanced profile, contact form leads, DHA data integration | Stripe | Both |
📄 CRICOS Data Source
Official database of all registered Australian education providers for international students. Free download in CSV format.
📚 Australian Course Finder
Each course generates its own SEO page: “[Course Name] in Australia for international students”. With 10,000+ CRICOS courses, this becomes a massive organic traffic driver.
Course Finder Features
🔍 Smart Search
Search by: course name, CRICOS code, field of study, state, provider type (HE/VET/ELICOS), duration, fees
🎯 PR Pathway Filter
Filter courses by: leads to MLTSSL occupation, eligible for 485 visa, regional study bonus points available
📊 Visa Intelligence
Show visa grant rate for students from [country] studying this course. Links to DHA data source.
💰 Fee Comparison
Compare annual tuition fees across providers offering the same qualification. Powered by CRICOS data.
Data: Supabase table ‘courses’ with fields:
id, course_name, cricos_code, provider_id, field_of_study,
qualification_type (Bachelor/Masters/Diploma/Certificate IV/etc),
duration_weeks, annual_fee_aud, state, delivery_mode,
pr_pathway (bool), mltssl_linked_occupation, regional_eligible (bool)
Features:
1. Search: free text across course_name, field_of_study, provider name
2. Filters: qualification_type, state, field_of_study, pr_pathway toggle, max_fee slider
3. Results: card showing course name, provider, qualification, state, duration, annual fee, “PR Pathway” green badge if applicable
4. Course detail page (/courses/[id]): full details + provider info + PR pathway guide + “Apply” button (lead capture form)
5. SEO: each course has unique page with meta title: “[Course] at [Provider] for International Students — StudyVisaHub”
Show 20 results per page. Sort by: relevance (default) / fee low-high / duration short-long
Stack: HTML/CSS/JS + Supabase. Mobile first.
🎓 Australian Scholarship Finder
“Scholarship for international students in Australia” has very high search volume and strong conversion intent. This page drives newsletter signups and agent referrals.
Scholarship Data Sources
Australia Awards
Australian Government scholarship program for international students. Official data published annually.
University scholarships
Each university publishes their own scholarship list. Firecrawl can scrape and normalise these.
Government scholarships
State government regional scholarships, industry-specific awards, research grants.
Automation: Scholarship Discovery Pipeline
Trigger: Schedule (1st of each month)
→ Firecrawl: scrape scholarship pages from 20 top AU universities
→ Claude: extract structured data (name, amount, eligibility, deadline, URL)
→ Supabase: upsert into scholarships table
→ Resend: email digest to newsletter subscribers — “New scholarships found this month”
✍ Automated AI Blog Content Creator
Target 3 articles per week. Every DHA update is a content opportunity. Every visa subclass, occupation, and source country is a keyword cluster. 150 articles = significant organic traffic within 6 months.
Content Strategy
| Content type | Volume | SEO target | Update trigger |
|---|---|---|---|
| DHA policy updates | Every update | “[policy change] Australia international students” | DHA alert system → auto-generate |
| Visa subclass guides | 1 per subclass (20+) | “Student visa subclass 500 Australia” | Write once, update quarterly |
| Country-specific visa guides | 1 per top 20 countries | “Student visa Australia from India” | Update when data changes |
| Course + career guides | 1 per field of study | “Best courses in Australia for PR pathway” | Update when occupation lists change |
| PR pathway guides | 1 per occupation cluster | “How to get PR from nursing course Australia” | Update when occupation lists change |
Automated Blog Pipeline
Trigger: DHA alert webhook (new policy detected)
→ Claude: “Write 1200-word SEO blog post about [update]. Target keyword: [keyword]. Include: what changed, who is affected, what agents should tell students, what providers should do.”
→ Claude: generate meta title + description + 3 social post variants
→ Supabase: save as draft with status=’pending_review’
→ Email you: “New draft ready for review: [title]” with approve/edit link
→ On approval: publish to site + auto-post social variants via Buffer API
[DESCRIBE THE DHA UPDATE OR PASTE THE ANNOUNCEMENT]
Target keyword: [primary keyword]
Secondary keywords: DHA update, international students Australia, student visa 500, education agents Australia
Word count: 1,200-1,500 words
Audience: education agents and international students in Australia
Structure:
– H1: Include primary keyword. Format: “[What changed]: What [audience] Need to Know”
– Introduction: Explain what changed in plain English (2 para)
– H2: What exactly changed (detail section)
– H2: Who is affected (students / agents / providers)
– H2: What this means for visa applications
– H2: What agents should tell their students right now
– H2: What providers need to update
– Conclusion: summary + link to DHA source + newsletter CTA
– Meta title: under 60 chars, include keyword
– Meta description: under 155 chars, include benefit and CTA
Data citations: link to official DHA source for every claim.
Tone: authoritative but accessible. No jargon without explanation.
📱 Automated Social Media Content
Platform Strategy
| Platform | Audience | Content type | Frequency | Automation level |
|---|---|---|---|---|
| Agents, providers, industry | Data insights, policy updates, infographics | 3x/week | 80% automated | |
| Students, prospective students | Visa tips carousels, country spotlights, student stories | Daily | 70% automated | |
| Students + parents | News, guides, community posts | 5x/week | 90% automated | |
| TikTok | Young prospective students | 60-sec visa tip videos, PR journey stories | 3x/week | Script automated, edit manual |
Social Automation Pipeline
Trigger: Schedule (6am daily)
→ Exa Search MCP: find trending Australia international education news
→ Claude: generate platform-specific posts for each channel:
– LinkedIn: data insight post (150 words + infographic prompt)
– Instagram: carousel script (6 slides)
– Facebook: news post with student angle
→ Canva API: generate visual from carousel script template
→ Buffer API: schedule posts at optimal times
→ Supabase: log content calendar entry
# Special trigger: DHA update detected
→ Skip schedule → immediate post across all channels
→ Format: breaking news style — “⚠ DHA UPDATE: [what changed]”
👤 Student Registry — Lead Matching System
Each registered student is a qualified lead. When matched to an agent or provider who converts them to an enrolment, you earn a referral fee. This is the core B2B revenue model at scale.
Student Registry Features
📝 Student Profile
Nationality, English level, budget, preferred study level, preferred state, desired PR outcome, timeline
🎯 Course Match
AI matches student profile to top 5 recommended courses based on: PR pathway, visa grant rate, budget, location preference
🎓 Scholarship Match
Automatically surfaces matching scholarships based on nationality, study level, and field of study
🗺 PR Pathway Planner
Shows: current points estimate → target occupation → recommended course → PR timeline → probability estimate
🤝 Agent Matching
Matches student to 3 agents specialising in their country and study level. Student contacts directly.
📊 Lead Dashboard
Agent/provider dashboard: view matched student profiles (anonymised until agent pays for contact details)
Student registration form collects:
– Personal: first name, email, country of origin, age
– Academic: current qualification, IELTS/PTE score (or estimate), field of interest
– Goals: preferred study level, preferred Australian state, budget range (AUD/year), PR goal (yes/no), timeline (next intake/6mo/12mo+)
– Source: how they heard about us
On submission:
1. Save to Supabase students table
2. Trigger Claude API call: “Based on this student profile, recommend: top 3 courses, top 3 providers, whether they qualify for PR pathway, estimated points if PR goal, top 2 scholarships”
3. Send welcome email via Resend with personalised recommendations
4. Flag student as “new lead” in agent dashboard
Agent lead dashboard (auth required, paid tier):
– See student profiles anonymised (country, study level, budget, PR goal)
– “Unlock contact details” button → Stripe payment of AUD $25-50 per lead
– Filter leads by country, study level, budget, PR goal
Supabase RLS: students can only see their own profile. Agents can see anonymised profiles only until paid unlock.
📋 Document Checklist — Quality & Integrity Tool
The document checklist is one of the highest-converting free tools — it generates newsletter signups and positions StudyVisaHub as essential for agents. The personalised version (by country + provider risk level) is a paid feature.
Checklist System Design
🌍 Country-based checklist
DHA requires different evidence levels by country. Checklist adapts based on student’s country of origin and provider evidence level (high/medium/low).
📊 Evidence level integration
Links to DHA’s evidence level data — shows how thorough the documentation needs to be for each country/provider combination.
✅ Interactive checklist
Students tick off documents as they prepare. Progress saved in Supabase. Shareable with their agent. Print/PDF option.
⚠ Integrity flags
Highlights common reasons for visa refusal: false documents, GTE failure, financial evidence issues. Education-first approach.
Step 1: User inputs country of origin (dropdown, 20 most common) + provider risk level (high/medium/low, from dropdown)
Step 2: System generates personalised checklist
Checklist categories always shown:
1. Identity documents (passport, birth certificate)
2. Academic qualifications (certified transcripts, IELTS/PTE results)
3. Financial evidence (bank statements, sponsor letter — amount varies by country/duration)
4. GTE (Genuine Temporary Entrant) statement guide
5. Health insurance (OSHC requirement)
6. Enrolment confirmation from provider (CoE)
Country-specific additions (show for high-risk countries):
– Additional financial evidence requirements
– Extra identity verification
– Sponsor statutory declaration
Interactive features:
– Each item has a checkbox (saves to localStorage)
– Info icon explains why each document is required
– Progress bar: “X of Y documents ready”
– Print checklist button (PDF)
– Email checklist button (saves email to Supabase + sends via Resend)
– “Get personalised advice” CTA → agent matching
Important note at top: “This checklist is a guide only. DHA requirements change. Always verify with a registered migration agent or directly with DHA.”
🔔 DHA Alert System — Automated Policy Monitor
Agents pay thousands per year for consultants who tell them about DHA updates. You give this away free (basic) and charge for premium. This is the single fastest path to first paying subscribers.
What to Monitor
| Source | What to watch for | URL to monitor | Check frequency |
|---|---|---|---|
| DHA Visa Statistics | New quarterly/annual reports released | homeaffairs.gov.au → | Daily |
| Evidence level updates | September + March evidence level changes via PRISMS | DHA + PRISMS announcements | Daily (critical in Sep/Mar) |
| Education.gov.au monthly data | New monthly enrolment summary published | education.gov.au → | Monthly (1st of month) |
| DHA immigration news | Policy changes, visa fee updates, new requirements | DHA Advisories → | Daily |
| data.gov.au student visa dataset | New CSV data files uploaded | data.gov.au → | Weekly |
Alert System Architecture
Trigger: Schedule (7am daily)
Branch 1: DHA page change detection
→ Firecrawl: scrape homeaffairs.gov.au/news-media/current-alerts-and-advisories
→ Compare with yesterday’s version (stored in Supabase)
→ If changed: extract new content
→ Claude: “Summarise this DHA update in plain English for education agents. Include: what changed, who is affected, what agents must do, timeline.”
→ Supabase: store alert with severity (critical/important/info)
→ Email you immediately with full analysis
→ Send to premium subscribers within 2 hours
→ Queue blog post draft for your review
Branch 2: Monthly data check (runs 1st of month)
→ Check education.gov.au for new monthly summary PDF
→ If new: download + extract key metrics
→ Claude: generate data analysis + newsletter draft
→ Email you for review
Branch 3: Weekly data.gov.au check
→ Check for new CSV files in student visa dataset
→ If new: download → update Supabase → trigger dashboard refresh
# Email alert format
Subject: ⚠ DHA UPDATE [CRITICAL/IMPORTANT]: [what changed]
Body: Plain English summary + affected parties + required actions + source links
Alert Tiers — Monetisation
| Tier | Price | What they get |
|---|---|---|
| Free | $0 | Weekly digest email, 48hr delay on alerts |
| Agent Essential | AUD $49/month | Real-time alerts, full analysis, monthly data report |
| Provider Intelligence | AUD $149/month | Above + evidence level tracking for their CRICOS code, student demand intel |
Workflow goal: Monitor 5 Australian government education URLs daily, detect any content changes, generate an AI analysis report, and email it to me + subscribers
URLs to monitor:
1. https://www.homeaffairs.gov.au/news-media/current-alerts-and-advisories
2. https://www.education.gov.au/international-education-data-and-research
3. https://data.gov.au/data/dataset/student-visas
Detection method: Firecrawl MCP to scrape each URL, compare hash/content with previous day (stored in Supabase table ‘page_snapshots’)
On change detected:
1. Extract the new content
2. Send to Claude API: “You are an expert in Australian international education policy. Analyse this DHA update and produce: (a) 2-sentence plain English summary, (b) who is affected, (c) what agents must do immediately, (d) what providers must update, (e) urgency level: CRITICAL/IMPORTANT/INFO”
3. Store in Supabase ‘alerts’ table with: url, detected_at, summary, full_analysis, urgency
4. Send email via Resend to my address AND to all subscribers in Supabase ‘alert_subscribers’ where tier=’premium’
Tools needed: n8n Cloud, Firecrawl API, Claude API, Supabase, Resend
Give me: workflow node map + step-by-step build guide + Claude prompt for the AI analysis node
📈 Strategy Reports for Agents & Providers
A data-driven strategy report telling an agent or provider which courses, countries, and regions to focus on is worth AUD $299-999 to them. It takes you 30 minutes with AI. At 10 reports/month = AUD $3,000-10,000/month.
Report Types
| Report | Who buys it | Price | What it contains |
|---|---|---|---|
| Agent Market Intelligence Report | Education agents | AUD $299 | Top source countries by grant rate, best courses for their specialty, visa risk flags, monthly trend analysis |
| Provider Enrolment Strategy Report | RTOs + universities | AUD $499 | Which source countries to target, grant rate by their CRICOS code, comparable provider benchmarking, agent recruitment strategy |
| Annual Market Outlook | Both | AUD $999 | Full-year DHA data analysis, sector trends, country-by-country breakdown, 12-month forward forecast |
Agent profile:
– Location: [state]
– Specialisation: [VET / HE / ELICOS / mixed]
– Main source countries: [list 3-5]
– Current volume: [approx students/year]
– Goal: [grow volume / improve grant rate / enter new market]
Available data (paste or describe):
[paste DHA data: grant rates by country, sector enrolment trends]
Report structure:
1. Executive summary (which 3 markets have the best opportunity right now)
2. Source country analysis — for each of their main countries: grant rate trend, risk level, recommended course types
3. Course opportunity analysis — which qualifications are growing vs declining
4. Visa risk mitigation — evidence level status, documentation recommendations
5. New market opportunity — 2 source countries they’re not working with that show strong indicators
6. 90-day action plan (3 specific actions with expected impact)
7. Data sources + disclaimer
Format: professional PDF-ready. Use data tables, bullet points, clear headings. Include a disclaimer that this report uses publicly available data and is not migration advice.
🧮 Student Tools — Visa Probability, PR Checker, Strategy Planner
Student inputs: nationality, study level, IELTS score, bank balance, course duration, provider evidence level. Claude calculates weighted probability based on DHA grant rate data for that country/sector combination. Shows: percentage estimate, main risk factors, how to improve chances.
Form inputs:
– Nationality (dropdown — top 30 source countries)
– Study level (HE / VET / ELICOS / Schools)
– Course duration (dropdown: 6mo / 1yr / 2yr / 3yr / 4yr+)
– IELTS/PTE score (dropdown ranges)
– Bank balance available (dropdown ranges in AUD)
– Previous visa refusals (yes/no)
– Agent assisting (yes/no)
On submit: POST to /api/visa-check (Cloudflare Worker) which:
1. Looks up grant rate for that nationality + sector from Supabase visa_grants table
2. Applies modifiers: +/- based on IELTS, finance, prior refusals
3. Calls Claude API: “Based on this student profile and a base grant rate of [X]%, estimate approval probability and top 3 risk factors to address. Be honest but constructive.”
4. Returns: probability estimate (%), risk factors (3), improvement tips (3), recommended action
Display: probability meter (visual), traffic light (green/amber/red), risk factor cards, “Speak to an agent” CTA
Important disclaimer: “This is an estimate only based on historical data. DHA assesses each application individually. This is not migration advice.”
The official points test is on DHA’s website but it’s not user-friendly. Build a better UX version that shows exactly how to earn more points and which visa pathway is best for the student’s current score. Minimum 65 points required; competitive invitations at 75-90 points (2025-26 data).
| Category | Max points | Notes |
|---|---|---|
| Age (25-32 best) | 30 pts | Official calculator → |
| English proficiency | 20 pts | Superior English (IELTS 8+) = 20 pts |
| Skilled employment (AU) | 20 pts | 8+ years = 20 pts |
| Educational qualification | 20 pts | PhD in AU = 20 pts |
| Australian study | 5 pts | 2+ years study in AU |
| Regional study bonus | 5 pts | Study + live regional 2 years |
| Partner skills | 10 pts | Or single/partner = AusPR/citizen |
| State nomination | 5-15 pts | 491 = 15 pts; 190 = 5 pts |
The highest-value student tool. Student inputs current situation → receives a complete 2-5 year roadmap: which course to enrol in, which state to study in (regional bonus?), which occupation to target, how many points they’ll accumulate, when to apply for PR, estimated timeline to citizenship.
Student profile:
– Nationality: [country]
– Age: [age]
– Current qualification: [highest degree]
– English level (IELTS equivalent): [score]
– Work experience in skilled occupation: [years]
– Desired field of study in Australia: [field]
– PR goal: Yes
– Budget: AUD [budget]/year
– Partner: [single / partner with skills / partner without skills]
Using the 2025-26 Australian points test:
1. Calculate current estimated points score
2. Identify the best visa pathway (189/190/491)
3. Recommend the optimal course in Australia (maximise points + employment)
4. Recommend state (regional = +15 points on 491?)
5. Project points score after completing recommended course
6. Show 5-year timeline: Arrive → Study → Graduate → Work → Apply PR → Grant
7. Flag any risks (age clock, occupation list changes, visa fee costs)
8. Estimate total cost of PR pathway (tuition + visa fees + living)
Important: End with “This is an educational estimate only. Consult a registered migration agent (MARA) before making any decisions.”
Data reference:
– Points test: https://www.anzscosearch.com/points-test/
– Occupation list: https://immi.homeaffairs.gov.au/visas/working-in-australia/skill-occupation-list
🖼 Infographics — Job & Career Pathway for PR
Infographics are the most shareable content in the international education space. One well-designed infographic shared by agents in their WhatsApp groups can drive thousands of site visits. Target: agents as distribution channel.
Infographic Series to Create
| Infographic | Target audience | Distribution | Tools |
|---|---|---|---|
| Australia PR Pathway: Course → Job → PR | Students + agents | LinkedIn, Instagram, WhatsApp (agent groups) | Canva AI / Claude + Canva |
| Top 10 PR-Pathway Courses in Australia 2025 | Students | Instagram carousel, Pinterest, blog | Canva AI |
| Australian Visa Grant Rate by Country (2025) | Agents + providers | LinkedIn, newsletter, downloadable PDF | Chart.js → Canva export |
| Australia PR Points Calculator Visual | Students | All social platforms | Canva AI template |
| Study → Work → PR: 5-Year Timeline | Prospective students | High-traffic blog post, social | Canva AI |
| Evidence Level Guide: Am I High/Medium/Low Risk? | Agents | LinkedIn, newsletter | Canva + Claude data |
Production Workflow
1. Claude: create infographic content brief (what data, what story, what layout)
2. Canva AI: “Create infographic titled [X] with these data points: [Y]”
OR Claude Code: generate SVG infographic directly
3. Brand: apply StudyVisaHub colour palette (navy + teal + white)
4. Export: 4 formats — square (Instagram), tall (Pinterest/Stories), wide (LinkedIn), A4 (PDF download)
5. Publish: upload to site as downloadable lead magnet → email gate → collect leads
6. Distribute: Buffer schedule across all platforms
Target audience: International students considering Australia
Goal: Show the complete journey from student visa to PR to citizenship in one visual
Sections of the infographic:
1. Header: “Your Australia PR Journey — From Student to Permanent Resident”
2. Timeline visual: 5 stages with estimated durations
Stage 1: Arrive on Student Visa (Subclass 500) — 1-4 years study
Stage 2: Graduate — apply for Temporary Graduate Visa (Subclass 485) — 2-4 years
Stage 3: Build skills + work experience in nominated occupation
Stage 4: Submit Expression of Interest (EOI) — Points Test — 65+ points needed
Stage 5: Receive Invitation → Lodge PR Application → Grant
3. Points summary box: key categories and max points (use real 2025-26 data)
4. Top 5 courses for PR pathway (include occupation examples)
5. Disclaimer: “This is a simplified guide. Consult a MARA registered agent.”
6. Footer: StudyVisaHub.com.au branding
Data to include:
– Minimum 65 points for pool entry (competitive rounds 75-90 in 2025)
– 189 (independent), 190 (state nominated), 491 (regional) pathway options
– 485 visa: 2-4 years depending on study level and region
– Total pathway: typically 5-8 years from student visa to citizenship
Produce: headline, all text for each section, specific numbers to include, visual layout description (so I can brief Canva AI or a designer)
💰 Monetisation Blueprint — The Million Dollar Platform
StudyVisaHub serves 3 paying audiences: students (volume), agents (premium), and providers (enterprise). Each layer adds a revenue stream. At scale, this is a AUD $1M+ business.
Revenue Streams — All 12
| Revenue stream | Model | Price point | Scale potential | Phase |
|---|---|---|---|---|
| Agent Intelligence Newsletter | Subscription | AUD $49/mo | 1,000 agents = $49K/mo | Phase 1 |
| DHA Alert Premium | Subscription | AUD $49-149/mo | 500 subscribers = $50K/mo | Phase 1 |
| Agent Directory Featured Listing | Listing fee | AUD $29-99/mo per agent | 500 agents = $25K/mo | Phase 2 |
| Provider Directory Enhanced Listing | Listing fee | AUD $199-499/mo | 200 providers = $60K/mo | Phase 2 |
| Data Intelligence Dashboard | SaaS | AUD $99-299/mo | 500 subscribers = $100K/mo | Phase 3 |
| Strategy Reports (one-off) | Report sales | AUD $299-999 each | 100 reports/mo = $50K/mo | Phase 3 |
| Student Lead Referrals | Lead fee | AUD $25-100 per lead | 500 leads/mo = $25K/mo | Phase 3 |
| Course/provider referral commissions | Affiliate % | 5-15% of first-year tuition | 100 enrolments × $2K = $200K/yr | Phase 4 |
| Infographic + data downloads | Lead magnet → upsell | Free → upgrade | Newsletter + dashboard conversions | Phase 2 |
| Display advertising | CPM/CPC | AUD $5-20 CPM | 100K pageviews/mo = $2-5K/mo | Phase 3 |
| White-label reports for agents | Agency tier | AUD $499/mo | 50 agencies = $25K/mo | Phase 4 |
| Student visa consultation referrals | Partner fee | AUD $50-200 per booked consultation | 200/mo = $20K/mo | Phase 4 |
Path to $1M ARR
| Phase | Milestone | MRR target | How to get there |
|---|---|---|---|
| Month 1-3 | Launch + first 100 subscribers | AUD $5,000/mo | DHA alerts free tier drives signups → convert 10% to paid $49/mo |
| Month 3-6 | Directories live + 50 paying agents | AUD $15,000/mo | Agent directory featured listings + newsletter upgrade path |
| Month 6-12 | Dashboard + reports + lead gen | AUD $40,000/mo | SaaS dashboard + 10 strategy reports/month + student leads |
| Month 12-18 | Provider enterprise tier + referrals | AUD $80,000/mo | Provider contracts + course referral commissions at scale |
| Year 2+ | Million dollar run rate | AUD $83,000/mo | Full platform live, SEO traffic driving organic, 1,000+ paying accounts |
New Tool Ideas
🤖 Agent AI Assistant
Claude-powered chatbot trained on DHA data, CRICOS database, and occupation lists. Agents ask questions 24/7 without calling DHA. AUD $99/mo.
📋 GTE Statement Generator
AI-generated Genuine Temporary Entrant statements personalised by nationality, age, ties to home country. Students pay AUD $29 per statement.
📊 Provider Benchmarking Tool
Upload your CRICOS code → see how your grant rate compares to similar providers. Identify at-risk students before visa refusal. AUD $199/mo.
🗺 Regional Study Opportunity Finder
Regional study = +15 PR points on 491 visa. Show students which courses + providers qualify + living costs by region. High SEO value, easy to build.
📱 WhatsApp Alert Bot
DHA update delivered via WhatsApp. Agents love WhatsApp. Use Twilio API + n8n. Premium tier add-on AUD $29/mo.
🎓 Mock GTE Interview Prep
Claude simulates a DHA GTE interview, asks questions, assesses student’s answers, gives improvement feedback. AUD $49 one-time.
Skills to Build (Your Team)
| Skill | Priority | Learn via |
|---|---|---|
| n8n workflow automation | Must | n8n courses → · ▶ YouTube → |
| Supabase + Row Level Security | Must | RLS Guide → |
| Stripe payment integration | Must | Stripe Quickstart → |
| Australian migration law basics | Should | DHA Student Visa Guide → |
| SEO + content marketing | Should | Semrush Academy → |
| Data analysis + Python basics | Later | freeCodeCamp → |
Growth Strategies
📣 Agent Community Strategy
Find 20 active Facebook groups and WhatsApp networks where Australian education agents gather. Be the person who shares the best DHA data summaries. Every post links back to studyvisahub.com.au.
🔗 MARA Agent Outreach
DHA publishes the full registered migration agent list. Email every MARA agent in Australia announcing your free alert service. Even 1% converting to paid = hundreds of subscribers.
📚 CRICOS Provider Cold Email
Email every Australian RTO and university international office. Subject: “Free DHA grant rate data for [their CRICOS code]”. Hook with free data → sell dashboard.
🎤 Industry Conferences
ISANA, AIRC, PIER — present the platform at Australian international education conferences. One conference = hundreds of qualified agent and provider contacts.
📊 LinkedIn Thought Leadership
Post one DHA data insight per week on LinkedIn. Agents and providers follow. Every post ends with “Full analysis at StudyVisaHub.com.au”. Build audience before monetising.
🤝 Migration Agent Partnerships
Partner with 5-10 MARA agents who will recommend the platform to their clients. Revenue share: you send them student leads, they send you subscribers.
The platform that wins is not the one with the most features — it’s the one agents trust most. Every DHA update you send faster and more accurately than anyone else builds that trust. Start with the alert system. Let everything else grow from the trust you build there.
Your Job Title — The Honest Answer
AI Solutions Architect & Automation Specialist — You design and build AI-powered product systems, combining Claude, n8n, Supabase, and automation pipelines to solve real business problems. You sit at the intersection of product thinking and AI execution — where most developers can’t think, and most marketers can’t build.
Why This Title Fits You Better Than the Others
| Title | What it really means | Your fit today | After StudyVisaHub |
|---|---|---|---|
| AI Automation Engineer | Writes, maintains, and debugs code independently. Owns the technical stack. | ~35% — you direct, Claude writes | ~70% — gaps closing fast |
| AI Automation Specialist | Designs workflows, selects tools, manages AI systems. Less coding than engineer. | ~65% — strong in design, weak in execution | ~85% — very credible |
| AI Solutions Architect | Defines the problem, architects the solution, orchestrates the build. Strategic + technical. | ~75% — this is your real strength | ~92% — fully credible |
| AI Solutions Builder | Hands-on product creator. Concept → deployed tool using AI as the build engine. | ~70% — StudyVisaHub proves this | ~90% — proven track record |
Your Elevator Pitch (copy this)
I’ve shipped StudyVisaHub.com.au, Australia’s intelligence platform for international education — featuring automated DHA policy alerts, a student visa data dashboard, course and scholarship finders, and AI-generated strategy reports for education agents and providers.
My background is digital marketing (SEO, Meta Ads, Google Analytics, content strategy, brand management) which means I build systems that don’t just work — they’re designed to acquire users, retain them, and generate revenue.
I work across the full stack: from product strategy to Supabase schema, from Claude Projects to n8n automation workflows, from UI design to SEO and paid acquisition.
Job title: AI Solutions Architect & Automation Specialist
Location: Darwin, Australia
Available for: consulting, fractional CMO/CTO roles, platform builds
The 3 Gaps That Matter Most Right Now
| Gap | Why it matters | How to close it | Time needed |
|---|---|---|---|
| Read JS well enough to spot bugs | You can’t debug what you can’t read. Claude produces JS — you need to verify it. | freeCodeCamp JS Algorithms cert + 1 hour reading Claude’s output daily | 4–6 hours study |
| Build one n8n workflow end-to-end | The DHA alert system is your first. Do it manually — not from a template. | n8n free tier + follow the SVH alert tutorial in this playbook | 1 full day |
| Write one Supabase RLS policy yourself | Supabase without RLS = public database. You must understand this before launch. | Supabase RLS guide + apply it to the students table in SVH registry | 2–3 hours |
Skills Gap Map — Where You Stand Today
Each skill has a checkbox. Tick it when you’ve practiced it in a real project — not just read about it. The StudyVisaHub build is designed to tick most of these naturally.
AI Tools & Workflow
| ☐ | Skill | Your level | How to learn | Status |
|---|---|---|---|---|
| Multi-model prompting (Claude + GPT + Gemini) | Strong — already active | Keep practising daily across all 3 | Strong | |
| Claude Projects + Skills + CLAUDE.md (in practice) | Knows concept — not yet practised | Claude 101 — Projects + Skills lessons | Partial | |
| Sub-agent design — Tester, Reviewer, Docs agents | Conceptual — not built any yet | Intro to Subagents course + build in SVH | Partial | |
| Session memory architecture (all 4 layers) | Understands layers — not yet systematic | Use end-of-session capture prompt every session for 2 weeks | Partial | |
| Structured prompt engineering (role + context + format) | Uses prompts — not yet systematic | Anthropic Prompt Engineering Guide | Partial | |
| SKILL.md files — write and install one | Template exists — not installed yet | Install the pre-deploy-check skill from the SVH tab | Gap | |
| MCP tool installation (GitHub, Supabase, Firecrawl) | Knows they exist — never installed | Intro to MCP course + install 3 in SVH | Gap |
Technical Skills
| ☐ | Skill | Your level | How to learn | Status |
|---|---|---|---|---|
| Read HTML/CSS — understand what Claude built | Can use it via Claude — cannot read solo | freeCodeCamp Responsive Web Design — 4 hrs | Critical gap | |
| Read JavaScript — spot a bug in code Claude wrote | Never explicitly learned | freeCodeCamp JS Algorithms — first 4 modules only | Critical gap | |
| JSON — read and understand data structure | Has seen it — never consciously learned | W3Schools JSON tutorial — 30 mins. Then read every API response Claude uses. | Critical gap | |
| API calls — fetch, headers, auth, error handling | Has used them — doesn’t understand them | MDN Fetch API guide — read then ask Claude to explain SVH’s API calls | Critical gap | |
| Git CLI — commit, push, branch, rollback | Web UI only — no terminal use | Atlassian Git Tutorial + practice in SVH repo | Partial | |
| Supabase — tables, queries, RLS, auth | Used in SVH deploy — surface level | Supabase RLS Guide — mandatory before SVH launch | Partial | |
| Environment variables + .env pattern | Knows concept — not practised | Create .env in SVH. Run pre-deploy check. Verify no keys in code. | Partial | |
| Cloudflare Workers — write a basic API proxy | Has used Cloudflare DNS — not Workers | Cloudflare Workers Quickstart — write the DHA API proxy for SVH | Gap | |
| Debugging — F12, console errors, isolate cause | Relies on Claude — cannot self-diagnose | Read every console error before pasting to Claude. MDN error reference. Practise on SVH. | Gap | |
| Stripe integration — checkout + webhook | Has not built payment flow yet | Stripe Checkout Quickstart — needed for SVH paid tiers | Gap |
Automation & n8n
| ☐ | Skill | Your level | How to learn | Status |
|---|---|---|---|---|
| n8n — build and test a complete workflow | Awareness only — never built one | n8n Official Courses + ▶ n8n YouTube — build DHA alert as first workflow | Critical gap | |
| Webhooks — send and receive payloads | Conceptual — never built | n8n Webhook Node docs — use in social automation pipeline | Critical gap | |
| Scheduled automation triggers (cron) | Understands concept — not built | Build the weekly GA4 report workflow from the automation tab | Gap | |
| Claude API inside n8n workflow | Knows it’s possible — never connected | n8n AI Agent node docs — use in DHA alert workflow | Gap | |
| Multi-step agentic pipeline design | Theory — no builds yet | Build the content repurposing pipeline: blog post → 5 social formats → Buffer schedule | Gap | |
| Error handling in automation workflows | Never considered this | n8n Error Handling docs — add to every SVH workflow | Gap |
Full Roadmap — Power User → AI Solutions Architect
You learn by building. The Anthropic courses give you the conceptual foundation. The StudyVisaHub build gives you the practical proof. Every milestone below maps to a real thing you ship.
Phase 1 — Foundation (Weeks 1–4)
Do the Anthropic courses. Set up your full Claude Code environment. Build your first n8n workflow. These are prerequisites — do not skip.
| ☐ | Milestone | Resource | Proof you’ve done it |
|---|---|---|---|
| Complete Claude 101 — all lessons | ▶ Claude 101 — free, ~2 hours | Certificate of completion downloaded | |
| Complete Intro to Claude Cowork — all lessons | ▶ Intro to Cowork — free, ~1.5 hours | Run first task in Cowork on a real file | |
| Complete Intro to Agent Skills — all lessons | ▶ Agent Skills — free, ~1 hour | Install the pre-deploy-check SKILL.md from this playbook | |
| Complete Intro to Subagents — all lessons | ▶ Subagents — free, ~1 hour | Build and run the Tester sub-agent on SVH code | |
| freeCodeCamp: HTML/CSS — first 30 exercises | ▶ Responsive Web Design — free | Can read any HTML file Claude produces without confusion | |
| freeCodeCamp: JavaScript — first 4 modules | ▶ JS Algorithms — free | Can spot a bug in a 50-line JS file without Claude’s help | |
| W3Schools JSON tutorial — complete | ▶ JSON intro — 30 mins | Can explain what an API response looks like to someone else | |
| claude init a real project in Antigravity | ▶ Claude Code in Action — free | SVH repo initialised with Claude Code, /status confirms CLAUDE.md loaded |
Phase 2 — First Build (Months 1–2)
This is the StudyVisaHub core build. Each item is a real shipped feature — not a tutorial exercise. This is where 80% of your gap-closing happens.
| ☐ | Milestone | Resource | Proof |
|---|---|---|---|
| SVH website live at studyvisahub.com.au | SVH Website tutorial — this playbook | URL loads, all pages render, GA4 tracking confirmed | |
| Supabase database live with RLS on every table | Supabase RLS Guide | RLS policies written, tested, and documented in CLAUDE.md | |
| First n8n workflow live — DHA alert monitor | SVH Alerts tutorial + n8n template | DHA update detected, email received, Claude analysis included | |
| Cloudflare Worker as API proxy for Claude API calls | Cloudflare Workers Quickstart | Worker deployed, API key hidden from frontend, requests proxied | |
| Newsletter live on Beehiiv with 2 lists | Beehiiv API docs | Student list + Agent list, signup forms on site, welcome sequence sent | |
| Pre-deploy skill runs clean on all SVH code | Pre-deploy check SKILL.md — this playbook | Zero CRITICAL findings before first production deploy | |
| Complete Claude Code in Action — all lessons | ▶ Claude Code in Action — free | Using custom commands and MCP tools in Antigravity |
Phase 3 — Advanced Features (Months 2–4)
| ☐ | Milestone | Resource | Proof |
|---|---|---|---|
| SVH Data Dashboard live with Chart.js + Supabase | SVH Dashboard tutorial — this playbook | Dashboard loads data, all 4 charts render, filter controls work | |
| Social automation pipeline in n8n (Google Trends → Claude → Buffer) | n8n social template | Posts auto-schedule to 3 platforms weekly without manual input | |
| Student registry with Supabase auth + lead matching | SVH Registry tutorial — this playbook | Student can register, profile saved, personalised recommendations emailed | |
| Stripe payment live for Agent newsletter tier | ▶ Stripe Checkout Quickstart | Test payment processed, subscriber tier updated in Supabase on webhook | |
| Complete Intro to MCP — all lessons | ▶ Intro to MCP — free | Firecrawl + Supabase MCP installed and used in at least one SVH workflow | |
| AI blog auto-publishing pipeline | SVH Blog tutorial + n8n | DHA update → Claude draft → email approval → publish → social posts — all automated |
Phase 4 — AI Solutions Architect (Months 4–6)
At this point you stop being a builder and become an architect. You design systems, delegate execution to Claude, and review rather than write.
| ☐ | Milestone | Resource | Proof you’ve arrived |
|---|---|---|---|
| First paying subscriber to Agent Intelligence Brief | Launch strategy — SVH Monetisation tab | AUD $49 recurring payment in Stripe dashboard | |
| First strategy report sold (AUD $299+) | Strategy Report tutorial — SVH tab | Invoice paid, report delivered, client gave feedback | |
| Can independently debug any SVH issue without Claude | Practise reading errors daily for 60 days | Fixed a production bug from console error alone — no Claude | |
| Built and pitched a second client an AI automation solution | Your digital marketing background + this playbook | Proposal written, system scoped, contract signed | |
| LinkedIn profile updated with SVH case study | Your own writing + Claude for polish | 3+ organic enquiries from LinkedIn within 30 days of posting |
Technical Skills — Resources & How to Learn Each One
Automation Skills — n8n, Webhooks & Pipelines
Your first n8n workflow should be the SVH DHA Alert System. It touches every automation concept you need: scheduled trigger, HTTP request, data comparison, Claude API call, conditional logic, email output. Build this one and you’ve learned 70% of n8n.
Priority Automation Builds — In Order
| ☐ | Workflow | What you learn | Template |
|---|---|---|---|
| 1. DHA Alert Monitor (build from scratch) | Scheduled trigger, HTTP request, page comparison, Claude API, conditional email | n8n marketing templates → | |
| 2. Weekly GA4 + Meta Ads report | Multiple API sources, data merging, Claude analysis, scheduled email delivery | View template → | |
| 3. Social content scheduler (Google Trends → Claude → Buffer) | External API, AI content generation, multi-platform publishing, cron scheduling | View template → | |
| 4. Google review response bot | Webhook trigger, Claude draft, email approval flow, conditional posting | Build custom — use SVH Reputation tab prompt | |
| 5. Blog → 5 social formats pipeline | WordPress webhook, Claude repurposing, Buffer API, content calendar automation | Build custom — use SVH Blog tab |
Digital Marketing AI — Building on Your Existing Strengths
You already have 10+ years of digital marketing expertise. The AI layer doesn’t replace that — it multiplies it. Your job is to add AI workflows on top of skills you already have, not start from scratch.
| Your existing skill | AI layer to add | Resource | Playbook section |
|---|---|---|---|
| SEO | Semrush AI + Surfer SEO + Claude content briefs | Semrush Academy → · ▶ Surfer YouTube | Digital Marketing → SEO tab |
| Content Writing | Claude Projects with brand voice + Surfer scoring | Claude 101 — Projects lesson | Digital Marketing → Content tab |
| Meta Ads | Meta Ads MCP + AdCreative.ai + n8n performance alerts | ▶ AdCreative.ai YouTube | Digital Marketing → Ads tab |
| Google Analytics | Looker Studio + n8n weekly report + Claude narrative | ▶ Google Analytics Skillshop | Digital Marketing → Analytics tab |
| Social Media | Canva AI + Buffer + n8n automation pipeline | ▶ Buffer YouTube | Digital Marketing → Social tab |
| Reputation Management | Google Alerts + n8n + Claude response drafting | Build the review response workflow in n8n | Digital Marketing → Brand tab |
| Video Content | CapCut AI + ElevenLabs voiceover + Claude scripts | ▶ CapCut AI tutorials | Digital Marketing → Video tab |
| Proposals & Presentations | Claude + Gamma.app slide generation | ▶ Gamma.app tutorials | Digital Marketing → Proposals tab |
All Courses — Complete Reference
The order matters. Don’t jump ahead. Phase 1 Anthropic courses unlock everything else.
Phase 1 — Do These First (Anthropic Academy)
| ☐ | Course | Links | Time | Priority |
|---|---|---|---|---|
| Claude 101 | ▶ Video · 📄 Docs | ~2 hours | Do now | |
| Intro to Claude Cowork | ▶ Video | ~1.5 hours | Do now | |
| Intro to Agent Skills | ▶ Video · 📄 Skills Docs | ~1 hour | Do now | |
| Intro to Subagents | ▶ Video · 📄 Docs | ~1 hour | Do now | |
| Claude Code in Action | ▶ Video · 📄 Docs | ~3 hours | Do next |
Phase 2 — Technical Foundation (Free)
| ☐ | Course | Links | Time | Priority |
|---|---|---|---|---|
| freeCodeCamp — Responsive Web Design (HTML/CSS) | ▶ Start free | First 30 exercises (~3 hrs) | Do now | |
| freeCodeCamp — JavaScript Algorithms (first 4 modules) | ▶ Start free | ~4 hours | Do now | |
| W3Schools — JSON Tutorial | 📄 Read free · ▶ 10 min video | 30 mins | Do now | |
| Supabase — Quickstart + RLS Guide | 📄 Quickstart · 📄 RLS Guide · ▶ Video | ~2 hours | Do next | |
| Atlassian Git Tutorial | 📄 Read free · ▶ Video · 📄 Oh Shit Git! | ~2 hours | Do next | |
| MDN — Fetch API (understand API calls) | 📄 MDN Fetch | 1 hour | Do next |
Phase 3 — Automation & Build Tools
| ☐ | Course | Links | Time | Priority |
|---|---|---|---|---|
| n8n — Fundamentals Course | 📄 n8n Courses · ▶ YouTube · ▶ Beginner tutorial | ~3 hours | Critical | |
| Cloudflare Workers — Quickstart | 📄 Quickstart · ▶ Video | ~1.5 hours | Do next | |
| Stripe — Checkout + Webhooks Quickstart | 📄 Checkout · 📄 Webhooks · ▶ Video | ~2 hours | Phase 3 | |
| Intro to MCP (Anthropic Academy) | ▶ Video · 📄 MCP Docs | ~2 hours | Phase 3 | |
| Google Analytics 4 — Skillshop certification | ▶ GA4 Skillshop (free) | ~3 hours | Do next |
Phase 4 — Advanced & Optional
| ☐ | Course | Links | When |
|---|---|---|---|
| Claude API — Building with Claude (Anthropic Academy) | ▶ Video · 📄 API Docs | After Phase 2 complete | |
| freeCodeCamp — Data Analysis with Python | ▶ Free course | When SVH data needs processing | |
| Semrush Academy — SEO Fundamentals cert | ▶ Free cert | Alongside SVH SEO work | |
| React.dev — Official Tutorial | 📄 react.dev | Only if SVH needs complex UI state |
Progress Tracker — Your Learning Dashboard
Milestone Summary
| Phase | Milestone | Status |
|---|---|---|
| Phase 1 | Complete all 4 Anthropic Academy courses | Not started |
| Phase 1 | freeCodeCamp HTML/CSS + JS (first 4 modules) + JSON | Not started |
| Phase 2 | claude init + /status working on SVH repo | Not started |
| Phase 2 | SVH website live at studyvisahub.com.au | Not started |
| Phase 2 | First n8n workflow (DHA alert) live and sending emails | Not started |
| Phase 2 | Supabase RLS written and understood | Not started |
| Phase 3 | SVH data dashboard + student registry live | Not started |
| Phase 3 | First paying subscriber (AUD $49/mo) | Not started |
| Phase 4 | First strategy report sold (AUD $299+) | Not started |
| Phase 4 | LinkedIn updated — first enquiry from SVH case study | Not started |
“I designed and built StudyVisaHub.com.au — Australia’s intelligence platform for international students and education agents. It runs automated DHA policy alerts, a live data dashboard, AI-generated strategy reports, and student-to-agent matching. I built it using Claude Code, n8n, Supabase, Vercel, and the Anthropic API. It has paying subscribers.”
That is your job title proven. AI Solutions Architect & Automation Specialist.
Day 0 — Setup Everything Before You Start
Day 0 is not learning — it is setup. Every account, folder, and tool must be ready before Day 1. A bad setup means you lose 2 hours on Day 1 troubleshooting instead of building.
Accounts to Create (if not already done)
| ☐ | Service | Link | What for | Cost |
|---|---|---|---|---|
| Anthropic Academy | anthropic.skilljar.com | All courses — free | Free | |
| GitHub | github.com | SVH repo + this playbook hosting | Free | |
| Supabase | supabase.com | SVH database, auth, storage | Free tier | |
| Vercel | vercel.com | SVH hosting + auto-deploy | Free tier | |
| n8n Cloud | n8n.io | DHA alert + social automation workflows | Free trial | |
| Beehiiv | beehiiv.com | SVH newsletter (student + agent lists) | Free tier | |
| Cloudflare | cloudflare.com | DNS for studyvisahub.com.au + Workers | Free | |
| freeCodeCamp | freecodecamp.org | HTML/CSS + JS learning | Free |
Obsidian Folder Structure — Create This Now
# Mirror this in Google Drive so it syncs automatically
📁 ObsidianVault/
└── 📁 StudyVisaHub-Sprint/
├── 📄 00-PROJECT-OVERVIEW.md # Paste CLAUDE.md here too
├── 📄 01-DAILY-JOURNAL.md # One entry per day
├── 📄 02-LEARNINGS.md # memory.md — paste end-of-session outputs here
├── 📄 03-PROMPTS-THAT-WORKED.md # Save every prompt that got great output
├── 📄 04-BUGS-AND-FIXES.md # What broke + how you fixed it
├── 📄 05-DECISIONS.md # Why you made key technical decisions
├── 📄 06-SPRINT-CHECKLIST.md # Copy of this sprint tab
└── 📁 code-snippets/ # Save useful code Claude generated
# Google Drive mirror path:
Google Drive > AI-Builder > StudyVisaHub-Sprint > [same structure]
# Antigravity/Claude Code project path:
~/projects/study-visa-hub/ (local)
→ synced to GitHub: github.com/[yourname]/study-visa-hub
→ deployed to: studyvisahub.com.au via Vercel
Claude Code Init — Run This on Day 0
mkdir ~/projects/study-visa-hub
cd ~/projects/study-visa-hub
git init
git remote add origin https://github.com/[yourname]/study-visa-hub.git
claude init
# Verify it worked:
/status # should show project initialised
# Create your CLAUDE.md immediately:
# (Claude will help you fill it — paste the template from Phase 4 tab)
Daily Opening Prompt — Use Every Morning
Sprint Day: [DAY NUMBER] of 10
Today’s target: [paste today’s target from sprint tab]
Yesterday I completed: [what you actually finished]
Yesterday I got stuck on: [anything that wasn’t resolved]
Current repo state: [working / something is broken]
Today’s session task: [ONE specific thing from today’s plan]
Rules for this session:
– Complete files only — no snippets
– Explain every change in plain English (I am a non-developer)
– Flag before touching anything outside today’s task scope
– After each task: tell me what I learned and what to add to my journal
CLAUDE.md content: [paste current CLAUDE.md]
Current file: [paste file if editing one]
Rapid Learning Protocol — Learn Any Concept in 20 Minutes
Structure:
1. One-line plain English definition (no jargon)
2. One real-world analogy (not from software)
3. One concrete example from StudyVisaHub specifically
4. The ONE thing I must understand to use this safely
5. The ONE mistake beginners make with this
6. Show me what it looks like in code (30 lines max)
7. What should I add to my Obsidian learnings file?
Keep it fast. I am time-constrained. No theory beyond what I need to build.
Day 1 — Foundation + Environment
All accounts live. Repo created. Claude Code running. First CLAUDE.md written. First commit made. Claude 101 started. By end of day: SVH repo exists at github.com and Claude can read it.
| ⏱ | ☐ | Task | Theory / Resource | Practical |
|---|---|---|---|---|
| 9:00am | Watch: Claude 101 — lessons 1–3 | ▶ Claude 101 (~45 min) | Take notes in Obsidian 01-DAILY-JOURNAL.md | |
| 10:00am | Create GitHub repo: study-visa-hub | Phases tab → P3 → Repo Setup | Public repo, README ticked, .gitignore: Node | |
| 10:30am | Run claude init in Antigravity | ▶ Claude Code in Action | cd ~/projects/study-visa-hub → claude init → /status | |
| 11:00am | Write CLAUDE.md for StudyVisaHub | Phases tab → P4 → CLAUDE.md template | Fill every section. Commit it. Run /status to confirm loaded. | |
| 12:00pm | Read: JSON in 30 minutes | W3Schools JSON + ▶ 10 min video | Write 3 sentences in journal: what JSON is + one SVH example | |
| 1:00pm | Watch: Claude 101 — lessons 4–6 (Projects + Skills) | ▶ Claude 101 | Create your first Claude Project for SVH in claude.ai | |
| 2:00pm | Create Supabase project for SVH | Supabase Quickstart | Note your project URL + anon key. Add to .env. Do NOT commit .env. | |
| 3:30pm | freeCodeCamp: HTML exercises 1–10 | ▶ Responsive Web Design | Do exercises in browser. After each: explain what it does to yourself out loud. | |
| 5:00pm | Build: folder structure + placeholder files | Phases tab → P3 → Folder Structure | Create all folders in repo. Add .gitkeep files. Commit: “init: folder structure” | |
| 6:00pm | End-of-day: run memory capture prompt | Memory tab → end-of-session prompt | Paste output into Obsidian 01-JOURNAL.md and 02-LEARNINGS.md |
GitHub repo exists → CLAUDE.md committed → /status works → Supabase project live → .env created (not committed) → Journal entry written
Day 2 — Website Structure + Home Page
SVH home page built and deployed to Vercel. Domain connected. GA4 tracking live. By end of day: studyvisahub.com.au loads your home page.
| ⏱ | ☐ | Task | Theory / Resource | Practical |
|---|---|---|---|---|
| 9:00am | Watch: Intro to Agent Skills — all lessons | ▶ Agent Skills (~1hr) | Install pre-deploy-check SKILL.md in ~/.claude/skills/ | |
| 10:00am | Build: SVH home page with Claude | SVH tab → Website tutorial → home page prompt | Use the home page prompt. Review output. Ask Claude to explain each section. | |
| 11:30am | Read: HTML structure of what Claude built | MDN HTML structure | Open index.html. Identify: header, main, section, footer. Write in journal. | |
| 12:00pm | Deploy to Vercel — connect GitHub repo | Vercel Quickstart | Import repo → auto-deploy → get vercel URL → confirm it loads | |
| 1:00pm | Connect studyvisahub.com.au domain via Cloudflare | Vercel custom domain docs | Add domain in Vercel → update DNS in Cloudflare → wait for propagation | |
| 2:30pm | Add GA4 tracking to site | GA4 setup guide | Create GA4 property → get tracking code → Claude adds it to index.html → commit | |
| 3:30pm | freeCodeCamp: HTML exercises 11–20 | ▶ freeCodeCamp | Focus on: links, images, forms — all used in SVH | |
| 5:00pm | Run pre-deploy skill on index.html | SVH tab → Pre-Deploy Check | “Run pre-deploy check on index.html” — action every warning before pushing | |
| 6:00pm | Journal: what did studyvisahub.com.au look like on Day 2? | Obsidian journal | Screenshot + notes in 01-JOURNAL.md. Run end-of-session memory prompt. |
studyvisahub.com.au loads your home page → GA4 confirmed tracking → first real commit with message formula → pre-deploy check passed
Day 3 — Supabase + Newsletter + Visa Info Pages
Supabase tables created with RLS. Newsletter signup working. 3 Visa Information pages built. First real data saved to database.
| ⏱ | ☐ | Task | Theory / Resource | Practical |
|---|---|---|---|---|
| 9:00am | Watch: Intro to Subagents — all lessons | ▶ Subagents (~1hr) | Set up your Tester sub-agent in a separate Claude chat window | |
| 10:00am | Read: Supabase RLS guide | Supabase RLS docs + ▶ video | Read the guide. Write in journal: what RLS does in 2 sentences. | |
| 10:45am | Create Supabase tables: newsletter_subscribers, page_views | SVH Newsletter tutorial in SVH tab | Create tables in Supabase dashboard. Enable RLS on both. Write your first policy. | |
| 12:00pm | Build: newsletter signup form → saves to Supabase | SVH Newsletter tutorial + Claude | Form on home page → JS fetch → Supabase insert → test it saves → check Supabase table | |
| 1:30pm | Build: 3 Visa Information pages (Student Visa 500, GTE, Evidence Levels) | SVH Website tab → Visa Information Hub | Claude writes the pages using DHA data. Review each for accuracy before committing. | |
| 3:30pm | freeCodeCamp: CSS basics — exercises 1–15 | ▶ freeCodeCamp CSS | Focus on: colours, spacing, flexbox — these are in every SVH page | |
| 5:00pm | Run Tester sub-agent on all new code | Prompts tab → Tester sub-agent prompt | Paste newsletter form JS into Tester. Action every CRITICAL finding. | |
| 6:00pm | Commit + journal | — | “add newsletter signup + 3 visa pages — tested working” → end-of-session memory prompt |
Day 4 — DHA Alert System (Your First Automation)
This is the day you build your first real n8n workflow. The DHA alert system is the most valuable feature on SVH. It also teaches you 70% of what you need to know about automation in one build.
| ⏱ | ☐ | Task | Theory / Resource | Practical |
|---|---|---|---|---|
| 9:00am | Watch: n8n beginner tutorial | ▶ n8n beginner (YouTube) + n8n Fundamentals | Sign up for n8n cloud free. Complete the guided tutorial workflow. | |
| 10:00am | Read: Webhooks explained | ▶ Webhooks in 10 min | Write in journal: what a webhook does in your own words. One SVH example. | |
| 10:30am | Build: DHA alert n8n workflow | SVH tab → Alerts tutorial → build prompt | Use the “Build this workflow with Claude” prompt. Build in n8n. Test with a manual trigger. | |
| 1:00pm | Add Supabase table: alerts, page_snapshots | SVH Alerts tutorial schema | Create tables. Enable RLS. Test that n8n can write to alerts table. | |
| 2:30pm | freeCodeCamp: JavaScript modules 1–2 | ▶ freeCodeCamp JS | Variables, functions, arrays. These are in every API call Claude writes. | |
| 4:00pm | Build: Alerts page on SVH website | SVH Alerts tutorial | Page that shows the latest DHA alerts from Supabase alerts table. Claude builds it. | |
| 6:00pm | Test: trigger workflow manually, confirm email received | — | Run workflow manually. Check your email. Check Supabase for the alert record. |
Day 5 — Directories (Agent + Provider)
Agent directory and Provider directory live with CRICOS data pre-loaded. Search and filter working. Agent profile pages accessible. First listing submission form live.
| ⏱ | ☐ | Task | Theory / Resource | Practical |
|---|---|---|---|---|
| 9:00am | Watch: Claude Code in Action — Setup + Context lessons | ▶ Claude Code in Action | Practice: use /compact and /memory add 3 facts about SVH | |
| 10:00am | Download CRICOS data + import to Supabase | CRICOS website + SVH Provider Directory tutorial | Download CSV. Import to Supabase providers table. Verify 100 rows loaded. | |
| 11:30am | Build: Agent directory page | SVH tab → Agent Directory prompt | Use the build prompt. Test search. Test filters. Check mobile view (F12 → device toolbar) | |
| 1:30pm | Build: Provider directory page | SVH tab → Provider Directory | Uses CRICOS data from Supabase. Search by name, state, sector. | |
| 3:00pm | freeCodeCamp: JavaScript modules 3–4 | ▶ freeCodeCamp JS | Objects and basic data structures — this is how Supabase data is structured | |
| 5:00pm | Pre-deploy check + commit both directory pages | Pre-deploy skill | Run check. Action warnings. Commit: “add agent + provider directories — CRICOS data loaded” |
Day 6 — Course Finder + Scholarship Finder + Student Tools
Course finder live with CRICOS course data. Scholarship finder with first 20 scholarships. Visa Probability checker and PR Points Calculator built and working.
| ⏱ | ☐ | Task | Theory / Resource | Practical |
|---|---|---|---|---|
| 9:00am | Watch: Claude Code in Action — MCP servers lesson | ▶ Claude Code in Action | Install Supabase MCP in Antigravity: claude mcp add supabase | |
| 10:00am | Build: Course Finder | SVH tab → Course Finder prompt | Import sample CRICOS courses to Supabase. Build the search + filter page. | |
| 12:00pm | Build: Scholarship Finder (manual data first) | SVH tab → Scholarship Finder | Create scholarships table. Add 20 manually. Build the page. Automation comes later. | |
| 1:30pm | Build: Visa Probability Checker | SVH tab → Student Tools → Visa Probability prompt | Build the form. Connect to Supabase visa_grants table. Test with 3 different student profiles. | |
| 3:30pm | Build: PR Points Calculator | SVH tab → Student Tools → PR calculator | Interactive calculator. All point categories. Show recommended visa pathway (189/190/491). | |
| 5:00pm | Cloudflare Worker: Claude API proxy | Cloudflare Workers Quickstart | Deploy Worker. Verify Claude API key is NOT visible in browser DevTools network tab. |
Day 7 — Data Dashboard + Student Registry
Data dashboard live with real DHA data. Student registry form live. Basic lead matching working. This is the day SVH starts looking like a real product.
| ⏱ | ☐ | Task | Theory / Resource | Practical |
|---|---|---|---|---|
| 9:00am | Download DHA CSV data + import to Supabase | data.gov.au student visas | Download latest grant rates CSV. Import to visa_grants table. Verify rows load. | |
| 10:00am | Build: Data Intelligence Dashboard | SVH tab → Data Dashboard prompt | 4 KPI cards + line chart + bar chart. Data from Supabase. Chart.js for visualisation. | |
| 12:00pm | Add: AI Insight button to dashboard | SVH Dashboard tutorial → AI Insight module | Button → Cloudflare Worker → Claude API → returns plain English analysis of selected data | |
| 1:30pm | Build: Student Registry form | SVH tab → Student Registry prompt | Registration form. Saves to Supabase students table. Welcome email via Resend. | |
| 3:30pm | Semrush Academy: SEO Fundamentals (first 2 modules) | ▶ Semrush Academy | Focus on: keyword intent + on-page SEO. These apply to every SVH page. | |
| 5:00pm | Add SEO meta tags to all pages built so far | SVH Website tutorial → SEO section | Claude adds meta title, description, og tags to every page. Verify in browser <head>. |
Day 8 — Blog + Social Automation + Document Checklist
AI blog system with first 5 posts published. Social automation n8n workflow live. Document checklist tool complete. SVH is now a full content platform.
| ⏱ | ☐ | Task | Theory / Resource | Practical |
|---|---|---|---|---|
| 9:00am | Build: Blog page with Supabase CMS | SVH tab → AI Blog tutorial | Create posts table in Supabase. Blog list page. Individual post pages. Claude builds all 3. | |
| 10:30am | Generate + publish 5 SEO blog posts with Claude | Digital Marketing tab → Content → blog post prompt | Use the SEO blog post prompt 5 times. Topics: Student Visa 500 guide, PR pathway, evidence levels, VET vs HE, top source countries. | |
| 1:00pm | Build: Social automation n8n workflow | SVH tab → Social Automation + n8n template | Import template. Configure for SVH topics. Connect to Buffer. Test with one manual trigger. | |
| 3:00pm | Build: Document Checklist tool | SVH tab → Doc Checklist prompt | Interactive checklist. Country dropdown. Saves progress in localStorage. Print/email option. | |
| 5:00pm | Security review: run Security Reviewer sub-agent | Prompts tab → Security Reviewer prompt | Paste all new files into the security reviewer. Action every Critical and High finding. |
Day 9 — Payment Layer + Strategy Reports + Full Test
Stripe checkout live for Agent newsletter tier. First strategy report template ready. Complete end-to-end test of every page. Pre-launch checklist completed.
| ⏱ | ☐ | Task | Theory / Resource | Practical |
|---|---|---|---|---|
| 9:00am | Watch: Stripe Checkout + Webhooks | ▶ Stripe webhooks video + Stripe Quickstart | Run through quickstart in test mode. Process a $1 test payment. Verify webhook fires. | |
| 10:00am | Add Stripe checkout for Agent Intelligence Brief ($49/mo) | SVH Monetisation tab + Stripe docs | Checkout button → Stripe → on success webhook → update subscribers table tier to ‘agent’ | |
| 12:00pm | Build: Strategy Report template + first report | SVH tab → Strategy Reports → generate report prompt | Claude generates first Agent Market Intelligence Report from DHA data. Save as PDF. Add to site. | |
| 2:00pm | Full end-to-end test — every page, every form | Phase 7 → Pre-deploy checklist | Click every link. Submit every form. Check every console error. Test on mobile. Document bugs. | |
| 4:00pm | Fix all bugs found in testing | Prompts tab → Fix a bug prompt | Paste each bug to Claude with exact console error. Fix. Re-test. Commit each fix separately. | |
| 5:30pm | Final pre-deploy check on ALL files | Pre-deploy skill | “Run pre-deploy check on all changed files” — zero CRITICAL findings required before Day 10 |
Day 10 🚀 — Launch Day
StudyVisaHub.com.au goes live today. This is not a soft launch — you are announcing it. Every page works. The DHA alert system is running. The newsletter is live. You have a real product.
| ⏱ | ☐ | Task | Detail |
|---|---|---|---|
| 8:00am | Final security scan — all production files | Zero API keys in code. Zero console errors. RLS on all Supabase tables. .env not committed. | |
| 9:00am | Final mobile test on real phone | Open studyvisahub.com.au on your actual phone. Click every page. Test every form. | |
| 10:00am | Deploy to production — final Vercel push | git push → Vercel auto-deploys → confirm studyvisahub.com.au loads the final version | |
| 10:30am | Set up all n8n workflows on live URLs | Update n8n workflows to use production URLs not localhost. Test each one triggers correctly. | |
| 11:30am | Announce on LinkedIn | Use the Digital Marketing → Proposals tab → Campaign results prompt to write the announcement post. Include: what it does, who it’s for, link, screenshot. | |
| 12:00pm | Email your agent network | Use the Digital Marketing → Email → newsletter prompt. Subject: “Free DHA alerts just launched — studyvisahub.com.au” | |
| 2:00pm | Social posts scheduled in Buffer | LinkedIn + Facebook + Instagram announcing launch. Use the 30-day content calendar prompt to plan next 30 days. | |
| 4:00pm | Update your job title on LinkedIn | AI Solutions Architect & Automation Specialist. Add SVH to your profile as a project. | |
| 5:00pm | Final sprint journal entry | Write in Obsidian: what you built, what you learned, what surprised you, what’s next. This is your case study. |
In 10 days you went from no website to a live intelligence platform with automated DHA alerts, a data dashboard, course finder, scholarship finder, student registry, agent directory, and a paying subscription product. That is the proof of the title: AI Solutions Architect & Automation Specialist.
Obsidian + Google Drive + Antigravity Setup
Obsidian is your brain. Google Drive is your backup. Antigravity reads your project files. This setup means your learnings, notes, and code are all in one connected system.
Step-by-Step Setup
| Step | Action | How |
|---|---|---|
| 1 | Install Obsidian | obsidian.md/download — free desktop app |
| 2 | Create vault in Google Drive folder | In Obsidian: New Vault → choose a folder inside your Google Drive → name it “AI-Builder” |
| 3 | Create sprint folder structure | New folder in vault: StudyVisaHub-Sprint → create the 7 files listed below |
| 4 | Set Google Drive to sync this folder | Google Drive desktop app should already sync the vault folder automatically to cloud |
| 5 | Link your local code folder | In Obsidian: create note 00-PROJECT-OVERVIEW.md → paste your CLAUDE.md content here |
| 6 | Antigravity: set working directory | In Antigravity: navigate to ~/projects/study-visa-hub — this is your code root. Obsidian notes are at ~/Google Drive/AI-Builder/StudyVisaHub-Sprint/ |
The 7 Files to Create in Obsidian
📄 00-PROJECT-OVERVIEW.md
Purpose: Your CLAUDE.md copy + project goals + tech stack
Update: whenever CLAUDE.md changes
📄 01-DAILY-JOURNAL.md
Purpose: One entry per day — what you did, what you learned, what was hard
Format: ## Day [N] – [Date] / Done: / Learned: / Stuck on: / Tomorrow:
📄 02-LEARNINGS.md
Purpose: Paste end-of-session memory capture outputs here
This becomes your memory.md — reusable knowledge for all future projects
📄 03-PROMPTS-THAT-WORKED.md
Purpose: Every prompt that got excellent output — save it with context
Format: ### [Task type] – [Date] / Prompt: / Why it worked:
📄 04-BUGS-AND-FIXES.md
Purpose: Every bug you hit + how you fixed it
Format: ### Bug: [description] / Error: [exact text] / Fix: [what solved it]
📄 05-DECISIONS.md
Purpose: Why you made key technical or product decisions
Format: ### Decision: [what] / Why: / Alternatives rejected: / Outcome:
📄 06-WINS.md
Purpose: Every milestone hit. Things that surprised you positively.
Read this when you feel like you’re not making progress.
Daily Obsidian Routine
| When | File | What to write | Time |
|---|---|---|---|
| Morning (before Claude session) | 01-DAILY-JOURNAL.md | Today’s target from sprint tab. Yesterday’s unfinished items. | 5 mins |
| After each major build | 04-BUGS-AND-FIXES.md | Any error you hit + how you fixed it | 5 mins |
| When Claude produces a great prompt | 03-PROMPTS-THAT-WORKED.md | Paste the prompt + what it produced | 2 mins |
| End of day (Claude memory capture) | 02-LEARNINGS.md + 01-JOURNAL.md | Paste Claude’s end-of-session output. Add your own thoughts. | 10 mins |
Deploy This Playbook to Mediamantra Website
You want this AI Builder Playbook HTML file hosted as additional pages on your mediamantra website — so you and your son can access it live, check things off, and take notes from any device. Here are three options depending on your mediamantra setup.
Option 1 — WordPress (if mediamantra.com.au runs WordPress)
| Step | Action | Detail |
|---|---|---|
| 1 | Upload the HTML file to your media library or server | WordPress Dashboard → Media → Add New → Upload AI_Builder_Playbook_v8.html |
| 2 | Create a new WordPress page | Pages → Add New → title: “AI Builder Playbook” → set template to “Full Width” or blank |
| 3 | Embed the HTML file using an iframe or HTML block | In the page editor, add an HTML block → paste: <iframe src=”/wp-content/uploads/AI_Builder_Playbook_v8.html” style=”width:100%;height:100vh;border:none”></iframe> |
| 4 | OR upload to Elementor/Divi as a custom template | If using a page builder: add a Code/HTML widget → paste the full HTML content directly |
| 5 | Set page to Password Protected | In Page Settings → Visibility → Password Protected → set a password for you + son only |
| 6 | Test on mobile | Open the URL on phone. The playbook should be fully functional — tabs work, checkboxes save. |
Option 2 — GitHub Pages (Recommended — simplest)
1. Create new GitHub repo: mediamantra-playbook (public)
2. Upload AI_Builder_Playbook_v8.html as index.html
3. Settings → Pages → main → /root → Save
4. URL: [yourname].github.io/mediamantra-playbook
# Share that URL with your son
# Update by committing a new version of the HTML file
# All checkboxes + notes save to browser localStorage on each device separately
Option 3 — Vercel (if you want it on a custom subdomain)
1. Create GitHub repo with the HTML file as index.html
2. Connect to Vercel → auto-deploys on every push
3. In Vercel: Settings → Domains → add: playbook.mediamantra.com.au
4. In Cloudflare (if DNS there): add CNAME record:
Name: playbook
Target: cname.vercel-dns.com
5. Wait for DNS propagation (5-30 mins)
6. Test: playbook.mediamantra.com.au loads the full playbook
Recommended: Use Option 2 Today, Option 3 Later
GitHub Pages takes 3 minutes. Do that now to get it live. When you’re comfortable with Vercel (after SVH is deployed), move it to a proper subdomain like playbook.mediamantra.com.au or learning.mediamantra.com.au
How to Update the Playbook After Changes
1. Download the new HTML file from Claude artifacts
2. Go to your GitHub repo (mediamantra-playbook)
3. Click index.html → Edit (pencil) → paste new content → commit
4. GitHub Pages auto-rebuilds → live within 2 minutes
5. Refresh your bookmarked URL → all changes appear
Course Gaps — All Identified and Fixed in This Version
Before this final build, the course had 12 identifiable gaps. All of them are now addressed in this tab or updated sections elsewhere in the playbook.
| Gap identified | Where it’s fixed | What was added |
|---|---|---|
| No Obsidian workflow guidance | Sprint → Obsidian Setup tab | Complete vault structure, 7 files, daily routine, Google Drive sync path |
| No daily rhythm — when to study vs build | Sprint → Daily Rhythm tab | Hour-by-hour daily schedule, theory/practical ratio, energy management |
| No “what to do when stuck” protocol | Sprint → When Stuck tab | 6-step unstuck protocol, escalation path, when to skip and move on |
| No local file → Claude Code handoff procedure | Sprint → Obsidian Setup | Exact folder paths, how Antigravity reads local files, mirroring setup |
| No mediamantra deployment guide | Sprint → Deploy to Mediamantra tab | 3 options: WordPress, GitHub Pages, Vercel subdomain — with step-by-step |
| No daily standup prompt | Sprint → Day 0 Setup | Daily opening prompt for Claude — paste every morning |
| No rapid learning protocol | Sprint → Day 0 Setup | 20-minute concept learning prompt — learn anything fast |
| No persistent journal in playbook | Journal & Notes tab (new) | Full note-taker with tags, search, export — saves to localStorage |
| No daily checklist with today’s focus | Daily Checklist tab (new) | Today’s tasks auto-populated from sprint, with quick-add and reset |
| n8n covered in theory only — no build walkthrough | Sprint Days 4 + 8 | Step-by-step DHA alert build on Day 4, social automation on Day 8 |
| Stripe mentioned but not taught | Sprint Day 9 + Technical Skills tab | Dedicated lesson slot + resource links + practical build on Day 9 |
| No monetisation activation plan | Sprint Day 10 | Launch day includes: LinkedIn post, agent email blast, social calendar |
Daily Rhythm — How to Work Efficiently
Every day is 30% theory (watching/reading) and 70% building. You learn by doing — not by watching. Every theory session must be immediately followed by applying it to SVH.
Ideal Daily Schedule
| Time | Activity | Duration | Notes |
|---|---|---|---|
| 8:30am | Morning standup — open Claude with daily standup prompt | 10 mins | Set today’s ONE priority. No more than 3 tasks total. |
| 9:00am | Theory block — watch course / read docs | 60 mins | Take notes in Obsidian as you watch. Pause and write after each section. |
| 10:00am | Build block 1 — apply what you just learned | 90 mins | One task. One chat. Paste full context. Don’t switch tasks mid-session. |
| 11:30am | Break — step away from screen | 15 mins | Walk. Your brain consolidates what it learned. |
| 11:45am | Build block 2 — second task | 90 mins | New chat for new task. Paste daily standup context again. |
| 1:15pm | Lunch break | 45 mins | Don’t work through lunch. You need the reset. |
| 2:00pm | Build block 3 — third task or fix bugs from morning | 90 mins | If you’re debugging: paste the EXACT error text to Claude first. |
| 3:30pm | Theory block 2 — freeCodeCamp / docs reading | 45 mins | Technical reading. Not videos. Exercises if freeCodeCamp. |
| 4:15pm | Testing + pre-deploy checks | 45 mins | Test everything you built today. Run pre-deploy skill. Fix what fails. |
| 5:00pm | Commit + end-of-session memory capture | 30 mins | Commit with proper message. Run memory prompt. Update Obsidian journal. |
Efficiency Rules
| Rule | Why |
|---|---|
| One task per Claude session | Multi-task sessions produce worse output and waste context |
| Never describe an error — paste the exact text | Claude can only debug what it can read. Descriptions are always incomplete. |
| Commit before making any change | 30 seconds of commit time saves hours of recovery time |
| If stuck for more than 20 minutes — use the “When Stuck” protocol | 20 minutes is the limit. After that you’re burning time, not learning. |
| Read theory in the morning when your brain is fresh | Building in the afternoon is fine with lower cognitive energy. Learning is not. |
| End every day with the memory capture prompt | What is not written is forgotten by morning. This is non-negotiable. |
When Stuck — The 6-Step Protocol
If you have been stuck on the same problem for more than 20 minutes, something has gone wrong with the process — not the code. Follow these steps in order.
| Step | Action | Time limit |
|---|---|---|
| 1 | Open F12 → Console. Read the red text. Copy it exactly. | 2 mins |
| 2 | Open a NEW Claude chat. Paste: “Error: [exact text]. File: [paste full file]. What is causing this and what is the fix?” | 5 mins |
| 3 | If Claude’s fix doesn’t work: git checkout [last working commit] — [filename]. Go back to working state. | 5 mins |
| 4 | If you can’t identify the last working commit: git log –oneline -10. Find the last “tested working” message. | 3 mins |
| 5 | Start the feature again from scratch in a new Claude chat. Paste the working file + one specific task only. | — |
| 6 | If still stuck after step 5: log it in Obsidian 04-BUGS-AND-FIXES.md. Mark the task as deferred. Move to the next sprint item. Come back to it tomorrow. | — |
Common Sticking Points and Their Fixes
| Symptom | Likely cause | Fix |
|---|---|---|
| “The page is blank” | JavaScript error crashing the page before it renders | F12 → Console → read the red error → paste to Claude |
| “The form submits but nothing saves to Supabase” | RLS blocking the insert, or wrong table name | Supabase dashboard → Table Editor → check if row appeared. If not: check RLS policy allows insert for anon role. |
| “Vercel deploys but the site shows old content” | Browser cache | Ctrl+Shift+R (hard refresh). Or open in incognito. |
| “Claude keeps giving me the same wrong answer” | Context is stale or too long | Run /compact. Or start a new chat with the daily standup prompt. |
| “n8n workflow runs but nothing happens” | A node errored silently | In n8n: click each node after a run. Red nodes failed. Click the red node to see the error. |
| “I don’t understand what Claude built” | You haven’t asked it to explain | In the same chat: “Explain what you just built in plain English, section by section. I am a non-developer.” |
What I was trying to do: [one sentence]
What I expected to happen: [one sentence]
What actually happened: [one sentence]
Console error (exact text): [paste it or write “none”]
Last thing that worked: [describe the last working state]
I am a non-developer. Diagnose this in plain English.
Tell me: (1) what is causing this, (2) the exact fix, (3) how to avoid this next time.
If the fix requires changing the code, show me the complete updated file.
Today’s Notes
Your Learning Log
Notes tagged “Learning” appear here. Use this as your memory.md equivalent — paste end-of-session captures here.
Bugs & Fixes Log
Every bug you hit + how you fixed it. This becomes your troubleshooting reference for future projects.
Saved Prompts
Prompts you tagged as worth saving. Your personal prompt library that grows with every project.
Wins 🏆
Read this when you feel like you’re not making progress. Every milestone, breakthrough, and moment of “I actually got it.”
Today’s Sprint Tasks
These come from your sprint plan. Click to add to your daily checklist.