plugins/marketplace-pro/skills/devstudio/SKILL.md
Plugin Dev Studio workflow for hot-reload development, interactive testing, dependency visualization, and validation of Claude Code plugins. Covers the full plugin development lifecycle from scaffold to publish.
npx skillsauth add markus41/claude devstudioInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Comprehensive development environment for building, testing, and validating Claude Code plugins with hot-reload support.
Activate this skill when:
The Dev Studio consists of four core subsystems:
+------------------+ +---------------+ +-------------------+
| FileWatcher | --> | HotReloader | --> | Resource Registry |
| (FNV-1a hashing) | | (Validation) | | (Live state) |
+------------------+ +---------------+ +-------------------+
|
v
+--------------------+
| Console Reporter |
| (file:line errors) |
+--------------------+
+-------------------+ +---------------------------+
| PluginPlayground | | DependencyGraphRenderer |
| (Record/Replay) | | (ASCII + Mermaid output) |
+-------------------+ +---------------------------+
Monitors a plugin directory for file changes using filesystem watchers with content-hash-based change detection.
Key design decisions:
Processes file changes and maintains a live resource registry.
On each change:
file:line references for inline error displayIsolated execution context for testing plugin commands.
Record-replay workflow:
tests/fixtures/ as JSONBuilds and renders plugin dependency graphs.
Two output formats:
# Create plugin structure
mkdir -p my-plugin/{commands,skills,agents,config,src,tests/fixtures}
mkdir -p my-plugin/.claude-plugin
# Create minimal manifest
cat > my-plugin/.claude-plugin/plugin.json << 'EOF'
{
"name": "my-plugin",
"version": "0.1.0",
"description": "My new plugin",
"contextEntry": "CONTEXT.md",
"capabilities": {
"provides": ["my-capability"],
"requires": []
}
}
EOF
# Create required operator runbook
cat > my-plugin/CLAUDE.md << 'EOF'
# My Plugin Guide
## Purpose
- Brief description of plugin intent.
## Supported Commands
- command-name (commands/command-name.md)
## Prohibited Actions
- List destructive or out-of-scope operations.
## Required Validation Checks
- npm run check:plugin-context
- npm run check:plugin-schema
## Context Budget
1. CONTEXT_SUMMARY.md
2. commands/index (or commands/)
3. README.md and only task-relevant deep docs
## Escalation Path
- Describe who reviews risky or blocking changes.
EOF
# Create operator context entrypoint (keep concise)
cat > my-plugin/CONTEXT.md << 'EOF'
# my-plugin Context
## Purpose
One-paragraph operator summary.
## Key Commands
- /my:command
## Agent Inventory
- my-agent
## Load Deeper Docs When
- You need implementation details or architecture rationale.
EOF
# Start the dev server with file watching
/mp:dev serve ./my-plugin --watch
The dev server will:
# Launch interactive playground
/mp:dev playground ./my-plugin
# In the playground:
# > run /my:command "test input"
# > save my-test-case
# > log
# Show dependency graph
/mp:dev graph ./my-plugin
Review the ASCII tree to verify:
# Full validation suite
/mp:dev validate ./my-plugin
Fix all errors before publishing. Warnings are advisory but should be addressed.
# List saved fixtures
/mp:dev fixture list
# Replay a specific fixture
/mp:dev fixture replay my-test-case
| Rule | Severity | Description |
|------|----------|-------------|
| Valid JSON | error | File must be parseable JSON |
| name field | error | Must be a non-empty string |
| version field | error | Must be a non-empty string |
| description field | error | Must be a non-empty string |
| contextEntry field | error | Must reference CONTEXT.md or PLUGIN_CONTEXT.md |
| CLAUDE.md present | error | Plugin root must include CLAUDE.md runbook |
| capabilities present | warning | Plugin should declare capabilities |
| capabilities.provides is array | error | Must be an array of strings |
| capabilities.requires is array | error | Must be an array of strings |
| Rule | Severity | Description |
|------|----------|-------------|
| Has frontmatter | error | Must start with --- |
| Frontmatter closed | error | Must have closing --- |
| name in frontmatter | error | Commands and skills must have a name |
| description in frontmatter | warning | Should have a description |
| Top-level heading | info | Should have # Title after frontmatter |
plugin-root/
.claude-plugin/
plugin.json # Plugin manifest (validated by HotReloader)
CLAUDE.md # Required operator runbook and context budget
CONTEXT.md # Minimal operator context entrypoint
commands/
*.md # Slash commands (validated for frontmatter)
skills/
*/SKILL.md # Skills (validated for frontmatter)
agents/
*.md # Agents (validated for frontmatter)
config/
*.json # Configuration files
src/
devstudio/
types.ts # Type definitions
server.ts # FileWatcher, HotReloader, Playground, GraphRenderer
tests/
fixtures/
*.json # Recorded test fixtures (from playground)
"Plugin manifest not found"
.claude-plugin/plugin.json exists in the plugin root/mp:dev is correct"Missing YAML frontmatter"
--- on the first line--- line"Content hash unchanged but file was modified"
"Fixture replay fails with empty output"
recordOutput() after command executionsrc/devstudio/types.tssrc/devstudio/server.tscommands/dev.mdskills/devstudio/SKILL.mdSkill version: 1.0 Module: dev-studio (marketplace-pro plugin)
tools
Build Teams-native agents with the Teams SDK (formerly Teams AI Library v2) — App class, activity routing, adaptive cards, streaming, AI-generated labels, feedback, message extensions, Teams-as-MCP-server, and the bring-your-own-AI pattern with Agent Framework.
tools
Run agents on Microsoft Foundry (formerly Azure AI Foundry) Agent Service — prompt agents vs hosted agents, threads/runs and the Responses API, built-in tools (Bing grounding, code interpreter, file search, MCP, OpenAPI, A2A), connected agents, Entra agent identity, SDKs, and observability/evaluations.
tools
Build and host custom engine agents with the Microsoft 365 Agents SDK — AgentApplication, the Activity protocol, channel reach via Azure Bot Service, hosting Agent Framework or Semantic Kernel engines, and the Agents Toolkit/Playground workflow. Successor to the Bot Framework SDK.
tools
Design, govern, and extend Microsoft Copilot Studio agents — topics, generative orchestration, knowledge, tools and MCP, agent flows, autonomous triggers, publishing channels, Copilot Credits pricing, and solution-based ALM on Power Platform.