本文へ移動
cccskills
無料GitHub で公開

geo-review-html

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 to a client/expert for review, or when building the briefs/index.html entry page for a client folder. The reviewer's input comes back as a JSON file that 04-content-brief Step 9 ingests. Visual quality is delegated to the frontend-design skill.

インストール方法を見る

含まれるファイル(3)

  • SKILL.md5.1 KB
  • scripts/render_html.py12.0 KB
  • templates/review.html17.3 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

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 fixed — templates/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 <style> 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/<id>.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/<id>.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/<slug>/briefs/<id>.md \
  --meta clients/<slug>/briefs/<id>.meta.json \
  --brand clients/<slug>/brand_context.json \
  --out  clients/<slug>/briefs/<id>.html

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

# Entry page — one card per brief/draft, live progress, status tags
python3 $SK/scripts/render_html.py --mode index \
  --client-dir clients/<slug> \
  --brand clients/<slug>/brand_context.json \
  --out  clients/<slug>/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 · <id> · <type> blockquote blocks. Each becomes a yellow textarea with a <details> 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"
}

status ∈ reviewed-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.
  2. Keep the interaction JS fixed — restyle CSS freely (frontend-design), but don't rewrite the localStorage/export/state-machine logic per run.
  3. Output stays self-contained — one file, no external CSS/JS, so a non-technical reviewer can open it from an email attachment.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Use when auditing content quality, E-E-A-T, publish readiness, or 内容质量/EEAT评分. Runs 80-item CORE-EEAT scoring with veto checks and fix plan.

日本語の概要は準備中です。原文の説明を表示しています。

ViryaZheng/recomby-geo4582026年7月4日 更新

Write SEO-optimized blog posts, landing pages, and long-form page copy following Google's E-E-A-T and Helpful Content guidelines. Handles new content creation from a keyword, topic, or brief, and full-page rewrites. Use when asked to "write a blog post", "create a landing page", "write content about X", "content for keyword X", "draft an article", "blog post about", "landing page for", "service page", "product page copy", "rewrite this page", "how-to guide", or "listicle". NOT for analyzing/auditing existing content (seo-geo-optimizer, content-quality-auditor), title tags or meta descriptions (meta-tags-optimizer), or keyword expansion (keyword-research) — those skills own their triggers.

日本語の概要は準備中です。原文の説明を表示しています。

ViryaZheng/recomby-geo4582026年7月4日 更新

Create distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, artifacts, posters, or applications (examples include websites, landing pages, dashboards, React components, HTML/CSS layouts, or when styling/beautifying any web UI). Generates creative, polished code and UI design that avoids generic AI aesthetics.

日本語の概要は準備中です。原文の説明を表示しています。

ViryaZheng/recomby-geo4582026年7月4日 更新

Entry point + orchestrator for the recomby-geo GEO (Generative Engine Optimization) workflow on OpenAI Codex CLI. Use when the user wants to run any stage of the GEO pipeline on a client folder — intake, visibility audit, content-gap analysis, content brief, draft production, distribution, or monthly re-audit — or asks to "run GEO", "audit AI search visibility", or "GEO this client". Codex has no bare slash commands, so this skill is how the 7 stages (that Claude Code runs as /01-intake … /07-reaudit) are driven on Codex. It routes to the per-stage specs in this plugin's commands/ and enforces the orchestration rules. Does not auto-fill expert content — the human-in-loop brief checkpoint is the moat.

日本語の概要は準備中です。原文の説明を表示しています。

ViryaZheng/recomby-geo4582026年7月4日 更新

Use when improving internal link structure, anchor text, orphan pages, crawl depth, site architecture, or link equity flow. 内链优化/站内架构

日本語の概要は準備中です。原文の説明を表示しています。

ViryaZheng/recomby-geo4582026年7月4日 更新

Discover, analyze, and prioritize keywords for SEO and GEO content strategies. Identifies high-value opportunities based on search volume, competition, intent, and business relevance. Generates topic clusters and content calendars. Use when asked to "find keywords", "keyword research", "what should I write about", "keyword analysis", "find me topics to write", "search volume", "keyword difficulty", "content ideas", or any keyword discovery task.

日本語の概要は準備中です。原文の説明を表示しています。

ViryaZheng/recomby-geo4582026年7月4日 更新

ViryaZheng のスキルをすべて見る

このスキルの問題を報告する