This skill should be used when the user asks to "upgrade a sample", "update to new Dev Proxy version", "bump the version", "update schemas", or needs to upgrade existing Dev Proxy samples to a new version with updated schemas and documentation.
This skill guides upgrading existing Dev Proxy samples to a new version, ensuring all schemas, metadata, and documentation are properly updated.
Use Dev Proxy MCP tools to:
Every upgrade must update these locations:
PROXY VERSION and updateDateTimeDev Proxy config files are in .devproxy/ folder:
grep -r "dev-proxy/main/schemas" samples/{sample-name}/.devproxy/ --include="*.json"
Change version in $schema URLs:
Before:
{
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v1.0.0/rc.schema.json"
}
After:
{
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v2.0.0/rc.schema.json"
}
Different files use different schemas:
devproxyrc.json → rc.schema.jsonmockresponseplugin.mocksfile.schema.jsongenericrandomerrorplugin.errorsfile.schema.json{pluginname}.schema.jsonImportant: Match schema type to file purpose:
.schema.json = plugin configuration (has mocksFile, errorsFile properties).mocksfile.schema.json = actual mock data (has mocks array).errorsfile.schema.json = actual error data (has errors array)Dev Proxy configs often have embedded plugin config sections with their own $schema:
{
"$schema": ".../rc.schema.json",
"plugins": [...],
"languageModelFailurePlugin": {
"$schema": ".../languagemodelfailureplugin.schema.json", // ← Update this too!
"failures": [...]
}
}
Update ALL $schema URLs in the file, not just the top-level one.
Update two fields:
{
"metadata": [
{ "key": "PROXY VERSION", "value": "v2.0.0" }
],
"updateDateTime": "2026-01-18"
}
Rules:
YYYY-MM-DD (not ISO timestamp)creationDateTimeBefore:

After:

For samples already in main (add new version):
Version|Date|Comments
-------|----|--------
1.1|January 18, 2026|Updated to Dev Proxy v2.0.0
1.0|December 15, 2025|Initial release
For pre-release samples (update v1.0 date):
Version|Date|Comments
-------|----|--------
1.0|January 18, 2026|Initial release
Use the validate-devproxy-sample skill to verify:
$schema URLs are validTo upgrade all samples to a new version:
# Find all files with old schema version (in .devproxy folders)
grep -rl "schemas/v1.0.0" samples/*/.devproxy/ --include="*.json"
# Update schemas (example with sed)
find samples/*/.devproxy -name "*.json" -exec grep -l "schemas/v1.0.0" {} \; | \
xargs sed -i '' 's|schemas/v1.0.0|schemas/v2.0.0|g'
Then manually update each sample's:
assets/sample.json dates and versionREADME.md badge and version historyFor each sample being upgraded:
$schema URLs updated (including plugin config sections)PROXY VERSION updated in assets/sample.jsonupdateDateTime updated (YYYY-MM-DD format)https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/{version}/{schema-file}
| File Type | Schema |
|-----------|--------|
| Main config | rc.schema.json |
| Mock responses | mockresponseplugin.mocksfile.schema.json |
| Random errors | genericrandomerrorplugin.errorsfile.schema.json |
| Rate limiting | ratelimitingplugin.schema.json |
Search for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer