goga-tool-mkdocs 1.0.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. goga_tool_mkdocs-1.0.0/.github/workflows/docs.yml +26 -0
  2. goga_tool_mkdocs-1.0.0/.github/workflows/new_version.yml +21 -0
  3. goga_tool_mkdocs-1.0.0/.github/workflows/notify.yml +17 -0
  4. goga_tool_mkdocs-1.0.0/.github/workflows/publish.yml +17 -0
  5. goga_tool_mkdocs-1.0.0/.gitignore +225 -0
  6. goga_tool_mkdocs-1.0.0/LICENSE +28 -0
  7. goga_tool_mkdocs-1.0.0/PKG-INFO +28 -0
  8. goga_tool_mkdocs-1.0.0/README.md +7 -0
  9. goga_tool_mkdocs-1.0.0/docs/getting-started.md +49 -0
  10. goga_tool_mkdocs-1.0.0/docs/index.md +36 -0
  11. goga_tool_mkdocs-1.0.0/docs/overrides/main.html +68 -0
  12. goga_tool_mkdocs-1.0.0/docs/pipeline.md +67 -0
  13. goga_tool_mkdocs-1.0.0/docs/skills/discovery.md +21 -0
  14. goga_tool_mkdocs-1.0.0/docs/skills/impact-analysis.md +23 -0
  15. goga_tool_mkdocs-1.0.0/docs/skills/mkdocs.md +50 -0
  16. goga_tool_mkdocs-1.0.0/docs/skills/nav-sync.md +18 -0
  17. goga_tool_mkdocs-1.0.0/docs/skills/questions.md +22 -0
  18. goga_tool_mkdocs-1.0.0/docs/skills/structure.md +18 -0
  19. goga_tool_mkdocs-1.0.0/docs/skills/validator.md +25 -0
  20. goga_tool_mkdocs-1.0.0/docs/skills/writer.md +20 -0
  21. goga_tool_mkdocs-1.0.0/goga_tool_mkdocs/__init__.py +0 -0
  22. goga_tool_mkdocs-1.0.0/goga_tool_mkdocs/skills/mkdocs/SKILL.md +164 -0
  23. goga_tool_mkdocs-1.0.0/goga_tool_mkdocs/skills/mkdocs-discovery/SKILL.md +73 -0
  24. goga_tool_mkdocs-1.0.0/goga_tool_mkdocs/skills/mkdocs-impact-analysis/SKILL.md +72 -0
  25. goga_tool_mkdocs-1.0.0/goga_tool_mkdocs/skills/mkdocs-nav-sync/SKILL.md +71 -0
  26. goga_tool_mkdocs-1.0.0/goga_tool_mkdocs/skills/mkdocs-questions/SKILL.md +70 -0
  27. goga_tool_mkdocs-1.0.0/goga_tool_mkdocs/skills/mkdocs-structure/SKILL.md +71 -0
  28. goga_tool_mkdocs-1.0.0/goga_tool_mkdocs/skills/mkdocs-validator/SKILL.md +72 -0
  29. goga_tool_mkdocs-1.0.0/goga_tool_mkdocs/skills/mkdocs-writer/SKILL.md +73 -0
  30. goga_tool_mkdocs-1.0.0/goga_tool_mkdocs.egg-info/PKG-INFO +28 -0
  31. goga_tool_mkdocs-1.0.0/goga_tool_mkdocs.egg-info/SOURCES.txt +35 -0
  32. goga_tool_mkdocs-1.0.0/goga_tool_mkdocs.egg-info/dependency_links.txt +1 -0
  33. goga_tool_mkdocs-1.0.0/goga_tool_mkdocs.egg-info/requires.txt +4 -0
  34. goga_tool_mkdocs-1.0.0/goga_tool_mkdocs.egg-info/top_level.txt +1 -0
  35. goga_tool_mkdocs-1.0.0/mkdocs.yml +47 -0
  36. goga_tool_mkdocs-1.0.0/pyproject.toml +100 -0
  37. goga_tool_mkdocs-1.0.0/setup.cfg +4 -0
