SKILLEMALL.ai

CC wechat-official-account

Generate articles, manage drafts, publish to «发表记录», send customer-service messages, manage menus and pull stats on a WeChat Official Account (微信公众号 / 服务号 / 订阅号) via the WeChat MP server-side API. Use when the user mentions 公众号, 服务号, 订阅号, mp.weixin.qq.com, AppID/AppSecret of a WeChat Official Account, or asks to draft / publish / send a customer message via WeChat.

AceDataCloud/Skills Agent Skills author: AceDataCloud 1 file body ≈ 3 431 tokens Open the sourcegithub.com↗ analyzed 5 h ago

Generate articles, manage drafts, publish to «发表记录», send customer-service messages, manage menus and pull stats on a WeChat Official Account (微信公众号 / 服务号 /…

As a process C 61/100 · Has gaps — weak spots: result and completion, inputs and preconditions, running it twice

GeneratorWriting and documentstype and topics are labelled automatically from the skill text
JSON
Technical rating
C
88/100
safety, quality, tests
Safety 60%
91
Quality 40%
83
Run on models
none yet
Process rating
C
61/100
Has gaps
Result and completion w 14
0
Inputs and preconditions w 11
0
Running it twice w 4
30
the three weakest of ten parameters · all ten

How to improve

    For the model run — optional
    • Your own cases (evals/evals.json, 4–6 real requests with expected answers): the full check would then run those instead of a model-drafted suite.
    • A spec.yaml with trigger phrases and assertions — a behaviour contract for CI; `skilltest init` writes a template.

    Guard findings · 9

    ✓ No critical or high findings

    Medium and low: 9
    • low Exfiltration exfil-secret-in-url SKILL.md:49
      Credential passed in a URL query string (normal for some APIs — verify the host is the intended service) (placeholder value)
      RESP=$(curl -sS "https://api.weixin.qq.com/cgi-bin/token?grant_type=…&appid=…&secret=…")
      placeholder
    • low Exfiltration net-credential-use SKILL.md:49
      Credential used in a network call (verify the destination is the intended service) (the skill's own vendor host)
      RESP=$(curl -sS "https://api.weixin.qq.com/cgi-bin/token?grant_type=…&appid=…&secret=…")
      vendor-host
    • low Exfiltration exfil-secret-in-url SKILL.md:68
      Credential passed in a URL query string (normal for some APIs — verify the host is the intended service) (placeholder value)
      curl -sS "https://api.weixin.qq.com/cgi-bin/account/getaccountbasicinfo?access_token=…" | jq
      placeholder
    • low Exfiltration net-credential-use SKILL.md:68
      Credential used in a network call (verify the destination is the intended service) (the skill's own vendor host)
      curl -sS "https://api.weixin.qq.com/cgi-bin/account/getaccountbasicinfo?access_token=…" | jq
      vendor-host
    • low Exfiltration exfil-secret-in-url SKILL.md:77
      Credential passed in a URL query string (normal for some APIs — verify the host is the intended service) (placeholder value)
      "https://api.weixin.qq.com/cgi-bin/media/uploadimg?access_token=…" \
      placeholder
    • low Exfiltration exfil-secret-in-url SKILL.md:88
      Credential passed in a URL query string (normal for some APIs — verify the host is the intended service) (placeholder value)
      "https://api.weixin.qq.com/cgi-bin/material/add_material?access_token=…&type=thumb" \
      placeholder
    • low Exfiltration exfil-secret-in-url SKILL.md:126
      Credential passed in a URL query string (normal for some APIs — verify the host is the intended service) (placeholder value)
      "https://api.weixin.qq.com/cgi-bin/draft/add?access_token=…" \
      placeholder
    • low Exfiltration net-credential-use SKILL.md:246
      Credential used in a network call (verify the destination is the intended service) (the skill's own vendor host)
      curl -sS "https://api.weixin.qq.com/cgi-bin/menu/get?access_token=…" | jq
      vendor-host
    • low Exfiltration net-credential-use SKILL.md:270
      Credential used in a network call (verify the destination is the intended service) (the skill's own vendor host)
      curl -sS "https://api.weixin.qq.com/cgi-bin/user/get?access_token=…&next_openid=…" \
      vendor-host

    Files scanned: 1. Evidence is masked. Grey chips explain why severity was lowered.

    Against the Agent Skills spec

    • note frontmatter-key unknown frontmatter key "connections"
    • note frontmatter-key unknown frontmatter key "allowed_tools"

    Process rating: all ten parameters 61/100

    • 0Result and completion. Does not say what the result is
    • 0Inputs and preconditions. Does not say what the process needs to start
    • 30Running it twice. 22 mutating operations with no state check
    • 60Tools and files. Uses tools (bash, web, python) that frontmatter does not declare
    • 70When it triggers. States when to use, but not when not to
    • 100Steps. 10 steps
    • 100Failures and branches. 2 branches, has a failure section
    • 100Consistency. Name and required fields are in place
    • 100Execution cost. Instruction body is 3431 tokens
    • 100Progress reporting. Reports progress

    Everything here is measured from the skill text rather than judged by a model, so the numbers are checkable. A parameter weighs more when it is a more common reason for the process to stall.

    Quality signals

    • +5Description has no quoted example phrases that should trigger the skill
    • +4Description does not say when NOT to use the skill (false activations)
    • +3Output format is not stated: the model decides each time
    • +2Single-language instructions
    • +3Description length 367: enough signal without eating the budget
    • +4Structure: 19 headings
    • +3Step-by-step instructions: 10 items
    • +4Has examples (16 code blocks)
    • +1License stated

    Quality base 70; lint remarks subtract, signals add up to 100. Result: 83.