Files
luzia/SKILL-TRACKING-INDEX.md
admin ec33ac1936 Refactor cockpit to use DockerTmuxController pattern
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>
2026-01-14 10:42:16 -03:00

12 KiB

Luzia Skill & Documentation Tracking System - Index

Version: 1.0 Status: Complete Date: 2026-01-09

📚 Documentation Structure

Quick Start (5 minutes)

  1. DELIVERABLES-SUMMARY.md - Overview of what was built
    • Executive summary
    • 5 key deliverables
    • Usage metrics & findings
    • Current system status

Implementation Details (20 minutes)

  1. 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)

  1. 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 queue
  • analyze_job_metadata(hours) - Analyze execution history
  • detect_skills_in_tasks() - Detect skills from prompts
  • analyze_documentation_usage() - Track doc files
  • generate_report() - Complete report
  • print_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

  1. Queue Analysis

    • Pending task count (high vs normal)
    • Skills in queue entries
    • By-project distribution
    • Priority breakdown
  2. Job History Analysis

    • Total jobs executed
    • Debug mode task count
    • Skills used
    • By-project breakdown
    • Time window filtering (default 24h)
  3. Skill Detection

    • Keyword-based detection from prompts
    • Pattern matching (20+ keywords)
    • Detected by task category
    • By project
  4. Documentation Analysis

    • Available doc files
    • File sizes and dates
    • Reference patterns
    • Sync status
  5. 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

  1. Real-time Dashboard - WebSocket live updates
  2. Skill Performance Metrics - Success rate per skill
  3. Auto-skill Suggestion - ML-based prediction
  4. Documentation Correlation - Link skills to docs
  5. 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