К основному содержанию
скилл GitHub Copilot официальный · GitHub

signal-write — скилл для GitHub Copilot: установка

Скилл записывает сигналы состояния агента в JSON и журнал проекта. Нужен, когда работу надо показать оператору или панели мониторинга.

Установить в GitHub Copilot · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add github/awesome-copilot --skill signal-write
Открыть на GitHub

Что делает signal-write

signal-write помогает агенту сообщать о состоянии работы через сигналы hands-up, blocked, done, checkpoint и partnership. Он различает запрос внимания, блокировку, готовность результата, важную контрольную точку и оценку качества координации.

Основной результат — JSON-файл в каталоге .signals/. В нём сохраняются тип сигнала, подтип, время, имя агента, самооценка и сведения о сложностях. Сигнал также нужно отметить в журнале. Для связи результата с независимой оценкой используется run_id, а поле timestamp задаёт порядок сигналов.

Ставьте скилл, если агентам нужно передавать структурированные статусы в dashboard или журнал. Для обычных ответов без такой координации он избыточен.

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

  • сообщить оператору о блокировке или разногласии
  • отметить готовность результата к проверке
  • сохранить контрольную точку работы агента
  • передать оценку качества координации

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

  • Сообщи о блокировке и создай сигнал в `.signals/`.
  • Отметь завершение работы сигналом `done` и добавь запись в журнал.
  • Создай `checkpoint` с самооценкой и текущим `run_id`.

Как установить signal-write

1Через Skills CLI (Vercel)

npx skills add github/awesome-copilot --skill signal-write

2GitHub CLI

gh skill install github/awesome-copilot signal-write

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

.github/skills/signal-write/SKILL.md

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

Весь набор →
git-commit официальный github Скилл разбирает изменения Git, выбирает связанные файлы и создаёт коммит в формате Conventional Commits. Пригодится, когда нужно закоммитить одну или несколько логических частей изменений. GitHub Copilot 47 165установок excalidraw-diagram-generator официальный github Скилл превращает описание на обычном языке в диаграмму Excalidraw. Подойдёт, когда нужно показать процесс, связи между объектами или устройство системы. GitHub Copilot 31 639установок multi-stage-dockerfile официальный github Скилл помогает создавать многоэтапные Dockerfile для разных языков и фреймворков. Пригодится, когда важны размер и состав runtime-образа. GitHub Copilot 29 688установок documentation-writer официальный github Скилл для создания технической документации по фреймворку Diátaxis: туториалы, гайды, справки и объяснения. Предлагает структуру перед написанием. GitHub Copilot 27 757установок prd официальный github Собирает из идеи структурированный PRD с пользовательскими историями, техническими требованиями и рисками. Подходит для планирования новых функций, в том числе с AI. GitHub Copilot 24 035установок refactor официальный github Скилл помогает менять структуру кода без изменения внешнего поведения. Подойдёт для постепенной уборки сложных функций, дублирования и кодовых запахов. GitHub Copilot 22 321установок java-springboot официальный github Задаёт практики разработки Spring Boot-приложений: от структуры проекта до тестов и безопасности. Пригодится, когда Copilot пишет или проверяет Java-код. GitHub Copilot 21 272установок create-readme официальный github Скилл изучает проект и создаёт структурированный README.md. Подойдёт, когда документацию нужно собрать по коду и файлам проекта. GitHub Copilot 19 081установок

Похожие

signing-entitlements официальный OpenAI Диагностирует ошибки подписи кода, бандлов, песочницы и Gatekeeper в macOS. Пригодится, когда готовое приложение не запускается или отклоняется системой. CX Codex GP ChatGPT 60установок build-run-debug официальный OpenAI Собирает, запускает и помогает отлаживать macOS-приложения через shell-first workflow с Xcode и Swift. CX Codex GP ChatGPT 60установок appkit-interop официальный OpenAI Помогает встроить AppKit в SwiftUI-проекты для macOS через компактные мосты. Пригодится для доступа к NSWindow, файловым панелям и меню. CX Codex GP ChatGPT 60установок web-3d-asset-pipeline официальный OpenAI Помогает подготовить GLB и glTF 2.0 для браузерной игры: от очистки модели до проверки её структуры. Пригодится, когда стек уже выбран, а ассеты нужно довести до поставки. CX Codex GP ChatGPT 58установок window-management официальный OpenAI Помогает настраивать окна и сцены SwiftUI в macOS 15+: убирать лишний хром, задавать области перетаскивания, правила размещения и восстановления. CX Codex GP ChatGPT 58установок swiftpm-macos официальный OpenAI Собирает, запускает и тестирует macOS-пакеты SwiftPM. Пригодится, когда главным входом служит Package.swift, а проекта Xcode нет. CX Codex GP ChatGPT 58установок find-skills vercel-labs Ищет и устанавливает готовые скиллы для ИИ-агентов через каталог skills.sh. Пригодится, когда для рабочей задачи нужен специализированный воркфлоу. Claude Code CX Codex Cursor +1 4 000 000установок frontend-design официальный anthropics Скилл задаёт осмысленное визуальное направление для новых интерфейсов и редизайна. Подойдёт, когда стандартный шаблонный UI не устраивает. Claude Code Claude.ai 1 025 790установок

Вопросы о signal-write

Как установить signal-write в GitHub Copilot?

Выполните npx skills add github/awesome-copilot --skill signal-write. Файл скилла появится в .github/skills/signal-write/SKILL.md.

