Skip to main content

Managing LLM Skills with Studio CLI

· 3 min read
Ansh Pansuriya
Main Developer of Framework M
Revant Nandgaonkar
Maintainer of Framework M

As AI coding assistants and LLM pair programmers become central to daily software development, engineering teams face a new challenge: context fragmentation. Developers prompt AI agents with conflicting assumptions about framework APIs, missing model schemas, or outdated coding conventions.

In July 2026, we introduced the m skills command group in the Framework M Studio CLI, providing a standardized workflow to discover, pull, version-control, and manage LLM Skill Definitions across multiple repositories and custom namespaces directly within your workspace.


1. What are Framework M LLM Skills?​

LLM Skills in Framework M are structured, version-controlled instruction packages stored under .agents/skills/. Each skill package includes:

  • SKILL.md: Clear prompt context, structural rules, and code patterns for AI assistants.
  • Reference Schemas: Exact TypeScript/Python type contracts, API method signatures, and hook definitions.
  • Examples: Reference implementations of DocTypes, custom components, and test harnesses.

By installing skills under .agents/skills/, tools like Google Antigravity, Claude Code, Cursor, and local AI servers read standard workspace context automatically, eliminating hallucinated framework methods.


2. Managing Skills via Studio CLI (m skills)​

The Studio CLI provides core management commands for sync and namespace organization:

A. Listing Installed and Upstream Skills (m skills list)​

m skills list

The command renders a rich interactive console table displaying installed local skills alongside available upstream framework skills:

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 │
└─────────────────────────────────┴──────────┴─────────┴─────────────┘

Flags:​

  • --installed: Filter output to show only locally installed workspace skills.
  • --remote: Filter output to show available upstream repository skills.

B. Organizing Multi-Repository Skills (--remote-ns)​

When pulling skills from different repositories or internal corporate libraries, skill packages must be namespaced cleanly under .agents/skills/<remote-ns>/ to avoid naming collisions.

The --remote-ns flag (or remote_ns configuration) defines the target namespace sub-directory:

# Pull framework skill into default namespace (.agents/skills/framework-m/)
m skills pull --name=doctype-model-controller

# Pull custom enterprise skills into custom namespace (.agents/skills/my-company/)
m skills pull --name=custom-auth-flow --url=https://github.com/my-company/skills.git --remote-ns=my-company

C. Workspace Configuration (m.toml)​

Projects can declare default skill repositories, target git branches (--ref), and default remote namespaces inside m.toml:

# m.toml

[studio.skills]
upstream_url = "https://gitlab.com/framework-m/framework-m.git"
ref = "main"
remote_ns = "framework-m"

Environment variables can also override defaults: FRAMEWORK_M_SKILLS_UPSTREAM_URL, FRAMEWORK_M_SKILLS_REF, and FRAMEWORK_M_SKILLS_REMOTE_NS.


Learn More​

Check out the new LLM skills management documentation: