SKILLEMALL.ai

CD agent-memory-improved

Запуск локальной службы памяти агента для постоянного самосовершенствования с надлежащей криптографией Ed25519. Исправленная реализация подписи для надежного хранения и извлечения памяти.

машинный переводПоказать оригиналСкрыть оригинал«Run a local Agent Memory Service for persistent self-improvement with…»

Run a local Agent Memory Service for persistent self-improvement with proper Ed25519 cryptography. Fixed signature implementation for reliable memory storage and retrieval.

modbender/skill-library-mcp Agent Skills автор: modbender MIT 12 файлов · 2 скрипта тело ≈ 731 токенов Открыть источникgithub.com проанализирован 2 дн назад

Запуск локальной службы памяти агента для постоянного самосовершенствования с надлежащей криптографией Ed25519.

Как процесс D 49/100 · Процесс не доведён — слабые места: результат и критерий готовности, когда включается, входы и предусловия

ПроцедураИИ и агентытип и темы размечены автоматически по тексту скилла
JSON
Технический рейтинг
C
63/100
безопасность, качество, тесты
Безопасность 60%
59
Качество 40%
69
Прогон на моделях
не было
Процессный рейтинг
D
49/100
Процесс не доведён
Результат и критерий готовности вес 14
0
Входы и предусловия вес 11
0
Ошибки и развилки вес 10
0
три самых слабых из десяти параметров · все десять

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

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

Рискованное назначение средняя серьёзность

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

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

Назначение скилла само по себе рискованное: работа с кошельками, паролями браузера, наступательная безопасность. Даже честная реализация даёт агенту доступ к тому, что стоит денег.

Автору

Объясните в description, зачем нужен доступ и как он ограничен; добавьте тесты, которые показывают отказ на опасных запросах.

Как улучшить

  1. Скажите в description, КОГДА применять скилл («используй, когда…», примеры запросов): это главный сигнал для агента.
Для прогона на моделях — необязательно
  • Свои кейсы (evals/evals.json, 4–6 реальных запросов с ожидаемыми ответами): тогда полная проверка прогонит именно их, а не черновик от модели.
  • spec.yaml с триггерными фразами и утверждениями — контракт поведения для CI; `skilltest init` создаст шаблон.

Находки guard · 21

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

