Communitygithub.com

xxjrq/geo-article-production

A Chinese self-media production skill that transforms topic briefs into publishable article packages. It handles evidence organization, SEO/GEO keywords and citations, platform variants, de-AI-ing polishing, word count rules, avatar/icon assets, Remotion covers and illustrations, ImageGen concept art, cover upload verification, and publication evidence preparation. By default, it stops right before final publication and does not auto-click publish.

What is geo-article-production?

This skill, named geo-article-production, is designed for Chinese self-media content production workflows. It takes a user's topic requirement and produces a fully structured, versioned article package suitable for cross-platform publication. The skill is not a publishing agent; it stops before the final publish action, leaving that to a separate geo-publication workflow. It integrates with multiple tools: GitHub research for fact verification, SEO/GEO optimization for discoverability, title generation, de-AI-ing (cn-humanizer/humanizer-zh), cover design via Remotion, image generation for concept art, and an easy-upload for offline asset preparation. The output includes a brief, sources, main article with frontmatter, platform-specific variants, assets (icons, covers, illustrations), QA results, title candidates, and publication evidence. A key feature is its rigorous handoff process: each deliverable includes hashes for main article and platform variants, source IDs, paths, a publication_hold flag, and a 'ready_for_publisher' status. It enforces a strict contract: no platform editing, no drafts, no submissions. It also integrates a content compliance reference document. The skill is intended for developers and operators running daily content production pipelines (e.g., '100 open-source projects' series) and emphasizes auditability, platform-specific rules, and human-in-the-loop verification over automated publishing.

Works with✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/xxjrq/agent-skills/tree/main/skills/geo-article-production

Ask in your favorite AI

Open a new chat with this agent skill pre-loaded.

Documentation

GEO Article Production

My 100 Open-Source Projects: Daily Production and Handoff (2026-10-14)

This user now requires the daily production of 5 new QA-passed main articles. Submissions are handled by another responsible person using the existing geo-publication workflow. The production executor only writes articles, creates official logo covers, synchronizes the current user's writing.articles and reads it back, and generates production-handoff-YYYYMMDD.json/Markdown. Do not open the platform editor, save platform drafts, submit or schedule posts, or create automatic submission tasks. Main articles and platform-specific articles are generated by Luna (gpt-6-luna); the responsible person reads through and verifies the hash of the main article body. Revisions and platform articles are not double-counted. 4:3 horizontal images, 3:4 vertical images, and 176/320 thumbnails follow the current series contract.

Each handoff item includes project/version, article body and platform article hashes, source article ID, paths for main article / platform article / source / logo / cover / QA, publication_hold flags, and unverified native fields, with status ready_for_publisher. Backend failures are independently recorded as backend_pending. Edits/assets that do not pass QA do not count toward the qualified count. The publishing responsible person receives items by the same source article ID and version, fills in publisher_received_at, and independently writes back platform status and evidence. ready_for_publisher does not count as submitted or published. The specific executable workflow reuses aigeo's docs/content/geo-articles-100/CONTENT-OPERATIONS-CURRENT.md; do not create a duplicate Skill.

Organize a user's request into a well-sourced, verifiable, and platform-adaptable article package. This Skill handles production and pre-publication checks; it does not make final publication decisions for any platform, nor does it treat "detection scores" as proof of article quality.

Tool Routing

  • selfmedia-github-research: Use when needing to verify GitHub project identity, README facts, versions, or dynamic data. Preserve the source URL and verification time.
  • skill-seo: Check whether the article topic, title, keywords, description, and citation structure are discoverable. Does not promise search ranking, GEO results, or traffic.
  • geo-title-optimizer: Generate question/result/scenario-based title candidates, scores, and platform-independent titles. Not responsible for publishing, and does not fabricate platform rules.
  • cn-humanizer or humanizer-zh: Identify and rewrite officialese, machine translation overtones, clichés, overly tidy rhythm, and AI high-frequency words. After polishing, a human must read through. Do not fabricate "AI detection pass rates".
  • geo-cover-design: Project-level cover contract. Responsible for content type, platform aspect ratios, centered main title, safe zones, real icons, multiple compositions, Remotion rendering, and uploading with read-back. It is not a Douyin-specific Skill.
  • imagegen / selfmedia-imagegen: Use only when the visual truly requires concept illustration, scene, or background. Generated images do not guarantee accurate Chinese typesetting; text must be overlaid deterministically using Remotion/CSS or similar after generation.
  • easy-upload: Only used for offline article package, field, and asset preparation. Platform publication still follows the currently authorized Easy WebBridge workflow.
  • aigeo-project/references/content-compliance.md: Compliance rules for platform content, copyright, privacy, advertising disclaimers, and sensitive expressions. It is a project reference document, not an independent publishing executor.
  • easy-webbridge: Use a specific online browserId when needing to read a logged-in platform, upload a cover, or read back a draft/public status. Pause immediately upon encountering login prompts, CAPTCHAs, or security verification.

