8.1 KiB
Library Documentation Analysis
Analyze markdown-based library documentation and extract observations and relations for semantic search.
Arguments
$1- Library name (required): Name of the library (e.g., laravel, react, django)$2- Documentation path (optional): Path to library docs- Default:
knowledge-base/libraries/$1/ - Supports absolute or relative paths
- Default:
Workflow
Phase 1: Validation
-
Validate arguments:
- Library name is required
- If no path provided, use default:
knowledge-base/libraries/$1/ - Verify documentation path exists
- Check for markdown files in path
-
Verify dependencies:
- basic-memory MCP server is available
- Validation scripts exist in plugin
Phase 2: Analysis
-
Invoke lib-doc-analyzer agent:
Explicitly invoke the lib-doc-analyzer agent to perform the analysis:
Use the lib-doc-analyzer agent to analyze the $1 library documentation. Agent context: - Library name: $1 - Documentation path: $2 (or knowledge-base/libraries/$1/ if not specified) - Task: Analyze all markdown files and extract observations and relations - Skill: Use the lib-doc-methodology skill for guidanceAlternative invocation patterns:
Have the lib-doc-analyzer agent process the library documentation at $2. Extract metadata from $1 documentation using the lib-doc-analyzer agent. Ask lib-doc-analyzer to analyze library docs for $1 at $2.What the agent will do:
- Automatically follow the 5-phase workflow defined in its system prompt
- Use the lib-doc-methodology skill for extraction rules
- Generate enhanced markdown files with frontmatter
- Create lib-docs-$1.json metadata file
- Run validation scripts to verify quality
-
Agent performs 5-phase workflow:
- Discovery: Find all markdown files
- Parsing: Extract structure (headings, code, links)
- Analysis: Extract observations and relations
- Generation: Create enhanced markdown files
- Validation: Verify content preservation
Phase 3: Validation
-
Run validation scripts:
# Validate metadata JSON python3 plugins/melly-writer-lib/scripts/validate-lib-docs.py lib-docs-$1.json # Verify content preservation python3 plugins/melly-writer-lib/scripts/validate-content.py $2 -
Check validation results:
- Exit code 0: Success
- Exit code 1: Warnings (continue with caution)
- Exit code 2: Blocking errors (stop workflow)
Phase 4: Integration
-
Store in basic-memory:
- Create knowledge entities for each enhanced markdown file
- Include metadata (observations, relations) in entity
- Generate permalinks for cross-referencing
-
Generate metadata file:
- Create
lib-docs-$1.jsonwith complete metadata - Include library info, entities, relationships, statistics
- Store in documentation path
- Create
Phase 5: Reporting
- Generate summary report:
✅ Library Documentation Analysis Complete Library: [Library Name Version] Path: [Documentation Path] --- 📊 Statistics: Files processed: [count] Observations: [count] Relations: [count] Total chunks: [count] Avg chunk size: [words] 📁 Output: Enhanced files: [path]/**/*.md Metadata: lib-docs-[name].json basic-memory entities: [count] created ✅ Validation: Content preservation: [passed/total] passed Metadata quality: Valid 💡 Next Steps: 1. Search: "What is [concept] in [library]?" 2. Build context: "Show me [library] [topic] concepts" 3. Navigate: Open enhanced markdown files in Obsidian
Examples
# Analyze Laravel documentation (default path)
/melly-analyze-lib-docs laravel
# Analyze React documentation (default path)
/melly-analyze-lib-docs react
# Analyze Django with custom path
/melly-analyze-lib-docs django /path/to/django-docs
# Analyze Laravel 11.x with explicit path
/melly-analyze-lib-docs laravel-11 knowledge-base/libraries/laravel-11/
Error Handling
Missing library name:
❌ Error: Library name is required
Usage: /melly-analyze-lib-docs [library-name] [docs-path]
Example: /melly-analyze-lib-docs laravel
Documentation path not found:
❌ Error: Documentation path not found
Path: knowledge-base/libraries/[name]/
Please ensure the documentation exists or provide a custom path.
No markdown files found:
❌ Error: No markdown files found in documentation path
Path: [path]
Expected: At least one .md file in the directory
Validation failure:
❌ Validation Error: Content preservation failed
File: [filename]
Issue: Enhanced content differs from original
Action: Review agent output and try again
basic-memory unavailable:
⚠️ Warning: basic-memory MCP server not available
Analysis will continue, but entities won't be stored for semantic search.
Metadata will still be generated in lib-docs-[name].json
Output Structure
Enhanced Markdown Files
Each original markdown file is enhanced with:
- Frontmatter: Library metadata (name, version, url, file info)
- Metadata Section: Observations and relations extracted from content
- Separator:
---to separate metadata from original content - Original Content: 100% preserved, byte-for-byte identical
Metadata JSON File
lib-docs-[library-name].json contains:
- library: Library information (name, version, url, stats)
- entities: Array of enhanced files with metadata
- relationships: Cross-file relations discovered
- analyzed_at: Timestamp of analysis
basic-memory Entities
Each enhanced markdown file becomes a searchable entity:
- Content: Original markdown content
- Metadata: Observations and relations
- Permalink: Stable reference for cross-linking
Best Practices
-
Organize documentation:
- Use standard path:
knowledge-base/libraries/[name]/ - Keep original structure (don't flatten)
- Preserve version information
- Use standard path:
-
Incremental updates:
- Re-analyze when docs are updated
- Metadata will be regenerated
- basic-memory entities will be updated
-
Quality validation:
- Always review validation output
- Check content preservation results
- Verify observations are extracted, not fabricated
-
Semantic search:
- Use natural language queries
- Reference concepts by name
- Build context from multiple entities
-
Integration with C4 model:
- Library docs inform C2 (Container) analysis
- Technical decisions reference library capabilities
- Architectural patterns link to library features
Troubleshooting
Agent doesn't activate
Cause: lib-doc-analyzer agent not found
Solution: Ensure agent exists in plugins/melly-writer-lib/agents/
Skill not used
Cause: lib-doc-methodology skill not loaded
Solution: Check plugins/melly-writer-lib/skills/lib-doc-methodology/SKILL.md exists
Validation scripts fail
Cause: Python version incompatibility or missing dependencies Solution:
- Ensure Python 3.8+ is installed:
python3 --version - Make scripts executable:
chmod +x plugins/melly-writer-lib/scripts/*.py - Install required packages (see plugin README.md)
basic-memory errors
Cause: MCP server configuration issue
Solution: Verify basic-memory in ~/.claude/settings.json
Dependencies
- Agent: lib-doc-analyzer
- Skill: lib-doc-methodology
- Scripts: validate-lib-docs.py, validate-content.py
- MCP Server: basic-memory (optional but recommended)
- Python: 3.8+ with required packages
Related Commands
/melly-init- Initialize C4 model exploration/melly-c2-containers- Analyze C2 containers (uses library knowledge)/melly-doc-c4model- Generate C4 documentation (references library docs)
Version: 1.0.0 Plugin: melly-writer-lib Category: knowledge-extraction