BC wechat-mp-publisher
Опубликуйте одну или несколько Markdown-статей в черновики официального аккаунта WeChat (公众号) одним вызовом API. Поддерживает комбинированные черновики из нескольких статей (основная + дополнительные), интеллектуальный выбор обложки с автоподбором Unsplash + 12 изображений для ротации, пользовательское оформление (выделение золотыми цитатами, разделители секций &&, акцентные заголовки), автоматическую загрузку встроенных изображений в CDN WeChat, автоматическое извлечение анонса и возможность немедленной публикации. Активируется, когда пользователь хочет отправить файлы Markdown в WeChat MP, опубликовать в черновики 公众号草稿箱, запланировать статьи для WeChat или автоматизировать доставку контента в публичный аккаунт.
машинный переводПоказать оригиналСкрыть оригинал«Publish one or multiple Markdown articles to WeChat Official Account (…»
Publish one or multiple Markdown articles to WeChat Official Account (公众号) draft box in a single API call. Supports multi-article combined drafts (main article + sub-articles), smart cover image selection with Unsplash auto-match + 12-image fallback rotation, custom styling (gold quote highlights, && section dividers, accent headings), inline image auto-upload to WeChat CDN, digest auto-extraction, and optional immediate publish. Activate when user wants to push Markdown files to WeChat MP, publish to 公众号草稿箱, schedule WeChat articles, or automate public account content delivery.
Опубликуйте одну или несколько Markdown-статей в черновики официального аккаунта WeChat (公众号) одним вызовом API.
Как процесс C 51/100 · Есть пробелы — слабые места: результат и критерий готовности, когда включается, входы и предусловия
Чем это грозит
Находки средней серьёзности: скорее всего скилл честный, но прочитайте, что именно насторожило сканер.
Ниже описан худший случай для этой категории. Здесь находка средней серьёзности: guard увидел признак, но не доказательство.
Инструкции или скрипты отправляют данные наружу: переменные окружения, ключи, содержимое файлов, историю чата. Вы можете не заметить этого в диалоге, потому что агент выполнит отправку как «часть задачи».
Если отправка не нужна для задачи, уберите её: каталоги помечают такие скиллы как подозрительные и снимают с выдачи. Если нужна, назовите адрес явно, объясните, что именно уходит, и дайте пользователю выключатель.
Как улучшить
- Свои кейсы (evals/evals.json, 4–6 реальных запросов с ожидаемыми ответами): тогда полная проверка прогонит именно их, а не черновик от модели.
- spec.yaml с триггерными фразами и утверждениями — контракт поведения для CI; `skilltest init` создаст шаблон.
Находки guard · 6
✓ Критических и высоких находок нет
Средние и низкие: 6
-
средняя Утечка данных
net-credential-usescripts/publish.mjs:99Учётные данные используются в сетевом вызове (проверьте, что адрес — нужный сервис)const res = await fetch(`${WECHAT_API}/token?grant_type=client_credential&appid=${appId}&secret=${appSecret}`); -
средняя Утечка данных
net-credential-usescripts/publish.mjs:121Учётные данные используются в сетевом вызове (проверьте, что адрес — нужный сервис)const res = await fetch(`${WECHAT_API}/material/add_material?access_token=${accessToken}&type=image`, { method: "POST", body: form }); -
средняя Утечка данных
net-credential-usescripts/publish.mjs:133Учётные данные используются в сетевом вызове (проверьте, что адрес — нужный сервис)const res = await fetch(`${WECHAT_API}/media/uploadimg?access_token=${accessToken}`, { method: "POST", body: form }); -
низкая Опасные команды
cmd-cron-mentionreferences/setup.md:58Упоминание редактирования crontab# crontab -e
-
низкая Утечка данных
net-credential-usescripts/publish.mjs:253Учётные данные используются в сетевом вызове (проверьте, что адрес — нужный сервис) (определение детектора / чёрного списка)const res = await fetch(`${WECHAT_API}/freepublish/submit?access_token=${token}`, {детектор -
низкая Утечка данных
net-credential-usescripts/publish.mjs:306Учётные данные используются в сетевом вызове (проверьте, что адрес — нужный сервис) (в кавычках — упоминание, а не команда)const draftRes = await fetch(`${WECHAT_API}/draft/add?access_token=${token}`, {в кавычках
Просканировано файлов: 3. Улики замаскированы. Пометки в серых чипах объясняют, почему серьёзность понижена.
По спецификации Agent Skills
✓ По спецификации Agent Skills замечаний нет
Процессный рейтинг: все десять параметров 51/100
- 0Результат и критерий готовности. Не сказано, что считать результатом
- 0Входы и предусловия. Не сказано, что нужно иметь на входе
- 0Отчётность по ходу. Скилл ничего не сообщает по ходу работы
- 20Когда включается. Не сказано, при каком запросе скилл включается
- 30Повторный запуск. Изменяющих операций: 3, без проверки текущего состояния
- 40Согласованность. Имя во frontmatter (wechat-mp-publisher) не совпадает с папкой (wechat-multi-publisher)
- 50Ошибки и развилки. Развилок: 0, есть раздел про ошибки
- 100Инструменты и файлы. Внешние инструменты не нужны
- 100Шаги. Шагов: 6
- 100Стоимость исполнения. Тело инструкции 412 токенов
Всё перечисленное измерено по тексту скилла, а не оценено моделью: цифры проверяемы. Вес параметра тем больше, чем чаще из-за него процесс встаёт.
Сигналы качества
- +5В description нет примеров фраз, по которым скилл должен срабатывать
- +4Описание не говорит, когда скилл НЕ применять (ложные срабатывания)
- +3Формат ответа не описан: модель каждый раз решает сама
- +1Лицензия не указана
- +2Инструкции на одном языке
- +3Длина description 585 символов: достаточно сигнала, не съедает бюджет
- +4Структура: 6 заголовков
- +3Пошаговые инструкции: 6 пунктов
- +4Есть примеры (4 блоков кода)
- +4Справочные файлы упоминаются в инструкциях (1 из 1)
- +3Все 1 скриптов описаны в инструкциях
База качества 70; замечания lint вычитаются, сигналы прибавляют до 100. Итог: 91.