Skip to main content
Glama
TeamUnilytics

Unilytics MCP Server

Official

create_skill

Create a skill with SKILL.md and supporting files, or customize a built-in by extending it, enabling progressive disclosure for reference docs and runnable data scripts.

Instructions

Create a new editable skill (a SKILL.md + optional reference/data files come later via update_skill).

Use this to author a skill from Claude, or to CUSTOMIZE a built-in (pass
extends="<builtin_skill_id>" and the built-in's body is seeded for you).

FILE LAYOUT (a skill is SKILL.md + supporting files — progressive disclosure):
  - SKILL.md        the always-loaded contract: workflow + definition-of-done.
                    Keep it lean; link to the files below, don't inline them.
  - reference/*.md  docs the agent READS on demand (style guides, pipelines).
  - data/*          assets the skill carries, including RUNNABLE scripts
                    (e.g. data/verify_row.py — a checker the agent reads and
                    EXECUTES as a gate). Put scripts and data files here, NOT
                    under reference/, so get_skill surfaces them as runnable.

Args:
    name: Skill name (becomes the slug). Required.
    skill_markdown: The SKILL.md contents (frontmatter + workflow). Required
        unless `extends` is given (then it's seeded from the built-in, but you
        may override).
    description: Short description (else taken from frontmatter).
    category: Category label (e.g. "seo", "content").
    scope: "user" (private to you) or "project" (shared with collaborators).
    project_id: Required when scope="project".
    extends: A built-in skill_id to copy as the starting point (Customize).
    visibility: "private" | "project" | "public".
    verbatim_source: When PORTING an existing document, pass the original text
        here. The store runs a coverage-based fidelity check and returns a
        report — a FAIL means content was SILENTLY CONDENSED (do not report
        "done"; re-port the missing segments). Splitting + intentional edits
        are allowed. Call author_skill() first for the full authoring guide.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYes
scopeNouser
configNo
extendsNo
categoryNo
project_idNo
visibilityNoprivate
descriptionNo
skill_markdownYes
verbatim_sourceNo
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description goes far beyond the minimal annotation (title only). It discloses key behaviors: extends seeds from a built-in, verbatim_source triggers a coverage-based fidelity check with potential FAIL signaling silent condensation, and the progressive disclosure file layout. This gives the agent a thorough understanding of side effects and constraints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Though the description is long, every section earns its place. It is front-loaded with the core purpose, then usage, file layout, and parameter details. The structured formatting (bold section headers, bullet lists) makes it scannable and digestible despite its length. No redundant or filler content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (10 params, no output schema, no enums), the description is remarkably complete. It explains the full workflow, file layout, parameter constraints, and the verbatim_source fidelity checking behavior. Agents have enough information to select and invoke the tool correctly without needing external documentation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 10 parameters and 0% schema description coverage, the description compensates fully by explaining each parameter's meaning, default, and special cases. For example, it clarifies that skill_markdown is required unless extends is given, and that project_id is required when scope='project'. This adds substantial value beyond the raw schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Create a new editable skill (a SKILL.md + optional reference/data files come later via update_skill).' It distinguishes from siblings like update_skill and author_skill by explicitly defining its role in the skill lifecycle. The mention of customizing built-ins via extends further clarifies its scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage guidance is explicit: 'Use this to author a skill from Claude, or to CUSTOMIZE a built-in (pass extends=...)' and it points to author_skill() for the full guide. It also clarifies that reference/data files come later via update_skill, providing clear context for when this tool is appropriate versus alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/TeamUnilytics/unilytics-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server