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

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

Задаёт структуру задач, баг-репортов и спайков в трекере. Помогает превратить обсуждение или сырые заметки в понятный тикет с проверяемыми критериями приёмки.

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

Что делает writing-issues

Скилл задаёт правила для пяти типов тикетов: эпиков, историй, инженерных задач, багов и спайков. В основе лежит проверка на выживание без автора: любой читатель должен сразу видеть конечный результат, критерий готовности, ссылки на источники решений и конкретных ответственных за открытые вопросы.

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

Инструмент требует предварительного контекста из скилла technical-writing. Он отвечает только за оформление текста в трекере, поэтому для споров об архитектуре и сравнения вариантов придётся подключить writing-design-docs.

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

  • сформулировать проверяемые критерии приёмки для пользовательской истории
  • оформить баг-репорт от симптома к шагам воспроизведения без домыслов
  • разбить результаты обсуждения на понятные инженерные задачи и спайки
  • зафиксировать границы задачи и отсечь всё лишнее через секцию Out of scope

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

  • Преврати этот лог ошибки и комментарий разработчика в баг-репорт по шаблону
  • Распиши пользовательскую историю для выгрузки отчётов с критериями приёмки
  • Оформи результаты созвона в тикет для трекера, выдели открытые вопросы

Как установить writing-issues

1Через Skills CLI (Vercel)

npx skills add riekelt/technical-writer --skill writing-issues -a claude-code

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

~/.claude/skills/writing-issues/SKILL.md

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

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

Вопросы о writing-issues

Как установить writing-issues в Claude Code?

Выполните команду npx skills add riekelt/technical-writer --skill writing-issues -a claude-code. Скилл сразу станет доступен агенту.

Что такое проверка на выживание без автора?

Это набор из четырёх обязательных ответов в тикете: ожидаемый результат, критерий готовности, подтверждающие источники и ответственные за открытые пункты. Задача должна быть понятна новому инженеру без устных уточнений.

Нужны ли другие навыки для работы writing-issues?

Да, скиллу требуется база из technical-writing. Если же в задаче нужно обосновать архитектурное решение или сравнить альтернативы, автор рекомендует использовать writing-design-docs и прикрепить ссылку.

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

SKILL.md · MIT
---
name: writing-issues
description: Use when writing or refining tracker items - epics, stories, tasks, bug reports, spikes, or acceptance criteria - or when turning a discussion, review finding, or plan into tickets. Encodes the survives-without-you test, the issue-type glossary, and the story and bug skeletons. Use whenever work is written into a tracker, even from a rough verbal dump.
---

# Writing issues

**REQUIRED BACKGROUND:** the `technical-writing` skill (hard rules, truth rules, style).

## Overview

Core principle: **write issues so they survive without you.** State the outcome, include the acceptance check that decides Done, link the evidence behind every decision, and name the owner of every open part.

## When to invoke, and not

Invoke when writing or editing tracker items, filing a bug, splitting work into tickets, or writing acceptance criteria. Do NOT invoke for weighing alternatives: when an issue needs a design argued, that is `writing-design-docs`; the issue links the design doc and never inlines it. This skill covers the writing only, not prioritization or workflow advice.

Read-first applies to the tracker: read up to two recent issues of the same type and match their conventions before filing. When the tracker holds fewer, read what exists and file anyway.

When the reporter is unavailable, file with named gaps rather than blocking. The `technical-writing` checkpoint (kind, audience, purpose, non-goals) is what you stop and ask about. Missing content details (a repro step, a log line, a prior-incident link) become explicitly owned open items inside the issue.

## The survives-without-you test

Every issue answers four questions a stranger will ask:

1. **What outcome?** The state of the world when this is done, not the steps to get there. Implementation belongs in the plan.
2. **What decides Done?** A concrete, independently testable acceptance check. "Handle errors appropriately" decides nothing; "a failed upload shows the retry banner and logs at WARN" does.
3. **What is the evidence?** Where a decision or constraint came from evidence, link the source: a repo path, a document, a URL.
4. **Who owns the open parts?** "Still needs investigation" without a name or role is a banned vague owner; name one or mark the field explicitly as unassigned.

## Issue types

One glossary per tracker, defined in one line each and used consistently:

| Type | Definition |
|---|---|
| Epic | A body of work; its description states the outcome and links the design doc |
| Story | Something with user-visible value, written from the user's seat |
| Task | Engineering work with no user-visible surface |
| Bug | A defect: current behavior contradicts intended behavior |
| Spike | A time-boxed investigation whose output is a decision, not code |

A spike's Done is the decision recorded (see `recording-decisions`), never "looked into it".

A decision followed by a body of work fits two shapes: a spike first with the epic filed after the decision, or an epic whose first acceptance item is the accepted design doc. Both are valid; pick one and say which.

## Story and task skeleton

The issue description is the spec for what and why:

