infrastructure-documentation · git:20260606.243a3c4 · 2026-06-06 · sha256 2557831170e72b56
infrastructure-documentation git:20260606.243a3c4A
Immutable. This exact content is served forever at /api/v1/blob/2557831170e72b56.
---
name: infrastructure-documentation
description: Skill for the documentation infrastructure module providing figure management, image handling, markdown integration, and API glossary generation. Use when managing research figures, inserting images into manuscripts, auto-numbering figures, or generating API documentation.
---
# Documentation Module
Figure management, image handling, and documentation integration for research manuscripts.
## FigureManager (`figure_manager.py`)
Automatic figure numbering, cross-referencing, and metadata tracking:
```python
from infrastructure.documentation import FigureManager, FigureMetadata
manager = FigureManager()
# Register a figure (label auto-generated from filename if omitted)
manager.register_figure(
filename="results.png",
caption="Experimental results showing...",
label="fig:results",
section="Results",
)
# Get figure metadata by label
meta = manager.get_figure("fig:results") # Returns FigureMetadata | None
```
## ImageManager (`image_manager.py`)
Image file management and processing:
```python
from pathlib import Path
from infrastructure.documentation import ImageManager, FigureManager
img_manager = ImageManager(FigureManager())
# Insert a registered figure into a markdown file under a section
img_manager.insert_figure(Path("manuscript/01_intro.md"), "fig:results", section="Results")
# Validate that referenced figures exist and labels are registered
errors = img_manager.validate_figures(Path("manuscript/01_intro.md")) # list[(label, error)]
```
## MarkdownIntegration (`markdown_integration.py`)
Auto-insertion of figures and content into markdown manuscripts:
```python
from pathlib import Path
from infrastructure.documentation import MarkdownIntegration, FigureManager
integrator = MarkdownIntegration(Path("manuscript"), FigureManager())
# Insert a figure into a named section of a markdown file
integrator.insert_figure_in_section(Path("manuscript/01_intro.md"), "fig:results", "Results")
```
## Glossary & API Documentation (`glossary_gen.py`)
Generate API documentation and glossaries from source code:
```python
from infrastructure.documentation import build_api_index, generate_markdown_table, ApiEntry
from infrastructure.documentation.glossary_gen import inject_between_markers
# Build API index from source
api_entries = build_api_index(source_dir)
# Generate markdown table
table = generate_markdown_table(api_entries)
# Inject between markers in a markdown file (operates on text, not a file path)
updated_text = inject_between_markers(
text=original_text,
begin_marker="<!-- API_START -->",
end_marker="<!-- API_END -->",
content=table,
)
```
**CLI:**
```bash
# Positional args: SRC_DIR GLOSSARY_MD (no --project flag)
uv run python -m infrastructure.documentation.generate_glossary_cli \
projects/{name}/src projects/{name}/manuscript/98_symbols_glossary.md
# With no args, defaults to <repo>/project/src and <repo>/project/manuscript/98_symbols_glossary.md
```