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

ns-gitlab-board-sync — скилл для Claude Code

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

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

Что делает ns-gitlab-board-sync

Скилл связывает локальные задачи с существующими issues в GitLab. Он обновляет milestone, RF- и статусные метки, назначает исполнителя, переносит оценку и добавляет фактически потраченное время. Новые issues он не создаёт.

Для чтения и изменений нужен GitLab MCP; при нескольких серверах нужно выбрать один. Перед работой проверяются docs/context/gitlab-sync-config.md и конфигурация с идентификаторами проекта, milestone, статусами и ветками. При пакетной синхронизации нужен gitlab-issue-feature-map.md. Метки перехода меняются одним вызовом set_issue_labels, а статус проходит через backlog → in_progress → done. Без GitLab MCP скилл не сможет выполнять синхронизацию.

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

  • синхронизировать локальный план с существующими GitLab issues
  • перевести задачу из backlog в in progress и done
  • назначить issue исполнителя и milestone
  • сохранить RF-метки и статус одной операцией
  • добавить к issue фактически потраченное время

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

  • Синхронизируй связанные задачи из gitlab-issue-feature-map.md с существующими issues GitLab.
  • Перед началом работы переведи связанную issue из status_backlog в status_in_progress.
  • После проверки кода обнови issue, добавь RF-метку и запиши потраченное время по START_EPOCH.

Как установить ns-gitlab-board-sync

1Через Skills CLI (Vercel)

npx skills add nextstage-brasil/skills --skill ns-gitlab-board-sync -a claude-code

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

~/.claude/skills/ns-gitlab-board-sync/SKILL.md

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

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

Вопросы о ns-gitlab-board-sync

Как установить ns-gitlab-board-sync в Claude Code?

Выполните npx skills add nextstage-brasil/skills --skill ns-gitlab-board-sync -a claude-code. Файл скилла появится по пути ~/.claude/skills/ns-gitlab-board-sync/SKILL.md.

Что делает ns-gitlab-board-sync?

Скилл переносит состояние локального планирования и выполнения на уже существующие GitLab issues: меняет milestone, метки, статус и исполнителя, а также работает с оценкой и потраченным временем.

Создаёт ли ns-gitlab-board-sync новые GitLab issues?

Нет. Он работает только с уже существующими issues; для создания новых задач в описании указан mcp-gitlab-usage.

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

SKILL.md · Apache-2.0
---
name: ns-gitlab-board-sync
description: "(NS) Sync existing GitLab issues with local planning/execution — milestone, RF labels, status, assignee, estimates, spent time. Use during implementation when tasks link to GitLab issues or after plan-version-from-gitlab sync — not for creating new issues (use mcp-gitlab-usage). Always atomic set_issue_labels and three-step status cycle."
license: Apache-2.0
metadata:
  author: nextstage-brasil
  version: "1.2"
---

# GitLab Board Sync

Mirror local SDD planning/execution state onto **existing** GitLab issues. Does **not** create issues.

## Prerequisites

1. GitLab MCP available — follow `mcp-gitlab-usage` for all tool calls
2. If multiple GitLab MCP servers: ask human which to use
3. `docs/context/gitlab-sync-config.md` validated
4. For post-planning batch: `gitlab-issue-feature-map.md` exists

## Configuration

Read `references/gitlab-sync-config.template.md` for expected fields:

- `project_id`, `milestone_id`, `assignee_default`
- `status_backlog`, `status_in_progress`, `status_done`, `status_blocked`
- `rf_label_format`, `base_branch`, `work_branch`, `mr_target_branch`

Discover unknown status labels via `list_project_labels` — confirm with human.

## Flow C — Pre-implementation read

When task lists GitLab issue IIDs:

1. `read_issue` for description + recent comments
2. Non-blocking if inaccessible — log warning, continue
3. **Do not mutate** issue in this flow

## Flow A — Post-planning batch

Per issue in map (excluding `exclude_issues`):

1. Validate milestone (project + group)
2. `update_issue` with `milestone_id`
3. **One** `set_issue_labels` — `remove_labels` + `add_labels` atomically (RF, Status, Equipe)
4. `assign_issue`
5. `set_issue_estimate` from linked task header (seconds) **only if** `time_stats.time_estimate` is empty — never overwrite; skip values < 60

