Skip to main content
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.

Before you start

A GitHub repository

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.

Step 1: Open the template and copy it

1

Open the share link

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.

Step 2: Connect GitHub

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.

Step 3: Connect DataForSEO

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.

Step 4: Write your site prompt

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:
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.

Step 5: Set up the scheduled run

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.
Leave it stopped for now. Test first.

Step 6: Test it with Run now

1

Press Run now

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.

Step 7: Check your email and the pull request

1

Open the email

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.

Step 8: Start the schedule

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.

When something goes wrong

A blocked run does not guess. It stops, records exactly what was missing, and opens nothing. Still stuck? Email support@okik.io with the name of the scheduled run and roughly when it ran, and we will look at it.

Making it better week by week

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.

Shared templates

How copying, renaming and updating templates works.

Connected apps

Connecting GitHub, DataForSEO and 250+ other apps.

Prompts

Facts about the work, attached to a run.