Что делает signal-write?

Скилл записывает структурированные сигналы агента в JSON-файлы каталога .signals/ и добавляет краткую отметку в журнал. Dashboard использует эти данные для отображения состояния работы.

Зачем signal-write нужен timestamp?

Dashboard сортирует сигналы по timestamp в формате ISO 8601 UTC. Время изменения файла используется только как запасной вариант, поэтому одной даты файловой системы недостаточно.

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

SKILL.md · MIT
---
name: signal-write
description: 'Emit structured agent signals — hands-up, blocked, done, checkpoint, partnership. Signals are written as JSON to .signals/ for dashboard consumption and noted in the journal for persistence.'
---

# Agent Signals

Emit structured signals from a desk to the operator or other desks.

## When to use

- A desk needs operator attention (hands-up, blocked)
- Work is complete and ready for review (done)
- Significant progress worth noting (checkpoint)
- Two desks disagree and can't resolve it (hands-up)
- The TA is reporting coordination quality (partnership)

## Signal types

### `hands-up`
Two desks disagree and can't settle it against external facts.
This is the system working — the operator reads where desks
*disagree*, not where they perform confidence.

### `blocked`
A desk can't proceed without input — missing access, ambiguous
scope, need a decision only the operator can make.

### `done`
Work is complete and ready for review. Artifacts are on the bench.

### `checkpoint`
Significant progress worth the operator knowing about, but work
continues. Not blocked, not done — just a marker.

### `partnership`
Used by the TA (room coordinator) to report coordination quality.
Self-assessment scores reflect coordination, not code accuracy:
- **intent** — understood what the operator needed
- **confidence** — right work went to the right desks
- **accuracy** — dispatched work produced the right outcome
- **completeness** — nothing fell through the cracks

## How to emit

### 1. Write a JSON signal file to `.signals/`

This is the primary output — it's what the dashboard reads.
Create `desks/<desk-name>/.signals/<timestamp>.json`:

```json
{
  "signal_type": "execution",
  "subtype": "checkpoint",
  "timestamp": "2026-07-19T21:30:00Z",
  "run_id": "<optional; set to pair this with an outcome signal>",
  "agent_name": "<desk-name>",
  "self_assessment": {
    "intent": 4,
    "confidence": 5,
    "accuracy": 4,
    "completeness": 3
  },
  "patterns": {
    "what_worked": "description of what went well",
    "what_was_hard": "description of challenges",
    "skill_gap": "areas for improvement"
  },
  "escalation": {
    "reason": null,
    "blocked_on": null,
    "recommendation": null
  }
}
```

### Signal type mapping

| Signal    | `signal_type`   | `subtype`      |
|-----------|-----------------|----------------|
| hands-up  | `"escalation"`  | `"hands-up"`   |
| blocked   | `"escalation"`  | `"blocked"`    |
| done      | `"execution"`   | `"done"`       |
| checkpoint| `"execution"`   | `"checkpoint"` |
| partnership| `"partnership"` | `"partnership"`|

The `subtype` field preserves the specific signal state for
dashboard consumers. `signal_type` controls sort priority
(escalation → top).

> **Note:** The signals-dashboard canvas extension reads `subtype`
> when present and falls back to `signal_type` for display. If
> consuming signals in your own tooling, prefer `subtype` for the
> specific state.

> **Ordering:** include a `timestamp` (ISO 8601 UTC). The dashboard
> orders signals by it and falls back to file mtime only when it's
> absent — a git clone/checkout resets mtimes, so mtime alone is not a
> dependable clock.

### 2. Note the signal in the journal

Also append a short marker to the desk's journal for persistence:

```markdown
## <date> — [signal:<type>] <summary>
- <key details>
```

The journal note is the trail marker. The JSON file is the
machine-readable signal.

## Outcome signals (calibration)

The signals-dashboard can pair a desk's self-assessment with an
*outcome* — an independent rating of the realized result — and show
the **honesty gap** (how far the desk's confidence was from the
delivered quality). Outcome signals are optional and are usually
emitted by a reviewer/evaluator, not the desk itself.

Write them to the **same** `.signals/` directory:

```json
{
  "signal_type": "outcome",
  "run_id": "<same run_id as the signal it rates>",
  "agent_name": "<reviewer name>",
  "quality_rating": 4,
  "effort_to_merge": "minimal",
  "issues_found": ["optional short strings"],
  "timestamp": "2026-07-19T22:00:00Z"
}
```

- **`run_id`** correlates an outcome with the execution/partnership
  signal it rates — set the same `run_id` on both. If it's absent, the
  dashboard falls back to the nearest outcome emitted shortly after the
  latest signal.
- **`quality_rating`** (0–5) is the realized quality; the dashboard
  compares it to the desk's self-assessed `confidence` to compute the
  honesty gap.
- **`effort_to_merge`** — `"minimal"`, `"moderate"`, or `"significant"`.
- **`issues_found`** — optional array of short strings.

## Principles

- Signals are structured, not chatty. Short, factual, actionable.
- hands-up is not failure — it's the most valuable signal. It
  means the system caught something one frame alone would have
  missed.
- Don't signal for routine progress. Signals are for state
  changes that affect the room, not status updates.
- blocked means truly blocked — not "I'd prefer input." If you
  can proceed with a reasonable default, proceed and note it.
- Self-assessment scores should be honest, not optimistic. A 3/5
  is fine. A 5/5 on everything is suspicious.

© github · MIT · github/awesome-copilot

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

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

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