Skip to content

SKILL.md: connection-setup URL template relies on implicit leading slash in ARM resource ID #147

@daviburg

Description

@daviburg

Issue

Spotted during Python SDK PR review (connectors-python-sdk#22 discussion_r3236708412).

The connection-setup SKILL.md uses this URL template pattern in multiple places:

$nsId = "/subscriptions/$subscriptionId/resourceGroups/$resourceGroup/providers/Microsoft.Web/connectorGateways/$namespaceName"
...
--uri "https://management.azure.com${nsId}/connections/${connectionName}?api-version=2026-05-01-preview"

This expands to:

https://management.azure.com/subscriptions/.../connectorGateways/foo/connections/bar

The URL is correct only because ARM resource IDs conventionally start with /. There is no explicit slash between management.azure.com and ${nsId}. This is:

  1. Visually confusing — it looks like a missing slash or a bug (the reviewer flag that prompted this issue)
  2. Fragile — if $nsId were ever set without a leading /, the URL silently becomes malformed (management.azure.comsubscriptions/...)

Recommendation

Consider either:

Option A: Make the separator explicit and strip any leading slash from the ID:

--uri "https://management.azure.com/$($nsId.TrimStart('/'))/connections/..."

Option B: Build the full URL directly without the composite variable:

--uri "https://management.azure.com/subscriptions/$subscriptionId/resourceGroups/$resourceGroup/providers/Microsoft.Web/connectorGateways/$namespaceName/connections/${connectionName}?api-version=..."

Option C: Add an inline comment to the $nsId assignment making it explicit that the leading / is intentional and load-bearing.

Affects all ~8 URL references in the file that use management.azure.com${nsId}.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions