.claude/skills/alicloud-cdn/SKILL.md
Manage Alibaba Cloud CDN using the @alicloud/cdn20180510 TypeScript SDK. Use when working with CDN domain acceleration, domain configuration, SSL certificates, cache refresh/prefetch, real-time monitoring, traffic analysis, log management, usage/billing, IP tools, Function Compute triggers, delivery tasks, and resource tagging. Covers all 168 APIs of the CDN 20180510 version.
npx skillsauth add agents-infrastructure/licell alicloud-cdnInstall 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.
Manage CDN content delivery network via the @alicloud/cdn20180510 TypeScript SDK.
npm install @alicloud/cdn20180510 @alicloud/openapi-core @darabonba/typescript
export ALIBABA_CLOUD_ACCESS_KEY_ID="<your-key-id>"
export ALIBABA_CLOUD_ACCESS_KEY_SECRET="<your-key-secret>"
See scripts/setup_client.ts for a reusable client factory, and references/quickstart.md for full setup including endpoints, domain types, source types, function configurations, and time formats.
import Client from '@alicloud/cdn20180510';
import { Config } from '@alicloud/openapi-core';
const client = new Client(new Config({
accessKeyId: process.env.ALIBABA_CLOUD_ACCESS_KEY_ID,
accessKeySecret: process.env.ALIBABA_CLOUD_ACCESS_KEY_SECRET,
endpoint: 'cdn.aliyuncs.com',
}));
CDN is a global service — use the single endpoint cdn.aliyuncs.com for all operations.
| Domain | APIs | Key Operations | Reference | |--------|------|----------------|-----------| | Domain Management | 31 | addCdnDomain, describeUserDomains, deleteCdnDomain | references/domain.md | | Domain Configuration | 20 | batchSetCdnDomainConfig, setCdnDomainStagingConfig | references/domain-config.md | | SSL Certificate | 9 | setCdnDomainSSLCertificate, describeCdnCertificateList | references/certificate.md | | Cache Refresh & Prefetch | 7 | refreshObjectCaches, pushObjectCache, describeRefreshTasks | references/cache-refresh.md | | Monitoring & Statistics | 44 | describeDomainRealTimeQpsData, describeDomainBpsData | references/monitoring.md | | Log Management | 15 | describeCdnDomainLogs, createRealTimeLogDelivery | references/log.md | | Usage & Billing | 15 | describeDomainUsageData, describeCdnUserBillHistory | references/usage.md | | IP & Network Tools | 10 | describeIpInfo, setCdnFullDomainsBlockIP | references/ip-tool.md | | Function Compute Trigger | 5 | addFCTrigger, updateFCTrigger, describeFCTrigger | references/fc-trigger.md | | Deliver & Report Tasks | 8 | createCdnDeliverTask, describeCdnReport | references/deliver-task.md | | Tag & Resource | 4 | tagResources, untagResources, listTagResources | references/tag-resource.md |
CDN APIs do not require regionId. Parameters are flat fields in a Request object:
import * as models from '@alicloud/cdn20180510/dist/models';
const { body } = await client.describeUserDomains(new models.DescribeUserDomainsRequest({
pageSize: 50,
pageNumber: 1,
}));
Use batchSetCdnDomainConfig with a JSON functions array to configure domain features:
await client.batchSetCdnDomainConfig(new models.BatchSetCdnDomainConfigRequest({
domainNames: 'cdn.example.com',
functions: JSON.stringify([
{
functionName: 'filetype_based_ttl_set',
functionArgs: [
{ argName: 'ttl', argValue: '2592000' },
{ argName: 'file_type', argValue: 'jpg,png,gif,css,js' },
{ argName: 'weight', argValue: '1' },
],
},
]),
}));
let pageNumber = 1;
let all: any[] = [];
while (true) {
const { body } = await client.describeUserDomains(new models.DescribeUserDomainsRequest({
pageSize: 50, pageNumber,
}));
all.push(...(body.domains?.pageData || []));
if (all.length >= (body.totalCount || 0)) break;
pageNumber++;
}
Most monitoring APIs accept ISO 8601 time ranges:
const { body } = await client.describeDomainRealTimeQpsData(
new models.DescribeDomainRealTimeQpsDataRequest({
domainName: 'cdn.example.com',
startTime: '2026-02-15T00:00:00Z',
endTime: '2026-02-16T00:00:00Z',
})
);
try {
await client.addCdnDomain(request);
} catch (err: any) {
console.error(`Code: ${err.code}, Message: ${err.message}, RequestId: ${err.data?.RequestId}`);
}
addCdnDomain → verifyDomainOwner → setCdnDomainSSLCertificate → batchSetCdnDomainConfig
describeCdnCertificateList → setCdnDomainSSLCertificate → describeCdnDomainCertificateInfo
refreshObjectCaches (URL/Dir) → pushObjectCache → describeRefreshTasks → describeRefreshQuota
describeDomainRealTimeQpsData → describeDomainRealTimeBpsData → describeDomainRealTimeHttpCodeData
describeDomainTopUrlVisit → describeDomainTopClientIpVisit → describeDomainISPData → describeDomainRegionData
describeCdnDomainLogs → createRealTimeLogDelivery → describeRealtimeDeliveryAcc
describeCdnUserBillType → describeDomainUsageData → createUsageDetailDataExportTask
describeIpInfo → setCdnFullDomainsBlockIP → describeCdnFullDomainsBlockIPHistory
See references/workflows.md for detailed workflow examples with full code.
Load the corresponding reference file for parameter details:
references/domain.mdreferences/domain-config.mdreferences/certificate.mdreferences/cache-refresh.mdreferences/monitoring.mdreferences/log.mdreferences/usage.mdreferences/ip-tool.mdreferences/fc-trigger.mdreferences/deliver-task.mdreferences/tag-resource.mdEach reference file contains per-API documentation with method signatures and parameter tables.
See scripts/examples.ts for ready-to-use code covering:
tools
Deploy and manage Alibaba Cloud Serverless applications using the licell CLI. Covers deploy, release, functions, env vars, domains, DNS, logs, OSS, database, cache, and Supabase.
development
Manage Alibaba Cloud VPC networking using the @alicloud/vpc20160428 TypeScript SDK. Use when working with virtual private clouds, VSwitches, route tables, EIPs, NAT gateways, VPN gateways, Express Connect, BGP routing, network ACLs, flow logs, traffic mirroring, IPv6, HAVIP, gateway endpoints, and resource tagging. Covers all 396 APIs of the VPC 20160428 version.
development
Manage Alibaba Cloud Redis (Tair / R-KVStore) using the @alicloud/r-kvstore20150101 TypeScript SDK. Use when working with Redis or Tair instances, accounts, backups, security (whitelist/SSL/TDE/audit), parameters, monitoring, cluster scaling, direct connection, Tair Custom instances, and resource tagging. Covers all 157 APIs of the R-KVStore 20150101 version.
tools
Manage Alibaba Cloud RDS using the @alicloud/rds20140815 TypeScript SDK. Use when working with relational database instances (MySQL, PostgreSQL, SQL Server, MariaDB), accounts, databases, backups, security, monitoring, parameters, read-only instances, database proxy, migration, cross-region DR, PostgreSQL extensions, RDS Custom instances, and resource tagging. Covers all 398 APIs of the RDS 20140815 version.