Agent skill

Run SEO Office

by AgriciDaniel in AgriciDaniel/seo-os

A skill your agent uses when asked to run, boot, start, dev-serve, smoke-test, or drive the SEO Office app, or to confirm a change works end-to-end in the real running app (UI → orchestrator → brain…

AGPL-3.0Auto-check passedTesting & QA

Install Run SEO Office

skills CLI
$ npx skills add AgriciDaniel/seo-os --skill run-seo-office -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install AgriciDaniel/seo-os run-seo-office --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/AgriciDaniel/seo-os.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/run-seo-office .claude/skills/run-seo-office && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
run-seo-office
GitHub stars
137
Token cost
~1.1k tokens
SKILL.md length
321 words
Files
1
Skills in repo
3
Repo updated
First seen
Licence
AGPL-3.0

At a glance

A skill your agent uses when asked to run, boot, start, dev-serve, smoke-test, or drive the SEO Office app, or to confirm a change works end-to-end in the real running app (UI → orchestrator → brain…

  • Drive the SEO Office app
  • SKILL.md covers Launch, The same-origin write rule, End-to-end smoke flow (verified) and Verify the UI layer, plus 1 more section
  • Calls curl, python3 and gcloud; needs ANTHROPIC_API_KEY
  • Confirm a change works end-to-end in the real running app (UI → orchestrator → brain → specialist)

What it does

Run SEO Office is an agent skill from AgriciDaniel/seo-os. Use when asked to run, boot, start, dev-serve, smoke-test, or drive the SEO Office app, or to confirm a change works end-to-end in the real running app (UI → orchestrator → brain → specialist). Covers launching the Next.js dev server and exercising the client/job/SSE API.

Its SKILL.md is about 1.1k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Testing & QA, covering QA and bug reports and End-to-end testing. It works with Next.js and pnpm. The repository describes itself as: SEO Office is a local-first SEO agency operating system. claw3d UI + claude-seo specialists + marketing-brain. Distributed as a private repo to a non-technical community. The licence is AGPL-3.0.

When your agent uses it

  • Drive the SEO Office app
  • Confirm a change works end-to-end in the real running app (UI → orchestrator → brain → specialist)

Example prompts

  • “/run-seo-office”

Requirements

  • Python 3
  • A credential in ANTHROPIC_API_KEY

What it can do on your machine

Read from SKILL.md and the folder at commit f2ba248. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • curl
    • python3
    • gcloud
    • pnpm

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use curl, gcloud and pnpm, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • ANTHROPIC_API_KEY

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Run SEO Office loads about 1.1k tokens when it runs. Until then it costs about 72 tokens; SKILL.md has 321 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~72
When it runs · the whole SKILL.md, loaded when a task matches
~1.1k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from AgriciDaniel/seo-os at commit f2ba248, republished under its AGPL-3.0 licence (© AgriciDaniel). 321 words, ~1,102 tokens.

Download SKILL.mdSave it as .claude/skills/run-seo-office/SKILL.md (or your agent's skills folder).
name
run-seo-office
description
Use when asked to run, boot, start, dev-serve, smoke-test, or drive the SEO Office app, or to confirm a change works end-to-end in the real running app (UI → orchestrator → brain → specialist). Covers launching the Next.js dev server and exercising the client/job/SSE API.

Run SEO Office

Boot the local Next.js 16 app and drive a real client → specialist → artifact flow. This recipe was verified live; follow it verbatim before improvising.

Launch

pnpm is not on the non-interactive PATH — pnpm/next/tsc resolve only through corepack, which ships next to the nvm-managed node. Prefix every command:

bash
export PATH="$(ls -d ~/.nvm/versions/node/*/bin | tail -1):$PATH"
cd "/home/agricidaniel/Desktop/SEO Office"
corepack pnpm exec next dev --turbopack -p 3100   # 3000 is often a stale instance

Server reports ✓ Ready in ~160ms, but the first request to any route compiles it (use a generous curl timeout). Confirm it serves and the registry loaded:

bash
curl -s http://localhost:3100/api/specialists | head -c 200   # → 31 specialists
  • LLM provider is SEO_OFFICE_LLM_PROVIDER=claude-cli → the claude CLI must be on PATH. No ANTHROPIC_API_KEY is needed.
  • gcloud application-default creds expire → google-analytics/google-search-console specialists fail with invalid_grant. Fix: gcloud auth application-default login.

The same-origin write rule

POST/DELETE routes call sameOriginWriteAllowed. If the Origin header is absent the request passes (server-to-server) — so plain curl works. A browser passes when same-origin. A forged cross-origin Origin gets 403. Don't send an Origin header from curl.

End-to-end smoke flow (verified)

Specialists take an empty payload and read the target from the client manifest. Use a clearly-named throwaway slug — .seo-office/vaults/ holds REAL user vaults.

bash
SLUG=e2e-smoke-example
# 1. scaffold (~97 files written)
curl -s -X POST localhost:3100/api/clients -H 'Content-Type: application/json' \
  -d '{"siteUrl":"https://example.com","clientName":"E2E Smoke Example","owner":"e2e-smoke"}'

# 2. enqueue — vault-linter is deterministic (~67ms, no network/LLM/cost)
JOB=$(curl -s -X POST localhost:3100/api/clients/$SLUG/jobs \
  -H 'Content-Type: application/json' -d '{"specialist":"vault-linter"}' \
  | python3 -c 'import sys,json;print(json.load(sys.stdin)["job"]["id"])')

# 3. stream SSE — the ?slug= param is REQUIRED (else "slug query param is required")
curl -sN "localhost:3100/api/jobs/$JOB/events?slug=$SLUG"   # log → progress → done

# 4. read the artifact off disk
cat ".seo-office/vaults/$SLUG/wiki/deliverables/"*vault-lint.md

# 5. delete — ?confirm=1 REQUIRED; backs up to .seo-office/backups/ then cascades
curl -s -X DELETE "localhost:3100/api/clients/$SLUG?confirm=1"
rm -rf ".seo-office/backups/clients/$SLUG-"*   # throwaway backup, optional

For a real deliverable (fetch + LLM), use technical-auditor instead of vault-linter at step 2. Expect 130s and real cost ($0.61 on Opus 4.7 via the claude CLI). It writes wiki/audits/<date>-technical.md + .data.json + an HTML report under reports/, and the orchestrator review layer writes wiki/reviews/.

Verify the UI layer

bash
# headless Chromium usually can't init WebGL, so the 3D canvas stays "Loading the
# 3D workspace" — that's an environment limit, not a bug. The shell, nav, vault
# panel, task feed, and status bar still render against live brain/orchestrator
# state. Capture the accessibility snapshot (browser_snapshot) over a screenshot.

Common mistakes

MistakeFix
pnpm: command not found (exit 127)Prefix with corepack after adding nvm bin to PATH.
Wrapping pnpm x; echo EXIT=$? and trusting the harness exit codeThe wrapper exits with the echo's code, masking failure. Read the EXIT= line inside the log.
SSE returns {"ok":false,"error":"slug query param is required"}Add ?slug=<slug> to /api/jobs/<id>/events.
DELETE returns 400 "destructive"Add ?confirm=1.
Deleting a vault directly off diskUse DELETE /api/clients/<slug>?confirm=1 so the SQLite index cascades and a backup is made. Never touch real vaults.
Port 3000 hangs (HTTP 000)A stale next-server is squatting it. Launch on a different port.

© AgriciDaniel, AGPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .claude/skills/run-seo-office of AgriciDaniel/seo-os.

Open the folder on GitHubat commit f2ba248

Compare with similar skills

Run SEO Office next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Run SEO Office compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Run SEO Office this skillAgriciDaniel/seo-os137—~1.1kAutomated safety check: PassAGPL-3.0
Senior QAnicepkg/auto-company1953 repos~1.1kAutomated safety check: NotesNone
Cherry Studio PR TesterCherryHQ/cherry-studio53k—~1.2kAutomated safety check: PassAGPL-3.0
Deploy Release Testvercel/next.js143k—~1.2kAutomated safety check: PassMIT
DeerFlow Smoke Testbytedance/deer-flow84k—~2.5kAutomated safety check: NotesMIT
CodexBar Live QAsteipete/CodexBar22k—~1.2kAutomated safety check: PassMIT

Similar skills

  • Senior QA

    nicepkg/auto-company

    Comprehensive QA and testing skill for quality assurance, test automation, and testing strategies for ReactJS, NextJS, NodeJS applications.

    195 GitHub starsUsed in 3 repos~1.1k tokens
    Testing & QAAuto-check: notes
  • Cherry Studio PR Tester

    CherryHQ/cherry-studio

    Tests a Cherry Studio pull request by checking it out, inspecting changes, driving the UI in an owned Electron instance and reporting, then restoring the branch.

    53k GitHub stars~1.2k tokensUpdated today
    Testing & QAAuto-check passed
  • Deploy Release Test

    vercel/next.js

    Official

    Validate a commit-specific Next.js preview package and manually trigger the entire Next.js deployment test suite through the teste2edeployrelease.yml GitHub Actions workflow.

    143k GitHub stars~1.2k tokensUpdated today
    DevOps & CloudAuto-check passed
  • DeerFlow Smoke Test

    bytedance/deer-flow

    Walks through an end-to-end smoke test of a DeerFlow deployment: pull the latest code, deploy with Docker or locally, verify services, run health checks and write a report.

    84k GitHub stars~2.5k tokensUpdated today
    Testing & QAAuto-check: notes
  • CodexBar Live QA

    steipete/CodexBar

    Runs live QA for the CodexBar app: provider usage matrix checks through its packaged CLI, config validation and menu checks, with 1Password-backed credentials handled safely.

    22k GitHub stars~1.2k tokensUpdated today
    Testing & QAAuto-check passed
  • Verifies a delivery end to end by driving the real product on a CLI, web, desktop or iOS Simulator surface, capturing evidence and publishing a round with the lh CLI.

    83k GitHub stars~9.7k tokensUpdated today
    Testing & QAAuto-check passed

More from AgriciDaniel/seo-os

  • SEO

    AgriciDaniel/seo-os

    Comprehensive SEO analysis for any website or business type.

    137 GitHub starsUsed in 2 repos~3.5k tokens
    Auto-check passed
  • Marketing Brain

    AgriciDaniel/seo-os

    Source-available SEO and content marketing strategy brain. An agent skill from AgriciDaniel/seo-os.

    137 GitHub stars~865 tokensUpdated 3 mo ago
    Auto-check passed

Works with

Categories

Questions about Run SEO Office

What does Run SEO Office do?

A skill your agent uses when asked to run, boot, start, dev-serve, smoke-test, or drive the SEO Office app, or to confirm a change works end-to-end in the real running app (UI → orchestrator → brain…. Run SEO Office is an agent skill from AgriciDaniel/seo-os. Use when asked to run, boot, start, dev-serve, smoke-test, or drive the SEO Office app, or to confirm a change works end-to-end in the real running app (UI → orchestrator → brain → specialist).

When should I use Run SEO Office?

Run SEO Office fits situations like: drive the SEO Office app; confirm a change works end-to-end in the real running app (UI → orchestrator → brain → specialist).

How do I install Run SEO Office in Claude Code?

Run `npx skills add AgriciDaniel/seo-os --skill run-seo-office -a claude-code`. Or copy the skill folder (.claude/skills/run-seo-office in AgriciDaniel/seo-os) into .claude/skills/run-seo-office in your project. Claude Code loads it when a task matches its description.

How do I install Run SEO Office in Codex?

Run `npx skills add AgriciDaniel/seo-os --skill run-seo-office -a codex`. Or copy the skill folder (.claude/skills/run-seo-office in AgriciDaniel/seo-os) into .agents/skills/run-seo-office in your project. Codex loads it when a task matches its description.

Can I use Run SEO Office in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add AgriciDaniel/seo-os --skill run-seo-office -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/run-seo-office, .gemini/skills/run-seo-office, .github/skills/run-seo-office and .opencode/skills/run-seo-office in your project.

What does Run SEO Office need to run?

Going by SKILL.md and its folder, Run SEO Office needs the command-line tools its instructions call (curl, python3, gcloud and pnpm) and credentials named ANTHROPIC_API_KEY. Our summary lists: Python 3; A credential in ANTHROPIC_API_KEY.

Does Run SEO Office access the network?

SKILL.md contains no URLs. Its commands use curl, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Run SEO Office safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Run SEO Office use?

Run SEO Office is published under the AGPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Run SEO Office use?

About 1.1k tokens (SKILL.md is roughly 4.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Run SEO Office?

Skills that share tags, products or a category with Run SEO Office: Senior QA (nicepkg/auto-company, 195 stars), Cherry Studio PR Tester (CherryHQ/cherry-studio, 53k stars), Deploy Release Test (vercel/next.js, 143k stars) and DeerFlow Smoke Test (bytedance/deer-flow, 84k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Run SEO Office?

AgriciDaniel (a GitHub user) maintains it in AgriciDaniel/seo-os, which has 137 GitHub stars. The repository holds 3 skills in this directory. The repository was last updated on June 29, 2026.

Source: AgriciDaniel/seo-os on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.