Managing LLM Skills with Studio CLI
Framework M provides standard LLM Skill definitions under .agents/skills/ designed to provide explicit context, contracts, and type definitions for AI coding assistants (such as LLM CLI agents, IDE pair programming extensions, and local AI servers).
The m skills command group under the Studio CLI allows application developers to discover, download, and statically verify LLM skill packages across their workspace.
1. Listing Available Skills (m skills list)
To view installed local skills alongside available upstream skills:
m skills list
Options:
--installed: Show only skills installed locally under.agents/skills/.--remote: Show only available upstream skills from the framework repository.
Console Output Example:
The command renders a rich console table displaying the skill name, target scope (app or framework), version, and sync status:
Framework M LLM Skills
┌─────────────────────────────────┬──────────┬─────────┬─────────────┐
│ Name │ Scope │ Version │ Sync Status │
├─────────────────────────────────┼──────────┼─────────┼─────────────┤
│ doctype-model-controller │ app │ 1.0.0 │ INSTALLED │
│ unit-of-work-service │ app │ 1.0.0 │ INSTALLED │
│ desk-realtime-websocket │ app │ 1.0.0 │ INSTALLED │
│ bootstrap-lifecycle │ framework│ 1.0.0 │ INSTALLED │
└─────────────────────────────────┴──────────┴─────────┴─────────────┘
2. Pulling Upstream Skills (m skills pull)
To pull or update upstream skill definitions into .agents/skills/framework-m/:
# Pull single skill
m skills pull --name=doctype-model-controller
# Pull multiple skills at once
m skills pull -n doctype-model-controller -n unit-of-work-service
# Force overwrite modified local files
m skills pull --name=doctype-model-controller --force
Directory Target:
Pulled skills are written directly to .agents/skills/framework-m/<skill-name>/SKILL.md within your project root.
3. Verifying Skills & Prompt Token Budgets (m skills verify)
To perform static structural analysis, YAML frontmatter validation, and prompt token budget verification across all skills:
m skills verify
Custom Path & Token Budget:
You can specify a target path or customize the maximum token budget (measured via tiktoken):
m skills verify ./my-custom-skills --max-tokens=4096
Verification Checks Performed:
- YAML Frontmatter Integrity: Asserts that
name,description,scope, andversionattributes are defined. - Token Density Guard: Uses
tiktoken(cl100k_base) to calculate token count perSKILL.mdand issues warnings if a skill exceeds local AI model context limits (e.g.> 4096 tokens). - AST & Code Example Integrity: Validates Python and TypeScript snippet syntax inside skill markdown files.
4. Configuring Upstream Repository Defaults
Skills configuration lives in m.toml (the development configuration file) under [studio.skills]:
# m.toml (Development Environment Configuration)
[studio.skills]
upstream_url = "https://gitlab.com/framework-m/framework-m"
target_dir = ".agents/skills/framework-m"
max_token_budget = 4096
Or via environment variable override:
export FRAMEWORK_M_SKILLS_UPSTREAM_URL="https://gitlab.com/framework-m/framework-m"