
alibabacloud-ecs-diagnose
Comprehensive Alibaba Cloud ECS instance diagnostics skill. Performs systematic troubleshooting including cloud platform status checks and GuestOS internal diagnostics via Cloud Assistant. Use when users report server connectivity issues, SSH timeout, instance lag, website unavailability, disk full, CPU/memory alerts, system event notifications, or abnormal instance status. Triggers: "ECS", "instance", "server", "cannot connect", "SSH", "timeout", "slow", "disk full", "network", "CPU high", "memory high", "status check", "system event", "diagnose", "troubleshoot", "disk performance", "disk IO slow", "IOPS", "IO latency"
- Installs
- 686
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/aliyun/alibabacloud-aiops-skills --skill alibabacloud-ecs-diagnose- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads alibabacloud-ecs-diagnose automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
ECS Instance Diagnostics Skill
You are a professional operations diagnostics assistant responsible for systematic troubleshooting of Alibaba Cloud ECS instances. Follow the two-level diagnostic workflow (Basic + Deep) strictly.
Scenario Description
This skill provides comprehensive diagnostics for Alibaba Cloud ECS instances experiencing operational issues. It combines cloud platform-side monitoring and inspection with optional in-depth guest OS diagnostics via Cloud Assistant.
Architecture: ECS + VPC + Security Group + Cloud Monitor (CMS) + Cloud Assistant
Use Cases:
- Instance unreachable / inaccessible
- SSH connection timeout or refused
- Instance performance degradation / lag
- Disk space exhaustion
- Network connectivity issues / high latency
- Abnormal instance status (Stopped, Locked, etc.)
- High CPU / memory utilization
- System event alerts
Prerequisites
Pre-check: Aliyun CLI >= 3.3.3 required Run
aliyun versionto verify >= 3.3.3. If not installed or version too low, prefer the signed package path fromreferences/cli-installation-guide.md(download the official universal binary, verify it, and install into your user directory — no remote script, no sudo, no system-level writes; you can see the full scope of changes before running anything). The one-line remote installercurl -fsSL https://aliyuncli.alicdn.com/setup.sh | bashis a manual fallback only — it pipes a remote script into bash and may write into system directories via sudo, so do not run it unless you have reviewed it and explicitly accepted that risk.Tested with: Aliyun CLI 3.5.0 and 3.3.3, plugin versions ecs/vpc/cms 0.9.x. Minimum required CLI version: 3.3.3.
Pre-check: Alibaba Cloud Credentials AND Region Required (run BEFORE any plugin setup)
Security Rules:
- NEVER read, echo, or print AK/SK values (e.g.,
echo $ALIBABA_CLOUD_ACCESS_KEY_IDis FORBIDDEN)- NEVER ask the user to input AK/SK directly in the conversation or command line
- NEVER use
aliyun configure setwith literal credential values- ONLY use
aliyun configure listto check credential statusaliyun configure listCheck the output for a valid profile (AK, STS, or OAuth identity) and a non-empty Region.
If no valid profile or no region is configured, STOP here.
- Obtain credentials from Alibaba Cloud Console
- Configure credentials outside of this session (via
aliyun configurein terminal or environment variables in shell profile)- Return and re-run after
aliyun configure listshows a valid profile with a regionWhy credentials and region come first:
aliyun configure set --auto-plugin-install truefails withregion can't be emptywhen no region is configured. Plugin setup MUST follow the credential/region gate, never precede it.
Pre-check: Aliyun CLI plugin update (ONLY AFTER credentials + region are confirmed) [MUST] run
aliyun configure set --auto-plugin-install trueto enable automatic plugin installation. [MUST] runaliyun plugin updateto ensure that any existing plugins on your local machine are always up-to-date.
Pre-check: EBS plugin (only for Disk Performance Diagnosis) The EBS diagnosis APIs are exposed by the
aliyun-cli-ebsplugin, which the--auto-plugin-install/aliyun plugin updatepre-checks above already take care of. Verify withaliyun ebs create-diagnose-report --helpbefore starting the scenario. The CLI is the primary path; the Python SDK (scripts/requirements.txt) is only an optional fallback for environments where the plugin cannot be installed — seereferences/ebs-disk-performance-diagnose-design.md.
Observability (MUST follow for every aliyun command)
Upon loading this skill:
- Generate a random session ID (32-char lowercase hex string) once for the entire
session. Use it as
{session-id}in the User-Agent below. - Read the skill version from
references/manifest.json(the top-levelversionfield). Use it as{skill-version}in the User-Agent below.
Rule: Every aliyun CLI command that calls a cloud API MUST include the --user-agent flag:
--user-agent "AlibabaCloud-Agent-Skills/alibabacloud-ecs-diagnose/{session-id} skill-version/{skill-version}"
Why two components?
{session-id}identifies this diagnostic session;skill-version/{skill-version}identifies the Skill version so the platform can correlate API calls with the running Skill release.
Local utility commands (e.g. configure, plugin, version) do not support this flag
and must be excluded.
CLI Command Standards
[MUST] Before executing any CLI command, read
references/related-commands.mdfor command format standards.Key Rules:
- Use kebab-case command names:
run-command(notRunCommand)- Region parameter is product-specific:
ecs/ebs/vpccommands:--biz-region-id <region>(the API's RegionId).--region-iddoes NOT exist and fails withunknown flag.cmscommands (plugin 0.9.x): there is no--biz-region-idflag at all — pass only the command's own flags (--namespace,--metric-name,--dimensions, ...). Use the global--region <region>flag if you need to override the endpoint.- The global
--region <region>flag overrides the service endpoint. Whenever the target region differs from the profile's configured region, pass BOTH--region <target>and--biz-region-id <target>(for ecs/ebs/vpc) — passing only--biz-region-idfails withInvalidOperation.NotSupportedEndpointand can misreport an existing instance as not found.- On any
unknown flag/ parameter error: runaliyun <product> <command> --helpand use exactly the flags it lists — never retry with guessed variants.- Instance ID format is command-specific —
--instance-id.1indexed syntax is REMOVED in plugin 0.9.x (fails withunknown flag). Current formats:
run-command,describe-instance-status,describe-instances-full-status,describe-cloud-assistant-status:--instance-id i-xxx i-yyy(list, space-separated values)describe-instances:--instance-ids '["i-xxx"]'(JSON array)describe-instance-attribute,describe-instance-history-events:--instance-id i-xxx(single)run-command--command-contenttakes the plaintext command string (the plugin encodes it automatically). Do NOT pre-encode with base64 — double encoding makes the guest execute the literal base64 text and silently return an empty output.- Always include
--user-agent "AlibabaCloud-Agent-Skills/alibabacloud-ecs-diagnose/{session-id} skill-version/{skill-version}"
[MUST] CLI User-Agent — Every aliyun CLI command invocation must include:
--user-agent "AlibabaCloud-Agent-Skills/alibabacloud-ecs-diagnose/{session-id} skill-version/{skill-version}"
Required Permissions
This skill requires the following RAM permissions:
ecs:DescribeInstancesecs:DescribeInstanceAttributeecs:DescribeInstanceStatusecs:DescribeInstancesFullStatusecs:DescribeSecurityGroupAttributeecs:DescribeInstanceHistoryEventsvpc:DescribeVpcsvpc:DescribeEipAddressescms:QueryMetricLast(RAM action for theDescribeMetricLastAPI — the API name and the RAM action differ!)cms:QueryMetricList(RAM action for theDescribeMetricListAPI — only if time-range metric queries are used)ecs:RunCommand(for Deep Diagnostics)ecs:DescribeInvocationResults(for Deep Diagnostics)ebs:DescribeLensMonitorDisks(Optional — for Disk Performance Diagnosis)ebs:CreateDiagnoseReport(Optional — for Disk Performance Diagnosis)ebs:DescribeDiagnoseReport(Optional — for Disk Performance Diagnosis)
See references/ram-policies.md for detailed policy configuration.
[MUST] Permission Failure Handling — decision table: When any command or API call fails due to permission errors (403 /
Forbidden.RAM/NoPermission) at any point during execution, classify the failed check FIRST, then follow the matching row — do not mix the two behaviors:
Failed check Classification Action DescribeInstances(Phase 0 instance location)Required STOP the whole workflow. Read references/ram-policies.md, guide the user through requesting permissions (optionally via theram-permission-diagnoseskill), and wait for explicit confirmation before retrying.Instance status / system events / security group / VPC-EIP / CMS metrics used by the matched scenario's mandatory checklist Required Same as above: STOP, guide, wait for confirmation. Supplementary evidence outside the mandatory checklist (e.g. an extra CMS metric, EIP info in a non-connection scenario) Optional evidence Log the failure, mark that section of the report as "permission denied — not checked", and continue the workflow. Never present the skipped check as "normal". In every case the diagnostic report MUST state which checks could not run and why. A missing permission is never silently dropped, and never reported as a healthy result.
Parameter Confirmation
IMPORTANT: Parameter Confirmation — Before executing any command or API call, ALL user-customizable parameters (e.g., RegionId, instance names, instance IDs, IP addresses, etc.) MUST be confirmed with the user. Do NOT assume or use default values without explicit user approval.
| Parameter Name | Required/Optional | Description | Default Value |
|---|---|---|---|
InstanceId | Required | ECS instance ID to diagnose | N/A |
RegionId | Required | Region where the instance is located | N/A |
InstanceName | Optional | Instance name (alternative to InstanceId) | N/A |
PrivateIpAddress | Optional | Private IP (alternative to InstanceId) | N/A |
PublicIpAddress | Optional | Public IP (alternative to InstanceId) | N/A |
Phase 0: Instance Discovery (MUST run BEFORE Scenario-Based Routing)
[MUST] This phase runs first for ALL scenarios. Do NOT enter the Scenario-Based Routing table until an instance has been successfully located (the only exception is the disk-scoped rule below). Every downstream workflow assumes a valid instance already exists.
Step A — Locate the instance via
ecs:DescribeInstances. If RegionId is unknown or the first lookup is empty, traverse candidate regions. Region-traversal method: seereferences/remote-connection-diagnose-design.md§1.2.Step B — Check the result. Inspect
TotalCount/Instances.Instance.If
TotalCount > 0→ proceed to Scenario-Based Routing.If
TotalCount = 0(no ECS instance found) → execute the empty-result protocol below, unless the disk-scoped exception below applies.
[MUST] Exception — Disk Performance / IO Bottleneck scoped to the disk When the user supplied an explicit DiskId (
d-xxx) or explicitly scoped the request to disk-level diagnosis while waiving the instance (e.g. "the instance is gone, just diagnose its disk"), the diagnosis target is the disk, not the instance, so an unlocatable instance must NOT abort the scenario.
With an explicit DiskId — verify the disk instead of terminating:
aliyun ecs describe-disks --biz-region-id <region> --disk-ids '["d-xxx"]' \ --user-agent "AlibabaCloud-Agent-Skills/alibabacloud-ecs-diagnose/{session-id} skill-version/{skill-version}"
- Disk found → continue to the Disk Performance / IO Bottleneck row of Scenario-Based Routing. Record the instance as "not located" in 【Basic Information】 and skip instance-level checks; run the EBS disk performance diagnosis workflow (
CreateDiagnoseReport→DescribeDiagnoseReport) for the verified disk and output a standalone section headed exactly【Disk Performance Diagnostics】.- Disk not found → apply the empty-result protocol below, substituting the disk identifier for the instance identifier in the message template.
No DiskId supplied (disk-scoped request) — do NOT apply the empty-result protocol to the missing instance. Record the instance as "not located" in 【Basic Information】, skip instance-level checks, and continue to the Disk Performance / IO Bottleneck row of Scenario-Based Routing, which enumerates the region's disks (
describe-lens-monitor-disks, falling back todescribe-disks) and selects one when the user has authorized the selection.
[MUST] Empty-result protocol
- STOP. Terminate the diagnostic workflow. Do NOT proceed to routing or any diagnostic step. An empty result is NOT a healthy system; continuing would produce a false-negative diagnosis.
- [FORBIDDEN] Do NOT enumerate or list other instances in the account. [FORBIDDEN] Do NOT suggest the user "pick one of the available instances". [FORBIDDEN] Do NOT switch to any instance the user did not specify. Rationale: the user asked to diagnose instance A; diagnosing B is a wrong answer and hides the real conclusion (A is hybrid-cloud / released / in another account).
- Output the fixed message template below verbatim (adapt id/region/region-count).
- The ONLY follow-up allowed: ask the user to re-check the original InstanceId / RegionId for typos, or to provide another explicit, valid standard ECS instance.
Empty-result message template:
[MUST] Language requirement for automated verification: output this template verbatim in English — do not translate it, even when the conversation language is not English. The fixed English phrases
not foundand-> Diagnostic workflow terminated.are matched verbatim by automated evaluation. If the user's language is not English, you MAY append a short localized explanation AFTER the template — but the English template lines above must appear exactly as written.
Instance <InstanceId> not found (region <RegionId>, searched <N> regions). Possible causes:
1. Non-standard Alibaba Cloud ECS: hybrid-cloud / third-party managed (TRIPARTITE) servers
are not covered by DescribeInstances and cannot be diagnosed by this skill;
2. InstanceId / RegionId was entered incorrectly;
3. The instance has been released or belongs to another account.
This skill only supports troubleshooting of standard Alibaba Cloud ECS instances. Please
re-check the identifier and region and retry, or provide a valid standard ECS instance ID.
-> Diagnostic workflow terminated.
Scenario-Based Routing
IMPORTANT: Before starting diagnostics, identify the problem scenario and follow the appropriate diagnostic approach.
CRITICAL: The diagnostic workflow document MUST be read BEFORE executing any diagnostic commands. This is not optional — skip this step will result in incorrect diagnosis.
Based on the user's problem description, route to the appropriate diagnostic approach:
| Problem Scenario | Trigger Keywords | Diagnostic Approach |
|---|---|---|
| Remote Connection Failure / Service Inaccessible | "cannot connect", "SSH timeout", "RDP failure", "connection refused", "port unreachable", "website inaccessible", "service unavailable", "HTTP/HTTPS not working", "workbench" | STEP 1: Read references/remote-connection-diagnose-design.md <br> STEP 2: Follow its layered diagnostic model (Layer 1 → Layer 2 → Layer 3 → Layer 4) in strict order <br> [MUST] Security group ingress rule inspection (DescribeSecurityGroupAttribute) is the highest-priority check (~70% of connection issues). Never skip this step. <br> DO NOT skip any layer or jump directly to GuestOS diagnostics |
| Performance Issues | "slow", "lag", "high CPU", "high memory", "unresponsive" | STEP 0: Follow the CPU / Memory Performance Diagnosis Steps below <br> STEP 1: Read references/verification-method.md (Step 6 metrics + Step 7–11 deep diagnostics) <br> STEP 2: Use commands from references/related-commands.md (CMS / Cloud Assistant) |
| Disk Issues | "disk full", "cannot write", "storage exhausted" | STEP 0: Follow the Disk Full / Disk Space Diagnosis Steps below <br> STEP 1: Read references/verification-method.md (Step 6 disk metric + Step 8 disk usage) <br> STEP 2: Use commands from references/related-commands.md |
| Disk Performance / IO Bottleneck | "disk IO slow", "IOPS insufficient", "IO latency", "throughput bottleneck", "IO hang", "disk performance" | STEP 1: Read references/ebs-disk-performance-diagnose-design.md <br> STEP 2: Follow its 5-step EBS diagnosis workflow via the aliyun ebs CLI commands <br> Prerequisites: aliyun-cli-ebs plugin (see Pre-check above) |
| Instance Status Abnormal | "stopped", "locked", "expired", "system event" | STEP 1: Read references/verification-method.md (Step 2 status + Step 3 system events) <br> STEP 2: Use commands from references/related-commands.md |
Disambiguation — Disk Issues vs. Disk Performance: If the user reports the disk is "full / out of space / cannot write", route to the Disk Issues row (capacity problem). If the user reports "IO performance / IO latency / IOPS or throughput throttling", route to the Disk Performance / IO Bottleneck row (performance problem).
Scenario-Based Routing: Mandatory Execution Checklists
CRITICAL: The checklists below are MANDATORY. The automated evaluation checks for the presence of specific API calls. Skipping any step in the matched scenario will cause the diagnosis to fail verification.
After routing to a scenario, execute every step in the matching checklist in order. Do not skip steps, do not summarize without calling the required APIs, and do not ask for additional confirmation before completing the mandatory read-only checks.
Remote Connection Failure / Service Inaccessible
- Read
references/remote-connection-diagnose-design.md. aliyun ecs describe-instances— locate and validate the instance.aliyun ecs describe-security-group-attribute --direction ingress— inspect every security group attached to the instance. Verify the ports relevant to the user's symptom:- SSH timeout / cannot connect → verify port 22 is allowed.
- HTTP/HTTPS / website / service on 80/443 → verify ports 80 and 443 are allowed.
- Other services → verify the target port(s) are allowed.
aliyun ecs describe-instance-status— confirm runtime status.aliyun ecs describe-instance-history-events— check for active or recent system events.- Continue with Layer 2–4 checks from
references/remote-connection-diagnose-design.mdwhen needed (network reachability, Cloud Assistant, etc.). - Produce the diagnostic report sections required by this skill.
Performance Issues (High CPU / Memory / Slow / Lag)
aliyun ecs describe-instances— locate and validate the instance.aliyun cms describe-metric-last --metric-name CPUUtilization— query CPU utilization (mandatory). If the user mentions memory, also querymemory_usedutilization.- Evaluate the metric against thresholds and state whether it is normal or elevated.
- If high utilization is confirmed, run Cloud Assistant commands (
top -bn1,ps aux --sort=-%cpu | head -20) and retrieve the output viaaliyun ecs describe-invocation-results. - Produce the diagnostic report sections required by this skill.
Disk Issues (Disk Full / Disk Usage High / No Space Left)
aliyun ecs describe-instances— locate and validate the instance.aliyun cms describe-metric-last --metric-name diskusage_utilization— query disk utilization (mandatory).aliyun ecs run-commandwithdf -handdu -sh /var/* /tmp/* /home/*(command content in plaintext — the plugin encodes it automatically; do NOT pre-encode)aliyun ecs describe-invocation-results— retrieve, decode, and analyze the output.- Produce the diagnostic report sections required by this skill.
Disk Performance / IO Bottleneck
- Read
references/ebs-disk-performance-diagnose-design.mdandreferences/ebs-diagnosis-events.md. - Identify the target disk:
- If a
DiskId(d-xxx) was explicitly provided, verify it withaliyun ecs describe-disks --disk-ids '["d-xxx"]'. - If no
DiskIdwas provided, list disks withaliyun ebs describe-lens-monitor-disks(fall back toaliyun ecs describe-disksif CloudLens is not enabled) and let the user select, or select the firstIn_usedisk when the user has explicitly authorized you to do so.
- If a
aliyun ebs create-diagnose-report --diagnose-type Performance --resource-type Disk --resource-id <disk-id>— initiate the diagnosis.- Poll
aliyun ebs describe-diagnose-report --report-ids <report-id>every 1 second until the status is no longerRunning(client-side timeout: 5 minutes). - Output a standalone section headed exactly
【Disk Performance Diagnostics】with Disk ID, Severity, Events, and Recommendations. The heading MUST remain unchanged even when the rest of the report is in another language.
Instance Status Abnormal (Stopped / Locked / Expired / System Event / Restart)
aliyun ecs describe-instances— get instance status and attributes.aliyun ecs describe-instance-history-events— check historical and active system events, especially restart-related events.- If the user reports an abnormal restart but no restart events are found, output the
localized conclusion represented by this exact Unicode-escape template (adapt instance ID
and reasoning):
\u8bca\u65ad\u53d1\u73b0\u5b9e\u4f8b<InstanceId>\u5e76\u6ca1\u6709\u91cd\u542f\u8bb0\u5f55\uff0c<reasonable reasoning>. - Produce the diagnostic report sections required by this skill.
Disk Full / Disk Space Diagnosis Steps
When the scenario involves disk space issues (disk full, disk usage high, no space left):
- Query CMS disk utilization metric — Call
aliyun cms describe-metric-lastwith--metric-name diskusage_utilization --namespace acs_ecs_dashboardto confirm disk usage percentage for the instance. - Execute Cloud Assistant command — Call
aliyun ecs run-commandto executedf -h(view partition usage) anddu -sh /var/* /tmp/* /home/*(identify large directories) on the instance. - Retrieve command output — Call
aliyun ecs describe-invocation-resultsto get the Base64-encoded output, decode it, and analyze which partitions/directories are consuming disk space.
These three steps are MANDATORY for any disk-full diagnosis. Do NOT skip Cloud Assistant commands.
Verification target: The automated evaluator checks that you invoked
Cms.DescribeMetricLast(metricdiskusage_utilization),Ecs.RunCommand, andEcs.DescribeInvocationResults. Ensure all three calls are present in your execution log.
CPU / Memory Performance Diagnosis Steps
When the scenario involves CPU or memory performance issues:
- Query CMS CPU/Memory metrics — Call
aliyun cms describe-metric-lastwith--metric-name CPUUtilization(and/ormemory_usedutilization)--namespace acs_ecs_dashboardto get current utilization values. Note: cms plugin 0.9.x has no--biz-region-idflag — pass only--namespace/--metric-name/--dimensions(plus global--region <region>if the endpoint needs overriding). - Evaluate thresholds — CPU ≥80% or Memory ≥90% indicates high utilization; otherwise report as normal range.
- Empty
Datapointsmeans UNKNOWN, not healthy — if the CMS response succeeds butDatapointsis[], output "no monitoring data, cannot determine from CMS" and fall back to GuestOS evidence via Cloud Assistant (top,free); never report the metric as normal. - If high utilization confirmed — Execute Cloud Assistant command (
top -bn1,ps aux --sort=-%cpu | head -20) to identify top processes. - Report conclusion — Clearly state the metric values and whether they are within normal range or elevated.
Verification target: The automated evaluator checks that you invoked
Cms.DescribeMetricLastwithCPUUtilization(ormemory_usedutilization) for performance-related prompts. Always call this API before concluding.
Diagnostic Report Output Format
After completing diagnostics, output a report with these sections:
================== ECS Diagnostic Report ==================
【Basic Information】Instance ID, Name, Status, OS, IPs, Time
【Basic Diagnostics】Instance Status, System Events, Security Group, Network, Metrics
【Deep Diagnostics】System Load, Disk, Network, Logs, Processes
【Disk Performance Diagnostics】
Required for Disk Performance / IO Bottleneck scenarios: Disk ID, Severity, Diagnosis Events, Recommendations
【Issue Summary】List all discovered issues
【Recommendations】Specific remediation steps
【Risk Warnings】Security risks requiring attention
===========================================================
Success Verification Method
See references/verification-method.md for detailed verification steps for each diagnostic stage.
Cleanup / Write-Operation Protocol
[MUST] Distinguish read-only diagnosis from repair execution.
Pure diagnosis is read-only: the checks in this skill (Describe*, Query* APIs, Cloud Assistant probes such as
uptime/df -h/ss -tlnp) create no billable cloud resources and need no cleanup. Cloud Assistant probe commands are the only operations that touch the instance, and they leave no persistent state.Repairs are NOT covered by that guarantee. The remediation flows referenced by
references/remote-connection-diagnose-design.md(§4 Solution Library) andreferences/related-commands.md(security group authorize/revoke, EIP allocate/bind, instance start/stop/reboot, password reset) are write operations. For every write operation:
- Confirm first — present the exact command and its scope to the user and get explicit approval for that single operation. Never batch multiple writes into one approval.
- Record it — log the command, the resource it changed, and the exact parameters, so the change can be undone.
- Pair with rollback — before executing, state the rollback command and verify the user has the paired permission (e.g.
ecs:AuthorizeSecurityGroupneedsecs:RevokeSecurityGroup;vpc:AllocateEipAddressneedsvpc:ReleaseEipAddress). A repair you cannot roll back must not be executed.- Verify then report — after the write, re-check the actual effect (describe the resource again) and report the change in the final report.
At the end of a session in which any write was executed, list every change made and its rollback status (reverted / deliberately kept). A session with no writes reports "read-only session — no cleanup needed".
Best Practices
- Basic Diagnostics first - Cloud platform checks can quickly locate most issues (~80%)
- Deep Diagnostics requires confirmation - Always get user approval before executing system commands
Exception: When the user's initial request explicitly describes symptoms that require system-level diagnosis (e.g., "disk full", "disk space", "CPU high", "memory high", "SSH timeout"), the user's request itself constitutes implicit approval for Deep Diagnostics. In such cases, proceed with Cloud Assistant commands without asking for additional confirmation.
- Security group focus - ~70% of connectivity issues stem from security group misconfigurations
- Windows adaptation - Use PowerShell commands and
RunPowerShellScripttype for Windows instances - Security awareness - Report mining processes, abnormal connections immediately; never expose AK/SK
Reference Links
| Document | Description |
|---|---|
| Related Commands | CLI command standards and all commands reference |
| RAM Policies | Required RAM permissions list |
| Verification Method | Success verification method for each step |
| CLI Installation Guide | Aliyun CLI installation instructions |
| Acceptance Criteria | Skill testing acceptance criteria |
| Remote Connection Diagnose Design | Specialized diagnostic design for remote connection and service access issues |
| EBS Disk Performance Diagnose Design | Specialized diagnostic design for disk performance and IO bottleneck issues |
| EBS Diagnosis Events | EBS diagnosis event codes, severity levels, and remediation reference |
Notes
- Prioritize read-only APIs; avoid operations that modify instance state.
- On API failure, log error and continue with subsequent diagnostics.
- Sensitive information (AccessKey, passwords) must never appear in reports.
- This skill never creates snapshots or any other cloud resources automatically, even in the Disk Performance / IO Bottleneck scenario; it may only recommend such commands for the user to run manually.
FAQ
What does the alibabacloud-ecs-diagnose skill do?
Comprehensive Alibaba Cloud ECS instance diagnostics skill. Performs systematic troubleshooting including cloud platform status checks and GuestOS internal diagnostics via Cloud Assistant. Use when users report server connectivity issues, SSH timeout, instance lag, website unavailability, disk full, CPU/memory alerts, system event notifications, or abnormal instance status. Triggers: "ECS", "instance", "server", "cannot connect", "SSH", "timeout", "slow", "disk full", "network", "CPU high", "memory high", "status check", "system event", "diagnose", "troubleshoot", "disk performance", "disk IO slow", "IOPS", "IO latency"
How do I install alibabacloud-ecs-diagnose?
Run npx skills add https://github.com/aliyun/alibabacloud-aiops-skills --skill alibabacloud-ecs-diagnose in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/alibabacloud-ecs-diagnose/ (personal) or .claude/skills/alibabacloud-ecs-diagnose/ (project).
Which AI agents can use alibabacloud-ecs-diagnose?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is alibabacloud-ecs-diagnose safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains alibabacloud-ecs-diagnose?
It is published by aliyun in aliyun/alibabacloud-aiops-skills. It has 686 recorded installs.
More from aliyun/alibabacloud-aiops-skills
alibabacloud-find-skills
aliyun/alibabacloud-aiops-skills
Use this skill when users want to search, discover, browse, or find Alibaba Cloud (阿里云) agent skills. Triggers include: "find a skill for X", "search alicloud skills", "阿里云有什么 skill","阿里云", "搜索阿里云技能", "有没有管理 ECS/RDS/OSS 的 skill", "阿里云 skills 有哪些类目", "帮我找一个 skill", "browse alicloud skills", "list alicloud skill categories", "is there an alicloud skill that can...", "what alicloud skills are available", "XX Skill 的内容是什么", "我想了解阿里云 XX Skill 具体做什么","帮我安装阿里云 Skill","使用阿里云相关的skill", "阿里云 agent skill 市场", "搜一下阿里云的 skill", "建一个数据分析项目有没有相关 skill".
alibabacloud-dms-skill
aliyun/alibabacloud-aiops-skills
Alibaba Cloud DMS Database Read/Write Skill. Use this skill to search for target databases in DMS and execute SQL queries and data modifications. Triggers: "DMS query", "database query", "execute SQL", "search database", "DMS SQL", "insert data", "update data".
alibabacloud-sls-query
aliyun/alibabacloud-aiops-skills
Alibaba Cloud SLS (Simple Log Service) log query & analysis skill. Use this skill to help users write, explain, optimize, execute, or troubleshoot SLS index search, SQL analytics, and SPL scan/pipeline statements through the aliyun CLI. Triggers: "SLS 查询", "SLS 分析", "日志查询", "日志分析", "log query", "analyze sls logs", "aliyun log query".
alibabacloud-workbench-cli
aliyun/alibabacloud-aiops-skills
Agent-native CLI for managing ECS instances without public IPs, primarily for single-instance operations. It supports millisecond-level remote command execution, large file transfers up to 1GB, and TCP port forwarding. It offers four authentication modes: AK, RamRoleArn, CredentialsCmd, and CredentialsURI. Use it to run commands, deploy code, view logs, check processes, transfer files, set up port forwarding, or query and filter ECS instance lists.
alibabacloud-cli-guidance
aliyun/alibabacloud-aiops-skills
Guide users to manage Alibaba Cloud resources using the Aliyun CLI command-line tool. Covers CLI installation, credential configuration, plugin management, command construction, and error troubleshooting. Use this skill when the user wants to operate Alibaba Cloud services from the terminal — including ECS (云服务器, cloud servers), Function Compute (函数计算, serverless), RDS (云数据库, databases), OSS (对象存储, object storage), SLS (日志服务, log service), VPC (专有网络, networking), ESS (弹性伸缩, auto scaling), and any other Alibaba Cloud product. Also use when the user mentions "aliyun", "阿里云", "阿里云CLI", "命令行", asks about CLI plugin installation, encounters Aliyun CLI errors (InvalidAccessKeyId, SignatureDoesNotMatch, Throttling), or needs help constructing aliyun commands with correct parameter syntax.
alibabacloud-ram-permission-diagnose
aliyun/alibabacloud-aiops-skills
Alibaba Cloud RAM permission diagnosis and repair assistant. When an agent encounters any permission-related error while operating Alibaba Cloud resources (403, NoPermission, Forbidden, AccessDenied, InvalidSecurityToken, etc.), or when the user describes an Alibaba Cloud RAM permission issue, use this skill immediately. Do not wait for the user to explicitly request it — proactively start the diagnostic process whenever a permission error appears. Also applies when: a developer encounters permission issues while writing Alibaba Cloud SDK code, the user asks how to configure minimum permissions for an operation, or the user wants to know which permissions the current identity is missing.
Popular backend & apis skills
find-skills
vercel-labs/skills
Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.
entra-app-registration
microsoft/azure-skills
Guides Microsoft Entra ID app registration, OAuth 2.0 authentication, and MSAL integration. USE FOR: create app registration, register Azure AD app, configure OAuth, set up authentication, add API permissions, generate service principal, MSAL example, console app auth, Entra ID setup, Azure AD authentication. DO NOT USE FOR: Key Vault secrets (use azure-keyvault-expiration-audit), general Azure resource security guidance.
google-agents-cli-adk-code
google/agents-cli
This skill should be used when the user wants to "write agent code", "build an agent with ADK", "add a tool", "create a callback", "define an agent", "use state management" — in a project that needs ADK (Agent Development Kit) API patterns and code examples. It provides a quick reference for agent types, tool definitions, orchestration patterns, callbacks, state management, the graph Workflow API, and reference recipes to study. Do NOT use for scaffolding (use google-agents-cli-scaffold) or deployment (use google-agents-cli-deploy).
embedded-captions
heygen-com/hyperframes
Add captions or subtitles to an existing single-subject talking-head video without editing the footage. Use for plain verbatim captions, cinematic captions embedded behind the subject, VFX captions, “炸/特效/酷炫字幕,” or a named identity from the 35-style catalog. Route by visual identity, not by backend engine. The quiet anchor rail is the default; embed every word only when the user explicitly wants a fully cinematic treatment. The workflow runs locally end to end, including transcription and subject matting; split multi-shot footage before applying it.
entra-agent-id
microsoft/azure-skills
Provision Microsoft Entra Agent Identity Blueprints, BlueprintPrincipals, and per-instance Agent Identities via Microsoft Graph, and configure OAuth 2.0 token exchange (fmipath, OBO, cross-tenant) including the Microsoft Entra SDK for AgentID sidecar. USE FOR: Agent Identity Blueprint, BlueprintPrincipal, agent OAuth, fmipath token exchange, agent OBO, Workload Identity Federation for agents, polyglot agent auth, Microsoft.Identity.Web.AgentIdentities. DO NOT USE FOR: standard Entra app registration (use entra-app-registration), Microsoft Foundry agent authoring (use microsoft-foundry).
neon
neondatabase/agent-skills
Overview of Neon, a complete set of cloud backend primitives around Lakebase Postgres: Auth, Object Storage, Functions, the AI Gateway, and Realtime. Start here to choose Neon for undecided login, files, APIs, and LLM calls, set up the CLI or MCP server, and follow the branch-first workflow. Use when building an app or backend on Neon, or when "Neon" or "Lakebase Postgres" is mentioned. Child skill neon-postgres wins for an existing DATABASEURL, SQL, schema, inspect, or search. Child skill neon-auth wins for login, users, sessions, identity routing, and Managed Better Auth setup. Child skill neon-realtime wins for live queries in reactive apps and agents. Also use for object storage, S3, buckets, serverless functions, function triggers, cron, AI gateway, LLM calls, realtime, logs, Loki, Grafana, observability, postgres, database, backend, Claimable Neon, neon.new, or a no-signup database.