К основному содержанию
скилл Claude Code CX Codex Cursor GitHub Copilot

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

Скилл учит агента вызывать CLI Knap, чтобы рендерить Markdown-шаблоны из JSON или CSV и собирать заметки пачками.

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

Что делает knap

Knap — это CLI-инструмент, который скилл подключает к агенту для рендеринга Markdown-шаблонов: переменные, фильтры и логика внутри {{ }} и {% %}. Агент берёт JSON или CSV, подставляет значения через knap render template.md --data article.json -o note.md и получает готовый файл. Проверить синтаксис шаблона без записи на диск можно командой knap validate template.md.

Для пакетной обработки есть knap batch: из CSV-строк, элементов JSON-массива или папки с JSON-файлами получаются отдельные Markdown-файлы, а имена задаются шаблоном вроде {{ title | safe_name }}.md. Отдельно описан пайплайн с Defuddle: вывод defuddle parse с полями title и content передаётся прямо в knap render.

Поставить Knap CLI нужно заранее: npm install -g knap, при этом требуется Node.js версии 20 или новее, либо запускать без установки через npx knap.

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

  • превратить JSON или CSV в Markdown-заметки по шаблону
  • собрать пачку файлов из CSV-строк или JSON-массива одной командой
  • отформатировать вывод Defuddle в готовую заметку
  • проверить шаблон на ошибки синтаксиса до рендеринга
  • задать имена файлов по шаблону при массовой генерации заметок

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

  • Отрендери template.md с данными из article.json в note.md
  • Собери Markdown-заметки из articles.csv в папку notes
  • Проверь template.md на ошибки перед рендерингом

Как установить knap

1Через Skills CLI (Vercel)

npx skills add kepano/obsidian-skills --skill knap -a claude-code

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

~/.claude/skills/knap/SKILL.md

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

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

Весь набор →

Похожие

bmad-agent-architect bmad-code-org Скилл превращает требования тикета в техническую архитектуру с явными компромиссами. Подойдёт, когда нужно обсудить решение с архитектором Winston. Claude Code CX Codex Cursor +1 11 800установок bmad-brainstorming bmad-code-org Скилл ведёт сессию брейншторма: агент задаёт вопросы по одной, меняет креативные техники и копит идеи в memlog. Пригодится, когда нужно накидать вариантов больше обычного. Claude Code CX Codex Cursor +1 11 800установок discord openclaw Скилл прогоняет месседжинг Discord через message-инструмент OpenClaw: отправлять, править, удалять, закрепить и отреагировать, плюс интерактивные кнопки. Поможет, когда агенту нужен Discord как канал ответов и уведомлений. Claude Code CX Codex Cursor +1 3 000установок bmad-agent-analyst bmad-code-org Скилл превращает агента в бизнес-аналитика Mary: разбирает рынок, конкурентов и требования, доводит расплывчатые запросы до спецификаций. Claude Code CX Codex Cursor +1 11 700установок bmad-product-brief bmad-code-org Ведёт разговор о продукте и помогает собрать бриф: что за штука, для кого, что неизвестно. Пригодится на старте идеи или когда старый бриф надо перепроверить. Claude Code CX Codex Cursor +1 11 600установок bmad-prd bmad-code-org Создаёт, обновляет и проверяет PRD по заданному уровню детализации. Пригодится, когда требования нужно собрать в рабочий документ. Claude Code CX Codex Cursor +1 11 600установок find-skills vercel-labs Ищет и устанавливает готовые скиллы для ИИ-агентов через каталог skills.sh. Пригодится, когда для рабочей задачи нужен специализированный воркфлоу. Claude Code CX Codex Cursor +1 4 000 000установок grill-me Matt Pocock Скилл проводит жёсткое интервью по плану или дизайну, чтобы найти пробелы и уточнить решения. Подойдёт перед началом разработки. Claude Code 1 424 476установок

Вопросы о knap

Как установить knap в Claude Code?

Выполните npx skills add kepano/obsidian-skills --skill knap -a claude-code. После этого скилл появится в ~/.claude/skills/knap/SKILL.md.

