CF x-reader\n\nUniversal content reader — fetch, transcribe, and digest content from any platform.\n\n## Trigger\n\nWhen us
читатель x
машинный переводПоказать оригиналСкрыть оригинал«x reader…»
x reader
читатель x
Как процесс F 26/100 · Не запустится — слабые места: шаги, результат и критерий готовности, когда включается
ПроцедураPlaywrightTelegramGitHubYouTubeМедиа и видеотип и темы размечены автоматически по тексту скилла
Как улучшить
- Скажите в description, КОГДА применять скилл («используй, когда…», примеры запросов): это главный сигнал для агента.
Для прогона на моделях — необязательно
- Свои кейсы (evals/evals.json, 4–6 реальных запросов с ожидаемыми ответами): тогда полная проверка прогонит именно их, а не черновик от модели.
- spec.yaml с триггерными фразами и утверждениями — контракт поведения для CI; `skilltest init` создаст шаблон.
Находки guard · 1
✓ Критических и высоких находок нет
Средние и низкие: 1
-
низкая Утечка данных
read-dotenvREADME.md:182Чтение файла .envcp .env.example .env
Просканировано файлов: 22. Улики замаскированы. Пометки в серых чипах объясняют, почему серьёзность понижена.
По спецификации Agent Skills
- ошибка
name-longname длиннее 64 символов - предупреждение
name-formatname должен быть в kebab-case (строчные буквы, цифры, дефисы) - предупреждение
description-shortdescription короче 40 символов: модели не хватит сигнала для срабатывания - предупреждение
description-no-whendescription не говорит, КОГДА применять скилл (нет "use when / используй когда")
Процессный рейтинг: все десять параметров 26/100
- 0Шаги. Инструкция сплошным текстом, шаги не выделены
- 0Результат и критерий готовности. Не сказано, что считать результатом
- 0Когда включается. Не сказано, при каком запросе скилл включается
- 0Входы и предусловия. Не сказано, что нужно иметь на входе
- 0Отчётность по ходу. Скилл ничего не сообщает по ходу работы
- 30Повторный запуск. Изменяющих операций: 1, без проверки текущего состояния
- 40Согласованность. Имя во frontmatter (x-reader\n\nUniversal content reader — fetch, transcribe, and digest content from any platform.\n\n## Trigger\n\nWhen user sends content (URL, text, or transcript) with analysis intent:\n- 「analyze [URL]》\n- "Analyze this article"\n- "What are the key takeaways?"\n- Auto-triggered after video/podcast transcription (from video skill)\n\n## Pipeline\n\n### Step 1: Get Content\n\nChoose tool based on input type:\n\n| Input | Tool |\n|-------|------|\n| Tweet URL | or Jina Reader |\n| Web URL | or Jina Reader |\n| Local file | Read file directly |\n| Transcript from video skill | Use directly |\n\n### Step 2: Multi-Dimensional Analysis\n\nScan content across these dimensions. Only output dimensions with actual content — skip empty ones.\n\n\n\n### Step 3: Personalized Relevance (Customizable)\n\nMap insights to YOUR context. Edit the dimensions below to match your own projects, interests, and systems.\n\n\n\n> **Customization**: Edit the dimensions in Step 2 and Step 3 to match your own\n> domain. A trader might add "Market Impact" and "Risk Assessment". A developer\n> might add "Architecture Patterns" and "Tech Debt". Make it yours.\n\n## Output Modes\n\n| Mode | Trigger | Output |\n|------|---------|--------|\n| **Full** (default) | | All dimensions |\n| **Sparse** | | Only hit dimensions, skip empty |\n| **Brief** | | Action items only |\n\n## Best Practices\n\n1. **Scan all dimensions, but don't force-fill** — skip empty dimensions cleanly\n2. **Actions must be specific** — not "learn about X" but "read X docs chapter Y"\n3. **Distinguish fact from opinion** — mark the author's claims vs verified facts\n4. **Source everything** — tag where each insight comes from in the original content\n5. **ROI awareness** — not every action is worth doing, assess effort vs impact\n\n## Supported Platforms\n\n| Platform | Text Fetch | Video/Audio Transcript |\n|----------|-----------|----------------------|\n| YouTube | ✅ Jina | ✅ yt-dlp subtitles → Groq Whisper fallback |\n| Bilibili (B屏) | ✅ API | ✅ via Claude Code skill |\n| X / Twitter | ✅ Jina → Playwright | — |\n| WeChat (微信公众号) | ✅ Jina → Playwright | — |\n| Xiaohongshu (小红书) | ✅ Jina → Playwright* | — |\n| Telegram | ✅ Telethon | — |\n| RSS | ✅ feedparser | — |\n| 小宇舟 (Xiaoyuzhou) | — | ✅ via Claude Code skill |\n| Apple Podcasts | — | ✅ via Claude Code skill |\n| Any web page | ✅ Jina fallback | — |\n\n> \*XHS requires a one-time login: (saves session for Playwright fallback)\n>\n> YouTube Whisper transcription requires — get a free key from [Groq](https://console.groq.com/keys)\n\n## Dependencies\n\n- Python package (provides core content fetching)\n- Optional: for Whisper transcription\n- Optional: + for Telegram support\n- Optional: Playwright for browser-based scraping\n\n## Source & Issues\n\n- **Source:** https://github.com/runesleo/x-reader\n- **Issues:** https://github.com/runesleo/x-reader/issues\n- **Author:** [@runes_leo](https://x.com/runes_leo)) не совпадает с папкой (x-reader)
- 50Ошибки и развилки. Развилок: 0, есть раздел про ошибки
- 60Инструменты и файлы. Используются инструменты (web, python), но во frontmatter они не объявлены
- 100Стоимость исполнения. Тело инструкции 743 токенов
Всё перечисленное измерено по тексту скилла, а не оценено моделью: цифры проверяемы. Вес параметра тем больше, чем чаще из-за него процесс встаёт.
Сигналы качества
- +5В description нет примеров фраз, по которым скилл должен срабатывать
- +4Описание не говорит, когда скилл НЕ применять (ложные срабатывания)
- +3Длина description 8: рекомендуется 120–800 символов
- +4Структура: 1 заголовков, инструкции сложно сканировать
- +3Нет пошаговых инструкций или чек-листа
- +3Формат ответа не описан: модель каждый раз решает сама
- +4Нет примеров входа/выхода
- -212 эмодзи в инструкциях: шум для модели
- +1Лицензия не указана
- +2Инструкции на одном языке
База качества 70; замечания lint вычитаются, сигналы прибавляют до 100. Итог: 28.