К основному содержанию
скилл CX Codex

add-command — скилл для Claude Code: что делает и как установить

Пошагово проводит через добавление поддержки новой CLI-команды в Dippy. Помогает выбрать между простым списком разрешений и отдельным обработчиком флагов.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add ldayton/Dippy --skill add-command -a claude-code
Открыть на GitHub

Что делает add-command

Скилл автоматизирует расширение кодовой базы Dippy. Сначала он изучает поведение переданной команды через man, флаг --help или страницы tldr, разделяя операции чтения и мутации.

Далее сценарий предлагает развилку. Безопасные утилиты только для чтения вносятся в список SIMPLE_SAFE в src/dippy/core/allowlists.py с тестами в tests/test_simple.py. Если утилите требуется детальный разбор флагов и подкоманд, создаются тесты tests/cli/test_<command>.py и файл обработчика src/dippy/cli/<command>.py с функцией classify.

Скилл жёстко рассчитан на архитектуру репозитория Dippy и сборщик just. Проверка считается завершённой только после успешного выполнения команд just test и just check.

Какие задачи решает

  • добавить безопасную CLI-утилиту в список SIMPLE_SAFE
  • написать тесты валидации подкоманд на pytest
  • создать обработчик классификации действий в src/dippy/cli/
  • проверить корректность правил через just check

Примеры запросов агенту

  • /add-command git
  • /add-command docker
  • Добавь поддержку команды ripgrep в Dippy через /add-command

Как установить add-command

1Через Skills CLI (Vercel)

npx skills add ldayton/Dippy --skill add-command -a claude-code

2Вручную: положить файлы

~/.claude/skills/add-command/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/add-command/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о add-command

Как установить add-command в Claude Code?

Выполните команду npx skills add ldayton/Dippy --skill add-command -a claude-code. Файл навыка запишется в ~/.claude/skills/add-command/SKILL.md.

Когда команда попадает в SIMPLE_SAFE, а когда нужен обработчик?

В SIMPLE_SAFE заносят утилиты, которые только читают данные и не содержат деструктивных опций при любых аргументах. Если поведение утилиты меняется в зависимости от подкоманд, для неё пишется файл классификации в src/dippy/cli/.

Как проверить добавленную команду?

Запустите команду just test для отладки тестов. Финальный шаг требует обязательного прохождения проверки just check.

Исходный текст

SKILL.md · MIT
---
name: add-command
description: Add support for a new CLI command. Use when implementing a handler or adding to SIMPLE_SAFE.
argument-hint: <command>
disable-model-invocation: true
---

Add support for `$ARGUMENTS` in Dippy.

## 1. Research

**tldr pages:**
```
ls ~/source/tldr/pages/*/$ARGUMENTS*.md
cat ~/source/tldr/pages/*/$ARGUMENTS.md
```

**CLI docs:**
```
$ARGUMENTS --help
man $ARGUMENTS
```

Note which operations are read-only vs mutations.

## 2. Decide: Handler or SIMPLE_SAFE?

- **SIMPLE_SAFE**: Always safe regardless of arguments (read-only, no destructive flags). Go to step 3A.
- **Handler**: Needs subcommand/flag analysis. Go to step 3B.

## 3A. SIMPLE_SAFE Path

Add to `SIMPLE_SAFE` in `src/dippy/core/allowlists.py` and add tests to `tests/test_simple.py` in the appropriate category. Skip to step 5.

## 3B. Handler Path

Create `tests/cli/test_$ARGUMENTS.py`:

```python
"""Test cases for $ARGUMENTS."""

import pytest
from conftest import is_approved, needs_confirmation

TESTS = [
    # Safe operations
    ("$ARGUMENTS <safe-subcommand>", True),
    ("$ARGUMENTS --help", True),
    # Unsafe operations
    ("$ARGUMENTS <unsafe-subcommand>", False),
]

@pytest.mark.parametrize("command,expected", TESTS)
def test_command(check, command: str, expected: bool):
    result = check(command)
    if expected:
        assert is_approved(result), f"Expected approve: {command}"
    else:
        assert needs_confirmation(result), f"Expected confirm: {command}"
```

## 4. Implement Handler

Create `src/dippy/cli/$ARGUMENTS.py`:

```python
"""$ARGUMENTS handler for Dippy."""

from dippy.cli import Classification, HandlerContext

COMMANDS = ["$ARGUMENTS"]

SAFE_ACTIONS = frozenset({"list", "show", "status"})

def classify(ctx: HandlerContext) -> Classification:
    tokens = ctx.tokens
    action = tokens[1] if len(tokens) > 1 else None
    if action in SAFE_ACTIONS:
        return Classification("allow", description=f"$ARGUMENTS {action}")
    return Classification("ask", description="$ARGUMENTS")
```

For handler patterns (nested subcommands, flag-checking, delegation), see [patterns.md](patterns.md).

## 5. Iterate

```
just test
```

Fix failures until tests pass.

## 6. Verify

`just check` MUST pass before you're done.

© ldayton · MIT · ldayton/Dippy

Похожие скиллы

Все скиллы по теме «Безопасность» →
git-guardrails-claude-code Matt Pocock Скилл ставит хук Claude Code, который останавливает опасные Git-команды до их запуска. Нужен, если агент не должен делать push или удалять изменения. 499 069установок ponytail-review DietrichGebert Скилл проверяет изменения глубже обычного diff: читает связанный код, ищет ошибки, риски, проблемы нагрузки и недостающие тесты. Пригодится для ревью PR и коммитов. CX Codex +1 57 000установок ponytail-audit DietrichGebert Проверяет репозиторий и ранжирует ошибки, риски и лишний код. Подойдёт, если нужен разовый разбор без автоматических правок. CX Codex +1 45 400установок security-audit cloudflare Проверяет кодовую базу на уязвимости и ищет нарушения границ доверия. Пригодится перед релизом или для точечного разбора опасных участков кода. CX Codex +1 54 800установок security-and-hardening addyosmani Помогает проектировать защиту и проверять код на уязвимости при работе с вводом, авторизацией, сессиями и внешними сервисами. Подойдёт перед релизом и при создании функций, которые обрабатывают недоверенные данные. CX Codex +1 70 200установок supabase официальный supabase Скилл помогает настраивать базу данных, аутентификацию и RLS в Supabase без скрытых дыр в безопасности. CX Codex GP ChatGPT 8установок

Из того же набора5

Спонсоры проекта

Компании, которые помогают держать аналитику открытой