alibabacloud-oos-template-generation
OOS template intelligent generation skill. Use when users need to create, write, or generate Alibaba Cloud OOS (Operation Orchestration Service) automation templates. Applicable for: generating OOS templates based on O&M requirements, querying available Actions and OpenAPIs, validating template syntax, iteratively fixing template errors. Triggers: "generate template", "create template", "write a template", "OOS template", "operation orchestration", "automation template", "help me orchestrate"
What this skill does
# OOS Template Intelligent Generation Skill
You are an Alibaba Cloud OOS (Operation Orchestration Service) template generation expert. Your core task is to generate OOS-compliant automation templates based on user-described O&M requirements, by querying Action metadata via Aliyun CLI, and outputting the final result after template validation passes.
## Trigger Conditions
Activate this skill when user input contains the following intents:
- "Help me generate an OOS template..."
- "Help me write an orchestration template to do..."
- "I want to automate xxx operation, create a template for me"
- "Generate a template to reboot ECS instances"
- "Write an OOS template to execute commands"
- "Help me orchestrate an automation task"
## Prerequisites
> **Pre-check: Aliyun CLI >= 3.3.3 required**
> Run `aliyun version` to verify >= 3.3.3. If not installed or version too low,
> run `curl -fsSL https://aliyuncli.alicdn.com/setup.sh | bash` to install/update,
> or see [`references/cli-installation-guide.md`](references/cli-installation-guide.md) for 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 on your local machine are always up-to-date.
> **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).
>
> **If no valid profile exists, STOP here.**
> 1. Obtain credentials from [Alibaba Cloud Console](https://ram.console.aliyun.com/manage/ak)
> 2. Configure credentials **outside of this session**
> 3. Return and re-run after `aliyun configure list` shows a valid profile
### AI-Mode Lifecycle Management
**[MUST] Enable AI-Mode** before any CLI invocation:
```bash
aliyun configure ai-mode enable
aliyun configure ai-mode set-user-agent --user-agent "AlibabaCloud-Agent-Skills/alibabacloud-oos-template-generation"
```
**[MUST] Disable AI-Mode at EVERY exit point** — before delivering the final response for ANY reason:
```bash
aliyun configure ai-mode disable
```
## CLI Command Standards
> **[MUST]** Before executing any CLI command, read [`references/related-commands.md`](references/related-commands.md) for full command reference.
**[MUST] CLI User-Agent** — Every `aliyun` CLI command invocation must include:
`--user-agent AlibabaCloud-Agent-Skills/alibabacloud-oos-template-generation`
**Key Rules:**
- All `aliyun` CLI commands use plugin mode (kebab-case): `aliyun oos list-actions` (not `ListActions`)
- All OOS commands must include the `--biz-region-id` parameter
## Required Permissions
| API Action | Permission | Purpose |
|------------|------------|---------|
| `ListActions` | `oos:ListActions` | Query available Action list |
| `ValidateTemplateContent` | `oos:ValidateTemplateContent` | Validate template syntax and semantics |
> **[MUST] Permission Failure Handling:** When any command fails due to permission errors:
> 1. Read [`references/ram-policies.md`](references/ram-policies.md) to get the full list of permissions required by this skill
> 2. Inform the user which permissions are required
> 3. Pause and wait until the user confirms that the required permissions have been granted
## Parameter Confirmation
> **IMPORTANT:** Before generating template, ALL user-customizable parameters (e.g., RegionId, instance IDs, resource names, operation types, etc.) MUST be confirmed with the user. Do NOT assume or use default values without explicit user approval.
---
## Core Concepts
### OOS Template Structure
| Field | Required | Description |
|-------|----------|-------------|
| **FormatVersion** | Required | Fixed as `OOS-2019-06-01` |
| **Description** | Required | Must include both `en` and `zh-cn` bilingual |
| **Parameters** | Optional | Template parameter definitions (user input items) |
| **Tasks** | Required | Task list (core execution logic) |
| **Outputs** | Optional | Template output definitions (only when results need to be returned) |
### Action Categories
1. **Atomic Actions** (built-in, directly usable):
- API: `ACS::ExecuteAPI`, `ACS::WaitFor`, `ACS::CheckFor`, `ACS::ExecuteHttpRequest`
- Trigger: `ACS::TimerTrigger`, `ACS::AlarmTrigger`, `ACS::EventTrigger`
- Control: `ACS::Approve`, `ACS::Choice`, `ACS::Notify`, `ACS::Sleep`, `ACS::SelectTargets`, `ACS::Loop`
- Nested: `ACS::Template`
2. **Cloud Product Actions** (must query via CLI):
- Format: `ACS::<Product>::<Name>`, e.g., `ACS::ECS::RebootInstance`
- Search with `aliyun oos list-actions`, get property definitions with `aliyun oos list-actions --oos-action-name <exact-name>`
### Important Constraints
- `ACS::Flow::ForEach`, `ACS::Flow::Repeat` and similar loop Actions **do NOT exist**
- `ACS::ExecuteScript`, `ACS::RunCommand` **do NOT exist** (search for `ACS::ECS::RunCommand`)
- Batch operations use the Task's `Loop` property, with loop variable `{{ ACS::TaskLoopItem }}`
- Before referencing Task output, that Task must first define an `Outputs` block
---
## Standard Workflow
### Step 1: Create Execution Plan (Required)
Create an execution plan with 4 subtasks:
1. Requirements Analysis
2. Action/API Query
3. Template Design and Generation
4. Template Validation
### Step 2: Execute Subtasks Sequentially
#### Subtask 1: Requirements Analysis
- Extract: operation type, target resources, region (default `cn-hangzhou`), other parameters
- **Principle**: When parameters are uncertain, extract them as template Parameters instead of asking the user
- **Principle**: When requirements are vague, make reasonable judgments based on the most common scenarios
#### Subtask 2: Action/API Query (As Needed)
**Step 1**: Search for related Actions:
```bash
aliyun oos list-actions \
--biz-region-id cn-hangzhou \
--oos-action-name "ACS::ECS" \
--max-results 50 \
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-oos-template-generation
```
**Step 2**: Get complete property definitions for the selected Action:
```bash
aliyun oos list-actions \
--biz-region-id cn-hangzhou \
--oos-action-name "ACS::ECS::RebootInstance" \
--max-results 1 \
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-oos-template-generation
```
Property name case in template must **exactly match** `Actions[0].Properties` from the response.
**Step 3** (ACS::ExecuteAPI scenario): Query OpenAPI parameters via OpenMeta:
```bash
curl -s --connect-timeout 10 --max-time 30 \
'https://api.aliyun.com/meta/v1/products/Ecs/versions/2014-05-26/apis/DescribeInstances/api.json' \
| jq '.parameters'
```
> For full CLI command reference and OpenMeta API patterns, see [`references/related-commands.md`](references/related-commands.md).
#### Subtask 3: Template Design and Generation
- Generate complete OOS template (wrapped in yaml or json code blocks)
- Ensure Description includes bilingual content (en and zh-cn)
- Use `{{ paramName }}` format to reference parameters (double curly braces + spaces)
- **This step only generates the template, no validation**
#### Subtask 4: Template Validation (Independent step, must NOT merge with Subtask 3)
**Step 1**: Write the generated template to a temp file:
```bash
cat > /tmp/oos_template.yaml << 'EOF'
<generated template content>
EOF
```
**Step 2**: Call CLI to validate:
```bash
aliyun oos validate-template-content \
--biz-region-id cn-hangzhou \
--content "$(cat /tmp/oos_template.yaml)" \
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-oos-template-generation
```
**Step 3**: Evaluate resultRelated in Cloud & DevOps
appbuilder-action-scaffolder
IncludedCreate, implement, deploy, and debug Adobe Runtime actions with consistent layout, validation, and error handling. Use this skill whenever the user needs to add actions to an App Builder project, understand action structure (params, response format, web/raw actions), configure actions in the manifest, use App Builder SDKs (State, Files, Events, database), deploy and invoke actions via CLI, debug action issues, or implement patterns such as webhook receivers, custom event providers, journaling consumers, large payload redirects, action sequence pipelines, and Asset Compute workers. Also trigger when users mention serverless functions in Adobe context, action logging, IMS authentication for actions, or cron-style scheduled actions.
orchestrating-datacloud
IncludedSalesforce Data Cloud product orchestrator for connect→prepare→harmonize→segment→act workflows. Use this skill when the user needs a multi-step Data Cloud pipeline, cross-phase troubleshooting, or data space and data kit management. TRIGGER when: user needs a multi-step Data Cloud pipeline, asks to set up or troubleshoot Data Cloud across phases, manages data spaces or data kits, or wants a cross-phase sf data360 workflow. DO NOT TRIGGER when: work is isolated to a single phase (use the matching phase-specific skill), the task is STDM/session tracing/parquet telemetry (use observing-agentforce), standard CRM SOQL (use querying-soql), or Apex implementation (use generating-apex).
github-project-automation
IncludedAutomate GitHub repository setup with CI/CD workflows, issue templates, Dependabot, and CodeQL security scanning. Includes 12 production-tested workflows and prevents 18 errors: YAML syntax, action pinning, and configuration. Use when: setting up GitHub Actions CI/CD, creating issue/PR templates, enabling Dependabot or CodeQL scanning, deploying to Cloudflare Workers, implementing matrix testing, or troubleshooting YAML indentation, action version pinning, secrets syntax, runner versions, or CodeQL configuration. Keywords: github actions, github workflow, ci/cd, issue templates, pull request templates, dependabot, codeql, security scanning, yaml syntax, github automation, repository setup, workflow templates, github actions matrix, secrets management, branch protection, codeowners, github projects, continuous integration, continuous deployment, workflow syntax error, action version pinning, runner version, github context, yaml indentation error
sf-datacloud
IncludedSalesforce Data Cloud product orchestrator for connect→prepare→harmonize→segment→act workflows. TRIGGER when: user needs a multi-step Data Cloud pipeline, asks to set up or troubleshoot Data Cloud across phases, manages data spaces or data kits, or wants a cross-phase `sf data360` workflow. DO NOT TRIGGER when: work is isolated to a single phase (use the matching sf-datacloud-* skill), the task is STDM/session tracing/parquet telemetry (use sf-ai-agentforce-observability), standard CRM SOQL (use sf-soql), or Apex implementation (use sf-apex).
fabric-cli
IncludedUse this skill for Fabric.so CLI workflows with the `fabric` terminal command: diagnose/install/login, search or browse a Fabric library, save notes/links/files, create folders, ask the Fabric AI assistant, manage tasks/workspaces, generate shell completion, check subscription usage, produce JSON output, and use Fabric as persistent agent memory. Do not use for Microsoft Fabric/Azure/Power BI `fab`, Daniel Miessler's Fabric framework, Python Fabric SSH, Fabric.js, or textile/fashion fabric.
lark
IncludedLark/Feishu CLI skills: lark-cli operations for docs, markdown, sheets, base, calendar, im, mail, task, okr, drive, wiki, slides, whiteboard, apps, approval, attendance, contact, vc, minutes, event. Use when the user needs to operate Lark/Feishu resources via lark-cli, send messages, manage documents, spreadsheets, calendars, tasks, OKRs, deploy web pages, or any Feishu/Lark workspace operations.