CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

generate-codeful-mcp-tool

Generate a self-contained JavaScript server runtime and registration metadata for an MCP codeful tool. Use when the user asks to create a codeful MCP tool, generate server logic for an MCP tool, write a runTool function, build a Dataverse-backed MCP tool, or pair MCP server logic with an MCP App widget.

Quality

85%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Quality

Content

81%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A high-quality, contract-style skill body: fully phased workflow with strong validation and error-recovery checkpoints, concrete commands and examples, and no filler. Remaining gaps are minor — slightly verbose annotation/result-channel prose, two validation steps lacking exact commands, and inconsistent reference-path notation.

Suggestions

Give the exact inline Node command for the ESM data-URL import check and a representative in-memory mock dataApi snippet in Phase 4, so validation steps 2 and 5 are copy-paste executable like the PAC CLI commands.

Pick one canonical form for reference paths (either the relative ../../ links or ${PLUGIN_ROOT}) and use it consistently in the References block and Phase 1.

Tighten the annotations bullets and result-channel prose by leaning on the inline JSON/JavaScript examples, cutting sentences that restate what the examples show.

DimensionReasoningScore

Conciseness

The body is dense, imperative, and free of explanations of concepts Claude already knows; nearly every line encodes host-specific contract details the model could not infer ("_<field>_value" lookup shapes, "@OData.Community.Display.V1.FormattedValue", reserved envelope keys). It misses 5 because the annotations bullets and result-channel prose partially restate what the inline examples already demonstrate, and could be trimmed.

4 / 5

Actionability

Concrete PAC CLI commands ("pac model list-tables --search", "pac model genpage generate-types --data-sources ... --output-file ..."), a complete JSON sidecar example, an explicit runTool signature, and specific validation steps (JSON.parse checks, grep for imports/placeholders). It falls short of 5 because two validation steps — importing the file as an ESM data URL and invoking runTool with an in-memory mock dataApi — describe the technique without giving the exact inline command.

4 / 5

Workflow Clarity

Phases 1-4 are clearly sequenced with a dedicated validation phase, explicit failure handling ("If discovery or type generation fails, stop and report the error. Do not fall back to invented tables or columns"), temporary-artifact cleanup, and a refinement loop that re-runs schema verification when edits introduce unverified names. Validation checkpoints fully cover the destructive/batch Dataverse operations.

5 / 5

Progressive Disclosure

Sections are well organized and the one-level-deep references (host API .d.ts, known-good sample .tool.js/.tool.json, sibling UI skill) are signaled both in a References block and again in Phase 1. It misses 5 because the reference paths are given in two inconsistent forms (relative ../../ links vs. ${PLUGIN_ROOT} paths), and the long MUST rule-lists are candidates for partial extraction into a reference file; no bundle files are present here to verify the referenced paths resolve.

4 / 5

Total

17

/

20

Passed

Description

87%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A strong description: third-person, explicit what-and-when structure with concrete deliverables and multiple natural trigger phrases. Its only weaknesses are limited synonym/extension coverage and reliance on the somewhat internal term "codeful".

DimensionReasoningScore

Specificity

The description names concrete actions and deliverables — "Generate a self-contained JavaScript server runtime and registration metadata" — tied to the MCP codeful-tool domain. It stays below 5 because it covers essentially two generation actions rather than a comprehensive list of capabilities, and above 3 because those actions are specific and domain-anchored rather than generic.

4 / 5

Completeness

It explicitly answers both questions: what ("Generate a self-contained JavaScript server runtime and registration metadata for an MCP codeful tool") and when ("Use when the user asks to create a codeful MCP tool, generate server logic for an MCP tool, write a runTool function...") with concrete trigger phrases. This matches the anchor-5 good example structurally.

5 / 5

Trigger Term Quality

"create a codeful MCP tool", "write a runTool function", "build a Dataverse-backed MCP tool", and "pair MCP server logic with an MCP App widget" are natural phrases users would plausibly say. It misses 5 because there are no synonym or file-extension variants (e.g. ".tool.js"), and "codeful" is internal jargon a user may not spontaneously use.

4 / 5

Distinctiveness Conflict Risk

Distinctive niche vocabulary (codeful MCP tool, runTool function, Dataverse-backed, MCP App widget) gives it clear triggers with minimal overlap risk against generic code-generation or MCP skills. It does not read as overlapping with sibling skills beyond the intended widget handoff.

5 / 5

Total

18

/

20

Passed

Validation

81%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 13 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

allowed_tools_field

'allowed-tools' contains unusual tool name(s)

Warning

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

relative_links

Relative link issues: 4 suspicious

Warning

Total

13

/

16

Passed

Repository

microsoft/power-platform-skills

Path

plugins/mcp-apps/skills/generate-codeful-mcp-tool/SKILL.md

Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.