Skip to content
GitHubDiscord

AI Skills (lexigram-ai-skills)

AI skills and tools for the Lexigram Framework — registry, executor, builtin tools, discovery


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.

Terminal window
uv add lexigram-ai-skills
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()

Zero-config usage: Call SkillsModule.configure() with no arguments to use defaults.

application.yaml
ai_skills:
default_timeout_seconds: 30.0
cache_enabled: true
enforce_permissions: true
enable_builtin: true
builtin_skills:
- "current_datetime"
- "math_calculate"
Section titled “Option 2 — Profiles + Environment Variables (recommended)”
Terminal window
export LEX_AI_SKILLS__ENFORCE_PERMISSIONS=true
# Environment variables for each field
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)
FieldDefaultEnv varDescription
default_timeout_seconds30.0LEX_AI_SKILLS__DEFAULT_TIMEOUT_SECONDSExecution timeout per skill
max_retries2LEX_AI_SKILLS__MAX_RETRIESRetry attempts on failure
max_concurrent_executions10LEX_AI_SKILLS__MAX_CONCURRENT_EXECUTIONSSemaphore cap on concurrent executions
cache_enabledTrueLEX_AI_SKILLS__CACHE_ENABLEDGlobal result caching switch
cache_ttl_seconds3600LEX_AI_SKILLS__CACHE_TTL_SECONDSDefault TTL for cached results
enforce_permissionsTrueLEX_AI_SKILLS__ENFORCE_PERMISSIONSEnable permission checks
auto_discoverFalseLEX_AI_SKILLS__AUTO_DISCOVERScan scan_packages on boot
enable_builtinTrueLEX_AI_SKILLS__ENABLE_BUILTINRegister built-in skills on boot
builtin_skills(list)LEX_AI_SKILLS__BUILTIN_SKILLSWhich built-in skills to register
enable_skill_sourcesTrueLEX_AI_SKILLS__ENABLE_SKILL_SOURCESScan external SKILL.md sources on boot
MethodDescription
SkillsModule.configure(config)Configure with explicit config
SkillsModule.stub(config)Minimal config for testing
  • Class-based skills: AbstractSkill base class with SkillDefinition
  • Function-based skills: @skill decorator 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: MCPSkillBridge imports MCP tools as skills and exports skills as MCP tools
  • Registry: Named lookup and registration via SkillRegistry
async with Application.boot(modules=[SkillsModule.stub()]) as app:
# your test code
...
FileWhat it contains
src/lexigram/ai/skills/module.pySkillsModule.configure(), .stub()
src/lexigram/ai/skills/config.pySkillsConfig
src/lexigram/ai/skills/base/core.pyAbstractSkill, FunctionSkill
src/lexigram/ai/skills/decorators/core.py@skill, @skill_param
src/lexigram/ai/skills/executor/core.pySkillExecutor
src/lexigram/ai/skills/registry/core.pySkillRegistry
src/lexigram/ai/skills/composition/chain, parallel, pipeline, router
src/lexigram/ai/skills/discovery/mcp_bridge.pyMCPSkillBridge
src/lexigram/ai/skills/di/provider.pySkillsProvider