SuperAPI AI Directory

aws-wechat-article-review

Deployment & operations

View repository

Updated 10-15 16:46

About this skill

Review and Compliance

Pre-publication compliance gatekeeper for Official Accounts — One-time screening for sensitive words, typos, and platform specifications, outputting an actionable revision checklist.

Suite Description · This skill belongs to aws-wechat-article-* a one-stop suite (9 slugs in total, entry point aws-wechat-article-main). Cross-skill relative references depend on the same skills/ directory, and it is recommended to install clawhub install the full suite together. Source code:https://github.com/aiworkskills/wechat-article-skills

Capabilities Disclosure

This skill ispurely local rule/checklist review, with zero network and zero credentials.

  • Credentials: none
  • Network: none
  • File read:.aws-article/config.yaml、.aws-article/writing-spec.md(if any),.aws-article/presets/review-rules.yaml(if any), this article's draft.md / article.html / article.yaml / imgs/
  • File write: this article's draft-stripped.md(intermediate artifact),article.md(final draft),review.md
  • shell: only called in step 5 {python} .../aws-wechat-article-writing/scripts/write.py strip-citations, and in step 2 the same script's check subcommand is called.Both are purely local regular expressions/counts, do not connect to the network, do not read credentials, and do not call an LLM.

Automatic completion of past recommendation linksAutomatic completionis handled by publish skill (that is where the WeChat API credentials and getdraft.pyare); this skill only arranges placeholders according to the existing manual ,does not directly call any network script。

Routing

"Can it be published" if it includes publishing on behalf of the user, or the entire wrap-up from draft to publication → aws-wechat-article-main。

Two review modes

Mode Timing Check Focus
Content review After writing, before formatting Content quality, writing standards, sensitive words, image markers
Final review Before publish Formatting completeness, images in place, all publication elements present

Automatic identification: if there is article.html → final review mode, otherwise → content review mode.

Workflow

审稿进度:
- [ ] 第1步:环境检查 + 本篇约束与规范
- [ ] 第2步:逐项检查(含机器自检)
- [ ] 第3步:输出审稿结果
- [ ] 第4步:修改循环 🔄
- [ ] 第5步:⛔ 剥离引用标注 → 文末 embed → 保存 article.md 定稿

Agent behavior constraints ⛔

  • Prohibitedwhen step 5 "end-of-article embed" has not been completed, to call the manuscript "finalized", write article.md, or proceed to formatting (format.py)。
  • Prohibitedto skip the end-of-article placeholders for reasons such as "the user did not mention it" or "to save time".Sole exception: if the userin writingdeclares that this article does not need any embedded elements, then the review record must state "user declared skipping embed", and it must still be confirmed that this is not a misoperation.
  • In the one-stop process, the content review output's article.md must already contain the end-of-article embed(according to the merge rules or a legitimate omission), before proceeding to formatting.

Step 1: Environment check + read constraints ⛔

Before any operation, first follow First-time onboarding · detection order to execute, and only continue after passing (or the user explicitly confirms in writing "no check this time"). For the criteria when this skill is enabled on its own, see branches.md "IV"。

Then read:

  • .aws-article/writing-spec.md(if any)
  • .aws-article/presets/review-rules.yaml(if any, see branches.md "II")
  • Merged configuration for this article(consistent with writing、format.py ): first .aws-article/config.yaml top level (excluding writing_model / image_model), then overlay this article's article.yaml(Same key: this article takes precedence;Only embeds.related_articles is deeply merged with the global one; the rest of embeds still follows the global one). Review is based on the merged result (review_output_format、custom_sensitive_words、forbidden_words、target_reader、tone、image_density , etc.). For field descriptions, see articlescreening-schema.md。

When constraints are missing, follow branches.md "III" to degrade,do not interrupt the review。

Step 2: Check item by item

For the complete checklist, see references/checklist.md。

First run the machine self-check(content review mode) — the countable parts of the output quota should not rely on the eyes:

{python} {baseDir}/../aws-wechat-article-writing/scripts/write.py check <本篇 draft.md>

Same as writing Step 7 the same set of criteria. It should have been run during the writing stage, but the draft may have been pasted in by the user, or manually edited midway,this is the last checkpoint that can be measured by machine. Mapping: what the script reports ashard items → 🔴,reminder items → 🟡. It will also print all bolded text in the whole article strung together on one line —whether that string reads like a summary still has to be read through yourself, the script cannot measure whether the selection is right.

