Skills API Overview¶
Nexus provides a comprehensive skills system for managing AI agent capabilities with progressive disclosure, lazy loading, and hierarchical organization.
What are Skills?¶
Skills are markdown-based knowledge units that define AI agent capabilities:
- Progressive disclosure: Load metadata first, full content on-demand
- Lazy loading: Load skills only when needed
- Three-tier hierarchy: agent > tenant > system (priority override)
- Dependency resolution: Automatic DAG resolution with cycle detection
- Version control: Leverage Nexus CAS for content deduplication
- Export/Import: Package skills for distribution
Quick Start¶
Discover Skills¶
from nexus import connect
from nexus.skills import SkillRegistry
nx = connect()
registry = SkillRegistry(nx)
# Discover skills (loads metadata only)
count = await registry.discover()
print(f"Discovered {count} skills")
Load a Skill¶
# Get a skill (loads full content)
skill = await registry.get_skill("analyze-code")
print(skill.metadata.description)
print(skill.content[:200]) # Preview content
Create a Skill¶
from nexus.skills import SkillManager
manager = SkillManager(nx, registry)
# Create from template
path = await manager.create_skill(
name="my-skill",
description="Custom skill",
template="basic",
tier="agent"
)
Skill Structure¶
Skills are stored as SKILL.md files with YAML frontmatter:
---
name: analyze-code
description: Analyzes code quality
version: 1.0.0
author: Alice
requires:
- base-parser
- ast-tools
---
# Code Analysis Skill
[Skill content in markdown format...]
Tier Hierarchy¶
Skills are organized in three tiers:
/workspace/.nexus/skills/ # Agent tier (highest priority)
/shared/skills/ # Tenant tier (team-shared)
/system/skills/ # System tier (global/built-in)
Priority: Agent > Tenant > System
Documentation¶
-
Discover, load, and manage skills
-
Create, fork, and publish skills
-
Package and distribute skills
-
Full API documentation
Core Components¶
SkillRegistry¶
Discover and load skills with progressive disclosure:
registry = SkillRegistry(nx)
await registry.discover()
# Get metadata (lightweight)
metadata = registry.get_metadata("analyze-code")
# Get full skill (on-demand)
skill = await registry.get_skill("analyze-code")
SkillManager¶
Manage skill lifecycle:
manager = SkillManager(nx, registry)
# Create
await manager.create_skill("my-skill", "Description")
# Fork
await manager.fork_skill("analyze-code", "my-analyzer")
# Publish
await manager.publish_skill("my-skill", target_tier="tenant")
SkillExporter¶
Export skills for distribution:
from nexus.skills import SkillExporter
exporter = SkillExporter(registry)
await exporter.export_skill(
"my-skill",
"/tmp/my-skill.zip",
format="claude"
)
CLI Integration¶
# List skills
nexus skills list
# Show skill info
nexus skills info analyze-code
# Create skill
nexus skills create my-skill --template basic
# Fork skill
nexus skills fork analyze-code my-analyzer
# Export skill
nexus skills export my-skill --output /tmp/skill.zip
Next Steps¶
- Skill Registry - Discover and load skills
- Skill Manager - Create and manage skills
- Export & Import - Distribute skills
See Also¶
- Plugins API - Plugin system
- CLI Reference - Skills CLI commands
- Semantic Search - Search skills