BD ncm-listening-profile
Используется, когда пользователь хочет собрать данные о прослушивании музыки на рабочем столе NetEase Cloud Music в Windows или macOS, экспортировать основной плейлист и рейтинг прослушивания, а также сгенерировать локальные файлы JSONL/CSV/aggregate и подсказки для анализа ИИ. Этот навык запускается через CDP или подключается к клиентскому приложению NetEase Cloud Music на компьютере, собирает плейлисты, созданные пользователем, основной плейлист, рейтинг прослушивания за последнюю неделю и рейтинг прослушивания за все время через API NetEase Cloud в контексте авторизованной страницы. Этот навык не выполняет анализ личности или профиля в сеансе сбора данных.
машинный переводПоказать оригиналСкрыть оригинал«当用户想在 Windows 或 macOS 上采集网易云音乐/NetEase Cloud Music 桌面版听歌画像数据、导出主歌单和听歌排…»
当用户想在 Windows 或 macOS 上采集网易云音乐/NetEase Cloud Music 桌面版听歌画像数据、导出主歌单和听歌排行、生成本地 JSONL/CSV/aggregate 文件与 AI 分析 prompt 时使用。此 Skill 通过 CDP 启动或连接本机网易云音乐客户端,在已登录页面上下文用网易云 `/api` 采集用户创建歌单、主歌单、最近一周听歌排行和所有时间听歌排行;本 Skill 不在采集会话内做人格或画像分析。
Используется, когда пользователь хочет собрать данные о прослушивании музыки на рабочем столе NetEase Cloud Music в Windows или macOS, экспортировать основной…
Как процесс D 48/100 · Процесс не доведён — слабые места: результат и критерий готовности, когда включается, входы и предусловия
Как улучшить
- Скажите в description, КОГДА применять скилл («используй, когда…», примеры запросов): это главный сигнал для агента.
- Свои кейсы (evals/evals.json, 4–6 реальных запросов с ожидаемыми ответами): тогда полная проверка прогонит именно их, а не черновик от модели.
- spec.yaml с триггерными фразами и утверждениями — контракт поведения для CI; `skilltest init` создаст шаблон.
Находки guard · 15
✓ Критических и высоких находок нет
Средние и низкие: 15
-
низкая Секреты в коде
secret-high-entropy-tokenreferences/schemas.md:163Строка, похожая на токен (может быть id, хеш или секрет)top3…unt
-
низкая Секреты в коде
secret-high-entropy-tokenreferences/schemas.md:164Строка, похожая на токен (может быть id, хеш или секрет)top3…unt
-
низкая Секреты в коде
secret-high-entropy-tokenreferences/schemas.md:166Строка, похожая на токен (может быть id, хеш или секрет)rece…are
-
низкая Секреты в коде
secret-high-entropy-tokenreferences/schemas.md:167Строка, похожая на токен (может быть id, хеш или секрет)top1…ise
-
низкая Секреты в коде
secret-high-entropy-tokenreferences/schemas.md:168Строка, похожая на токен (может быть id, хеш или секрет)bott…unt
-
низкая Секреты в коде
secret-high-entropy-tokenscripts/ncm_aggregate.py:307Строка, похожая на токен (может быть id, хеш или секрет) (значение-заглушка)"top2…nMs": sorted(primary_samples, key=lambda item: int(item.get("durationMs") or 0), reverse=True)[:20],заглушка -
низкая Секреты в коде
secret-high-entropy-tokenscripts/ncm_aggregate.py:308Строка, похожая на токен (может быть id, хеш или секрет) (значение-заглушка)"top2…nMs": sorted(primary_samples, key=lambda item: int(item.get("durationMs") or 0))[:20],заглушка -
низкая Секреты в коде
secret-high-entropy-tokenscripts/ncm_aggregate.py:320Строка, похожая на токен (может быть id, хеш или секрет) (значение-заглушка)"top2…cks": [_sample_primary(row, raw) for row, raw, _ in sorted(added_pairs, key=lambda item: item[2])[:20]],
заглушка -
низкая Секреты в коде
secret-high-entropy-tokenscripts/ncm_aggregate.py:321Строка, похожая на токен (может быть id, хеш или секрет) (значение-заглушка)"top2…cks": [_sample_primary(row, raw) for row, raw, _ in sorted(added_pairs, key=lambda item: item[2], reverse=True)[:20]],
заглушка -
низкая Секреты в коде
secret-high-entropy-tokenscripts/ncm_aggregate.py:326Строка, похожая на токен (может быть id, хеш или секрет) (значение-заглушка)"top2…unt": sorted(recent_samples, key=lambda item: int(item.get("playCount") or 0), reverse=True)[:20],заглушка -
низкая Секреты в коде
secret-high-entropy-tokenscripts/test_ncm_profile.py:466Строка, похожая на токен (может быть id, хеш или секрет) (тестовый файл / пример; в кавычках — упоминание, а не команда)self.assertEqual(aggregate["rankingStats"]["rece…are"], 0)
тестовый файлв кавычках -
низкая Секреты в коде
secret-high-entropy-tokenscripts/test_ncm_profile.py:467Строка, похожая на токен (может быть id, хеш или секрет) (тестовый файл / пример; в кавычках — упоминание, а не команда)self.assertEqual(aggregate["rankingStats"]["rece…are"], 0)
тестовый файлв кавычках -
низкая Секреты в коде
secret-high-entropy-tokenscripts/test_ncm_profile.py:468Строка, похожая на токен (может быть id, хеш или секрет) (тестовый файл / пример; в кавычках — упоминание, а не команда)self.assertEqual(aggregate["rankingStats"]["rece…are"], 0)
тестовый файлв кавычках -
низкая Секреты в коде
secret-high-entropy-tokenscripts/test_ncm_profile.py:469Строка, похожая на токен (может быть id, хеш или секрет) (тестовый файл / пример; в кавычках — упоминание, а не команда)self.assertEqual(aggregate["rankingStats"]["top2…unt"], [])
тестовый файлв кавычках -
низкая Секреты в коде
secret-high-entropy-tokenscripts/test_ncm_profile.py:470Строка, похожая на токен (может быть id, хеш или секрет) (тестовый файл / пример; в кавычках — упоминание, а не команда)self.assertEqual(aggregate["rankingStats"]["bott…unt"], [])
тестовый файлв кавычках
Просканировано файлов: 19. Улики замаскированы. Пометки в серых чипах объясняют, почему серьёзность понижена.
По спецификации Agent Skills
- предупреждение
description-no-whendescription не говорит, КОГДА применять скилл (нет "use when / используй когда")
Процессный рейтинг: все десять параметров 48/100
- 0Результат и критерий готовности. Не сказано, что считать результатом
- 0Входы и предусловия. Не сказано, что нужно иметь на входе
- 0Ошибки и развилки. Линейный процесс без обработки сбоев
- 20Когда включается. Не сказано, при каком запросе скилл включается
- 60Инструменты и файлы. Используются инструменты (web, python), но во frontmatter они не объявлены
- 100Шаги. Шагов: 34
- 100Согласованность. Имя и обязательные поля на месте
- 100Стоимость исполнения. Тело инструкции 2208 токенов
- 100Повторный запуск. Изменяющих операций нет
- 100Отчётность по ходу. Скилл сообщает о ходе работы
- low Разделов верхнего уровня: 15. Похоже на несколько доменов в одном скилле
Всё перечисленное измерено по тексту скилла, а не оценено моделью: цифры проверяемы. Вес параметра тем больше, чем чаще из-за него процесс встаёт.
Сигналы качества
- +5В description нет примеров фраз, по которым скилл должен срабатывать
- +4Описание не говорит, когда скилл НЕ применять (ложные срабатывания)
- +3Формат ответа не описан: модель каждый раз решает сама
- -37 из 8 скриптов не упомянуты в SKILL.md
- +2Инструкции на одном языке
- +3Длина description 225 символов: достаточно сигнала, не съедает бюджет
- +4Структура: 16 заголовков
- +3Пошаговые инструкции: 34 пунктов
- +4Есть примеры (20 блоков кода)
- +4Справочные файлы упоминаются в инструкциях (4 из 4)
- +1Лицензия указана
База качества 70; замечания lint вычитаются, сигналы прибавляют до 100. Итог: 74.