AI skills and tools for the Lexigram Framework — registry, executor, builtin tools, discovery
Project description
lexigram-ai-skills
AI skills and tools for the Lexigram Framework — registry, executor, builtin tools, discovery
Overview
Composable, registry-based skill execution for the Lexigram AI framework. Define skills as classes or decorated functions, execute them with retry, caching, permission enforcement, and timeout — and compose them into chains, pipelines, parallel fans, and content-routers. Zero-config usage starts with sensible defaults.
Full documentation: docs.lexigram.dev
Install
uv add lexigram-ai-skills
Quick Start
from lexigram import Application
from lexigram.di.module import Module, module
from lexigram.ai.skills import SkillsModule
from lexigram.ai.skills.config import SkillsConfig
@module(imports=[
SkillsModule.configure(
SkillsConfig(
enable_builtin=True,
builtin_skills=["current_datetime", "math_calculate"],
cache_enabled=True,
enforce_permissions=False,
)
)
])
class AppModule(Module):
pass
app = Application(modules=[AppModule])
if __name__ == "__main__":
app.run()
Configuration
Zero-config usage: Call
SkillsModule.configure()with no arguments to use defaults.
Option 1 — YAML file
# application.yaml
ai_skills:
default_timeout_seconds: 30.0
cache_enabled: true
enforce_permissions: true
enable_builtin: true
builtin_skills:
- "current_datetime"
- "math_calculate"
Option 2 — Profiles + Environment Variables (recommended)
export LEX_AI_SKILLS__ENFORCE_PERMISSIONS=true
# Environment variables for each field
Option 3 — Python
from lexigram.ai.skills.config import SkillsConfig
from lexigram.ai.skills import SkillsModule
config = SkillsConfig(
default_timeout_seconds=30.0,
cache_enabled=True,
enforce_permissions=True,
enable_builtin=True,
builtin_skills=["current_datetime", "math_calculate", "text_summarize"],
)
SkillsModule.configure(config)
Config reference
| Field | Default | Env var | Description |
|---|---|---|---|
default_timeout_seconds |
30.0 |
LEX_AI_SKILLS__DEFAULT_TIMEOUT_SECONDS |
Execution timeout per skill |
max_retries |
2 |
LEX_AI_SKILLS__MAX_RETRIES |
Retry attempts on failure |
max_concurrent_executions |
10 |
LEX_AI_SKILLS__MAX_CONCURRENT_EXECUTIONS |
Semaphore cap on concurrent executions |
cache_enabled |
True |
LEX_AI_SKILLS__CACHE_ENABLED |
Global result caching switch |
cache_ttl_seconds |
3600 |
LEX_AI_SKILLS__CACHE_TTL_SECONDS |
Default TTL for cached results |
enforce_permissions |
True |
LEX_AI_SKILLS__ENFORCE_PERMISSIONS |
Enable permission checks |
auto_discover |
False |
LEX_AI_SKILLS__AUTO_DISCOVER |
Scan scan_packages on boot |
enable_builtin |
True |
LEX_AI_SKILLS__ENABLE_BUILTIN |
Register built-in skills on boot |
builtin_skills |
(list) | LEX_AI_SKILLS__BUILTIN_SKILLS |
Which built-in skills to register |
enable_skill_sources |
True |
LEX_AI_SKILLS__ENABLE_SKILL_SOURCES |
Scan external SKILL.md sources on boot |
Module Factory Methods
| Method | Description |
|---|---|
SkillsModule.configure(config) |
Configure with explicit config |
SkillsModule.stub(config) |
Minimal config for testing |
Key Features
- Class-based skills:
AbstractSkillbase class withSkillDefinition - Function-based skills:
@skilldecorator for registering functions - Skill executor: Retry, caching, permissions, and timeout enforcement
- Built-in skills: DateTime, Math, HTTPRequest, WebSearch, FileRead, FileWrite, DatabaseQuery, CodeExecute
- Composition:
SkillChain,ParallelSkills,SkillPipeline,SkillRouter - MCP bridge:
MCPSkillBridgeimports MCP tools as skills and exports skills as MCP tools - Registry: Named lookup and registration via
SkillRegistry
Testing
async with Application.boot(modules=[SkillsModule.stub()]) as app:
# your test code
...
Key Source Files
| File | What it contains |
|---|---|
src/lexigram/ai/skills/module.py |
SkillsModule.configure(), .stub() |
src/lexigram/ai/skills/config.py |
SkillsConfig |
src/lexigram/ai/skills/base/core.py |
AbstractSkill, FunctionSkill |
src/lexigram/ai/skills/decorators/core.py |
@skill, @skill_param |
src/lexigram/ai/skills/executor/core.py |
SkillExecutor |
src/lexigram/ai/skills/registry/core.py |
SkillRegistry |
src/lexigram/ai/skills/composition/ |
chain, parallel, pipeline, router |
src/lexigram/ai/skills/discovery/mcp_bridge.py |
MCPSkillBridge |
src/lexigram/ai/skills/di/provider.py |
SkillsProvider |
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file lexigram_ai_skills-0.1.2-py3-none-any.whl.
File metadata
- Download URL: lexigram_ai_skills-0.1.2-py3-none-any.whl
- Upload date:
- Size: 64.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b7cd8230a8c8e57a5cdedcfe7afceb66bd507f3e4c4914c403c82538880fa654
|
|
| MD5 |
16972e00db2eb45805cdaf4f3a77cdcd
|
|
| BLAKE2b-256 |
63f25f19895c29f765ba8f8f8f99ef791a613c1615e1e838f2aa735d6c551505
|