```markdown
**Problem / Why:** [the observable problem, from the reader's seat, with numbers where they exist]

**Outcome:** [the state of the world when done; not the steps]

**Acceptance:**
- [ ] [independently testable check]
- [ ] [another]

**Out of scope:** [what this issue deliberately does not cover]

**Open items:** [each with a named owner or role, or an explicit "unassigned"]

**Sources:** [repo paths, documents, measurements behind the above]
```

Apply the five vagueness defects from `writing-design-docs` to the acceptance list: an acceptance check that fails "what without how" or "no verifiable output" is not testable.

Gherkin-style given/when/then is an accepted format for acceptance checks when the team uses it; the same testability bar applies either way. INVEST (independent, negotiable, valuable, estimable, small, testable) works as a sizing check for stories: a story failing "small" or "testable" splits before it is filed.

## Bug report skeleton

Symptom first: the next reader arrives searching for the error.

```markdown
**Symptom:** [verbatim error string or observable misbehavior, searchable]

**Reproduction:** [numbered steps, one action each, from a clean state]

**Expected:** [what should happen, with the source that says so, or an explicit "no written source found" rather than a fabricated reference]
**Actual:** [what happens]

**Environment:** [version, platform, config that matters]

**Open items:** [each with a named owner or role, or an explicit "unassigned"]

**Suspected cause:** [only if investigated; labeled as hypothesis, never stated as fact]
```

The title carries the symptom, not the diagnosis: "duplicate reminders at reminder time", not "race condition in scheduler", unless the cause is verified.

## Rules

- **One home.** The issue owns what and why; the plan in the repo owns how. Never maintain two live copies.
- **Ticket keys.** They live in commits and planning docs, never in code, comments, test names, or user-facing strings.
- **Trust code, not issue status.** Self-reported state goes stale fast; before building on an imported or old issue, verify against the repository (grep the symbols, check the history).
- **Append, do not rewrite.** Scope changes on an in-flight issue are dated appended notes, not silent edits. Follow-up work found after completion is a new issue, never an edit to a closed one.
- **Subtasks.** Coarse reviewable slices, not every micro-step; the micro-steps live in the plan.
- **Estimates.** Labeled as estimates, with what they depend on.
- **Closing an issue.** It records the reason, especially for won't-fix and duplicates.

© riekelt · MIT · riekelt/technical-writer

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

Всё по теме «Заметки, задачи и проекты» →
to-tickets Matt Pocock Разбивает план, спецификацию или переписку на небольшие сквозные задачи и отмечает, какие из них блокируют остальные. Пригодится, когда нужно согласовать порядок работы до публикации задач в трекере. 711 230установок github-issues официальный github Управляет GitHub issues через MCP-инструменты и gh api: создаёт баг-репорты, задачи и feature requests, меняет поля и связи между задачами. 17 431установок user-story-writing aj-geddes Оформляет требования к продукту в виде пользовательских историй с критериями приёмки Given-When-Then. Пригодится при планировании спринтов и ведении бэклога. CX Codex +1 787установок technical-writing backnotprop Задаёт четыре слоя стандартов для технического текста: архитектуру Diátaxis, стиль Google, правила STE и Global English. Нужен при оформлении ридми, RFC и PR. CX Codex +1 5 500установок adev-writing-guide angular Скилл задаёт правила технического писательства Google и разметку для документации Angular в adev/. Он нужен при создании, правке и ревью страниц в каталоге adev/src/content. CX Codex +1 912установок writing-documentation-with-diataxis sammcj Скилл раскладывает техническую документацию на четыре типа по фреймворку Diataxis и помогает писать или проверять каждый из них. CX Codex +1 615установок

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

writing-design-docs Шаблон и правила подготовки дизайн-документов, RFC и миграционных планов. Задаёт скелет документа, карточки обоснований Why & What и проверку на неопределённости. CX Codex +1 18 200установок writing-changelogs Готовит записи журнала изменений, релизные заметки и сводки о выпущенной работе. Нужен после заметных изменений, исправлений или удалений. CX Codex +1 18 100установок writing-runbooks Скилл для написания ранбуков, инструкций по установке и миграции, где читатель выполняет шаги под давлением времени. CX Codex +1 18 100установок documenting-legacy-codebases Скилл восстанавливает документацию по коду, когда старые доки устарели или врут. Сначала инвентаризация системы, потом текст. CX Codex +1 17 900установок recording-decisions Скилл записывает принятые решения в формате ADR или короткой записи журнала, пока они не остались только в чате. CX Codex +1 18 000установок writing-postmortems Скилл для написания постмортемов и разборов причин сбоя: хронология только по фактам, блиameless-рамка, задачи с владельцами. CX Codex +1 18 000установок diagramming-processes Скилл для ИИ-кодинга, который заставляет агента рисовать процессы, состояния и обмен сообщениями в виде диаграмм с исходником в git, а не картинок. CX Codex +1 17 800установок documenting-contracts Скилл задаёт правила описания API, очередей сообщений, DTO и вебхуков без дублирования схемы. Помогает составить контракт по реальному поведению сериализатора. CX Codex +1 17 700установок

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

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