AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Geo Review Html

skill-viryazheng-recomby-geo-geo-review-html · by ViryaZheng

Render an interactive, self-contained HTML companion for a GEO content brief (04-content-brief) or a publish-ready draft (05-production), so a NON-technical client reviewer (founder, organizer staff, the domain expert filling slots) can fill REQUIRED-FILL slots, leave section-level comments, and approve/return work in the browser instead of editing Markdown. Use when a brief or draft needs to go…

No reviews yet
0 installs
33 views
0.0% view→install

Install

$ agentstack add skill-viryazheng-recomby-geo-geo-review-html

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-viryazheng-recomby-geo-geo-review-html)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
3mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Geo Review Html? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

geo-review-html — interactive client-review HTML

The Markdown briefs/drafts are right for the GEO operator; they are awkward for the client side. This skill renders a companion HTML alongside the Markdown so non-technical reviewers can work in the browser. Battle-tested in the SEA-CICSIC 9-draft batch (see issue #1).

Division of labour (do not blur this):

  • Interaction logic is fixedtemplates/review.html owns localStorage

auto-save, JSON export, the progress counter, comment toggles, and the approve/return state machine. It is correct as written; do not regenerate it per run.

  • Visual layer is the template's CSS — that is where the vendored

frontend-design skill applies. When a client wants a branded or more distinctive look, restyle the ` block of templates/review.html using frontend-design principles. --accent is already overridable per client via brand_context` (see below); deeper restyling edits the CSS.

  • render_html.py only parses Markdown + meta into a payload and injects it.

When to use

  • 04-content-brief Step 7 — emit briefs/.html (fill-form) next to the .md.
  • 04-content-brief Step 9 — ingest the reviewer's returned *.feedback.json.
  • 05-production Step 7 — emit drafts/.html (review form) next to the .md.
  • Whenever a client folder's briefs/index.html entry page needs (re)building.

Usage

SK=plugins/recomby-geo/skills/geo-review-html

# Flavor A — fill-form HTML for a brief with REQUIRED-FILL slots
python3 $SK/scripts/render_html.py --mode brief \
  --md   clients//briefs/.md \
  --meta clients//briefs/.meta.json \
  --brand clients//brand_context.json \
  --out  clients//briefs/.html

# Flavor B — review HTML for a publish-ready draft (section comments + approve)
python3 $SK/scripts/render_html.py --mode draft \
  --md   clients//drafts/.md \
  --meta clients//drafts/.meta.json \
  --brand clients//brand_context.json \
  --out  clients//drafts/.html

# Entry page — one card per brief/draft, live progress, status tags
python3 $SK/scripts/render_html.py --mode index \
  --client-dir clients/ \
  --brand clients//brand_context.json \
  --out  clients//briefs/index.html

Pure standard library — no install step. Output is a single self-contained .html (CSS + JS inlined) safe to email to a client; they double-click it.

How it maps the inputs

  • brief mode splits the brief Markdown on REQUIRED-FILL · ·

blockquote blocks. Each becomes a yellow textarea with a ` dropdown (what / why / bad example / good example). Everything else becomes a green "already-filled" prose block with its own 💬 comment toggle. The authoritative slot list is meta.json's slots[]`.

  • draft mode splits on ## headings so every section gets a comment

toggle; the prose is rendered read-only with an ✓ Approve as-is action.

  • index mode scans briefs/ and drafts/ for *.meta.json, reading

format, status, word_count, and slot fill counts. Live per-brief progress is read from each brief's localStorage when the page is opened.

  • --brand is optional. brand_name sets the client label; brand.primary_color

(or brand_color) overrides the --accent CSS variable for light branding.

Returned feedback contract

Each HTML exports a JSON file matching schemas/review_feedback.schema.json:

{
  "brief_id": "free-cash-prize",
  "filled_at": "2026-06-07T14:30:00Z",
  "filled_by": "Jane Doe",
  "answers": { "data-1": "...", "quote-1": "..." },
  "comments": { "overall": "...", "filled-headline-finding": "..." },
  "status": "reviewed-with-comments"
}

statusreviewed-with-comments | approved-as-is | partial-fill. The GEO operator feeds answers into the matching slots during 04-content-brief Step 9 (NEVER auto-filled by AI — the slots are the moat).

Hard rules

  1. Never auto-fill answers — the JSON carries the human's real input;

that is the whole point. AI assembles, humans supply.

  1. Keep the interaction JS fixed — restyle CSS freely (frontend-design),

but don't rewrite the localStorage/export/state-machine logic per run.

  1. Output stays self-contained — one file, no external CSS/JS, so a

non-technical reviewer can open it from an email attachment.

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.