A comprehensive AI/ML development ecosystem combining skill orchestration, semantic relationship learning, and production-ready Claude Code skills.
- Skill Orchestration Framework - Chain multiple skills into complex workflows
- UMAP Analogy Engine - Semantic relationship learning and analogies
- Claude Code Skills - 14+ production-ready skills for development workflows
- MCP API Connector - Interact with MCP servers and external APIs
- Agent Template System - Generate and manage AI agent configurations
- Agent Pulse - Proactive AI assistant with overnight research
- Memory Tool - Persistent storage and retrieval across sessions
- Workflow Orchestrator - Task management and execution
- Task Classification & Routing - Intelligent task routing system
A flexible, extensible system for chaining AI/ML skills together into complex workflows. Build sophisticated pipelines by composing modular skills.
python example_skill_orchestration.py # Run complete demonstration
python test_orchestration.py # Run test suite- β Chain multiple skills (RAG, Summarization, Reporting, etc.)
- β Configure via Python code or YAML/JSON files
- β Automatic skill discovery and registration
- β Data flow management between skills
- β Error handling and recovery
- β Extensible with custom skills
See SKILL_ORCHESTRATION.md for complete guide.
from skills import SkillOrchestrator, get_global_registry
# Auto-discover and register skills
registry = get_global_registry()
registry.discover_skills("skills.implementations")
# Build a chain programmatically
orchestrator = SkillOrchestrator(registry)
chain = (
orchestrator.create_chain("my_pipeline", "RAG + Summarization + Reporting")
.add_step("rag_pipeline")
.add_step("summarization")
.add_step("reporting")
)
# Execute the chain
context = orchestrator.execute_chain(chain)
print(context.get_result("reporting")["report"])A semantic relationship engine that learns universal relationship mappings inspired by UMAP's topological data analysis approach. Enables semantic analogies like "boy:girl :: king:?" β "queen" by learning consistent relationship transformations in a low-dimensional embedding space.
This component implements a novel approach to semantic analogies by:
- Learning a low-dimensional manifold using parametric UMAP that preserves high-dimensional topology
- Aligning semantic relationships by clustering and regularizing difference vectors
- Extracting relation axes that can be applied to perform analogies
- Supporting multi-relation learning with orthogonality constraints to disentangle different types of relationships
- β
Fixed all critical bugs from V1 draft (see
CODE_REVIEW.md) - β 15-20x faster training with cluster caching and optimized gradient computation
- β Numerically stable with proper epsilon handling and bounds checking
- β Production-ready with comprehensive documentation and error handling
- β Flexible metric selection (Euclidean or cosine similarity)
- β Auto-balancing of loss weights via gradient norm matching
- β
Activity logging and reporting for transparency and auditability (see
ACTIVITY_LOGGING.md) - β Persistent memory system for session continuity and experiment tracking
The project now includes a powerful Memory Tool that enables persistent storage and retrieval of information across sessions:
- π¦ CRUD operations: Create, Read, Update, Delete memories with simple API
- π Semantic search: Vector-based similarity search to find relevant memories
- πΎ Multiple types: Store facts, summaries, models, embeddings, and experiments
- π Session continuity: Maintain context across conversations with session summaries
- π Experiment tracking: Save and compare training runs with metadata
from memory_tool import MemoryTool
from memory_integration import AnalogyMemoryManager
# Basic memory operations
memory = MemoryTool()
memory.create("user_pref", "User prefers technical explanations", memory_type="fact")
results = memory.search("user preferences", k=3)
# Save a trained model with full context
manager = AnalogyMemoryManager()
manager.save_trained_model(
model_state=model.state_dict(),
embeddings=Z,
relation_axes=axes,
model_name="gender_analogy_v1",
metadata={"epochs": 300, "accuracy": 0.87}
)
# Load it later in a new session
bundle = manager.load_trained_model("gender_analogy_v1")See MEMORY_TOOL_GUIDE.md for complete documentation.
This repository now includes Agent Pulse, a ChatGPT Pulse-inspired system that transforms reactive AI assistance into proactive support:
- π Analyzes past conversations to understand your interests and projects
- π Conducts overnight research on relevant topics
- π‘ Identifies opportunities for learning and optimization
- π§ Suggests solutions to recurring problems
- β Tracks action items and commitments
- π― Learns from feedback to personalize updates
# Generate your first pulse update
python -m agent_pulse.cli.pulse_cli generate
# Configure your interests
python -m agent_pulse.cli.pulse_cli config --add-interest "machine learning"
# View system status
python -m agent_pulse.cli.pulse_cli statusπ Full Agent Pulse Documentation β
import torch
from umap_analogy_engine import (
train_relation_aware_umap,
extract_relation_axes,
analogy_from_pair,
)
# Load your high-dimensional embeddings
X_high = torch.load("embeddings.pt") # Shape: (N, D)
# Define semantic relations as pairs
pairs_gender = torch.tensor([
[idx("king"), idx("queen")],
[idx("man"), idx("woman")],
[idx("boy"), idx("girl")],
])
# Train the model
model, Z = train_relation_aware_umap(
X_high,
pair_indices_list=[pairs_gender],
n_clusters_list=[1],
epochs=200,
)
# Perform analogy: "king is to queen as man is to ?"
results = analogy_from_pair(
model, X_high, [pairs_gender], [1],
word_a_idx=idx("king"),
word_b_idx=idx("queen"),
query_word_idx=idx("man"),
k=5
)For detailed documentation, see the UMAP sections below.
This repository includes 14+ production-ready Claude Code skills for enhanced development workflows:
| Skill | Description | Location |
|---|---|---|
| Summarization | Condense documents, logs, and transcripts | .claude/skills/summarization/ |
| Agent Observations | Task understanding and reasoning analysis | .claude/skills/agent-observations/ |
| Chain of Thought | Structured reasoning with XML templates | .claude/skills/chain-of-thought/ |
| Code Translation | Cross-language code conversion | .claude/skills/code-translation/ |
| Error Handling | Robust error management with retry logic | .claude/skills/error-handling.md |
| Automated UI Testing | Playwright integration for testing | .claude/skills/automated-ui-testing.md |
| Batch Processing | Efficient task execution | .claude/skills/batch-processing.md |
| Excel Pivot Charts | Data visualization and analysis | .claude/skills/excel-pivot-charts/ |
| Files API | File management system | .claude/skills/files-api/ |
| PDF Processing | Comprehensive PDF tools | .claude/skills/pdf-processing/ |
| Progressive Disclosure | Information flow control | .claude/skills/progressive-disclosure/ |
| Prompt Templating | Template system for prompts | .claude/skills/prompt-templating/ |
| Version Management | Version control tools | .claude/skills/version-management/ |
| Vision | Image processing capabilities | .claude/skills/vision/ |
| Web Fetch | Web content retrieval | .claude/skills/web-fetch/ |
See .claude/skills/USAGE_GUIDE.md for detailed examples and best practices.
A Claude Code skill that enables interaction with the Model Context Protocol (MCP) servers and external API systems like GitHub, Figma, Slack, Linear, and more.
Location: .claude/skills/mcp-api-connector/
Features:
- β Connect to MCP servers following the Model Context Protocol specification
- β Query REST APIs (GitHub, Figma, Slack, etc.)
- β Execute GraphQL queries (Linear, etc.)
- β Secure authentication (Bearer tokens, API keys, OAuth)
- β Automatic response translation into agent context
- β Comprehensive test suite (25 tests, 100% passing)
Quick Start:
# Install dependencies
cd .claude/skills/mcp-api-connector
pip install -r requirements.txt
# Configure authentication
cp ../../.env.example ../../.env
# Edit .env and add your API tokens
# Run examples
python examples.py
# Run tests
python test_skill.pyDocumentation: See .claude/skills/mcp-api-connector/README.md for detailed usage and API reference.
A comprehensive system for creating, managing, and configuring AI agents and their skills using templates.
Location: Root directory (agents/, templates/, config/)
Features:
- β Template Population: Dynamically generate agent and skill configurations from Jinja2 templates
- β Metadata Management: Store, retrieve, and validate metadata for agents and skills
- β Auto-generate skill and agent IDs following naming conventions
- β Populate YAML configurations from Jinja2 templates
- β Validate configurations against schemas
Documentation: See AGENT_TEMPLATE_SYSTEM.md for complete documentation.
Agent Pulse is a ChatGPT Pulse-inspired system that transforms reactive AI assistance into proactive support.
- π Analyzes past conversations to understand your interests and projects
- π Conducts overnight research on relevant topics
- π‘ Identifies opportunities for learning and optimization
- π§ Suggests solutions to recurring problems
- β Tracks action items and commitments
- π― Learns from feedback to personalize updates
# Generate your first pulse update
python -m agent_pulse.cli.pulse_cli generate
# Configure your interests
python -m agent_pulse.cli.pulse_cli config --add-interest "machine learning"
# View system status
python -m agent_pulse.cli.pulse_cli statusDocumentation: See AGENT_PULSE.md for complete guide.
A powerful Memory Tool that enables persistent storage and retrieval of information across sessions.
- π¦ CRUD operations: Create, Read, Update, Delete memories with simple API
- π Semantic search: Vector-based similarity search to find relevant memories
- πΎ Multiple types: Store facts, summaries, models, embeddings, and experiments
- π Session continuity: Maintain context across conversations with session summaries
- π Experiment tracking: Save and compare training runs with metadata
from memory_tool import MemoryTool
from memory_integration import AnalogyMemoryManager
# Basic memory operations
memory = MemoryTool()
memory.create("user_pref", "User prefers technical explanations", memory_type="fact")
results = memory.search("user preferences", k=3)
# Save a trained model with full context
manager = AnalogyMemoryManager()
manager.save_trained_model(
model_state=model.state_dict(),
embeddings=Z,
relation_axes=axes,
model_name="gender_analogy_v1",
metadata={"epochs": 300, "accuracy": 0.87}
)
# Load it later in a new session
bundle = manager.load_trained_model("gender_analogy_v1")Documentation: See MEMORY_TOOL_GUIDE.md for complete guide.
Comprehensive tools for managing complex AI/ML workflows:
workflow_orchestrator.py- Task orchestration enginetask_executor.py- Task execution with monitoringdispatcher_skill.py- Task dispatch systemoption_evaluator.py- Decision support framework
See ORCHESTRATOR_README.md and TASK_EXECUTION_SKILL_README.md for details.
An intelligent task classification and routing system that automatically classifies input tasks into categories and routes them to appropriate skills or agents.
- 12 Built-in Categories: PDF, Spreadsheet, Code Execution, Text Processing, Image Processing, Data Analysis, Web Scraping, File Management, API Interaction, Database Query, Machine Learning, and Analogy Finding
- Extensible Skill Registry: Register custom skills with metadata and capabilities
- Multi-Strategy Classification: Pattern matching, keyword detection, and contextual analysis
- Confidence Scoring: Returns classification confidence for validation
- Batch Processing: Classify and route multiple tasks efficiently
from task_classification_routing import TaskRouter
router = TaskRouter()
# Route a task to the appropriate skill
result = router.route("Find semantic analogies: king is to queen as man is to what?")
print(f"Skill: {result.skill_name}") # "Analogy Finder (UMAP)"
print(f"Confidence: {result.confidence:.2f}")Documentation: See TASK_CLASSIFICATION_ROUTING.md
Examples: Run python example_task_routing.py
# Clone the repository
git clone <your-repo-url>
cd ClaudeCodeFrameWork
# Install dependencies
pip install -r requirements.txt- Python 3.8+
- PyTorch 2.0+ (for UMAP analogy engine)
- NumPy 1.20+ (optional, for advanced features)
- PyYAML 6.0+ (for skill orchestration)
- psutil>=5.9.0 (for workflow orchestrator)
- pytest>=7.0.0 (optional, for testing)
python example_skill_orchestration.py
python test_orchestration.pypython umap_analogy_engine.py
python example_word_analogies.pypython -m agent_pulse.cli.pulse_cli generatepython demo_memory_basic.pypython example_task_routing.py- SKILL_ORCHESTRATION.md - Skill orchestration guide
- CODE_REVIEW.md - UMAP engine code review and improvements
- AGENT_PULSE.md - Agent Pulse documentation
- MEMORY_TOOL_GUIDE.md - Memory tool guide
- ORCHESTRATOR_README.md - Workflow orchestration
- TASK_CLASSIFICATION_ROUTING.md - Task routing
- RAG_RERANKER_GUIDE.md - RAG reranking
- CACHING.md - Caching strategies
- .claude/skills/USAGE_GUIDE.md - Skills usage guide
- .claude/skills/QUICK_REFERENCE.md - Quick reference
- DISPATCHER_SKILL_README.md - Task dispatcher
- OPTION_EVALUATOR_README.md - Decision support
- TASK_EXECUTION_SKILL_README.md - Task execution
Builds a k-nearest neighbor graph with fuzzy set memberships:
- Computes adaptive bandwidths (sigma) via binary search
- Symmetrizes using fuzzy union: P(A βͺ B) = P(A) + P(B) - P(A)Β·P(B)
- Returns edge list in COO format
Deep neural network that learns the mapping: X_high β β^D β Z_low β β^d
Default architecture:
- Input: D-dimensional
- Hidden: [512, 256, 128] with LayerNorm + ReLU + Dropout
- Output: d-dimensional (default d=2)
L_total = L_umap + Ξ±Β·L_align + Ξ²Β·L_ortho
Where:
- L_umap: UMAP cross-entropy (topology preservation)
- L_align: Relation alignment loss
- L_ortho: Orthogonality penalty
# UMAP parameters
N_NEIGHBORS = 15 # k for kNN graph
MIN_DIST = 0.1 # Minimum distance in low-D
D_LOW = 2 # Low-dimensional space size
# Training parameters
EPOCHS = 400 # Training epochs
LR = 1e-3 # Learning rate
# Loss weights
ALIGN_W = 1.0 # Relation alignment weight
ORTHO_W = 0.1 # Orthogonality penalty weight
# Model architecture
HIDDEN_DIMS = [512, 256, 128]
DROPOUT_P = 0.10train_relation_aware_umap(
X_high: torch.Tensor,
pair_indices_list: List[torch.Tensor],
n_clusters_list: List[int],
epochs: int = 400,
...
) -> Tuple[nn.Module, torch.Tensor]extract_relation_axes(
model: nn.Module,
X_high: torch.Tensor,
pair_indices_list: List[torch.Tensor],
n_clusters_list: List[int],
) -> List[Optional[Dict[str, Union[torch.Tensor, float]]]]find_analogy(
embeddings: torch.Tensor,
relation_axes: List[Optional[Dict]],
query_word_idx: int,
relation_idx: int,
k: int = 1,
) -> List[Tuple[int, float]]| Dataset Size | Training Time (V1) | Training Time (V2) | Speedup |
|---|---|---|---|
| N=1,000 | ~8 min | ~0.5 min | 16x |
| N=10,000 | ~80 min | ~5 min | 16x |
| N=100,000 | ~800 min* | ~50 min* | 16x |
*Estimated with FAISS acceleration (not included by default)
In addition to the analogy engine, this framework includes a comprehensive data extraction module for parsing structured information from various sources.
- Text Entity Extraction: Parse dates, names, amounts, emails, phone numbers, URLs, percentages, and more
- Table Extraction: Extract tables from HTML and CSV files
- Web Scraping: Extract structured data from web pages
- PDF Processing: Extract text and tables from PDF files using pdfplumber
from data_extraction import (
extract_text_entities,
extract_from_pdf,
extract_from_url,
extract_from_html
)
# Extract entities from text
text = "Contact John Doe at john@example.com or call (555) 123-4567. Meeting on Jan 15, 2024."
entities = extract_text_entities(text)
print(entities['emails']) # ['john@example.com']
print(entities['phone_numbers']) # ['5551234567']
print(entities['dates']) # [{'raw': 'Jan 15, 2024', ...}]
# Extract from PDF
pdf_data = extract_from_pdf('invoice.pdf')
print(f"Pages: {pdf_data['metadata']['num_pages']}")
print(f"Tables: {len(pdf_data['tables'])}")
# Extract from web page
web_data = extract_from_url('https://example.com')
print(web_data['entities'])
print(web_data['tables'])# Run all data extraction examples
python example_data_extraction.py
# Run specific module
python -c "from data_extraction import TextExtractor; e = TextExtractor(); print(e.extract_all('Email: test@example.com'))"See example_data_extraction.py for comprehensive usage examples.
This repository also includes a comprehensive Financial Analysis Skill for Claude Code that analyzes financial statements, computes ratios, and generates insights.
- π Multi-format support: Parse PDFs, Excel files, and CSV documents
- π 20+ financial ratios: Liquidity, profitability, leverage, and efficiency metrics
- π― Automated insights: Benchmark against industry standards with health indicators
- π Detailed reports: Executive summaries and comprehensive analysis
from financial_analyzer import analyze_file
# Analyze financial data from any supported format
statement, ratios, report = analyze_file('financial_report.pdf')
print(report)Or use with Claude Code:
Analyze the financial statement in examples/financial_data/sample_financial_statement.csv
See FINANCIAL_ANALYSIS_SKILL.md for complete documentation.
- β Parametric UMAP implementation
- β Multi-relation alignment
- β Analogy finding API
- β Optimization and bug fixes
- β Data extraction module
- β Financial Analysis Skill
- Inverse parametric model (Z_low β X_high)
- Riemannian manifold reconstruction
- Relation simplex aggregation
- High-dimensional analogy prediction
- Automatic relation discovery
- Hierarchical relations
- Compositional analogies (multi-hop)
- Interactive visualization
- Advanced NLP entity recognition
- OCR support for image-based PDFs
This project uses a specialized version management system.
# Show current version
python version_manager.py current
# Add a change
python version_manager.py add-change "Fixed bug in analogy finding" -c Fixed
# Bump version
python version_manager.py bump patch # 1.0.0 β 1.0.1
python version_manager.py bump minor # 1.0.0 β 1.1.0
# Create release with tag
python version_manager.py bump minor --tagSee configuration in .version_config.json.
Contributions welcome! Please:
- Fork the repository
- Create a feature branch
- Add tests for new functionality
- Submit a pull request
If you use this code in your research, please cite:
@software{umap_analogy_engine,
title={UMAP-Inspired Universal Analogy Engine},
author={Your Name},
year={2025},
url={https://github.com/yourusername/ClaudeCodeFrameWork}
}- UMAP: McInnes, L., Healy, J., & Melville, J. (2018). UMAP: Uniform Manifold Approximation and Projection for Dimension Reduction. arXiv:1802.03426
- Word Analogies: Mikolov, T., et al. (2013). Linguistic Regularities in Continuous Space Word Representations. NAACL-HLT
MIT License (or your preferred license)
Current Version: 1.0.0 Last Updated: 2025-11-18
For questions or issues, please open a GitHub issue or contact [your email].
Current Version: 1.0.0
Last Updated: 2025-11-18