nextstage-brasil/skills

ns-gitlab-board-sync

(NS) Sync existing GitLab issues with local planning and execution — milestone, RF labels, status transitions, assignee, estimates, spent time.

First seen Jul 25, 2026

Installation

$ npx skills add nextstage-brasil/skills --skill ns-gitlab-board-sync

Summary

  • (NS) Sync existing GitLab issues with local planning and execution — milestone, RF labels, status transitions, 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 use atomic set_issue_labels and three-step status cycle.
  • Read mcp-gitlab-usage for tool contracts.

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from nextstage-brasil/skills · top by installs.

npx skills add nextstage-brasil/skills

Browse all from nextstage-brasil/skills

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

License LICENSE
Default branch main
Open issues 0
Status Active

Skill metadata

Parsed from SKILL.md frontmatter.

Version1.2
LicenseApache-2.0
More metadata
author
nextstage-brasil
version
1.2

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 4,736 B
  • docs SUMMARY.md 433 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 110 installs

SKILL.md

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:

  • projectid, milestoneid, assignee_default
  • statusbacklog, statusinprogress, statusdone, status_blocked
  • rflabelformat, basebranch, workbranch, mrtargetbranch

Discover unknown status labels via listprojectlabels — 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. updateissue with milestoneid
  3. One setissuelabelsremovelabels + addlabels atomically (RF, Status, Equipe)
  4. assign_issue
  5. setissueestimate from linked task header (seconds) only if timestats.timeestimate is empty — never overwrite; skip values < 60

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

Mutual exclusion: any issue_iid in delivery-units.mddo 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 STARTTIME / STARTEPOCH when coding starts (for wall-clock addissuespent_time — see ../ns-execution-gitlab-issue/references/time-tracking.md).

Task complete (after validation)

Only if already statusinprogress:

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 STARTTIME / STARTEPOCH when coding starts for unit (wall-clock for unit-level spent).

Unit complete (after unit validation + review approved)

Only if already statusinprogress:

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

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

Never backlog → done in one step. Never addissuespent_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 setissuelabels
Manual Milestone: label milestoneid on updateissue
setissueestimate for time spent addissuespent_time with wall-clock duration
setissueestimate 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)