@@ -0,0 +1,26 @@
1
+ name: Release docs
2
+ on:
3
+ push:
4
+ branches:
5
+ - '[0-9]+.[0-9]+.x'
6
+
7
+ permissions:
8
+ contents: write
9
+
10
+ jobs:
11
+ deploy:
12
+ runs-on: ubuntu-latest
13
+ steps:
14
+ - uses: actions/checkout@v4
15
+
16
+ - name: Configure Python
17
+ uses: actions/setup-python@v5
18
+ with:
19
+ python-version: 3.x
20
+
21
+ - name: Install dependencies
22
+ run: |
23
+ pip install -e ".[docs]"
24
+
25
+ - name: Build and Deploy
26
+ run: mkdocs gh-deploy --force
@@ -0,0 +1,21 @@
1
+ name: Open New Version
2
+
3
+ on:
4
+ workflow_dispatch:
5
+ inputs:
6
+ type:
7
+ description: "New version type"
8
+ required: true
9
+ type: choice
10
+ options: [minor, major]
11
+
12
+ permissions:
13
+ contents: write
14
+
15
+ jobs:
16
+ create-branch:
17
+ uses: qarium/ci/.github/workflows/library-new-version.yml@0.0.x
18
+ with:
19
+ type: ${{ inputs.type }}
20
+ secrets:
21
+ GH_TOKEN: ${{ secrets.GH_TOKEN }}
@@ -0,0 +1,17 @@
1
+ name: Notify Release
2
+
3
+ on:
4
+ workflow_run:
5
+ workflows: ["Publish Release"]
6
+ types: [completed]
7
+
8
+ permissions:
9
+ contents: read
10
+
11
+ jobs:
12
+ notify:
13
+ if: ${{ github.event.workflow_run.conclusion == 'success' }}
14
+ uses: qarium/ci/.github/workflows/library-notify.yml@0.0.x
15
+ secrets:
16
+ TELEGRAM_TOKEN: ${{ secrets.TELEGRAM_TOKEN }}
17
+ TELEGRAM_CHAT_ID: ${{ secrets.TELEGRAM_CHAT_ID }}
@@ -0,0 +1,17 @@
1
+ name: Publish Release
2
+
3
+ on:
4
+ workflow_dispatch:
5
+
6
+ permissions:
7
+ contents: write
8
+ id-token: write
9
+
10
+ jobs:
11
+ release:
12
+ uses: qarium/ci/.github/workflows/library-publish.yml@0.0.x
13
+ with:
14
+ src-package: goga_tool_mkdocs
15
+ secrets:
16
+ PYPI_API_TOKEN: ${{ secrets.PYPI_API_TOKEN }}
17
+ ZAI_TOKEN: ${{ secrets.ZAI_TOKEN }}
@@ -0,0 +1,225 @@
1
+ # goga: ralphex config managed by goga
2
+ .goga/prompts/*.txt
3
+ .goga/agents/*.txt
4
+ .goga/config
5
+
6
+ # Byte-compiled / optimized / DLL files
7
+ __pycache__/
8
+ *.py[codz]
9
+ *$py.class
10
+
11
+ # C extensions
12
+ *.so
13
+
14
+ # Distribution / packaging
15
+ .Python
16
+ build/
17
+ develop-eggs/
18
+ dist/
19
+ downloads/
20
+ eggs/
21
+ .eggs/
22
+ lib/
23
+ lib64/
24
+ parts/
25
+ sdist/
26
+ var/
27
+ wheels/
28
+ share/python-wheels/
29
+ *.egg-info/
30
+ .installed.cfg
31
+ *.egg
32
+ /MANIFEST
33
+
34
+ # PyInstaller
35
+ # Usually these files are written by a python script from a template
36
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
37
+ *.manifest
38
+ *.spec
39
+
40
+ # Installer logs
41
+ pip-log.txt
42
+ pip-delete-this-directory.txt
43
+
44
+ # Unit test / coverage reports
45
+ htmlcov/
46
+ .tox/
47
+ .nox/
48
+ .coverage
49
+ .coverage.*
50
+ .cache
51
+ nosetests.xml
52
+ coverage.xml
53
+ *.cover
54
+ *.py.cover
55
+ *,cover
56
+ .hypothesis/
57
+ .pytest_cache/
58
+ cover/
59
+
60
+ # Translations
61
+ *.mo
62
+ *.pot
63
+
64
+ # Django stuff:
65
+ *.log
66
+ local_settings.py
67
+ db.sqlite3
68
+ db.sqlite3-journal
69
+
70
+ # Flask stuff:
71
+ instance/
72
+ .webassets-cache
73
+
74
+ # Scrapy stuff:
75
+ .scrapy
76
+
77
+ # Sphinx documentation
78
+ docs/_build/
79
+
80
+ # PyBuilder
81
+ .pybuilder/
82
+ target/
83
+
84
+ # Jupyter Notebook
85
+ .ipynb_checkpoints
86
+
87
+ # IPython
88
+ profile_default/
89
+ ipython_config.py
90
+
91
+ # pyenv
92
+ # For a library or package, you might want to ignore these files since the code is
93
+ # intended to run in multiple environments; otherwise, check them in:
94
+ # .python-version
95
+
96
+ # pipenv
97
+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
98
+ # However, in case of collaboration, if having platform-specific dependencies or dependencies
99
+ # having no cross-platform support, pipenv may install dependencies that don't work, or not
100
+ # install all needed dependencies.
101
+ #Pipfile.lock
102
+
103
+ # UV
104
+ # Similar to Pipfile.lock, it is generally recommended to include uv.lock in version control.
105
+ # This is especially recommended for binary packages to ensure reproducibility, and is more
106
+ # commonly ignored for libraries.
107
+ #uv.lock
108
+
109
+ # poetry
110
+ # Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
111
+ # This is especially recommended for binary packages to ensure reproducibility, and is more
112
+ # commonly ignored for libraries.
113
+ # https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
114
+ #poetry.lock
115
+ #poetry.toml
116
+
117
+ # pdm
118
+ # Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
119
+ # pdm recommends including project-wide configuration in pdm.toml, but excluding .pdm-python.
120
+ # https://pdm-project.org/en/latest/usage/project/#working-with-version-control
121
+ #pdm.lock
122
+ #pdm.toml
123
+ .pdm-python
124
+ .pdm-build/
125
+
126
+ # pixi
127
+ # Similar to Pipfile.lock, it is generally recommended to include pixi.lock in version control.
128
+ #pixi.lock
129
+ # Pixi creates a virtual environment in the .pixi directory, just like venv module creates one
130
+ # in the .venv directory. It is recommended not to include this directory in version control.
131
+ .pixi
132
+
133
+ # PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
134
+ __pypackages__/
135
+
136
+ # Celery stuff
137
+ celerybeat-schedule
138
+ celerybeat.pid
139
+
140
+ # SageMath parsed files
141
+ *.sage.py
142
+
143
+ # Environments
144
+ .env
145
+ .envrc
146
+ .venv
147
+ env/
148
+ venv/
149
+ ENV/
150
+ env.bak/
151
+ venv.bak/
152
+
153
+ # Spyder project settings
154
+ .spyderproject
155
+ .spyproject
156
+
157
+ # Rope project settings
158
+ .ropeproject
159
+
160
+ # mkdocs documentation
161
+ /site
162
+
163
+ # mypy
164
+ .mypy_cache/
165
+ .dmypy.json
166
+ dmypy.json
167
+
168
+ # Pyre type checker
169
+ .pyre/
170
+
171
+ # pytype static type analyzer
172
+ .pytype/
173
+
174
+ # Cython debug symbols
175
+ cython_debug/
176
+
177
+ # PyCharm
178
+ # JetBrains specific template is maintained in a separate JetBrains.gitignore that can
179
+ # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
180
+ # and can be added to the global gitignore or merged into this file. For a more nuclear
181
+ # option (not recommended) you can uncomment the following to ignore the entire idea folder.
182
+ #.idea/
183
+
184
+ # Abstra
185
+ # Abstra is an AI-powered process automation framework.
186
+ # Ignore directories containing user credentials, local state, and settings.
187
+ # Learn more at https://abstra.io/docs
188
+ .abstra/
189
+
190
+ # Visual Studio Code
191
+ # Visual Studio Code specific template is maintained in a separate VisualStudioCode.gitignore
192
+ # that can be found at https://github.com/github/gitignore/blob/main/Global/VisualStudioCode.gitignore
193
+ # and can be added to the global gitignore or merged into this file. However, if you prefer,
194
+ # you could uncomment the following to ignore the entire vscode folder
195
+ # .vscode/
196
+
197
+ # Ruff stuff:
198
+ .ruff_cache/
199
+
200
+ # PyPI configuration file
201
+ .pypirc
202
+
203
+ # Cursor
204
+ # Cursor is an AI-powered code editor. `.cursorignore` specifies files/directories to
205
+ # exclude from AI features like autocomplete and code analysis. Recommended for sensitive data
206
+ # refer to https://docs.cursor.com/context/ignore-files
207
+ .cursorignore
208
+ .cursorindexingignore
209
+
210
+ # Marimo
211
+ marimo/_static/
212
+ marimo/_lsp/
213
+ __marimo__/
214
+
215
+ # IDE
216
+ .idea/
217
+
218
+ # AI
219
+ .claude/
220
+ .ralphex/
221
+ docs/tasks/
222
+ docs/plans/
223
+ docs/design/
224
+ docs/arch/
225
+ docs/superpowers/
@@ -0,0 +1,28 @@
1
+ BSD 3-Clause License
2
+
3
+ Copyright (c) 2026, Mikhail Trifonov
4
+
5
+ Redistribution and use in source and binary forms, with or without
6
+ modification, are permitted provided that the following conditions are met:
7
+
8
+ 1. Redistributions of source code must retain the above copyright notice, this
9
+ list of conditions and the following disclaimer.
10
+
11
+ 2. Redistributions in binary form must reproduce the above copyright notice,
12
+ this list of conditions and the following disclaimer in the documentation
13
+ and/or other materials provided with the distribution.
14
+
15
+ 3. Neither the name of the copyright holder nor the names of its
16
+ contributors may be used to endorse or promote products derived from
17
+ this software without specific prior written permission.
18
+
19
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
20
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
22
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
23
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
24
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
25
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
26
+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
27
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
@@ -0,0 +1,28 @@
1
+ Metadata-Version: 2.4
2
+ Name: goga-tool-mkdocs
3
+ Version: 1.0.0
4
+ Summary: Goga tool. MkDocs documentation skills.
5
+ License: BSD-3-Clause
6
+ Classifier: Development Status :: 3 - Alpha
7
+ Classifier: Intended Audience :: Developers
8
+ Classifier: Programming Language :: Python :: 3
9
+ Classifier: Programming Language :: Python :: 3.10
10
+ Classifier: Programming Language :: Python :: 3.11
11
+ Classifier: Programming Language :: Python :: 3.12
12
+ Classifier: Programming Language :: Python :: 3.13
13
+ Classifier: Programming Language :: Python :: 3.14
14
+ Requires-Python: >=3.10
15
+ Description-Content-Type: text/markdown
16
+ License-File: LICENSE
17
+ Provides-Extra: docs
18
+ Requires-Dist: mkdocs>=1.6.0; extra == "docs"
19
+ Requires-Dist: mkdocs-material>=9.5.0; extra == "docs"
20
+ Dynamic: license-file
21
+
22
+ # goga-tool-mkdocs
23
+
24
+ MkDocs documentation maintenance tool for the Goga framework.
25
+
26
+ ## Documentation
27
+
28
+ [https://qarium.github.io/goga-tool-mkdocs](https://qarium.github.io/goga-tool-mkdocs)
@@ -0,0 +1,7 @@
1
+ # goga-tool-mkdocs
2
+
3
+ MkDocs documentation maintenance tool for the Goga framework.
4
+
5
+ ## Documentation
6
+
7
+ [https://qarium.github.io/goga-tool-mkdocs](https://qarium.github.io/goga-tool-mkdocs)
@@ -0,0 +1,49 @@
1
+ # Getting Started
2
+
3
+ ## Installation
4
+
5
+ ```bash
6
+ pip install goga-tool-mkdocs
7
+ ```
8
+
9
+ ## Connect to agent
10
+
11
+ Install skills into a Goga agent:
12
+
13
+ ```bash
14
+ goga connect <agent>
15
+ ```
16
+
17
+ ## Requirements
18
+
19
+ - Python 3.10+
20
+ - Goga CLI
21
+
22
+ ## Usage
23
+
24
+ Run the tool from a Goga project root:
25
+
26
+ ```bash
27
+ /goga:tool mkdocs
28
+ ```
29
+
30
+ The tool detects the execution mode automatically:
31
+
32
+ - If no prior documentation state exists (no `mkdocs.yml`, no `docs/`), it runs in **bootstrap** mode
33
+ - If documentation already exists, it runs in **incremental** mode and patches only affected areas
34
+
35
+ ## Project setup
36
+
37
+ For the tool to produce documentation, your project should contain at least one of:
38
+
39
+ - `CODEMANIFEST` files in cell directories
40
+ - `.usages/` directories with practice files
41
+ - `.tests/` directories with test specifications
42
+
43
+ ## Output
44
+
45
+ The tool generates:
46
+
47
+ - `docs/` directory with markdown pages
48
+ - `mkdocs.yml` with navigation
49
+ - `.goga/tools/mkdocs/traceability.yml` linking docs to source cells
@@ -0,0 +1,36 @@
1
+ # goga-tool-mkdocs
2
+
3
+ MkDocs documentation maintenance tool for the Goga framework.
4
+
5
+ ## What it does
6
+
7
+ `goga-tool-mkdocs` orchestrates creation, synchronization, patching, validation, and maintenance of MkDocs documentation using authoritative project artifacts.
8
+
9
+ It is invoked via the Goga aggent command:
10
+
11
+ ```bash
12
+ /goga:tool mkdocs
13
+ ```
14
+
15
+ ## How it works
16
+
17
+ The tool runs a deterministic pipeline of subskills that discover project artifacts, analyze changes, build documentation structure, write content, synchronize navigation, and validate results.
18
+
19
+ Two execution modes are available:
20
+
21
+ - **Bootstrap** — generates documentation from scratch when no prior state exists
22
+ - **Incremental** — patches existing documentation based on detected changes
23
+
24
+ ## Authoritative sources
25
+
26
+ Documentation is generated from:
27
+
28
+ - `CODEMANIFEST` files
29
+ - `.usages/**/*.md` files
30
+ - `.tests/**/*.yml` / `.tests/**/*.yaml` files
31
+
32
+ ## Quick links
33
+
34
+ - [Getting Started](getting-started.md)
35
+ - [Pipeline](pipeline.md)
36
+ - [Skills](skills/mkdocs.md)
@@ -0,0 +1,68 @@
1
+ {% extends "base.html" %}
2
+
3
+ {% block extrahead %}
4
+ {{ super() }}
5
+ <style>
6
+ /* Dark navbar — override palette in both themes */
7
+ [data-md-color-scheme=default][data-md-color-primary=custom],
8
+ [data-md-color-scheme=slate][data-md-color-primary=custom] {
9
+ --md-primary-fg-color: #0a0a13;
10
+ --md-primary-fg-color--light: #0a0a13cc;
11
+ --md-primary-bg-color: #ffffff;
12
+ }
13
+
14
+ .md-header__button.md-logo img,
15
+ .md-header__button.md-logo svg {
16
+ width: 32px;
17
+ height: 32px;
18
+ border-radius: 50%;
19
+ }
20
+
21
+ /* Search form — visible on dark header */
22
+ .md-search__overlay {
23
+ background-color: transparent !important;
24
+ }
25
+ [data-md-toggle=search]:checked~.md-header .md-search__overlay {
26
+ background-color: #0000008a !important;
27
+ }
28
+ .md-search__inner {
29
+ background-color: transparent !important;
30
+ }
31
+ .md-search__form {
32
+ background-color: #3a3a3a !important;
33
+ border-radius: 0.5rem;
34
+ }
35
+ .md-search__form:hover {
36
+ background-color: #4a4a4a !important;
37
+ }
38
+ .md-search__input {
39
+ color: #e0e0e0 !important;
40
+ }
41
+ .md-search__input::placeholder {
42
+ color: #999999 !important;
43
+ }
44
+ .md-search__icon {
45
+ color: #999999 !important;
46
+ }
47
+ .md-search__form:hover .md-search__icon,
48
+ .md-search__input:focus-visible ~ .md-search__icon {
49
+ color: #e0e0e0 !important;
50
+ }
51
+
52
+ /* Links in dark theme — readable on dark background */
53
+ [data-md-color-scheme=slate] .md-nav__link,
54
+ [data-md-color-scheme=slate] .md-toc__link,
55
+ [data-md-color-scheme=slate] article a {
56
+ color: #cbd5e0 !important;
57
+ }
58
+ [data-md-color-scheme=slate] .md-nav__link--passed,
59
+ [data-md-color-scheme=slate] .md-toc__link--passed {
60
+ color: #718096 !important;
61
+ }
62
+ [data-md-color-scheme=slate] .md-nav__link:hover,
63
+ [data-md-color-scheme=slate] .md-toc__link:hover,
64
+ [data-md-color-scheme=slate] article a:hover {
65
+ color: var(--md-accent-fg-color) !important;
66
+ }
67
+ </style>
68
+ {% endblock %}
@@ -0,0 +1,67 @@
1
+ # Pipeline
2
+
3
+ The mkdocs tool executes a deterministic pipeline of subskills. The pipeline order differs between execution modes.
4
+
5
+ ## Traceability
6
+
7
+ The tool maintains `.goga/tools/mkdocs/traceability.yml` — a mapping from documentation pages to source cell paths:
8
+
9
+ ```yaml
10
+ docs/auth.md:
11
+ - auth/data
12
+ - auth/oauth
13
+ ```
14
+
15
+ Rules:
16
+
17
+ - Entries reference cell directory paths (e.g. `auth/data`), not files
18
+ - Each cell path must exist as a directory with a `CODEMANIFEST` file
19
+ - A page is linked to a cell if it uses information from that cell's `CODEMANIFEST` or `.usages/` files
20
+
21
+ ## Bootstrap mode
22
+
23
+ Used when no prior documentation state exists.
24
+
25
+ ```
26
+ 1. Discovery — scan project for authoritative sources
27
+ 2. Structure — build documentation hierarchy
28
+ 3. Writer — create documentation content
29
+ 4. Nav Sync — generate mkdocs.yml navigation
30
+ 5. Validator — validate consistency and integrity
31
+ ```
32
+
33
+ ## Incremental mode
34
+
35
+ Used when documentation already exists. Adds impact analysis to detect what changed.
36
+
37
+ ```
38
+ 1. Discovery — scan project for authoritative sources
39
+ 2. Impact Analysis — detect affected and stale documentation pages
40
+ 3. Structure — update documentation hierarchy
41
+ 4. Writer — patch stale sections, create missing ones
42
+ 5. Nav Sync — update mkdocs.yml navigation
43
+ 6. Validator — validate consistency and integrity
44
+ ```
45
+
46
+ ## Reconciliation loop
47
+
48
+ If the validator returns `requires_reconciliation: true`, the pipeline re-runs a subset:
49
+
50
+ ```
51
+ 1. Impact Analysis
52
+ 2. Writer
53
+ 3. Nav Sync
54
+ 4. Validator
55
+ ```
56
+
57
+ Maximum reconciliation loops: **2**.
58
+
59
+ ## Completion criteria
60
+
61
+ The pipeline is complete when:
62
+
63
+ - Documentation is synchronized with authoritative artifacts
64
+ - Navigation is valid
65
+ - Required sections exist
66
+ - Stale docs are resolved
67
+ - No blocking questions remain
@@ -0,0 +1,21 @@
1
+ # discovery
2
+
3
+ Discover authoritative documentation artifacts and public documentation surface.
4
+
5
+ ## Role
6
+
7
+ Scans the repository to detect all sources that documentation should be generated from.
8
+
9
+ ## Workflow
10
+
11
+ 1. Scan repository
12
+ 2. Detect authoritative domains
13
+ 3. Detect `CODEMANIFEST` files
14
+ 4. Detect `.usages/` directories
15
+ 5. Detect `.tests/` directories
16
+ 6. Detect existing documentation
17
+ 7. Detect `mkdocs.yml`
18
+
19
+ ## Output
20
+
21
+ Returns structured discovery results listing all found artifacts, existing documentation state, and any warnings about missing sources.
@@ -0,0 +1,23 @@
1
+ # impact-analysis
2
+
3
+ Determine affected documentation areas and stale pages.
4
+
5
+ ## Role
6
+
7
+ Analyzes changes (git diff) against the traceability mapping to identify which documentation pages need updating.
8
+
9
+ ## Workflow
10
+
11
+ 1. Analyze git diff
12
+ 2. Load traceability mapping
13
+ 3. Detect affected documentation pages
14
+ 4. Detect stale sections
15
+ 5. Detect required patches
16
+
17
+ ## When it runs
18
+
19
+ Only in **incremental** mode and during reconciliation loops. Not part of the bootstrap pipeline.
20
+
21
+ ## Output
22
+
23
+ Returns a deterministic patch plan listing affected pages, stale sections, and required patches.
@@ -0,0 +1,50 @@
1
+ # mkdocs
2
+
3
+ Master orchestration skill for MkDocs documentation maintenance.
4
+
5
+ ## Role
6
+
7
+ Coordinates all subskills in deterministic order to create, synchronize, patch, validate, and maintain MkDocs documentation.
8
+
9
+ ## Invocation
10
+
11
+ ```text
12
+ /goga:tool mkdocs
13
+ ```
14
+
15
+ Invoked via the Goga tool agent command dispatcher. Not invoked directly by other skills.
16
+
17
+ ## Execution modes
18
+
19
+ | Mode | When |
20
+ |------|------|
21
+ | Bootstrap | No prior documentation state exists |
22
+ | Incremental | Documentation already exists, needs patching |
23
+
24
+ ## Subskills
25
+
26
+ | Subskill | Purpose |
27
+ |----------|---------|
28
+ | [Discovery](discovery.md) | Discover authoritative artifacts |
29
+ | [Impact Analysis](impact-analysis.md) | Detect affected and stale pages |
30
+ | [Structure](structure.md) | Build documentation hierarchy |
31
+ | [Writer](writer.md) | Create and patch content |
32
+ | [Nav Sync](nav-sync.md) | Synchronize mkdocs.yml navigation |
33
+ | [Validator](validator.md) | Validate consistency and integrity |
34
+ | [Questions](questions.md) | Escalate blocking uncertainties |
35
+
36
+ ## Authoritative sources
37
+
38
+ Documentation is generated from:
39
+
40
+ - `CODEMANIFEST` — cell contract definitions
41
+ - `.usages/**/*.md` — usage practice files
42
+ - `.tests/**/*.yml` / `.tests/**/*.yaml` — test specifications
43
+
44
+ ## Traceability
45
+
46
+ Maintains `.goga/tools/mkdocs/traceability.yml` mapping documentation pages to source cell paths.
47
+
48
+ ## Reconciliation
49
+
50
+ If validation fails, the pipeline re-runs impact analysis through validator (max 2 loops).