Forward Deployed Engineer delivery contract for AWS engagements, build-first artifacts, grounded cost estimates, Well-Architected review, evolution roadmap
日本語の概要は準備中です。原文の説明を表示しています。
End-to-end content creation and publishing. Takes a topic (or generates one), drafts in the user's voice, gets approval via Telegram, and publishes to Medium via browser automation. Invoke with "publish a post about X", "write and publish to Medium", "content-publish", or when an ego-dispatched session needs to create and distribute content.
インストールする前に、エージェントに与えられる指示の中身を確認できます。
EVERY piece of content MUST go through the voice-master skill before publishing. This is a hard requirement, not a suggestion. The voice-master skill is TWO parts — both must be applied:
If content was not drafted with voice-master, apply it NOW before publishing. Do NOT publish content that hasn't passed both checks. Invoke the voice-master skill explicitly — do not attempt to apply voice rules from memory or inline.
Single skill that covers the full publish pipeline: topic → research → draft → approval → publish. Uses voice-master for drafting, browser MCP tools for publishing, and Telegram for approval.
Medium is the only platform currently wired. The pattern extends to other platforms by swapping the publish step.
~/.genesis/camoufox-profile/)~/.genesis/config/distribution.yaml~/.claude/skills/voice-master/)~/.genesis/config/genesis-narrative.mdsrc/genesis/skills/stealth-browser/SKILL.md) —
MUST load before any browser interaction. Covers anti-detection timing,
honeypot avoidance, and the VNC trusted input technique for Cloudflare
Turnstile.stealth=False to
browser_navigate. Chromium has SSL cert issues and no anti-detection.If the caller provides a topic, use it. If not, check these sources:
publish_content action)recon_findings MCP)Platform is Medium unless specified otherwise.
Output: One sentence describing the topic and angle.
Read these files (do NOT skip any):
~/.genesis/config/genesis-narrative.md — framing, key phrases~/.claude/skills/voice-master/exemplars/index.md)For topics requiring facts or current data:
WebSearch for recent developmentsknowledge_recall for existing Genesis knowledgerecon_findings for competitive intelligenceSkip for opinion/thought-leadership pieces where the user's perspective is the content.
Write the content following voice-master rules:
-- no spaces, prefer comma/period/colon first, max 1-2Structure for Medium:
Output: Complete draft with title on the first line, body below.
First, run the deterministic anti-slop scrubber on the draft. The model's own em-dash audit is unreliable (it leaks spaced em dashes despite the rule), so this mechanical pass is mandatory and runs in code:
# write the draft to ~/tmp first, then:
python -m genesis.content.antislop ~/tmp/draft.md > ~/tmp/draft.clean.md
# stdout = cleaned text (spaced em dashes auto-fixed); stderr = fixes + flags
Use draft.clean.md as the canonical draft for both approval (Step 6) and
publish (Step 7) — never paste the pre-scrub text. Then address the scrubber's
stderr flags (banned words, contrast cadence — it flags but does not delete
these) and verify by eye:
If any check fails, rewrite the failing section and re-run the scrubber.
Send the draft to the user via Telegram (outreach_send MCP) with:
category="content" — routes to the Content Review topic and runs the egress
anti-slop scrub on the review copy, so the version under review matches what
publishesWait for user response. Do NOT publish without explicit approval.
If the user sends edits, apply them and re-submit. If the user says no, stop. Store the draft in memory for potential future use.
Follow the stored procedure (medium_browser_publish). The key steps:
https://medium.com/new-story (Camoufox, always)browser_fillwindow.__articleHTMLnavigator.clipboard.write([new ClipboardItem({
'text/html': new Blob([window.__articleHTML], {type: 'text/html'}),
'text/plain': new Blob([plainText], {type: 'text/plain'})
})])
browser_press_key("Control+v")?postPublishedType=initialCRITICAL: What does NOT work (do not attempt):
document.execCommand('insertText') — silently fails in Medium editordocument.execCommand('insertHTML') — stripped by Medium's sanitizerClipboardEvent dispatch — Medium ignores synthetic eventsnavigator.clipboard.write() + Ctrl+V worksIf any step fails: Take a screenshot, report the error, do NOT retry blindly. The editor selectors may have changed.
Send the published URL to the user via Telegram.
Store the outcome in memory:
memory_store with tags: ["content", "published", "medium"]If running under a campaign, append to that campaign's showcase pool so the next campaign tick can reference this article (skip this step otherwise):
~/.genesis/campaigns/<your-campaign-slug>/showcase-pool.md
(substitute the running campaign's own slug)## Published Medium Articles with today's date, title,
and a 2-3 line summary of the article's argument/angle| Error | Action |
|---|---|
| Not logged in to Medium | Return error. User must VNC login (one-time). |
| Cloudflare Turnstile | Handled automatically by browser_navigate. The solver cascade (auto-resolve → widget click → VNC fallback) runs without intervention. Do NOT switch browsers, try TinyFish, or give up — Camoufox resolves it. |
| Editor selectors changed | Screenshot + report. Do NOT guess new selectors. |
| Draft quality check fails | Rewrite, max 2 attempts, then submit for manual review. |
| Telegram approval timeout | Store draft as pending. Do not publish. |
User: "Publish a Medium post about why most AI agent benchmarks are useless"
Action: Skip research (opinion piece) → load voice-master + narrative → draft at formality 4 → quality check → Telegram approval → publish → report URL.
Ego proposal: {"action": "publish_content", "topic": "earned autonomy", "platform": "medium", "angle": "why trust frameworks matter more than capability frameworks"}
Action: Load narrative → light research (knowledge_recall for autonomy subsystem details) → draft → quality check → Telegram approval → publish → store outcome for ego learning.
まだレビューはありません。使ってみた感想をお寄せください。
概要と使いどころ
Forward Deployed Engineer delivery contract for AWS engagements, build-first artifacts, grounded cost estimates, Well-Architected review, evolution roadmap
日本語の概要は準備中です。原文の説明を表示しています。
Canonical guide to Genesis browser automation - layers (Camoufox, Chromium, the user's Chrome over CDP, TinyFish, desktop), per-tool timeouts, safety gates, verify-after-act, what a click checks (scroll, hit test, covered targets), overlays, iframes, tabs, and failure diagnosis
日本語の概要は準備中です。原文の説明を表示しています。
Update Claude Code (the CC CLI / "clog code") to a new version, or bump the pinned CC version. Use when the user asks to update Claude Code, bump the CC pin, evaluate a new CC release, or says "clog code update". Routes to the canonical, standardized process in docs/reference/cc-compatibility.md — do NOT re-derive the update mechanism by grepping every time. Do NOT use for general "what changed in CC" trivia with no intent to update.
日本語の概要は準備中です。原文の説明を表示しています。
This skill should be used when a session's job is to DRIVE OPEN PRs TO MERGE rather than to write new code — "close out the open PRs", "review and fix the open PRs", "what's blocking our PRs", "which PRs are mergeable". It owns the In Review column: it reads each PR's gate status, verifies and fixes review findings on PRs OTHER sessions built, replies in-thread, and stops at the merge gate for the user's per-PR approval. Do NOT load it for building a feature and opening its PR — that is a build session (`genesis-development`).
日本語の概要は準備中です。原文の説明を表示しています。
Code understanding tool selection. Use when exploring architecture, finding definitions, tracing call chains, assessing blast radius of changes, or debugging code paths in the Genesis codebase.
日本語の概要は準備中です。原文の説明を表示しています。
Systematic debugging of issues — use when a test fails, runtime error occurs, unexpected behavior is reported, or an awareness tick produces anomalous results
日本語の概要は準備中です。原文の説明を表示しています。