Loading...
Loading...
(NS) Execute a GitLab issue end-to-end — status gates, worktree isolation, atomic delivery, MR, mandatory review+fix loop. Use for ISSUE_URL or "implement this GitLab issue". Not for local ad-hoc coding (ns-coder) or non-GitLab autonomous runs (ns-autonomous). Delegates coding to ns-autonomous; needs mcp-gitlab-usage + ns-reviewer.
npx skill4agent add nextstage-brasil/skills ns-execution-gitlab-issueISSUE_URLns-autonomous../../ns-harness/references/code-skill-routing.md../../ns-harness/references/code-skill-routing.mdreferences/entry-triggers.md| Handoff | Target |
|---|---|
| Phase 2 execution | |
| MR / status / time / comments | |
| Phase 4 review gate | |
| Rejected fix loop | |
GA../../ns-harness/references/session-boot.mdmcp-gitlab-usage| Variable | Required |
|---|---|
| Yes |
| No — resolved by Gate 1 if omitted |
WORKTREE_ROOT = .worktrees/{ISSUE_ID}WORK_BRANCH = work/{ISSUE_ID}-{ISSUE_SLUG}../../ns-harness/references/session-boot.md.worktrees/references/worktree-setup.mdmcp-gitlab-usagestatus_in_progresslist_issue_merge_requestssource_branchwork/{ISSUE_ID}-*source_branchtarget_branchgit ls-remote --heads origin "work/{ISSUE_ID}-*"REUSE_MODE = trueWORK_BRANCH = {existing branch}SOURCE_BRANCH = {existing MR target}WORK_BRANCHREUSE_MODE = falseREUSE_MODE = trueSOURCE_BRANCHreferences/source-branch-resolution.mddevelopdevelop_*develop-*develophomologrelease/*mainmastermainmasterSOURCE_BRANCHls-remote_-developWORKTREE_ROOTreferences/worktree-setup.md.worktrees/{ISSUE_ID}.cursor/ISSUE_IDmainmasterSOURCE_BRANCHgit worktree adddue_dateSTART_TIMEreferences/time-tracking.mdtime_stats.time_estimateSTART_TIMESTART_EPOCHreferences/time-tracking.mdns-autonomousWORKTREE_ROOTWORK_BRANCHSOURCE_BRANCHWORKTREE_ROOTns-autonomousreferences/routing.mdset_issue_estimatetime_stats.time_estimate0estimate_secondsreferences/time-tracking.mdPAUSE_STARTstatus_blocked@{author.username}read_issuePAUSED_SECONDSstatus_in_progress<type>(#{ISSUE_ID}): <imperative description in English>../../ns-harness/references/agent-git-identity.mdWORK_BRANCHEND_TIMEApprovedApprovedEND_TIMEEND_EPOCHadd_issue_spent_timeduration = ELAPSED_SECONDSreferences/time-tracking.mdPAUSED_SECONDSestimate_secondsdurationstatus_doneinternal: truereferences/delivery-report.template.md../ns-reviewer/references/review-gate-workflow.mdreviewer-agentns-reviewerISSUE_URLAGENTS.mdsenior-tech-lead-reviewerbugbotsecurity-reviewreviewer-agent../../ns-harness/references/subagent-dispatch.mdApprovedRejectedns-autonomousreviewer-agentns-reviewerSTART_TIMEBlockedstatus_blockedEND_TIMEFatto!MR_URLSCode Review: {verdict}ns-reviewer| Condition | Action |
|---|---|
Gate 1: | Stop — ask once |
Gate 1: non-default base ( | Stop — ask once |
| Worktree conflict (same issue, another run) | Stop unless explicit resume |
| Ambiguous or conflicting acceptance criteria | Stop — ask once |
| MCP unavailable or auth failure | Stop — state blocker |
| Stop per |
Work on protected/base branch per | Stop |
| Destructive ops (issue delete, force-push main/master) | Stop — require explicit human |
| Product decision not stated in the issue | Stop — ask once |
| Engine reports a destructive doubt | Pause/resume per Phase 2 step 4 — not a hard stop |
mcp-gitlab-usage| Skill | Role |
|---|---|
| All GitLab tools |
| Status label semantics |
| Phase 4 gate (MUST |
| Phase 2 execution engine |
| Non-GitLab ad-hoc implementation |
| File | When |
|---|---|
| Gate 1 — milestone/version discovery, |
| |
| MR title, draft, linking, reuse note |
| Phase 3 internal delivery comment |
| Estimate fill-if-empty; spent-time wall-clock + pause rules |