Skip to main content

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:

  1. YAML Frontmatter Integrity: Asserts that name, description, scope, and version attributes are defined.
  2. Token Density Guard: Uses tiktoken (cl100k_base) to calculate token count per SKILL.md and issues warnings if a skill exceeds local AI model context limits (e.g. > 4096 tokens).
  3. 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"