Based on claude-code-tools TmuxCLIController, this refactor: - Added DockerTmuxController class for robust tmux session management - Implements send_keys() with configurable delay_enter - Implements capture_pane() for output retrieval - Implements wait_for_prompt() for pattern-based completion detection - Implements wait_for_idle() for content-hash-based idle detection - Implements wait_for_shell_prompt() for shell prompt detection Also includes workflow improvements: - Pre-task git snapshot before agent execution - Post-task commit protocol in agent guidelines Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
12 KiB
Luzia Skill & Documentation Tracking System - Index
Version: 1.0 Status: ✅ Complete Date: 2026-01-09
📚 Documentation Structure
Quick Start (5 minutes)
- DELIVERABLES-SUMMARY.md - Overview of what was built
- Executive summary
- 5 key deliverables
- Usage metrics & findings
- Current system status
Implementation Details (20 minutes)
- SKILL-TRACKING-IMPLEMENTATION-GUIDE.md - How-to guide
- Architecture and components
- Current implementation status
- Usage examples
- Troubleshooting tips
- Extension guide
Complete Technical Reference (60 minutes)
- SKILL-AND-DOCS-TRACKING.md - Comprehensive documentation
- Full architecture explanation
- All tracking mechanisms
- Storage locations
- Integration points
- Best practices
- Future enhancements
🛠️ Tools & Deliverables
1. Analysis Tool
File: lib/skill_usage_analyzer.py
Purpose: Generate reports on skill and documentation usage
Usage:
# Print summary
python3 lib/skill_usage_analyzer.py
# JSON output
python3 lib/skill_usage_analyzer.py json
# Save report
python3 lib/skill_usage_analyzer.py save FILE.json
Methods:
analyze_queue_entries()- Analyze pending queueanalyze_job_metadata(hours)- Analyze execution historydetect_skills_in_tasks()- Detect skills from promptsanalyze_documentation_usage()- Track doc filesgenerate_report()- Complete reportprint_summary()- Console output
2. JSON Report
File: skill-usage-report.json
Content:
- Queue analysis (pending tasks, skills found)
- Job analysis (93 jobs, 36 debug tasks)
- Skill detection (keyword-based)
- Documentation usage (4 files tracked)
- Project distribution (5 active projects)
Update:
python3 lib/skill_usage_analyzer.py save skill-usage-report.json
3. Interactive Dashboard
File: skill-usage-dashboard.html
Features:
- 6 key statistics cards
- Visual charts (projects, priorities)
- Skill list with counts
- Documentation file listing
- Usage insights and patterns
- Responsive design
Access:
# Open in browser
open skill-usage-dashboard.html
# Or serve locally
python3 -m http.server 8000
# Visit: http://localhost:8000/skill-usage-dashboard.html
📊 Key Metrics
Current Status (24-hour window)
| Metric | Value |
|---|---|
| Total Jobs | 93 |
| Claude Dev Tasks | 36 (38.7%) |
| Active Projects | 5 |
| Pending Queue Tasks | 0 |
| Unique Skills | 0 (dynamic) |
| Doc Files | 4 |
Project Distribution
Admin 36 jobs (38.7%)
Musica 32 jobs (34.4%)
LibreChat 11 jobs (11.8%)
Luzia 8 jobs (8.6%)
DSS 6 jobs (6.5%)
Skill Detection Keywords
20+ Keywords Detected:
- Claude skills:
skill,plugin,command - MCP:
mcp,mcp server,mcp config - Agents:
agent,agent framework - Tools:
tool,tool specification,integration - Config:
.claude,slash command,skill file - API:
anthropic,claude-code
🏗️ Architecture Overview
Task Flow with Skill Tracking
User Input
↓
is_claude_dev_task() - Keyword Analysis
↓
Queue Controller enqueue()
├─ Stores: skill_match (optional)
├─ Priority: 1-3 (high) or 4-10 (normal)
└─ Location: /var/lib/luzia/queue/pending/
↓
Queue Daemon dispatch()
├─ Reads: skill_match from queue entry
├─ Creates: Conductor directory
└─ Writes: meta.json with skill field
↓
Agent Execution
├─ Reads: meta.json
├─ Uses: Skill in prompt context
└─ Updates: heartbeat, progress, dialogue
↓
KG Sync
├─ Persists: Task metadata to KG
├─ Location: /etc/luz-knowledge/projects.db
└─ Access: Via `luzia docs` command
Components Involved
| Component | Location | Role |
|---|---|---|
| Dispatcher | /opt/server-agents/orchestrator/bin/luzia |
Skill detection |
| Queue Controller | lib/queue_controller.py |
Skill tracking |
| Docker Bridge | lib/docker_bridge.py |
Container mgmt |
| Knowledge Graph | lib/knowledge_graph.py |
Persistence |
| Analyzer | lib/skill_usage_analyzer.py |
Analysis |
📁 File Locations
Documentation
/opt/server-agents/orchestrator/
├── README.md [Quick reference]
├── IMPLEMENTATION-SUMMARY.md [Technical overview]
├── STRUCTURAL-ANALYSIS.md [Code structure]
├── SKILL-AND-DOCS-TRACKING.md [Complete guide]
├── SKILL-TRACKING-IMPLEMENTATION-GUIDE.md [How-to guide]
├── SKILL-TRACKING-INDEX.md [This file]
└── DELIVERABLES-SUMMARY.md [Project summary]
Tools
/opt/server-agents/orchestrator/
├── lib/
│ ├── skill_usage_analyzer.py [Analysis tool]
│ ├── queue_controller.py [Queue mgmt]
│ ├── knowledge_graph.py [KG storage]
│ └── docker_bridge.py [Container mgmt]
├── bin/
│ └── luzia [Main dispatcher]
└── config.json [Configuration]
Data/Reports
/opt/server-agents/orchestrator/
├── skill-usage-report.json [JSON report]
├── skill-usage-dashboard.html [Web dashboard]
└── structure-analysis-*.json [Analysis data]
State
/var/lib/luzia/queue/
├── pending/
│ ├── high/ [High priority tasks]
│ └── normal/ [Normal priority tasks]
└── capacity.json [System capacity]
/var/log/luz-orchestrator/jobs/
└── {job_id}/
├── meta.json [Job metadata with skill]
├── heartbeat.json [Last heartbeat]
├── progress.md [Progress tracking]
└── dialogue/ [Agent dialogue]
/etc/luz-knowledge/
├── sysadmin.db [System admin docs]
├── users.db [User management]
├── projects.db [Project docs]
└── research.db [Research data]
🚀 Quick Start Commands
Generate Reports
# Console summary
cd /opt/server-agents/orchestrator
python3 lib/skill_usage_analyzer.py
# JSON report
python3 lib/skill_usage_analyzer.py save skill-usage-report.json
# JSON output (pipe)
python3 lib/skill_usage_analyzer.py json | jq '.job_analysis'
View Dashboard
# Open in browser (from terminal)
open /opt/server-agents/orchestrator/skill-usage-dashboard.html
# Or serve locally
cd /opt/server-agents/orchestrator
python3 -m http.server 8000
# Visit: http://localhost:8000/skill-usage-dashboard.html
Query Knowledge Graph
# Search for skills
luzia docs skill
# Show specific entity
luzia docs --show "Skill Detection System"
# Get statistics
luzia docs --stats
# Sync documentation
luzia docs --sync
Monitor System
# Check queue status
luzia jobs
# View maintenance status
luzia maintenance
# List recent jobs
ls -lt /var/log/luz-orchestrator/jobs/ | head -20
# View job metadata
cat /var/log/luz-orchestrator/jobs/*/meta.json | jq '.debug'
🎯 What Gets Tracked
At Queue Level
- Task ID, project, prompt, priority
- skill_match (optional, for future explicit routing)
- Enqueued timestamp and user
- Status (pending → dispatched)
At Conductor Level
- Task metadata with skill field
- Started timestamp, execution status
- Priority level and dispatcher info
- Zen continuation ID (for multi-turn)
In Job Logs
- Full metadata from conductor
- Task description (first 100 chars)
- debug flag (indicates Claude dev task)
- Status: running, completed, failed
In Knowledge Graph
- Task ID, project, prompt, status
- skill field (persisted)
- Timestamp information
- Domain: projects (searchable)
📊 Analysis Capabilities
Available Analyses
-
Queue Analysis
- Pending task count (high vs normal)
- Skills in queue entries
- By-project distribution
- Priority breakdown
-
Job History Analysis
- Total jobs executed
- Debug mode task count
- Skills used
- By-project breakdown
- Time window filtering (default 24h)
-
Skill Detection
- Keyword-based detection from prompts
- Pattern matching (20+ keywords)
- Detected by task category
- By project
-
Documentation Analysis
- Available doc files
- File sizes and dates
- Reference patterns
- Sync status
-
Statistics & Distribution
- Skill usage percentage
- Project distribution
- Time-based metrics
- Correlation analysis
🔗 Integration Points
MCP Servers
- Zen MCP - Deep reasoning, code review
- Sarlo-Admin MCP - System administration
Knowledge Graph Domains
- sysadmin - System procedures
- users - User management
- projects - Project info
- research - Research data
Storage Systems
- Queue -
/var/lib/luzia/queue/pending/ - Conductor -
/home/{project}/conductor/active/ - Job Logs -
/var/log/luz-orchestrator/jobs/ - KG Databases -
/etc/luz-knowledge/
🔍 Troubleshooting
"Analyzer shows 0 skills in queue"
Reason: skill_match parameter is optional Solution: Skills detected via debug flag in jobs (36 out of 93)
"Documentation not in KG"
Reason: Sync not run
Solution: Run luzia docs --sync
"No JSON report generated"
Reason: Analyzer not run
Solution: Run python3 lib/skill_usage_analyzer.py save FILE.json
"Dashboard not loading"
Reason: Report missing or path wrong Solution: Generate report first, ensure it's in same directory
📈 Future Enhancements
Proposed Features
- Real-time Dashboard - WebSocket live updates
- Skill Performance Metrics - Success rate per skill
- Auto-skill Suggestion - ML-based prediction
- Documentation Correlation - Link skills to docs
- Skill Profiling - Identify underutilized skills
Expansion Areas
- Extend keyword list as new skills added
- Add ML-based skill classification
- Implement skill performance dashboard
- Create skill recommendation engine
- Build documentation coverage reports
📞 Usage Support
For Questions About:
Architecture & Design
→ See: SKILL-AND-DOCS-TRACKING.md (Section 1-4)
How to Use Tools
→ See: SKILL-TRACKING-IMPLEMENTATION-GUIDE.md (Section 9)
Current Status & Metrics
→ See: DELIVERABLES-SUMMARY.md (Metrics section)
Implementation Details
→ See: SKILL-TRACKING-IMPLEMENTATION-GUIDE.md (Section 2-3)
Troubleshooting
→ See: SKILL-TRACKING-IMPLEMENTATION-GUIDE.md (Section 10)
✅ Completion Checklist
- Skill detection system documented
- Documentation tracking explained
- Queue-level tracking implemented
- Conductor-level tracking verified
- Knowledge graph integration complete
- Analysis tool created
- JSON report generated
- Dashboard built
- All documentation written
- Facts stored in shared KG
- Examples provided
- Troubleshooting guide included
📚 Document Summary
| Document | Purpose | Read Time | Audience |
|---|---|---|---|
| DELIVERABLES-SUMMARY.md | Quick overview | 5 min | Everyone |
| SKILL-TRACKING-IMPLEMENTATION-GUIDE.md | How to use | 15 min | Users |
| SKILL-AND-DOCS-TRACKING.md | Full reference | 45 min | Developers |
| SKILL-TRACKING-INDEX.md | Navigation | 10 min | Everyone |
🎉 Project Completion
Status: ✅ COMPLETE AND OPERATIONAL
Deliverables: 6 documents + 1 analysis tool + 1 dashboard Knowledge Graph Facts: 5 stored relationships Test Data: 93 real jobs analyzed Documentation: ~40KB across 6 files Code: ~500 lines (skill_usage_analyzer.py)
The Luzia Skill & Documentation Tracking System is ready for:
- Immediate use in production
- Further development and enhancement
- Integration with other Luzia components
- Extension with new features
Created: 2026-01-09 Version: 1.0 Status: Production Ready ✅ Maintained By: Luzia Documentation System