Install
openclaw skills install alibabacloud-liverecord-diagnosisAlibaba 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", "录制诊断", "直播录制问题".
openclaw skills install alibabacloud-liverecord-diagnosisThis skill provides comprehensive diagnostic capabilities for Alibaba Cloud ApsaraVideo Live recording issues. It helps identify and troubleshoot problems related to:
Architecture: ApsaraVideo Live + OSS/VOD + Recording Configuration + Callback Configuration
Within Scope:
Out of Scope:
Pre-check: Aliyun CLI >= 3.3.3 required
Run
aliyun versionto 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 trueto enable automatic plugin installation. [MUST] runaliyun plugin updateto ensure that any existing plugins are always up-to-date.
Install Live Plugin:
aliyun plugin install --names live
Pre-check: Alibaba Cloud Credentials Required
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).
If no valid profile exists, 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
The following RAM permissions are required for this diagnostic skill. See references/ram-policies.md for the complete policy document.
Required Actions:
live:DescribeLiveDomainMapping - Query domain mappingslive:DescribeLiveStreamRecordContent - Query recording contentlive:DescribeLiveStreamRecordIndexFiles - Query recording index fileslive:DescribeLiveRecordConfig - Query recording configurationlive:DescribeLiveRecordVodConfigs - Query VOD recording configurationlive:DescribeLiveRecordNotifyConfig - Query callback configurationlive:DescribeLiveStreamsOnlineList - Query online streamslive:DescribeLiveStreamsPublishList - Query stream publish historylive:DescribeLiveCenterStreamRateData - Query stream rate datalive: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.mdto get the full list of permissions required by this SKILL- Use
ram-permission-diagnoseskill to guide the user through requesting the necessary permissions- Pause and wait until the user confirms that the required permissions have been granted
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 |
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:
aliyun configure ai-mode enable aliyun configure ai-mode set-user-agent --user-agent "AlibabaCloud-Agent-Skills/alibabacloud-liverecord-diagnosis"
1.1 Validate Diagnostic Scope
Check if the issue is within the diagnostic scope:
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:
example.com)live)stream123)1.3 Determine Time Range
1.4 Confirm Parameters with User
Present extracted parameters to user for confirmation:
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.
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:
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.
aliyun live describe-live-stream-record-content \
--domain-name <PlaybackDomain> \
--app-name <AppName> \
--stream-name <StreamName> \
--start-time <StartTime> \
--end-time <EndTime>
See Expected Output for response format.
2.3 Query Recording Index Files (OSS)
If recording to OSS, query index files:
aliyun live describe-live-stream-record-index-files \
--domain-name <PlaybackDomain> \
--app-name <AppName> \
--stream-name <StreamName> \
--start-time <StartTime> \
--end-time <EndTime>
See Expected Output for response format.
2.4 Verify User's Issue
Compare the query results with the user's reported issue:
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.
3.1 Query Recording to OSS Configuration
aliyun live describe-live-record-config \
--domain-name <PlaybackDomain> \
--app-name <AppName> \
--stream-name <StreamName>
See Expected Output for response format.
OnDemand flag in the recording configuration affects whether the record task can be started. Values are as below:
Validation Checklist:
3.2 Query Recording to VOD Configuration
aliyun live describe-live-record-vod-configs \
--domain-name <PlaybackDomain> \
--app-name <AppName> \
--stream-name <StreamName>
See Expected Output for response format.
Validation Checklist:
3.3 Diagnostic Conclusion
Skip this step if the user question is NOT about callback.
4.1 Query Recording Callback Configuration
aliyun live describe-live-record-notify-config \
--domain-name <PlaybackDomain>
See Expected Output for response format.
Validation Checklist:
4.2 Diagnostic Conclusion
5.1 Query Online Streams
Check if the stream is currently online:
aliyun live describe-live-streams-online-list \
--domain-name <PlaybackDomain> \
--app-name <AppName> \
--stream-name <StreamName>
See Expected Output for response format.
5.2 Query Historical Stream Publish Records
Check historical publish records:
aliyun live describe-live-streams-publish-list \
--domain-name <PlaybackDomain> \
--app-name <AppName> \
--stream-name <StreamName> \
--start-time <StartTime> \
--end-time <EndTime>
See Expected Output for response format.
5.3 Query Stream Rate Data (Audio/Video Frame Rates)
If there are online/publish stream records, check audio and video frame rates to identify quality issues:
aliyun live describe-live-center-stream-rate-data \
--domain-name <PlaybackDomain> \
--app-name <AppName> \
--stream-name <StreamName> \
--start-time <StartTime> \
--end-time <EndTime>
See Expected Output for response format and analysis guidelines.
5.4 Diagnostic Conclusion
rtmp://<push-domain>/<app-name>/<stream-name>6.1 Query Recording Callback Events
Query callback records to identify recording issues.
MUST query callback records if the user question is about record callback regardless of previous step results.
aliyun live describe-live-record-notify-records \
--domain-name <PlaybackDomain> \
--app-name <AppName> \
--stream-name <StreamName> \
--start-time <StartTime> \
--end-time <EndTime> \
--page-size <PageSize, e.g. 20> \
--page-number <PageNumber, e.g. 1>
See Expected Output for response format.
6.2 Analyze Callback Events
Recording Event Types:
For detailed error codes, resolution steps, and diagnostic conclusions, see references/error-codes.md.
6.3 Diagnostic Conclusion
Based on callback events, identify the error code and follow the resolution in references/error-codes.md.
If no errors found:
✅ No recording errors found in callback records.
If you're still experiencing issues, please provide more details about the specific problem.
After completing all diagnostic steps, generate a comprehensive report using the template in references/diagnostic-report-template.md.
The report should cover:
[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.
aliyun configure ai-mode disable
After completing the diagnostic workflow:
For detailed verification steps and commands, see references/verification-method.md.
This diagnostic skill does not create any resources, so no cleanup is required.
Note: This skill is read-only and does NOT modify any configurations. If configuration changes are needed, users must update them via console or CLI.
| Reference Document | Description |
|---|---|
| references/ram-policies.md | Complete RAM permissions required for this skill |
| references/related-commands.md | Complete list of CLI commands used in this skill |
| references/verification-method.md | Detailed verification steps and commands |
| references/error-codes.md | Complete list of recording error codes and resolutions |
| references/cli-installation-guide.md | Alibaba Cloud CLI installation and configuration guide |
| references/api-response-examples.md | API response format examples for diagnostic commands |
| references/diagnostic-report-template.md | Diagnostic report template and example |