Multi-Style Cover Contract

  • Default to Remotion and adhere to the current geo-cover-design contract: For daily operations, create one 16:9 main cover per topic; other aspect ratios are prepared only based on actual platform testing requirements. Explore new styles or user-requested comparisons only when making different candidates suitable for that topic; do not make three variants per article by default.
  • Select the main cover based on topic, official icon, visual focus, thumbnail readability, and platform cropping. Random or pseudo-random selection of the main cover is prohibited. Save source files, selection rationale, dimensions, and hash. seed is only used for reproducible textures or decorations.
  • Default candidate styles may include workbuddy-github, editorial-coral, terminal-lime, poster-amber. Content type, main hook, project name, and dynamic numbers must come from verified materials; do not reuse star counts, rankings, or trending facts from lists.
  • Upload the corresponding aspect ratio cover independently for each platform. Record the file hash before uploading; after uploading, reopen the editor to read back the cover status. Without read-back, it cannot be counted as uploaded. Without upload, it cannot be published.
  • ImageGen is only used for concept backgrounds or material exploration. It cannot handle accurate Chinese text, project logos, product interfaces, or dynamic data. Deterministic text must be typeset afterward using Remotion.

Input and Output

Input must include at least: the original request text, target audience, target platform/account, factual sources or questions to be verified. When platform, account, source, or copyright boundaries are missing, list the gaps first; do not fill them in out of thin air.

Output is a versioned content unit, for example:

article/
  brief.md                 # Request, audience, claims, and exclusions
  sources.md               # Source URLs, excerpts, verification time, and risks
  article.md               # Main article and frontmatter
  variants/                # Platform-specific titles, body text, and tags
  assets/
    icon-avatar-manifest.json
    cover-remotion.png
    illustrations/
  qa.json                  # Word count, links, compliance, visual check results
  title-brief.md           # Title entity, intent, pain points, and topic boundaries
  title-candidates.json    # Title candidates, scores, and selection rationale
  platform-titles.md       # Platform-independent titles, budgets, sources, and lengths
  title-qa.json             # Title-to-body/cover mapping and access control
  publish-evidence/        # Platform-specific draft/public status read-back evidence

Production Workflow