Что делает knap?

Скилл подключает CLI Knap, который рендерит Markdown-шаблоны с переменными и фильтрами из JSON или CSV, а также умеет пакетно генерировать файлы и форматировать вывод Defuddle в заметки.

Что нужно для работы knap?

Нужен установленный глобально пакет npm install -g knap и Node.js версии 20 или новее, либо запуск без установки через npx knap.

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

SKILL.md · MIT
---
name: knap
description: Render Markdown from templates and structured data using Knap CLI. Use when the user asks to apply a Knap template, turn JSON or CSV data into notes, batch-generate Markdown files, or format Defuddle output into a note.
---

# Knap

Use Knap CLI to render Markdown templates with variables, filters, and logic.

If not installed: `npm install -g knap` (requires Node.js 20 or later). Alternatively, use `npx knap`.

Run `knap --help` for available commands and options. Discover the language through the CLI's offline reference:

```bash
knap help syntax
knap help filters
knap help filter date
knap help tags
knap help tag for
```

Use the lists to find names, then request individual help for syntax, parameters, and examples with expected output.

## Usage

Render a template with JSON variables:

```bash
knap render template.md --data article.json -o note.md
```

Supply a template and data inline:

```bash
knap render -t '# {{ title | trim }}' --data-json '{"title":"Hello"}'
```

Override a variable or pipe JSON data:

```bash
knap render template.md --data article.json --set 'title=Custom title'
cat article.json | knap render template.md --data -
```

Data must be a JSON object; its properties become template variables. `--set` overrides literal top-level keys with strings. Use JSON for nested objects, arrays, numbers, and booleans.

Choose one template source (file, `-t`, or stdin) and one data source (`--data` or `--data-json`). Only one input can read stdin. Without a template file or `-t`, Knap reads the template from stdin.

Output defaults to stdout. `-o` creates parent directories and overwrites the destination after rendering succeeds. Errors exit with status `1`; diagnostics go to stderr. Warnings can accompany successful output.

## Templates

Use `{{ variable }}` for values, `|` for filters, and `{% ... %}` for logic. For example, save this as `template.md`:

```knap
---
{{ title | yaml_property:"title" }}
{{ tags | yaml_property:"tags" }}
---
# {{ title | trim }}
{% if author %}
By {{ author }}
{% endif %}

{{ content }}
```

Use `yaml_property` for complete frontmatter properties so values are quoted and indented correctly. The CLI includes standard filters, but does not supply Web Clipper browser variables, selectors, prompts, or DOM-dependent HTML filters. Supply variables through JSON.

Check a template before rendering:

```bash
knap validate template.md
```

Validation checks syntax, filter names, and static filter arguments without data or file output. It does not check variable existence, runtime values, or dynamic arguments; render with real data to check runtime behavior. Diagnostics go to stderr and include relevant help commands.

## Defuddle pipeline

Extract a web page as JSON with Markdown content, then render it into a note:

```bash
defuddle parse https://example.com/article --md --json \
  | knap render template.md --data - -o note.md
```

Defuddle's JSON properties, such as `title` and `content`, become template variables directly.

## Batch rendering

Create one file per CSV row, JSON array object, or JSON file in a folder:

```bash
knap batch template.md --data articles.csv --output-dir notes \
  --filename '{{ title | safe_name }}.md'
```

Use `--data articles.json` for an array or `--data ./articles` for a folder of JSON objects. CSV headers become variable names and values remain strings. Piped data defaults to JSON; add `--format csv` for piped CSV.

Use `--dry-run` to validate and list output paths without writing files. Existing files require `--overwrite`, including during a dry run. Duplicate output names within a batch are errors even with `--overwrite`.

Filename templates must produce a single filename with its extension, without directories. Use `safe_name` for data-derived names. Without `--filename`, Knap preserves source JSON basenames or numbers CSV rows and array items as `1.md`, `2.md`, and so on.

© kepano · MIT · kepano/obsidian-skills

Смотрите также

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

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