Content reviewThen manually go through each dimension:

Dimension Check content
Title Length, banned formulas, consistency with the body
Summary Length, information density, consistency with the body;and it is not the same sentence as the body's first > lead
Body Sensitive words, banned words, typos, factual sources
Writing standards Check wording, sentence patterns, and paragraphs against writing-spec.md; whether depth and tone are consistent with the merged configuration's target_reader、tone consistency
AI-flavor self-check Against ai-flavor-check.md diagnose each spot and mark the signal strength.Diagnose only by default: uniformly convert to 🟡, not blocking, does not affect finalization (for the difference between the two grading sets, see branches.md "V")
Image markers Cover marker exists, count matches image_density match, description is specific
End-of-article embed Must complete Step 5 before finalization ⛔; if not written to article.md must not be finalized
Originality labeling Handle according to original_attribution handle

Final reviewAdditional checks:

Dimension Check content
Layout article.html exists and is complete, no garbled text
Images The article directory contains cover.*(the cover is not in imgs/ ),imgs/ the body images are complete,placeholder all have been replaced, and the files actually exist
Publishing elements Title/summary/author/cover are all ready

Step 3: Output the review results

Output according to review_output_format :Detailed by block(grouped by dimension, item-by-item ✅/❌ + revision suggestions) orBrief checklist(table, one item per row). See the template in references/output-format.md。

Results are divided into three levels:

  • 🔴 Must fix: cannot pass without fixing (sensitive words, serious typos, missing cover, hard requirements from the automated self-check)
  • 🟡 Suggested fix: better if fixed (word choice optimization, paragraph adjustments, AI flavor, reminder items from the automated self-check)
  • 🟢 Pass

Step 4: Revision loop 🔄

When there are 🔴 items,you must enter the revision loop:发现问题 → 展示审稿结果 → 修改 → 重新检查 → 直到无 🔴。

Revision methods: the Agent directly edits draft.md / after the user manually edits and says "fixed" / call writing 's rewrite.

In each round, only re-review the items marked 🔴; there is no need for a full re-review.

⚠️ Completing Step 4 does not mean article.mdcan be saved; you must first complete Step 5.

Step 5: Strip citation annotations → end-of-article embed → save the final draft ⛔ BLOCKING

After all 🔴 are eliminated:

  1. Show the final review results,wait for user confirmation ⛔。

  2. Strip citation annotations — execute at the repository root:

    {python} {baseDir}/../aws-wechat-article-writing/scripts/write.py strip-citations <本篇 draft.md> -o <本篇 draft-stripped.md>
    

    Use a purely local regex to strip all (资料路径:…)from the body (they are forcibly injected during the writing stage for fact tracing and must be removed in the published version to avoid leaking internal product catalog paths).Forbiddento use sed or manual tearing as a substitute for this script—historically there have been many cases of "tear once and miss one".

  3. At the end of the article, embeds —— before writing article.md ,according to the merged result from Step 1, in draft-stripped.md 'send of bodyappend the placeholder:

    Placeholder When to write Configuration alignment
    {embed:profile:…} embeds.profiles has at least one non-empty nickname One line per valid item,… = that item's nickname
    {embed:miniprogram:…} embeds.miniprograms has at least one non-empty title One line per valid item,… = title
    {embed:miniprogram_card:…} embeds.miniprogram_cards has at least one non-empty title One line per valid item,… = title
    {embed:link:…} embeds.related_articles.manual has valid items … = that item's name;at most 3 items

    Placeholders must be consistent with the merged parseable configuration, otherwise the layout stage will fail. Empty lists,manual missing, user-declared skips, and all-empty cases must still be explicitly annotated—see branches.md "One"。

  4. Savethe manuscript with citation annotations stripped and the end-of-article embed included(or omitted according to the rules and recorded in the review notes) as article.md(final draft). The intermediate product draft-stripped.md may be retained for reference or deleted.

Do not save the final draft or call before completing small step 3. format.py。

Branches and exceptions

Three cases of past links and all-empty annotation, custom check rules, fallback for missing constraints, enabling this skill separately, two sets of AI-flavor grading → references/branches.md。

Process files

Mode Read Output
Content review draft.md、.aws-article/config.yaml + this article article.yaml、writing-spec.md review.md、article.md(final draft)
Final review article.html、cover.*、imgs/, same merged configuration as above,article.yaml review.md(final review result)