Skip to content
Back to skills

Copyblock

ASecurity

Текст, который человек понесёт дальше копипастой, отдавать моноширинным блоком — копируется одним тапом с телефона. Применять при словах «дай сообщением», «для копирования», «перешли ему», «черновик клиенту», а также к командам, реквизитам, адресам и ключам.

  • 3 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 19, 2026
toolspython

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned September 19, 2026

npx -y skills add shakhruz/mila-companion --skill copyblock --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Copyblock?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Copyblock
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/shakhruz-copyblock/badge)](https://www.skillsdirectory.com/skills/shakhruz-copyblock)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: copyblock
description: "Текст, который человек понесёт дальше копипастой, отдавать моноширинным блоком — копируется одним тапом с телефона. Применять при словах «дай сообщением», «для копирования», «перешли ему», «черновик клиенту», а также к командам, реквизитам, адресам и ключам."
---

# copyblock — текст, который копируют одним тапом

Самый частый рабочий обмен с владельцем выглядит так: агент пишет текст,
владелец копирует и отправляет сам. Делает он это с телефона. Выделять абзац
пальцем на телефоне неудобно, поэтому текст для пересылки обязан быть
моноширинным блоком: тап по блоку копирует его целиком.

Черновик без блока — несработавший навык, даже если текст безупречен.

## Жёсткий триггер

Любая из этих формулировок означает копи-блок, без исключений:
«дай сообщением», «для копирования», «для пересылки», «перешли ему»,
«напиши ему/ей», «черновик клиенту», «текст для X».

Плюс всегда, независимо от слов, если в сообщении есть: команда, ключ или
плейсхолдер ключа, адрес, реквизиты, номер счёта, промт, шаблон ответа —
то есть всё, что человек понесёт дальше копипастой.

## Правило содержимого

**В блоке — только то, что уйдёт адресату.** Ни обращения к владельцу, ни
пояснений, ни «вот текст». Комментарии — обычным текстом до или после блока.
Если владелец скопирует блок и отправит не глядя, адресат должен получить
готовое сообщение.

**Одно сообщение — один блок.** Два черновика в одном сообщении заставляют
целиться пальцем; отправляй двумя сообщениями.

## Как отправить: два канала, две механики

### Канал сессии (плагин Telegram, инструмент reply)

Плагин по умолчанию шлёт обычный текст, и тройные бэктики уйдут сырыми
символами — человек увидит палочки вместо блока. Нужен `format: "markdownv2"`.

Собирать разметку глазами нельзя: одна неэкранированная точка роняет отправку
целиком с ошибкой `Character '.' is reserved`. Хелпер рядом с навыком:

```python
import sys; sys.path.insert(0, "<каталог этого навыка>")
from tg_md2 import esc, code_block, build

text = build(esc("Готово, копируйте целиком:"),
             code_block("Добрый день! ..."),
             esc("Отправляйте как есть."))
```

Затем `reply(chat_id=..., text=text, format="markdownv2")`.

Если разметка всё же упала с ошибкой разбора — фолбэк: отправить обычным
текстом, где копируемый кусок идёт **отдельным сообщением целиком**, без
единой посторонней строки. Такое сообщение копируется долгим нажатием.

### Канал агента флота (движок)

Механика уже в движке: тройные бэктики превращаются в моноширинный блок.
Агенту достаточно обернуть текст в ``` ``` — ничего настраивать не нужно.

## Проверка перед отправкой

- Блок содержит только текст адресата, без обращений к владельцу.
- Для канала сессии выставлен `format: "markdownv2"`, разметка собрана хелпером.
- В блоке нет плейсхолдеров вроде `{{имя}}` — грепнуть перед отправкой.
- Один блок на сообщение.

## Почему это правило жёсткое

Оно нарушается тихо: текст выглядит правильным, ошибку видит только человек,
которому неудобно на телефоне. Поэтому проверка идёт не по ощущению «вроде
оформил», а по списку выше.

Files in this skill

  • SKILL.md5.2 KB
  • tg_md2.py1.5 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.