CO

configure-telerik-nuget

Helper for configuring Telerik NuGet source credentials and nuget.config files.

Install

mkdir -p .claude/skills/configure-telerik-nuget && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/14874" && unzip -o skill.zip -d .claude/skills/configure-telerik-nuget && rm skill.zip

Installs to .claude/skills/configure-telerik-nuget

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

Helps setup, configure and manage Telerik NuGet feeds in your repo's nuget.config file.
87 charsno explicit “when” trigger
Beginner

Key capabilities

  • Set a global user environment variable for an API key
  • Update `nuget.config` to use an environment variable for credentials
  • Create `nuget.config` if it does not exist
  • Add or update package sources in `nuget.config`
  • Add or update package source credentials in `nuget.config`

How it works

The skill sets a user-level environment variable for the Telerik API key and then modifies the `nuget.config` file to reference this environment variable for credentials.

Inputs & outputs

You give it
Telerik API key, optional source name, URL, and config path
You get back
Updated user environment variable and `nuget.config` file

When to use configure-telerik-nuget

  • Configure Telerik NuGet feed
  • Update nuget.config for Telerik
  • Manage API key security

About this skill

Use these helper functions to manage Telerik NuGet source configuration.

Get a new api key at https://www.telerik.com/account/downloads/api-keys

Function: configure

Sets a global user environment variable for the Telerik API key and updates/creates nuget.config so credentials use the environment variable instead of a hardcoded secret.

function Configure-TelerikNuGetSource {
	param(
		[Parameter(Mandatory = $true)]
		[string]$ApiKey,

		[string]$ApiKeyEnvVarName = "TELERIK_NUGET_API_KEY",
		[string]$SourceName = "Telerik_NuGet_Server",
		[string]$SourceUrl = "https://nuget.telerik.com/v3/index.json",
		[string]$NuGetConfigPath = "./nuget.config"
	)

	# Store API key as a user-level environment variable so it is available globally
	[Environment]::SetEnvironmentVariable($ApiKeyEnvVarName, $ApiKey, "User")
	$env:$ApiKeyEnvVarName = $ApiKey

	if (-not (Test-Path $NuGetConfigPath)) {
		@"
<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources />
  <packageSourceCredentials />
</configuration>
"@ | Set-Content -Path $NuGetConfigPath -Encoding UTF8
	}

	[xml]$nugetConfig = Get-Content -Path $NuGetConfigPath

	if (-not $nugetConfig.configuration.packageSources) {
		$packageSourcesNode = $nugetConfig.CreateElement("packageSources")
		$nugetConfig.configuration.AppendChild($packageSourcesNode) | Out-Null
	}

	if (-not $nugetConfig.configuration.packageSourceCredentials) {
		$credentialsNode = $nugetConfig.CreateElement("packageSourceCredentials")
		$nugetConfig.configuration.AppendChild($credentialsNode) | Out-Null
	}

	$existingSource = $nugetConfig.configuration.packageSources.add | Where-Object {
		$_.key -eq $SourceName
	}

	if ($existingSource) {
		$existingSource.value = $SourceUrl
	} else {
		$sourceNode = $nugetConfig.CreateElement("add")
		$sourceNode.SetAttribute("key", $SourceName)
		$sourceNode.SetAttribute("value", $SourceUrl)
		$nugetConfig.configuration.packageSources.AppendChild($sourceNode) | Out-Null
	}

	$existingCredentialNode = $nugetConfig.configuration.packageSourceCredentials.$SourceName

	if (-not $existingCredentialNode) {
		$existingCredentialNode = $nugetConfig.CreateElement($SourceName)
		$nugetConfig.configuration.packageSourceCredentials.AppendChild($existingCredentialNode) | Out-Null
	}

	$existingCredentialNode.RemoveAll()

	$usernameNode = $nugetConfig.CreateElement("add")
	$usernameNode.SetAttribute("key", "Username")
	$usernameNode.SetAttribute("value", "api-key")
	$existingCredentialNode.AppendChild($usernameNode) | Out-Null

	$passwordNode = $nugetConfig.CreateElement("add")
	$passwordNode.SetAttribute("key", "ClearTextPassword")
	$passwordNode.SetAttribute("value", "%$ApiKeyEnvVarName%")
	$existingCredentialNode.AppendChild($passwordNode) | Out-Null

	$nugetConfig.Save((Resolve-Path $NuGetConfigPath))

	Write-Host "Configured Telerik feed '$SourceName' in '$NuGetConfigPath'."
	Write-Host "Saved API key in user environment variable '$ApiKeyEnvVarName'."
	Write-Host "Restart your terminal/IDE so new processes can read the updated environment variable."
}

Example usage:

Configure-TelerikNuGetSource -ApiKey "<telerik-api-key>"

Changelog

1.1.0 - 2026-03-20

  • Added skill package metadata: required_binaries, author, homepage, and source.
  • Updated configure function to save API key as a user-level environment variable.
  • Updated nuget.config credential handling to use environment variable expansion instead of hardcoded API key values.
  • Added version field to frontmatter.

When not to use it

  • When not managing Telerik NuGet feeds
  • When not using `nuget.config` for package sources
  • When not needing to secure API keys via environment variables

Prerequisites

pwshdotnet

Limitations

  • Specifically configures Telerik NuGet feeds
  • Requires `pwsh` and `dotnet` binaries
  • API key is stored as a user-level environment variable

How it compares

This skill automates the secure configuration of Telerik NuGet feeds by using environment variables, which is more secure than manually embedding API keys in configuration files.

Compared to similar skills

configure-telerik-nuget side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
configure-telerik-nuget (this skill)04moNo flagsBeginner
update-roslyn-version23moReviewAdvanced
appinsights-instrumentation67moReviewBeginner
dependency-update12moReviewIntermediate

Try saying

Example prompts that trigger this skill in your AI assistant.

Search skills

Search the agent skills registry