Средние и низкие: 21
  • средняя Рискованное назначение intent-wallet-secrets CHANGELOG.md:9
    Работает с секретами криптокошелька (сид-фраза / приватный ключ) — классическая цель стилеров
    - Properly derives Ed25519 private key from BIP39 recovery phrase
  • средняя Рискованное назначение intent-wallet-secrets CHANGELOG.md:13
    Работает с секретами криптокошелька (сид-фраза / приватный ключ) — классическая цель стилеров
    - Fixed private key derivation from recovery phrase
  • средняя Рискованное назначение intent-wallet-secrets README.md:55
    Работает с секретами криптокошелька (сид-фраза / приватный ключ) — классическая цель стилеров
    Save your recovery phrase! It's the only way to recover your identity.
  • средняя Рискованное назначение intent-wallet-secrets SKILL.md:14
    Работает с секретами криптокошелька (сид-фраза / приватный ключ) — классическая цель стилеров
    - **Correct key derivation** - Private key properly derived from BIP39 recovery phrase
  • средняя Рискованное назначение intent-wallet-secrets SKILL.md:85
    Работает с секретами криптокошелька (сид-фраза / приватный ключ) — классическая цель стилеров
    - Recovery phrase for identity backup
  • низкая Рискованное назначение intent-wallet-secrets assets/service/main.py:8
    Работает с секретами криптокошелька (сид-фраза / приватный ключ) — классическая цель стилеров (в кавычках — упоминание, а не команда)
    - Recover using a BIP39-style recovery phrase
    в кавычках
  • низкая Рискованное назначение intent-wallet-secrets assets/service/main.py:98
    Работает с секретами криптокошелька (сид-фраза / приватный ключ) — классическая цель стилеров (в кавычках — упоминание, а не команда)
    message: str = "Save your recovery phrase! It's the only way to recover your identity."
    в кавычках
  • низкая Рискованное назначение intent-wallet-secrets assets/service/main.py:102
    Работает с секретами криптокошелька (сид-фраза / приватный ключ) — классическая цель стилеров (в кавычках — упоминание, а не команда)
    recovery_phrase: str = Field(..., min_length=10, description="BIP39 recovery phrase")
    в кавычках
  • низкая Рискованное назначение intent-wallet-secrets assets/service/main.py:206
    Работает с секретами криптокошелька (сид-фраза / приватный ключ) — классическая цель стилеров (в кавычках — упоминание, а не команда)
    """Generate BIP39 recovery phrase from private key"""
    в кавычках
  • низкая Рискованное назначение intent-wallet-secrets assets/service/main.py:293
    Работает с секретами криптокошелька (сид-фраза / приватный ключ) — классическая цель стилеров (в кавычках — упоминание, а не команда)
    IMPORTANT: Save the recovery phrase! It's the only way to recover your identity.
    в кавычках
  • низкая Рискованное назначение intent-wallet-secrets scripts/memory_client_original.py:42
    Работает с секретами криптокошелька (сид-фраза / приватный ключ) — классическая цель стилеров (в кавычках — упоминание, а не команда)
    """Recover private key from recovery phrase."""
    в кавычках
  • низкая Рискованное назначение intent-wallet-secrets scripts/memory_client_original.py:68
    Работает с секретами криптокошелька (сид-фраза / приватный ключ) — классическая цель стилеров (в кавычках — упоминание, а не команда)
    print(f"   Recovery phrase: {data['recovery_phrase'][:50]}...")
    в кавычках
  • низкая Рискованное назначение intent-wallet-secrets scripts/memory_client_original.py:69
    Работает с секретами криптокошелька (сид-фраза / приватный ключ) — классическая цель стилеров (в кавычках — упоминание, а не команда)
    print(f"\n⚠️  SAVE THIS RECOVERY PHRASE! It's your only way to recover your identity.")
    в кавычках
  • низкая Рискованное назначение intent-wallet-secrets scripts/memory_client_original.py:73
    Работает с секретами криптокошелька (сид-фраза / приватный ключ) — классическая цель стилеров (в кавычках — упоминание, а не команда)
    """Recover agent identity from recovery phrase."""
    в кавычках
  • низкая Рискованное назначение intent-wallet-secrets scripts/memory_client_original.py:208
    Работает с секретами криптокошелька (сид-фраза / приватный ключ) — классическая цель стилеров (определение детектора / чёрного списка)
    recover_parser.add_argument("phrase", help="Recovery phrase")
    детектор
  • низкая Рискованное назначение intent-wallet-secrets scripts/memory_client.py:42
    Работает с секретами криптокошелька (сид-фраза / приватный ключ) — классическая цель стилеров (в кавычках — упоминание, а не команда)
    """Recover private key from recovery phrase."""
    в кавычках
  • низкая Рискованное назначение intent-wallet-secrets scripts/memory_client.py:68
    Работает с секретами криптокошелька (сид-фраза / приватный ключ) — классическая цель стилеров (в кавычках — упоминание, а не команда)
    print(f"   Recovery phrase: {data['recovery_phrase'][:50]}...")
    в кавычках
  • низкая Рискованное назначение intent-wallet-secrets scripts/memory_client.py:69
    Работает с секретами криптокошелька (сид-фраза / приватный ключ) — классическая цель стилеров (в кавычках — упоминание, а не команда)
    print(f"\n⚠️  SAVE THIS RECOVERY PHRASE! It's your only way to recover your identity.")
    в кавычках
  • низкая Рискованное назначение intent-wallet-secrets scripts/memory_client.py:73
    Работает с секретами криптокошелька (сид-фраза / приватный ключ) — классическая цель стилеров (в кавычках — упоминание, а не команда)
    """Recover agent identity from recovery phrase."""
    в кавычках
  • низкая Рискованное назначение intent-wallet-secrets scripts/memory_client.py:208
    Работает с секретами криптокошелька (сид-фраза / приватный ключ) — классическая цель стилеров (определение детектора / чёрного списка)
    recover_parser.add_argument("phrase", help="Recovery phrase")
    детектор
  • низкая Рискованное назначение intent-wallet-secrets SELF_IMPROVEMENT_GUIDE.md:166
    Работает с секретами криптокошелька (сид-фраза / приватный ключ) — классическая цель стилеров (в кавычках — упоминание, а не команда)
    ./scripts/memory_client.py recover "your recovery phrase"
    в кавычках

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

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

  • предупреждение description-no-when description не говорит, КОГДА применять скилл (нет "use when / используй когда")

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

  • 0Результат и критерий готовности. Не сказано, что считать результатом
  • 0Входы и предусловия. Не сказано, что нужно иметь на входе
  • 0Ошибки и развилки. Линейный процесс без обработки сбоев
  • 0Отчётность по ходу. Скилл ничего не сообщает по ходу работы
  • 20Когда включается. Не сказано, при каком запросе скилл включается
  • 40Согласованность. Имя во frontmatter (agent-memory-improved) не совпадает с папкой (persistent-private-agent-memory)
  • 100Инструменты и файлы. Внешние инструменты не нужны
  • 100Шаги. Шагов: 25
  • 100Стоимость исполнения. Тело инструкции 731 токенов
  • 100Повторный запуск. Изменяющих операций нет
  • medium Правила безопасности и запреты внутри скилла: их место в системном промпте, здесь они не защищают
  • low Разделов верхнего уровня: 10. Похоже на несколько доменов в одном скилле

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

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

  • +5В description нет примеров фраз, по которым скилл должен срабатывать
  • +4Описание не говорит, когда скилл НЕ применять (ложные срабатывания)
  • +3Формат ответа не описан: модель каждый раз решает сама
  • -31 из 4 скриптов не упомянуты в SKILL.md
  • +1Лицензия не указана
  • +2Инструкции на одном языке
  • +3Длина description 172 символов: достаточно сигнала, не съедает бюджет
  • +4Структура: 12 заголовков
  • +3Пошаговые инструкции: 25 пунктов
  • +4Есть примеры (3 блоков кода)

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