scbe-gitlab-pond-integration
Integrate GitLab as a second pond (lore/research) alongside GitHub (code/product) for SCBE. Use when tasks involve GitLab repos, cross-pond mirroring/sync, GitLab auth failures, or keeping flows unblo
SKILL.mdresearch/sphere-grid/skills/scbe-gitlab-pond-integration/SKILL.md
GitHubSCBE GitLab Pond Integration
This skill treats GitLab as a separate execution pond (lore, long-form docs, large research bundles) that feeds GitHub (code + public surfaces) through explicit, safe flows.
The goal is not "one monorepo to rule them all". The goal is stable inlets/outlets.
Configuration (do not leak secrets)
- GitLab token is stored in:
C:\Users\issda\SCBE-AETHERMOORE\config\connector_oauth\.env.connector.oauth - Variable name:
GITLAB_TOKEN - Never paste tokens into chat, commit logs, or URLs.
Meridian / Pond Flush (read-only health check)
Run this before triage or mirroring to detect blockages without spending full energy:
pwsh -File "C:\Users\issda\SCBE-AETHERMOORE\scripts\gitlab\pond_flush.ps1" `
-GitLabRepoUrl "https://gitlab.com/<group>/<project>.git" `
-CheckGhAuth
Outputs:
- local time + timezone
- GitLab token validity (via API)
- project visibility/default-branch (if accessible)
- optional GitHub
gh auth status
Mirror GitHub -> GitLab (write action)
Use the repo script (token is injected safely; output sanitized):
pwsh -File "C:\Users\issda\SCBE-AETHERMOORE\scripts\gitlab\mirror_push.ps1" `
-GitLabRepoUrl "https://gitlab.com/<group>/<project>.git" `
-Branch "main"
For full mirror:
pwsh -File "C:\Users\issda\SCBE-AETHERMOORE\scripts\gitlab\mirror_push.ps1" `
-GitLabRepoUrl "https://gitlab.com/<group>/<project>.git" `
-PushAllBranchesAndTags
How this skill interweaves with the GitHub skills
Use these deterministic hooks:
- If CI is failing and you suspect "it passed locally" drift, run the pond flush first.
- If PR comments request "move docs/lore to GitLab", mirror after the PR is green.
- If a GitHub Pages funnel page needs long-form evidence, keep the canonical research in GitLab and publish a stable excerpt/entrypoint on GitHub Pages.
Failure modes + self-healing
401/403 from GitLab API: token missing/expired/scope issue. Fix token in the.env.connector.oauthfile; rerun pond flush.project not found: wrong path or token lacks access. Confirm group/project path inGitLabRepoUrl.rate limit / 5xx: pause, rerun pond flush (no need to push).
Output contract
When using this skill, always report:
- the GitLab repo URL (sanitized; no token)
- whether pond flush passed
- whether mirroring was performed
- what GitHub surface (PR/page/docs) was fed by the mirror
Smoke test (both ends)
Use this to validate: token -> API -> project -> flush -> push -> verify.
pwsh -NoProfile -File "C:\Users\issda\SCBE-AETHERMOORE\scripts\gitlab\smoke_test.ps1" `
-ProjectName "scbe-pond-mirror-test" `
-Visibility "private" `
-Branch "mirror-smoke"
Safety:
- Add
-SkipCreateif you do not want scripts creating new projects. - Use unique branch names like
agent/<lane>-smoketo avoid collisions.