## Flow B — Per-task execution sync (legacy 1:1)

**Mutual exclusion:** any `issue_iid` in `delivery-units.md` → **do not** run Flow B. Owner = `../ns-spec-driven/references/delivery-units.md` **GitLab status/spent (SSoT)**.

When task row maps 1:1 to its own GitLab issue (no delivery units file, or unpublished units + legacy `gitlab-issue-feature-map.md`):

### Task start (before coding)

```
remove: status_backlog
add: status_in_progress
```

Record `START_TIME` / `START_EPOCH` when coding starts (for wall-clock `add_issue_spent_time` — see `../ns-execution-gitlab-issue/references/time-tracking.md`).

### Task complete (after validation)

Only if already `status_in_progress`:

```
remove: status_in_progress
add: status_done, RF: NNN
add_issue_spent_time
add_issue_comment (internal=true)
```

**Never** backlog → done in one step.

## Flow D — Per delivery unit

Run **only** when SSoT row is Flow D (published `issue_iid` + local execute, no G). When G owns lifecycle → **skip entire Flow D**.

### Unit start (before coding unit tasks)

```
remove: status_backlog
add: status_in_progress
```

Record `START_TIME` / `START_EPOCH` when coding starts for unit (wall-clock for unit-level spent).

### Unit complete (after unit validation + review approved)

Only if already `status_in_progress`:

```
remove: status_in_progress
add: status_done
add_issue_comment (internal=true)
```

**Local-only** (SSoT Flow D row): include `add_issue_spent_time` once per unit (wall-clock, not `estimate_sum`); set `spent_posted` = `yes`.

**Never** backlog → done in one step. **Never** `add_issue_spent_time` per task inside unit. **Never** Flow D when G owns the same issue.

## Anti-patterns

| Wrong                               | Right                            |
| ----------------------------------- | -------------------------------- |
| `assignee` on `update_issue`        | `assign_issue`                   |
| Two label calls for one transition  | Single atomic `set_issue_labels` |
| Manual `Milestone:` label           | `milestone_id` on `update_issue` |
| `set_issue_estimate` for time spent | `add_issue_spent_time` with wall-clock duration |
| `set_issue_estimate` when estimate already set | Skip — preserve existing |
| Plan/`estimate_seconds` as spent `duration` | Epoch delta only (`time-tracking.md`) |
| Public comment for internal notes   | `internal: true`                 |

## References

| File                                        | When                   |
| ------------------------------------------- | ---------------------- |
| `references/gitlab-sync-config.template.md` | Bootstrap config       |
| `mcp-gitlab-usage`                          | Tool schemas and gates |
| `../ns-spec-driven/references/delivery-units.md` | GitLab status/spent (SSoT) |

© nextstage-brasil · Apache-2.0 · nextstage-brasil/skills

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

Все скиллы по теме «Настройка агента: память, контекст, субагенты» →
setup-matt-pocock-skills Matt Pocock Скилл настраивает репозиторий для инженерных скиллов Matt Pocock: задаёт трекер задач, метки триажа и расположение доменной документации. Запустите его перед первым использованием остальных скиллов. 1 052 851установок ask-matt Matt Pocock Помогает выбрать подходящий скилл или рабочий поток из набора Matt Pocock. Пригодится, когда непонятно, с чего начать задачу: от идеи до разбора бага. 766 587установок to-tickets Matt Pocock Разбивает план, спецификацию или переписку на небольшие сквозные задачи и отмечает, какие из них блокируют остальные. Пригодится, когда нужно согласовать порядок работы до публикации задач в трекере. 711 230установок writing-plans Jesse Vincent Скилл превращает требования к многошаговой задаче в подробный план реализации до начала работы с кодом. Пригодится, когда исполнителю нужно зафиксировать файлы, интерфейсы и проверки. CX Codex 282 859установок caveman-review JuliusBrussee Пишет замечания к коду одной строкой: место, проблема, исправление. Пригодится, когда ревью диффа или PR надо пройти быстро и без воды. CX Codex +1 411 800установок caveman-compress JuliusBrussee Сжимает CLAUDE.md, списки задач и другие текстовые файлы в краткий формат, сохраняя читаемую резервную копию. CX Codex +1 411 500установок

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

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