Before delivering each article, execute the Article Package Acceptance Contract. First verify sources, hashes of main article/variants, two images, real thumbnails, and execution evidence. Then synchronize the original article ID and read back. Offline passes and native publication passes are recorded separately; do not allow budget_unknown, unselected topics, or unuploaded assets to masquerade as platform gate passes. When the user requests "write two first for preview", use sample draft review to override the normal daily production/submission workflow, retain existing articles, pause new submissions, and do not auto-resume. Do not auto-click final publish.

  1. Requirements and Topic Selection: Decompose the request into goals, audience, one core question, and explicit exclusions, forming brief.md.
  2. Research and GEO/SEO: Verify facts and citations; retain only keywords genuinely relevant to the body text. Each high-risk fact must include source and time. Mark unknown content as pending confirmation.
  3. Titles and Main Article: First call geo-title-optimizer to generate candidates, scores, and platform-independent titles. Save the main article title separately from platform titles. Then write a factually consistent main article. Check titles, summary, body, tags, and image captions separately.
  4. De-AI-ing Review: Run the rules of cn-humanizer or humanizer-zh for manual rewriting. Preserve author judgment and facts; do not add unsupported stories just to "sound human."
  5. Word Count and Platform Rules: Use platform-specific configuration platform-budgets.md or the budget from the task input for each platform. Known values must include source and collection date; when unknown or dynamically changing on the page, mark budget_unknown and stop submission; do not reuse word counts from other platforms.
  6. Icon and Avatar Assets: Obtain from official sites, app stores, project repositories, or registered asset libraries. Record source, license, and hash. Avatars/icons are used for identity or brand recognition; do not automatically use them as article covers.
  7. Covers and Illustrations: Default to Remotion. First lock dimensions, safe zones, and accurate text, then render and perform a visual check. Use ImageGen for concept backgrounds when needed, then overlay titles, project name, and numbers using Remotion. Check the same main cover by actual platform cropping; independently typeset for different dimension requirements; do not hard-crop or stretch.
  8. Upload Preparation: Prepare independent covers and body images for each platform. Actually upload in the platform editor, check the crop preview, save, then reopen to confirm the cover still exists. Seeing only local files does not count as upload completion.
  9. Platform Fields and Typesetting: Before submission, fill in and read back platform-specific fields: title, summary, category, tags, body typesetting, source/originality declaration, visibility range, account, and scheduling fields. Record not_applicable for missing fields. For Xiaohongshu, title, body, tags, and image captions must pass an external URL gate. Source URLs should only remain in sources/frontmatter; if http(s)://, www., or common domain URLs are found in article body/title/tags/captions, record platform-policy/needs_user_action and do not submit. Remove frontmatter. Confirm that paragraphs, lists, code blocks, links, image order, image captions, and mobile viewport width match the current editor behavior.
  10. Publication Evidence: Record draft, under review, published, unknown, and failure status independently for each platform and each account. Evidence consists of public URL, admin page status, title/account match, and key screenshots. A submission return URL or submitted_unknown does not equal published.
  11. Final Boundaries: Compliance checks automatically pass by default; do not wait for manual confirmation by default. Manual review is triggered only when the user explicitly requests a review or when high-risk conditions are met. Actual publication still requires a user-authorized Easy WebBridge task and hands back to the user at security verification.

"Auto" in compliance checks means the checks are performed autonomously based on sources and current constraints; it does not mean checks are skipped. Before publishing, read the publication_hold flag from the original article and operations ledger. If content hits violation/restriction rules, stop that content and its cross-platform variants. Restoration conditions are maintained by geo-publication; they cannot be lifted due to daily production goals or date changes.

Continuous Autonomous Operation

When the user has explicitly authorized a series for continuous publication, after production is complete, integrate with geo-publication and easy-webbridge. Do not require daily approvals again just because this Skill handles offline production. Read the quantity, daily quota, and candidate queue from the project operations contract. Record evidence per article for writing, images, platform typesetting, real topics, and public verification. See the current project workflow at <aigeo-project>/docs/content/geo-articles-100/DAILY-WORKFLOW.md.

Article Verification Baseline

The 1200–2500 Chinese characters, at least 3 third-level headings, compliance notes, and pending manual confirmation sections in <aigeo-project>/docs/content/geo-articles-10/batch_02/validate.py are the sample contract for batch_02, not a universal platform limit. At runtime, declare which platform configuration is being used and treat dynamic page prompts as higher priority.

Known Limitations

  • Does not guarantee SEO/GEO ranking, platform review, exposure, conversion, or "de-AI detection" results.
  • Does not bypass login prompts, CAPTCHAs, risk controls, copyright restrictions, or account security verification.
  • Does not treat garbled characters from ImageGen as publishable text; accurate text must undergo subsequent deterministic typesetting and manual verification.
  • Platform rules, word counts, cover dimensions, and editor fields can change. When current page requirements cannot be read, output budget_unknown/needs_user_action; do not guess.
  • Article packages can be prepared offline by easy-upload, but final publication and public status must be proven by platform page read-back.

Self-Check

python3 - <<'PY'
from pathlib import Path
p = Path('SKILL.md')
s = p.read_text(encoding='utf-8')
required = ['geo-article-production', 'Remotion', 'ImageGen', 'budget_unknown', 'submitted_unknown', '不自动点击最终发布']
missing = [x for x in required if x not in s]
raise SystemExit(f'missing: {missing}' if missing else 'PASS')
PY

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

Related Skills