An AโZ, human-gated ticket pipeline for the UNIOSS team.
A GitLab ticket in โ an investigated, planned, coded, reviewed, tested, ship-ready change out.
A Claude Code plugin by ttncode.
โก Fast setup
- Two commands to install;
/unioss-doctorchecks deps, containers, token, and browser. - Zero config on a standard UNIOSS box โ defaults for containers, GitLab host, project IDs, module paths, branches, and DB.
- Every setting in one gitignored file;
config.mjs scanrepairs module paths that differ on your box.
๐ค Automation (AโZ)
- Reads the GitLab ticket + linked issues, the production DB, and real module source.
- Runs every stage for you: Investigate โ Spec โ Plan โ Code โ Review โ Verify โ Ship.
- Rounds โ customer feedback continues on the same ticket; prior work stays frozen.
- One command opens the staging / customer MRs with the right branch, reviewers, and options.
โ Quality & safety
- Human-gated โ stops at 4 gates (spec, plan, review, ship). No runaway edits.
- Review enforces the UNIOSS CI3 + PHP 8.1 clean-code + security checklist.
- Real tests โ PHPUnit in Docker; UI driven in a real browser (Playwright) with screenshots.
- Never commits or pushes a protected branch โ a hook blocks it, not just a rule in a doc.
โญโ UNIOSS Pipeline ยท AP#1834 ยท round-1 โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ
โ โ
โ # Stage Runs as Output โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ 1 Investigate subagent ยท opus INVESTIGATION + REPORT โ
โ โ GATE 0 you clarify (only if unclear) โ
โ 2 Spec subagent ยท opus SPEC.md โ
โ โ GATE 1 you approve spec / edit โ
โ 3 Plan subagent ยท opus IMPLEMENTATION_V1 โ
โ โ GATE 2 you approve plan / edit โ
โ 4 Code main ยท sonnet CHANGES.md + fast tests โ
โ 5 Review subagent ยท opus REVIEW.md โ
โ โ GATE 3 you fix / accept โ
โ 6 Verify subagent ยท sonnet TEST_RESULTS.md (DB+UI) โ
โ 7 Finalize main branch + commit (no push/MR) โ
โ โ
โ Gates stop for approval. Nothing runs until you confirm. โ
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
Artifacts land in .walkthrough/<PREFIX>#<IID>/round-<N>/, surfaced as Ctrl+Click-able paths.
| Command | Use it when |
|---|---|
/unioss-pipeline <gitlab-url> |
A new ticket โ run the full AโZ pipeline. |
/unioss-feedback <gitlab-url> |
Customer feedback โ continue in a new round, not a restart. |
/unioss-task <description> |
An ad-hoc task with no GitLab ticket. |
/unioss-ship staging | customer |
Ship โ open the MR into v3-develop-tps / v3-develop. |
/unioss-api-spec <endpoint|controller> |
API spec โ write the house-template spec for a new/changed endpoint. |
/unioss-doctor |
Check deps, containers, token, browser. |
Grouped by pipeline stage. Each stage skill also runs standalone (/skill-name <args>).
| Stage | Skill | Does |
|---|---|---|
| Orchestrate | unioss-pipeline |
Proceed a ticket from A to Z (6 stages + 3 gates). |
| Fetch | unioss-gitlab-issue-context |
Fetch GitLab ticket + linked issues into .walkthrough/.pipeline/. |
| Investigate | unioss-investigate |
Investigate ticket + linked issues |
| Plan | unioss-plan |
Plan mode (exact per-file code + points). |
| Code | unioss-implement |
Implement code changes |
| Review | unioss-review |
Review code changes against the CI3 + PHP 8.1 + security checklist. |
| Verify | unioss-verify |
DB checks + browser-driven UI verification with screenshots. |
| Ship | unioss-ship |
Open an MR per touched repo (apps + submodules). Never merges. |
| Clarify | unioss-brainstorming, unioss-writing-plans |
GATE-0 clarify + plan structuring (superpowers-style). |
/plugin marketplace add https://github.com/ttncode/ttnplugins/plugin install unioss-pipeline/unioss-doctorโ verify the environment.
- New ticket โ
/unioss-pipeline https://gitlab.unioss.jp/unioss/AdminPage/-/work_items/1834 - Feedback (new round) โ
/unioss-feedback <gitlab-url> - No ticket โ
/unioss-task "Add a CSV export button to the sales-ledger screen" - MR review feedback โ
/unioss-mr-feedback <mr-url> [mr-url...]โ verifies and applies another developer's review comments, standalone (not part of the AโZ pipeline) - Ship โ
/unioss-ship stagingโv3-develop-tps;/unioss-ship customer(syncsv3-master, re-runs tests) โv3-develop; both preview the plan and wait for "Proceed?" first
One file holds everything: .walkthrough/.config/unioss.config.json (gitignored). /unioss-doctor creates it for you.
- Scaffold:
node "${CLAUDE_PLUGIN_ROOT}/scripts/config.mjs" initโ writes every key, grouped per-machine โ per-team โ project-wide. - Resolution: env โ file โ default, deep-merged.
- Module keys (
admin-page,front-end,common-helper,common-models) are the one vocabulary:source.modules.<key>is its path on disk,gitlab.projects.<key>is its GitLab project id. - Inspect / validate:
config.mjs printยทconfig.mjs check(/unioss-doctorruns check). - Wrong module paths:
config.mjs scanlocates them;scan --writerepairs the file (/unioss-doctoroffers this). - Secrets (env only):
GITLAB_TOKEN(required) ยทDB_PASSWORD(optional). - Tester browser:
! npx playwright install --with-deps chromeif Chrome is missing. - Tester URLs/credentials are not config โ they live in
skills/unioss-verify/tester-access.md.
| Dependency | Required | Notes |
|---|---|---|
| Node.js | โ | Hooks and scripts |
| jq | โ | JSON processing |
Docker + mysql-unioss3 + php-unioss3 |
โ | DB + PHP runtime |
GITLAB_TOKEN env var |
โ | GitLab API access |
| Google Chrome | โญ | Tester UI verification |
Run /unioss-doctor to check them all at once.