Copy a shared template, connect GitHub, attach your site prompt, and get a researched blog post as a draft pull request on a schedule you set.
By the end of this workbook you will have an agent that researches a keyword, writes a blog post in your voice, draws its own figures, opens a draft pull request on your repository, and emails you the link. It runs on a schedule you choose, and it never merges anything.It takes about twenty minutes, most of which is writing the description of your own site.
This template packages the SEO Agent Pack by Nicolas Lecocq, MIT licensed. The method is his. This workbook covers running it on Orca.
The repo your blog lives in, on an account you can authorize. Required. Without it the agent has nowhere to deliver and will stop rather than write something it cannot hand over.
A DataForSEO account
Where the real keyword data comes from: search volume, difficulty and cost per click. Pay as you go, and a small deposit lasts months. Set it up before you start, because the agent will not run without it.
You do not need to install anything, and nothing runs on your own machine.
Open the SEO helper template.You do not need an account to look. The page shows the full description and, further down, a What gets copied panel listing everything the template installs: one scheduled run, two agents, one pod, and one skill.
2
Press Copy template
If you are not signed in yet, Orca sends you to sign up or sign in first, and creates your workspace if this is your first visit. When that is done it brings you straight back to this same template page rather than dropping you on a dashboard.Press Copy template again once you are back. The first press only started the detour.
3
Review the copy plan
A plan appears listing every asset, its kind, and the name it will take in your workspace.On a new workspace nothing clashes and you can install as is. If a name is already in use, that row is flagged name taken and Orca proposes a free one ending in -copy. You can type your own name instead, or untick the row to skip it. Nothing you already own is ever overwritten.
4
Install
Press Copy selected assets.Open Agents and you will see seo-writer and seo-media. Open Skills and you will see seo-engine. They are yours now, and every one of them is editable.
The agent needs two connections before it will run: GitHub, so it has somewhere to deliver, and DataForSEO, so it picks keywords from real data. Start with GitHub.
1
Open the writer agent
Go to Agents and click seo-writer. It opens as a panel showing its capabilities, its skill, and its connected apps.Fresh from a copy it reads Needs setup, with a banner headed Finish setting up this agent. The banner is honest about the consequence: runs are refused until the required items are resolved, and nothing is charged for a refused run.
2
Press Connect on the GitHub row
The banner names each unresolved dependency and puts a Connect button beside it. That takes you to Connected apps with the right app already in focus.
3
Authorize the account that owns your blog repo
A GitHub consent screen opens. Authorize the account or organization that owns the repository you want posts delivered into.
4
Check it went active
Back in Orca the connection should read ACTIVE. If it reads INITIATED the popup did not finish; if it reads FAILED or EXPIRED, disconnect and try again.The agent’s Dependencies tab is the place to confirm. It lists everything the agent leans on outside its own prompt, healthy rows included, with a status against each.
The agent never goes looking for a repository. It only writes to the exact owner/name you give it in Step 4. Connecting GitHub grants access; naming the repo is what points the run at a target.
This is where the keyword numbers come from. The agent is not allowed to invent search volumes, so without this connection it has nothing to choose a topic with, and the run is refused before it starts.
1
Create a DataForSEO account
Sign up at dataforseo.com and top up a small amount. It is pay as you go and keyword lookups cost a fraction of a cent, so a few pounds goes a long way.
2
Connect it in Orca
Back on seo-writer, press Connect on the DataForSEO row of the setup banner, and enter the credentials from your DataForSEO dashboard.
3
Confirm the agent is ready
With both connections active, the agent’s status changes from Needs setup to Ready and the setup banner disappears.
This is the step that decides whether the drafts are any good, so it is worth ten unhurried minutes.The agent starts every run knowing nothing about you. That is deliberate: it is what lets the same pair of agents write for several different sites without the facts bleeding together. Everything it needs comes from a prompt you write once and attach to the run.
1
Open Prompts
Go to Prompts and create a new one. Name it after your site, for example example-com-site-prompt.
2
Fill in the three facts that only you know
Your domain, your repository as owner/name, and three to five subjects you want to be known for. Everything else has a sensible default or can be discovered inside your repo.If your blog is plain Markdown files in one folder, this is genuinely short:
Write and deliver one SEO post, following your seo-engine skill and itsrun protocol. Pick the keyword yourself from the lanes below unless Iname a topic.## Domain and repoDomain: example.com. Repo: acme/website, base branch main.Posts live at src/content/blog/, format md.Sitemap: https://example.com/sitemap.xml## What we sell, and who reads thisWe sell invoicing software to freelance designers.Readers are self-employed designers who bill by project.## Allowed lanes1. Getting paid on time: chasing, deposits, late fees2. Pricing creative work3. Bookkeeping for one-person studios## Forbidden lanesGeneric business advice, crypto, AI news.## VoicePractical and direct, first person plural, no hype. Contractions always.## DeliveryBranch seo/<slug>, PR titled [SEO draft] <title>, label seo-draft, base main.Draft PRs only. A human merges. Never push to main.
3
Add anything a glance at the folder would not reveal
If a post has to carry front-matter fields, update an index or registry file, put images in a particular place, or pass a build check, say so. Copy the field names from a real post. This is the difference between a draft you merge and a draft you rewrite.
4
Save it
You attach it to the scheduled run in the next step, and you can edit it any time afterwards. Edits are picked up on the very next run, with nothing to redeploy.
Orca calls these Prompts in the dashboard and contexts in the concept docs. They are the same object.
The template brought a scheduled run with it, and it arrives stopped so that nothing happens until you are ready.
1
Open Scheduled Runs
In the sidebar, under Automation, open Scheduled Runs and click the run that came with the template.
2
Attach your site prompt
On the Context tab, attach the prompt you wrote in Step 4. Without it the run stops at pre-flight and tells you exactly what was missing, rather than guessing at a repository.
3
Set a time you will actually read drafts
On the Schedule tab, pick the time of day and your timezone. Something early enough that the pull request is waiting when you start work.
4
Check the dependencies
The Dependencies tab lists everything this run leans on outside its prompt: its skill, its capabilities, and its connected apps. GitHub should be there and healthy before you go further.
Run now starts one run immediately and does not touch the schedule.
2
Watch it work
Open the run to follow it live. A full run takes a few minutes: it picks a keyword, reads the current top results, drafts the post, briefs the media agent for figures, then opens the pull request.
A healthy run emails you a link to the pull request it opened.
2
Read the pull request
On GitHub you should find a draft pull request labelled seo-draft on a branch named seo/<slug>, carrying the post, its images, and any index or sitemap updates in the same branch.
3
Decide
Read it. Merge it if you are happy, and merging is what publishes it. Nothing reaches your site until you do.
Once a test run has produced a pull request you are happy to have received, go back to the scheduled run and press Start. From then on it runs at the time you chose.
The first few drafts will need work, and that is normal rather than a sign the setup is broken.When a draft disappoints you, do not stop at fixing the draft. Edit the pull request by hand if you like, or hand it to another agent to tidy up, and then go back and change whatever let it through:
Something specific to your site, like voice, subjects, file conventions or length, belongs in your prompt.
Something about the method, like the keyword rules or the writing rules, belongs in the seo-engine skill, which is plain markdown you can open and edit.
Something about how an agent behaves overall belongs in the agent itself, including which model it runs on.
Every one of those is a text edit in Orca, and every fix holds for every run afterwards. Most of the effort lands in the first week. After that it settles into a short read each morning.