Alibaba Cloud Live Recording Diagnostic Skill. Use for diagnosing live stream record issues including missing recordings, file generation problems, unexpected recording behavior, and callback issues.
Triggers: "live record", "live stream record diagnosis", "record not working", "record file missing", "record callback issue", "录制诊断", "直播录制问题".
This skill provides comprehensive diagnostic capabilities for Alibaba Cloud ApsaraVideo Live recording issues. It helps identify and troubleshoot problems related to:
Live stream not being recorded
Recording files not generated
Recording files not meeting expectations (missing audio/video, wrong format, etc.)
Issues unrelated to live recording (use Alibaba Cloud official AI assistant)
Writing/modifying user configurations (user must modify via console or CLI themselves)
Installation
Pre-check: Aliyun CLI >= 3.3.3 required
Run aliyun version to verify >= 3.3.3. If not installed or version too low, see references/cli-installation-guide.md for detailed installation instructions.
Pre-check: Aliyun CLI plugin update required
[MUST] run aliyun configure set --auto-plugin-install true to enable automatic plugin installation.
[MUST] run aliyun plugin update to ensure that any existing plugins are always up-to-date.
Install Live Plugin:
bash
aliyun plugin install --names live
Authentication
Pre-check: Alibaba Cloud Credentials Required
Security Rules:
NEVER read, echo, or print AK/SK values (e.g., echo $ALIBABA_CLOUD_ACCESS_KEY_ID is FORBIDDEN)
NEVER ask the user to input AK/SK directly in the conversation or command line
NEVER use aliyun configure set with literal credential values
ONLY use aliyun configure list to check credential status
bash
aliyun configure list
Check the output for a valid profile (AK, STS, or OAuth identity).
live:DescribeLiveStreamsPublishList - Query stream publish history
live:DescribeLiveCenterStreamRateData - Query stream rate data
live:DescribeLiveRecordNotifyRecords - Query callback records
[MUST] Permission Failure Handling: When any command or API call fails due to permission errors at any point during execution, follow this process:
Read references/ram-policies.md to get the full list of permissions required by this SKILL
Use ram-permission-diagnose skill to guide the user through requesting the necessary permissions
Pause and wait until the user confirms that the required permissions have been granted
Parameter Confirmation
IMPORTANT: Parameter Confirmation — Before executing any command or API call, ALL user-customizable parameters (e.g., domain names, stream names, application names, time ranges, region IDs, etc.) MUST be confirmed with the user. Do NOT assume or use default values without explicit user approval. Note that Alibaba Cloud Live API or CLI may UTC timezone. Convert the time from user local zone when calling API/CLI.
Required Parameters:
Parameter Name
Required/Optional
Description
Default Value
live-stream-url
Required
The live stream URL to diagnose (used to extract DomainName, AppName, StreamName)
N/A
issue-description
Required
Description of the recording issue
N/A
time-range
Optional
Time range for diagnosis (format: YYYY-MM-DD HH:mm:ss, user local zone)
Past 1 day (expand to 7 days if no data)
biz-region-id
Optional
Business region ID
Default region from CLI config
Core Workflow
At the start of the Core Workflow (before any CLI invocation):
[MUST] Enable AI-Mode — AI-mode is required for Agent Skill execution.
Run the following commands before any CLI invocation:
Step 1: Identify User Intent and Validate Information Completeness
1.1 Validate Diagnostic Scope
Check if the issue is within the diagnostic scope:
Live stream not recorded
Recording files not generated
Recording files not meeting expectations
Callback issues
Other recording-related problems
If out of scope, politely inform the user to contact Alibaba Cloud support or use the official AI assistant.
1.2 Extract Required Information
From the live stream URL (e.g., rtmp://example.com/live/stream123), extract:
DomainName: The main playback domain (e.g., example.com)
AppName: The application name (e.g., live)
StreamName: The stream name (e.g., stream123)
1.3 Determine Time Range
If user provides time range, use it. Default year is current year if not specified
If not provided, default to past 1 day
If no data found in 1 day, expand to 7 days
1.4 Confirm Parameters with User
Present extracted parameters to user for confirmation:
text
Diagnostic Parameters:
- Domain: play.example.com
- Application: live
- Stream: stream123
- Time Range: 2026-01-20T00:00:00Z to 2026-01-21T00:00:00Z
Please confirm these parameters are correct before proceeding.
Step 2: Query Domain Mapping and Recording Results
MUST execute steps in this section to verify user's issues.
2.1 Query Domain Mapping
First, query the domain mapping to get the main playback domain:
bash
aliyun live describe-live-domain-mapping \
--domain-name <DomainName>
See Expected Output for response format. Extract the main playback domain (Type: vhost) for subsequent queries.
2.2 Query Recording Content
MUST execute this step regardless of previous step results. Query recording content for the specified time range.
Compare the query results with the user's reported issue:
If recordings exist but user says no recordings → Issue may be with access or playback
If no recordings found → Proceed to Step 3 to check configuration
If recordings exist but incomplete → Check stream quality in Step 5
Step 3: Query Recording Configuration
The recording to VOD/OSS configuration may have wildcard (*) matches for app name, stream name. Use the best matching configuration if there're multiple ones.
Stream Information (domain, app, stream, time range)
Diagnostic Results for each step (domain mapping, recording content, configuration, callback, stream, quality, events)
Root Cause summary
Action Required items
Recommended Next Steps
[MUST] Disable AI-Mode at EVERY exit point — Before delivering the final response for ANY reason, always disable AI-mode first. This applies to ALL exit paths: workflow success, workflow failure, error/exception, user cancellation, session end, or any other scenario where no further CLI commands will be executed.
AI-mode is only used for Agent Skill invocation scenarios and MUST NOT remain enabled after the skill stops running.
bash
aliyun configure ai-mode disable
Success Verification Method
After completing the diagnostic workflow:
Verify Recording Configuration: Check that recording config exists and is correct
**Verify Callback Configuration (optional) **: Check that callback URL is configured if the user question is about callback or necessary
Verify Stream Status: Check that stream has been published
Verify Callback Records: Check for any error events
Verify Recording Files: Check that files exist in OSS or VOD