Search the developer.adobe.com docs. Manage Adobe Developer Console projects, workspaces, APIs, and credentials. Create and test I/O Events registrations and subscriber defined filters.
92%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
Low
Low-risk findings worth noting
$ErrorActionPreference = 'Stop'
trap { exit 0 }
$destructiveTools = @( 'delete_credential', 'delete_event_registration', 'delete_project', 'delete_subscriber_filter', 'delete_workspace', 'unsubscribe_credential_from_service', 'unsubscribe_admin_enterprise_credential_from_service' )
$ask = '{"hookSpecificOutput":{"hookEventName":"PreToolUse","permissionDecision":"ask","permissionDecisionReason":"This permanently deletes or removes Adobe Developer Console resources and cannot be undone. Confirm the exact resource before approving."}}' $pass = '{"continue":true}'
$toolSuffix = '(?:^|[^A-Za-z0-9])(?:' + ($destructiveTools -join '|') + ')\z'
function Test-DestructiveConnectorTool([string] $Name) { $suffixMatch = [regex]::Match($Name, $toolSuffix) if (-not $suffixMatch.Success) { return $false }
if ($Name.StartsWith('mcp__', [System.StringComparison]::Ordinal)) { $end = $Name.LastIndexOf('__', [System.StringComparison]::Ordinal) $server = if ($end -gt 5) { $Name.Substring(5, $end - 5) } else { '' } return $server -match 'adobe.*for.*developers' } if ($suffixMatch.Value.StartsWith('-', [System.StringComparison]::Ordinal)) { $server = $Name.Substring(0, $Name.Length - $suffixMatch.Value.Length) return $server -ieq 'adobe-for-developers' } return $true }
$reader = New-Object System.IO.StreamReader(Console::OpenStandardInput(), (New-Object System.Text.UTF8Encoding($false))) $payload = $reader.ReadToEnd()
foreach ($match in [regex]::Matches($payload, '"tool_name"\s*:\s*"([^"\]*)"')) { if (Test-DestructiveConnectorTool $match.Groups[1].Value) { Console::Out.Write($ask) exit 0 } }
exit 0
.tessl-plugin
skills