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-humanizerorhumanizer-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 onlinebrowserIdwhen 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.
seedis 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.
- Requirements and Topic Selection: Decompose the request into goals, audience, one core question, and explicit exclusions, forming
brief.md. - 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.
- Titles and Main Article: First call
geo-title-optimizerto 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. - De-AI-ing Review: Run the rules of
cn-humanizerorhumanizer-zhfor manual rewriting. Preserve author judgment and facts; do not add unsupported stories just to "sound human." - Word Count and Platform Rules: Use platform-specific configuration
platform-budgets.mdor 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, markbudget_unknownand stop submission; do not reuse word counts from other platforms. - 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.
- 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.
- 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.
- 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_applicablefor missing fields. For Xiaohongshu, title, body, tags, and image captions must pass an external URL gate. Source URLs should only remain in sources/frontmatter; ifhttp(s)://,www., or common domain URLs are found in article body/title/tags/captions, recordplatform-policy/needs_user_actionand 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. - 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_unknowndoes not equal published. - 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