Llm wiki gitlab operating model
Skill po4yka/llm-wiki-skills/skills/llm-wiki-gitlab-operating-model
Design an LLM-Wiki team operating model for self-hosted GitLab and internal enterprise environments. Use for GitLab Self-Managed or air-gapped contours with groups, merge requests, CODEOWNERS, approval rules, protected branches, CI/CD, LDAP/SAML, RBAC, audit and compliance.From its SKILL.md
npx -y skills add po4yka/llm-wiki-skills --skill llm-wiki-gitlab-operating-modelAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its file declares
Copied from the file, not written here
The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
10.0 KB, ~2.1k tokens by cl100k_base, as published. Nobody here has run it
LLM-Wiki GitLab Operating Model
Goal
Plan an LLM-Wiki operating model for a self-managed GitLab instance inside an enterprise/internal network, with GitLab-native governance, CI/CD, permissions, compliance, publishing and reliability controls.
Use references/docs/23-gitlab-self-hosted-operating-model.md as the reference model.
When to use
- The user runs GitLab Self-Managed (CE/EE) or an air-gapped/offline GitLab contour and needs an LLM-Wiki governance and delivery model on top of it.
- Groups/subgroups, CODEOWNERS, MR approval rules, protected branches/environments or GitLab CI/CD pipelines need to be designed or reviewed for LLM-Wiki content.
- Identity/RBAC (LDAP, SAML, SCIM), runner topology, audit/compliance evidence, or offline mirror strategy need mapping to GitLab primitives.
- The user asks how to move LLM-Wiki authorship and publishing off the GitLab Wiki feature onto a CI/CODEOWNERS/eval-gated workflow.
- Not for GitHub-hosted repositories (use the GitHub-specific operating-model skill instead) or for generic project-management advice unrelated to GitLab.
Starter templates
Use these local templates when available:
references/templates/gitlab-operating-model.yamlreferences/templates/gitlab-codeowners.llm-wikireferences/templates/gitlab-llm-wiki-ci.ymlreferences/templates/gitlab-merge-request-template.mdreferences/templates/gitlab-protected-branch-environment-policy.yamlreferences/templates/gitlab-raci-daci.yamlreferences/templates/gitlab-slo-scorecard.yaml
Copy only the templates that match the user's GitLab operating-model scope, then replace placeholder groups, approvers, environments and runner assumptions.
Inputs
- GitLab edition/tier if known: Free, Premium, Ultimate; CE/EE install context if relevant.
- GitLab deployment: single-node, HA, Geo, offline/air-gapped, Kubernetes, VM/bare metal.
- Organization model: team count, top-level group strategy, subgroups, tenants/domains.
- Desired LLM-Wiki surfaces: repo docs, internal portal, GitLab Pages, MCP/API, agent bundle, exports.
- Existing controls: LDAP, SAML, SCIM, CODEOWNERS, branch protection, approval rules, protected environments, runners, registries, audit events, SIEM.
- Risk profile: internal-only, sensitive, regulated, production-critical.
- Current pain: review bottleneck, runner sprawl, policy drift, stale knowledge, ungoverned agent writes, compliance evidence gaps.
Procedure
1. Classify the deployment and constraints
Record:
gitlab:
offering: self-managed
edition_install: CE|EE|unknown
tier: Free|Premium|Ultimate|unknown
deployment: single-node|ha|geo|cloud-native|hybrid|unknown
network: internal|restricted-egress|air-gapped|internet-exposed|unknown
identity: ldap|saml|scim|local|unknown
kubernetes: true|false|unknown
compliance_requirements: []
Re-check current GitLab docs before making tier-specific statements.
2. Choose operating model
Default:
central GitLab platform hub + federated domain/content pods + security/compliance guardrails + SRE-owned reliability
Use:
| Model | Use when |
|---|---|
| centralized platform | early maturity, heavy compliance, few product teams. |
| federated teams | mature engineering org, strong local ownership. |
| hub-and-pod | most self-hosted GitLab enterprises. |
3. Design group/subgroup topology
Recommend a top-level group with controlled subgroups:
corp/
platform/
security/
knowledge/
domains/
delivery/
artifacts/
Rules:
- keep top-level Owners limited;
- separate platform-owned CI components from domain-owned content;
- use
delivery/repos when GitOps promotion must be separated from authorship; - use
artifacts/repos for governed package/container/OCI promotion; - avoid ad hoc subgroup sprawl.
4. Map LLM-Wiki workflow to GitLab
Use:
Issue -> feature branch -> Merge Request -> CI gates -> CODEOWNERS/approval rules -> protected branch -> protected environment -> Release/evidence
Map concerns:
| Concern | GitLab primitive |
|---|---|
| work intake | Issues, labels, milestones, issue boards. |
| review | Merge Requests and reviewer states. |
| ownership | CODEOWNERS. |
| mandatory review | MR approval rules. |
| branch governance | protected branches. |
| validation | GitLab CI/CD. |
| production/public export authorization | protected environments + deployment approvals. |
| durable evidence | Releases, artifacts, package registry, checksums. |
5. Define CODEOWNERS and approval rules
Protect:
.gitlab-ci.yml;.gitlab/**;skills/**;references/templates/**;references/policies/**;api/**;mcp/**;exports/profiles/**;evals/**;wiki/policies/**;wiki/security/**;wiki/architecture/**;raw/manifests/**.
Risk-tier approvals:
| Change type | Approvals |
|---|---|
| low-risk content update | domain owner or knowledge engineer. |
| page promotion | domain owner plus knowledge engineer when provenance matters. |
| ingestion/retrieval/eval change | technical lead plus workflow owner. |
| security/model/data policy | security plus product/risk owner. |
| CI/runners/protected branch/environment | platform plus security. |
| public/internal/agent export profile | publishing plus security plus domain owner. |
| MCP/API permission/tool change | platform plus security plus technical lead. |
6. Design GitLab CI/CD and runner model
Use a split model:
central CI components + group/project extension points + scoped runners + protected deployments + release artifacts
Runner defaults:
| Runner scope | Recommendation |
|---|---|
| group runners | default enterprise runner scope. |
| project runners | sensitive/high-privilege/special-case jobs. |
| instance runners | low-risk shared jobs only with segmentation and trust assumptions. |
| offline runners | internal images/mirrors/scanner feeds only. |
CI stages:
stages:
- validate
- lint
- eval
- security
- package
- preview
- deploy
- release
7. Protect environments and publishing
Use protected environments for:
- production;
- public export;
- agent bundle;
- internal MCP/API;
- compliance evidence publication.
Public/internal/agent exports should produce release artifacts:
- export manifest;
- checksums;
- redaction report;
- citation report;
- scorecard;
- changelog;
- rollback artifact.
8. Define identity, RBAC and internal perimeter controls
Recommend:
- LDAP or SAML SSO;
- SAML group sync, SCIM or LDAP group sync where available;
- least-privilege GitLab roles;
- small top-level Owner set;
- external secrets provider for sensitive CI secrets;
- protected variables only for protected branches/tags/environments;
- protected runners for privileged jobs;
- audit events into SIEM where tier permits;
- segmented network zones for GitLab app, database/cache, runners, registries, object storage, secrets backend, Kubernetes agents and MCP/API services.
Internal network is not a sufficient security boundary.
9. Plan offline/air-gapped operations
If egress is restricted, design internal substitutes:
| Need | Internal substitute |
|---|---|
| runner images | internal container registry mirror. |
| package dependencies | internal package registry/proxy. |
| security analyzers | mirrored analyzer images and offline data. |
| CI components | versioned platform/ci-components project. |
| docs/export tooling | pinned internal packages/images. |
| MCP/API images | signed internal OCI images. |
10. Define SLOs and dashboards
Track:
- GitLab UI/API availability;
- backup success and restore drill status;
- runner queue time and utilization;
- CI success/failure by group;
- package/container registry health;
- audit stream delivery;
- review backlog;
- stale pages;
- index freshness;
- protected environment approval latency;
- export/publish pipeline status;
- patch/upgrade compliance.
11. Recommend rollout
Use phases:
- GitLab admin ownership, SSO, top-level group structure, runner MVP, backup, base CI components.
- Protected branch baseline, MR approval rules, CODEOWNERS, issue boards, audit collection.
- Protected environments, deployment approvals, release evidence, SIEM forwarding, restore rehearsal, dashboards, HA/Geo decision.
- Offline mirrors, GitOps delivery repos, runner fleet tuning, compliance framework mapping, SLO/error budget review.
Output
## GitLab self-hosted operating model
## Scope and assumptions
## Edition/tier implications
## Group/subgroup topology
## Workflow mapping
## CODEOWNERS and approval rules
## CI/CD and runner model
## Protected branches and environments
## Identity, RBAC and internal perimeter controls
## Offline/air-gapped design
## Publishing/export/MCP/API model
## SLOs and dashboards
## Rollout plan
## Risks and open decisions
Safety gates
- Do not assume GitLab feature availability without checking current tier/version docs.
- Do not treat internal network placement as a substitute for RBAC, segmentation, audit and secrets controls.
- Do not recommend broad instance runners for sensitive jobs without segmentation and runner trust review.
- Do not recommend GitLab Wiki for production LLM-Wiki knowledge that needs CI, CODEOWNERS, evals and export gates.
- Do not enable public/internal agent bundles without export profiles, redaction and protected-environment approvals.
- Do not treat Geo as high availability; evaluate HA and DR separately.
What ships with it: 60 files
155.3 KB alongside SKILL.md
references/
- docs/23-gitlab-self-hosted-operating-model.md23.5 KB
- policies/redaction-retention-policy.md3.7 KB
- policies/review-incident-response.md3.1 KB
- templates/agent-export-bundle.yaml2.1 KB
- templates/CODEOWNERS.llm-wiki2.2 KB
- templates/eval-scorecard.yaml3.2 KB
- templates/export-manifest.yaml2.2 KB
- templates/export-profile.yaml2.3 KB
- templates/gitlab-codeowners.llm-wiki2.8 KB
- templates/gitlab-llm-wiki-ci.yml3.1 KB
- templates/gitlab-merge-request-template.md1.7 KB
- templates/gitlab-operating-model.yaml4.1 KB
- templates/gitlab-protected-branch-environment-policy.yaml3.1 KB
- templates/gitlab-raci-daci.yaml2.8 KB
- templates/gitlab-slo-scorecard.yaml3.1 KB
- templates/ingestion-fidelity-suite.yaml3.3 KB
- templates/ingestion-pipeline-profile.yaml3.2 KB
- templates/llm-wiki-evals.github-actions.yml3.0 KB
- templates/llm-wiki-ingestion.github-actions.yml2.6 KB
- templates/llm-wiki-publish.github-actions.yml4.0 KB
- templates/llm-wiki-security.github-actions.yml2.9 KB
- templates/mcp-security-profile.yaml3.6 KB
- templates/mcp-wiki-profile.yaml4.4 KB
- templates/openapi-wiki-core.yaml11.3 KB
- templates/promptfoo-llm-wiki-redteam.yaml3.8 KB
- templates/promptfoo-llm-wiki.yaml3.4 KB
- templates/redaction-policy.yml535 B
- templates/release-notes.md304 B
- templates/reports/critique-audit-report.md1.8 KB
- templates/reports/ecosystem-refresh.md758 B
- templates/reports/monthly-eval.md358 B
- templates/reports/source-refresh-report.md898 B
- templates/reports/weekly-lint.md205 B
- templates/retrieval-eval-set.yaml1.9 KB
- templates/schemas/canonical-vocabularies.json1.4 KB
- templates/schemas/domain-pack-profile.schema.json1.1 KB
- templates/schemas/domain-pack.schema.json1.6 KB
- templates/schemas/page.schema.json2.6 KB
- templates/schemas/skill-router.schema.json1.7 KB
- templates/schemas/taxonomy.md1.6 KB
20 more files not listed here. See all 60 in the repository.