SKILLEMALL.ai

BF amphp

Написание неблокирующего асинхронного PHP-кода с использованием фреймворка AMPHP — revolt/event-loop, amphp/amp ^3 и всей экосистемы amphp/* (http-server, http-client, websocket, mysql, redis, parallel, socket, pipeline, file, cache, sync, dns, process). Всегда используйте этот навык, когда PHP-код включает: пакеты amphp/*, цикл событий Revolt, Amp\Future, Amp\async(), Amp\delay(), PHP Fibers для асинхронного ввода-вывода, DeferredFuture, TimeoutCancellation, SocketHttpServer, WebsocketClientHandler или Worker\Task. Также используйте, когда пользователь хочет заменить блокирующий PHP (curl_exec, file_get_contents, PDO, sleep) асинхронными эквивалентами AMPHP, создать неблокирующий PHP HTTP или WebSocket-сервер, выполнять параллельный PHP ввод-вывод без pcntl или отлаживать поведение цикла событий Revolt — даже если они не говорят «amphp» явно, но контекст явно указывает на эту экосистему.

машинный переводПоказать оригиналСкрыть оригинал«Writing non-blocking, async PHP code using the AMPHP framework — revol…»

Writing non-blocking, async PHP code using the AMPHP framework — revolt/event-loop, amphp/amp ^3, and the full amphp/* ecosystem (http-server, http-client, websocket, mysql, redis, parallel, socket, pipeline, file, cache, sync, dns, process). Always use this skill when PHP code involves: amphp/* packages, the Revolt event loop, Amp\Future, Amp\async(), Amp\delay(), PHP Fibers for async I/O, DeferredFuture, TimeoutCancellation, SocketHttpServer, WebsocketClientHandler, or Worker\Task. Also use when the user wants to replace blocking PHP (curl_exec, file_get_contents, PDO, sleep) with AMPHP async equivalents, build a non-blocking PHP HTTP or WebSocket server, run concurrent PHP I/O without pcntl, or debug Revolt event-loop behavior — even if they don't say "amphp" explicitly but the context clearly points to this ecosystem.

ClawHub Agent Skills автор: Sergey Krupkin v1.0.0 MIT-0 30 файлов тело ≈ 1 593 токенов Открыть источникclawhub.ai проанализирован 3 дн назад

Написание неблокирующего асинхронного PHP-кода с использованием фреймворка AMPHP — revolt/event-loop, amphp/amp ^3 и всей экосистемы amphp/ (http-server…

Как процесс F 42/100 · Не запустится — Скилл ссылается на файлы, которых нет в архиве: templates/http-server.php, templates/websocket-handler.php, templates/parallel-task.php

ГенераторMySQLРазработкаИнфраструктуратип и темы размечены автоматически по тексту скилла
JSON
Технический рейтинг
B
77/100
безопасность, качество, тесты
Безопасность 60%
80
Качество 40%
73
Прогон на моделях
не было
Процессный рейтинг
F
42/100
Не запустится
Скилл ссылается на файлы, которых нет в архиве: templates/http-server.php, templates/websocket-handler.php, templates/parallel-task.php
Инструменты и файлы вес 18
0
Результат и критерий готовности вес 14
0
Входы и предусловия вес 11
0
три самых слабых из десяти параметров · все десять

Чем это грозит

Находки средней серьёзности: скорее всего скилл честный, но прочитайте, что именно насторожило сканер.

Широкие права средняя серьёзность

Ниже описан худший случай для этой категории. Здесь находка средней серьёзности: guard увидел признак, но не доказательство.

Если установить

Скилл просит больше прав, чем нужно для задачи: широкий доступ к инструментам, секретные переменные окружения, бинарные файлы. Каждое лишнее право расширяет ущерб при ошибке или взломе.

Автору

Сузьте allowed-tools и список переменных до минимума, замените бинарники на исходники или скрипты, которые можно прочитать.

Как улучшить

  1. В тексте есть ссылки на отсутствующие файлы: добавьте файлы или уберите ссылки.
Для прогона на моделях — необязательно
  • spec.yaml с триггерными фразами и утверждениями — контракт поведения для CI; `skilltest init` создаст шаблон.

Находки guard · 16

✓ Критических и высоких находок нет

Средние и низкие: 16
  • средняя Широкие права meta-broad-allowed-tools SKILL.md:1
    Заранее разрешены широкие инструменты: Bash
    allowed-tools: Read Write Edit Bash Glob Grep Agent
  • низкая Секреты в коде secret-high-entropy-token docs/common-mistakes.md:183
    Строка, похожая на токен (может быть id, хеш или секрет)
    new Base…eam(new ReadableBuffer($encoded))
  • низкая Секреты в коде secret-high-entropy-token docs/common-mistakes.md:189
    Строка, похожая на токен (может быть id, хеш или секрет)
    new Base…eam(new ReadableIterableStream([$encoded]))
  • низкая Секреты в коде secret-high-entropy-token docs/constructors.md:86
    Строка, похожая на токен (может быть id, хеш или секрет) (определение детектора / чёрного списка)
    // Use instead of ReadableBuffer as source for Base…eam
    детектор
  • низкая Секреты в коде secret-high-entropy-token docs/namespaces.md:60
    Строка, похожая на токен (может быть id, хеш или секрет)
    use Amp\ByteStream\Base64\Base…eam;     // Base64 encode
  • низкая Секреты в коде secret-high-entropy-token docs/namespaces.md:61
    Строка, похожая на токен (может быть id, хеш или секрет)
    use Amp\ByteStream\Base64\Base…eam;     // Base64 decode (use ReadableIterableStream as source!)
  • низкая Секреты в коде secret-high-entropy-token examples/byte-stream.md:58
    Строка, похожая на токен (может быть id, хеш или секрет) (определение детектора / чёрного списка; тестовый файл / пример)
    // Required as source for Base…eam (see below).
    детектортестовый файл
  • низкая Секреты в коде secret-high-entropy-token examples/byte-stream.md:125
    Строка, похожая на токен (может быть id, хеш или секрет) (тестовый файл / пример)
    use Amp\ByteStream\Base64\Base…eam;
    тестовый файл
  • низкая Секреты в коде secret-high-entropy-token examples/byte-stream.md:126
    Строка, похожая на токен (может быть id, хеш или секрет) (тестовый файл / пример)
    use Amp\ByteStream\Base64\Base…eam;
    тестовый файл
  • низкая Секреты в коде secret-high-entropy-token examples/byte-stream.md:132
    Строка, похожая на токен (может быть id, хеш или секрет) (тестовый файл / пример)
    $encoded = buffer(new Base…eam(new ReadableBuffer("hello world")));
    тестовый файл
  • низкая Секреты в коде secret-high-entropy-token examples/byte-stream.md:135
    Строка, похожая на токен (может быть id, хеш или секрет) (тестовый файл / пример)
    // ReadableBuffer closes itself after returning EOF, which causes Base…eam
    тестовый файл
  • низкая Секреты в коде secret-high-entropy-token references/class-examples.md:235
    Строка, похожая на токен (может быть id, хеш или секрет) (тестовый файл / пример)
    // calls isClosed() mid-stream (e.g. Base…eam).
    тестовый файл
  • низкая Секреты в коде secret-high-entropy-token references/class-examples.md:247
    Строка, похожая на токен (может быть id, хеш или секрет) (тестовый файл / пример)
    ### Base…eam / Base…eam
    тестовый файл
  • низкая Секреты в коде secret-high-entropy-token references/class-examples.md:249
    Строка, похожая на токен (может быть id, хеш или секрет) (тестовый файл / пример)
    use Amp\ByteStream\Base64\Base…eam;
    тестовый файл
  • низкая Секреты в коде secret-high-entropy-token references/class-examples.md:250
    Строка, похожая на токен (может быть id, хеш или секрет) (тестовый файл / пример)
    use Amp\ByteStream\Base64\Base…eam;
    тестовый файл
  • низкая Секреты в коде secret-high-entropy-token references/class-examples.md:256
    Строка, похожая на токен (может быть id, хеш или секрет) (тестовый файл / пример)
    new Base…eam(new ReadableBuffer("hello world"))
    тестовый файл

Просканировано файлов: 28. Улики замаскированы. Пометки в серых чипах объясняют, почему серьёзность понижена.

По спецификации Agent Skills

  • предупреждение missing-ref ссылка на отсутствующий файл: templates/http-server.php
  • предупреждение missing-ref ссылка на отсутствующий файл: templates/websocket-handler.php
  • предупреждение missing-ref ссылка на отсутствующий файл: templates/parallel-task.php
  • предупреждение missing-ref ссылка на отсутствующий файл: scripts/server-demo.php
  • предупреждение missing-ref ссылка на отсутствующий файл: scripts/http-client-demo.php

Процессный рейтинг: все десять параметров 42/100

Не запустится. Скилл ссылается на файлы, которых нет в архиве: templates/http-server.php, templates/websocket-handler.php, templates/parallel-task.php
  • 0Инструменты и файлы. Не хватает 5 файла(ов): templates/http-server.php, templates/websocket-handler.php, templates/parallel-task.php
  • 0Результат и критерий готовности. Не сказано, что считать результатом
  • 0Входы и предусловия. Не сказано, что нужно иметь на входе
  • 0Ошибки и развилки. Линейный процесс без обработки сбоев
  • 0Отчётность по ходу. Скилл ничего не сообщает по ходу работы
  • 30Повторный запуск. Изменяющих операций: 4, без проверки текущего состояния
  • 100Шаги. Шагов: 5
  • 100Когда включается. Сказано, когда применять и когда не применять
  • 100Согласованность. Имя и обязательные поля на месте
  • 100Стоимость исполнения. Тело инструкции 1593 токенов
  • medium Тестов 3, и все положительные: нет ни одного случая «должен отказать» или «должен переспросить»

Всё перечисленное измерено по тексту скилла, а не оценено моделью: цифры проверяемы. Вес параметра тем больше, чем чаще из-за него процесс встаёт.

Сигналы качества

  • +5В description нет примеров фраз, по которым скилл должен срабатывать
  • +4Описание не говорит, когда скилл НЕ применять (ложные срабатывания)
  • +3Длина description 833: рекомендуется 120–800 символов
  • +3Формат ответа не описан: модель каждый раз решает сама
  • +1Лицензия не указана
  • +2Инструкции на одном языке
  • +4Структура: 11 заголовков
  • +3Пошаговые инструкции: 5 пунктов
  • +4Есть примеры (0 блоков кода)
  • +4Справочные файлы упоминаются в инструкциях (7 из 7)

База качества 70; замечания lint вычитаются, сигналы прибавляют до 100. Итог: 73.

Внешние проверки

ClawHub: suspicious
The skill is a coherent AMPHP coding guide, but several production-oriented examples model unsafe server, credential, and upload handling that users should review before installation.
LLM: suspicious (medium) · VirusTotal: · 29 мая 2026 г.