← 返回 Skills 市场
sdk-team

Alibabacloud Analyticdb Postgresql Supabase Ops

作者 alibabacloud-skills-team · GitHub ↗ · v0.0.1 · MIT-0
cross-platform ⚠ suspicious
85
总下载
0
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install alibabacloud-analyticdb-postgresql-supabase-ops
功能描述
Manage the full lifecycle of ADBPG Supabase projects. Use for listing/querying projects, create, pause/resume, reset password, API Keys, and security IP mana...
使用说明 (SKILL.md)

ADBPG Supabase Project Management

Manage the full lifecycle of Supabase projects based on AnalyticDB PostgreSQL (ADBPG).

Architecture: ADBPG (AnalyticDB PostgreSQL) + Supabase + VPC + VSwitch

Scope — Alibaba Cloud ADBPG only (not Supabase CLI)

  • This skill controls projects provisioned on Alibaba Cloud via GPDB / aliyun gpdb APIs.
  • Do not use the standalone supabase CLI (supabase login, supabase projects list, etc.) for create/list/pause/resume here — that targets Supabase Cloud or self-hosted stacks, not ADBPG-managed Supabase instances.
  • All lifecycle and query operations in this skill are aliyun gpdb … with --user-agent AlibabaCloud-Agent-Skills/alibabacloud-analyticdb-postgresql-supabase-ops.

ProjectId format (spb-)

  • ProjectId from create/list/get APIs uses the prefix spb- plus an alphanumeric suffix (e.g. spb-2zen7c8752x12328). Use this exact value in --project-id.
  • If the user’s string does not match any instance, run list-supabase-projects in the right --biz-region-id and match ProjectName or the returned ProjectId.

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 for installation instructions. Then [MUST] run aliyun configure set --auto-plugin-install true to enable automatic plugin installation. Then [MUST] run aliyun plugin update to ensure that any existing plugins on your local machine are always up-to-date.

[MUST] CLI User-Agent — Every aliyun CLI command invocation must include: --user-agent AlibabaCloud-Agent-Skills/alibabacloud-analyticdb-postgresql-supabase-ops

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-analyticdb-postgresql-supabase-ops"

[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

Credential Verification

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
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
  2. Configure credentials outside of this session (via aliyun configure in terminal or environment variables in shell profile)
  3. Return and re-run after aliyun configure list shows a valid profile

RAM Permissions

Ensure the current account has the required permissions before executing operations. See references/ram-policies.md for details.

Permission Pre-check: Use ram-permission-diagnose skill to check current user permissions, compare against references/ram-policies.md, and abort with prompt if any permission is missing.

Parameter Confirmation

IMPORTANT: Parameter Confirmation — Before executing any command or API call, ALL user-customizable parameters (e.g., RegionId, ProjectId, instance names, CIDR blocks, passwords, VPC/VSwitch IDs, etc.) MUST be confirmed with the user. For create, the skill supplies recommended defaults (and optional auto-discovery). You must present that full plan and obtain explicit user approval (or replaced values) before running create-supabase-project.

Final execution confirmation (read-only vs mutating)

  • No separate final “execute” step — only for read-only information retrieval: aliyun gpdb list-supabase-projects, aliyun gpdb get-supabase-project, get-supabase-project-api-keys, get-supabase-project-dashboard-account, and discovery-only calls such as aliyun vpc describe-vpcs, aliyun vpc describe-vswitches, aliyun gpdb describe-regions (same class as list / describe: no resource state change).
  • Final user confirmation [MUST] — before the CLI runs, for every mutating operation: create, pause, resume, reset password, modify security IPs. Show what will execute and key parameters (e.g. project-id, new password hint without logging secret, new whitelist). Obtain explicit approval.
  • After create, provisioning poll via get-supabase-project does not need a new confirmation — the user already approved create; polling is verification only.

CreateSupabaseProject is defined in the official API reference. Full CLI mapping, VPC/VSwitch discovery, name/password rules: references/create-supabase-project-parameters.md.

Parameter Required/Optional Description Default / recommendation
ProjectId Required (non-create) Instance ID from API/list (spb- + suffix)
BizRegionId Optional (create) Region ID (RegionId in API) cn-beijing
ProjectName Required (create) Project name Derive from user scenario; user may replace
ZoneId Required (create) Availability zone ID cn-beijing-i
VpcId Required (create) VPC ID User input or from discovery (see Create Project)
VSwitchId Required (create) VSwitch ID (must match ZoneId) User input or recommend max AvailableIpAddressCount in zone
AccountPassword Required (create) / reset Database password User input or generate per API rules; user may replace
SecurityIPList Required (create) / modify IP whitelist 127.0.0.1; user may supply IPs/CIDRs
ProjectSpec Required (create) Instance spec 2C2G (skill default recommendation; user may choose e.g. 1C1G)
StorageSize Optional (create) Storage (GB) 20 (skill default recommendation)
DiskPerformanceLevel Optional (create) PL0 / PL1 PL0
PayType / UsedTime / Period Optional (create) Billing POSTPAY (后付费) by default; set --period / --used-time only for prepaid/subscription
ClientToken Optional (create) Idempotency Omit unless user retries same create

Timeout Configuration

Timeout Settings

  • Default CLI read timeout is often ~60 seconds per HTTP read — usually enough for create-supabase-project, because creation is asynchronous: the API accepts the request and returns ProjectId quickly; it does not block until the instance is ready.
  • 3–5 minutes is the typical time for background provisioning to finish — not the duration of the create HTTP response. Use Success Verification (poll get-supabase-project until Status is running) to wait for that phase.
  • Create success criterion: after create-supabase-project returns ProjectId, the instance is not ready until get-supabase-project reports Status = running (API uses lowercase) — that state means provisioning succeeded and the project is usable.
  • If any command hits read timeouts in practice, raise --read-timeout for that call (e.g. --read-timeout 120).

Core Workflow

All commands use aliyun gpdb \x3Ccommand> format, must include --user-agent AlibabaCloud-Agent-Skills/alibabacloud-analyticdb-postgresql-supabase-ops.

Per Final execution confirmation: read-only list / get / describe may run without a final execute prompt; create, pause, resume, reset password, modify IPs require explicit final user confirmation before invocation.

List Projects

aliyun gpdb list-supabase-projects \
  --biz-region-id cn-beijing \
  --max-results 20 \
  --user-agent AlibabaCloud-Agent-Skills/alibabacloud-analyticdb-postgresql-supabase-ops
  • Risk: Low | Read-only — no final execution confirmation

Get Project Details

aliyun gpdb get-supabase-project \
  --project-id spb-xxxxx \
  --user-agent AlibabaCloud-Agent-Skills/alibabacloud-analyticdb-postgresql-supabase-ops
  • Risk: Low | Read-only — no final execution confirmation

Get API Keys

aliyun gpdb get-supabase-project-api-keys \
  --project-id spb-xxxxx \
  --user-agent AlibabaCloud-Agent-Skills/alibabacloud-analyticdb-postgresql-supabase-ops
  • Risk: Low | Read-only — no final execution confirmation
  • Policy: Fulfilling a request to read keys via this official Alibaba Cloud API (with RAM/account access) is not the same as scraping secrets from an unrelated codebase. Decline only when the task is clearly exfiltration from repos or third-party systems; otherwise run get-supabase-project-api-keys, return keys minimally (no logging full secrets), and remind the user to rotate if exposed.

Get Dashboard Account

aliyun gpdb get-supabase-project-dashboard-account \
  --project-id spb-xxxxx \
  --user-agent AlibabaCloud-Agent-Skills/alibabacloud-analyticdb-postgresql-supabase-ops
  • Risk: Low | Read-only — no final execution confirmation

Create Project

Automated workflow — When user provides intent like "帮我在北京 i 创建 ADBPG Supabase 项目", run these steps:

Step 1: Auto-discover all information (no user input needed yet)

  1. Region + Zone — Use user-specified values or defaults (cn-beijing, cn-beijing-i).
  2. ProjectName — Run scripts/generate-project-name.sh to get 1-3 candidates (timestamp-based).
  3. Password — Run scripts/generate-password.py to generate a compliant password.
  4. VPC/VSwitch discovery — Run scripts/discover-vswitch.sh --biz-region-id \x3Cregion> --zone-id \x3Czone> to get the VSwitch with the most available IPs.
  5. SecurityIPList — Default 127.0.0.1.
  6. Optional flags — Use defaults: 2C2G, 20 GB, POSTPAY, PL0.
  7. ClientToken — Generate one UUID.

Step 2: Present creation plan (single confirmation)

Display the full parameter table to the user with options:

=== Create Supabase Project Plan ===
Project Name:   \x3Cgenerated-or-user-confirmed>
Region:         \x3Cbiz-region-id>
Zone:           \x3Czone-id>
VPC:            \x3Cvpc-id from discovery>
VSwitch:        \x3Cvswitch-id from discovery> (Available IPs: \x3Ccount>)
Instance Spec:  2C2G
Storage:        20 GB
Pay Type:       POSTPAY
Security IP:    127.0.0.1
Password:       \x3Cgenerated, shown once or masked>
=================================

Select an option:
1. Confirm and create (default)
2. Modify parameters
3. Cancel

Press Enter for [1], or type option number:

Step 3: Execute after confirmation

If user selects "1" or presses Enter (confirm), run:

aliyun gpdb create-supabase-project \
  --biz-region-id \x3CBizRegionId> \
  --zone-id \x3CZoneId> \
  --project-name \x3CProjectName> \
  --account-password ‘\x3CPassword>’ \
  --security-ip-list "127.0.0.1" \
  --vpc-id \x3CVpcId> \
  --vswitch-id \x3CVSwitchId> \
  --project-spec 2C2G \
  --storage-size 20 \
  --disk-performance-level PL0 \
  --pay-type POSTPAY \
  --client-token "\x3CClientToken>" \
  --user-agent AlibabaCloud-Agent-Skills/alibabacloud-analyticdb-postgresql-supabase-ops

Then proceed to Success Verification (polling) as described below.

Async create — HTTP retries (before you have ProjectId)

  • Goal: absorb transient CLI/network/API errors without double-creating a different resource.
  • Reuse the same --client-token on every create attempt in this session for this intended project.
  • Retry create (max 3 attempts total, including the first) only if the response has no ProjectId and the error looks transient: e.g. throttling, connection reset, read timeout, ServiceUnavailable. Backoff: 5s → 15s → 45s between attempts.
  • Do not blindly retry create for business errors (e.g. VSwitchIp.NotEnough, invalid parameter) — stop, explain, fix with the user.
  • If any attempt returns ProjectIdstop calling create; switch to provisioning poll (Success Verification).
  • If create times out but might have succeeded server-side → poll get-supabase-project by name/region (e.g. list-supabase-projects filtered by ProjectName) before issuing another create with the same token/name.
# CLIENT_TOKEN: generate once (e.g. uuidgen) before first attempt; reuse on safe create retries.
aliyun gpdb create-supabase-project \
  --biz-region-id cn-beijing \
  --zone-id cn-beijing-i \
  --project-name my_supabase \
  --account-password '\x3Cuser-or-generated>' \
  --security-ip-list "127.0.0.1" \
  --vpc-id vpc-xxxxx \
  --vswitch-id vsw-xxxxx \
  --project-spec 2C2G \
  --storage-size 20 \
  --disk-performance-level PL0 \
  --pay-type POSTPAY \
  --client-token "$CLIENT_TOKEN" \
  --user-agent AlibabaCloud-Agent-Skills/alibabacloud-analyticdb-postgresql-supabase-ops
  • Risk: High | Final user confirmation — full parameter plan approved before execution
  • Password: at least 3 of uppercase, lowercase, digits, specials from !@#$%^&*()_+-=; length 8–32 (per API)
  • Project name: letters/numbers/hyphens/underscores; must start with letter or _; length 1–128

Pause Project

aliyun gpdb pause-supabase-project \
  --project-id spb-xxxxx \
  --user-agent AlibabaCloud-Agent-Skills/alibabacloud-analyticdb-postgresql-supabase-ops
  • Risk: Medium | Final user confirmation required before execution
  • Service unavailable after pause, but data is retained

Resume Project

aliyun gpdb resume-supabase-project \
  --project-id spb-xxxxx \
  --user-agent AlibabaCloud-Agent-Skills/alibabacloud-analyticdb-postgresql-supabase-ops
  • Risk: Medium | Final user confirmation required before execution (mutating)

Reset Database Password

aliyun gpdb reset-supabase-project-password \
  --project-id spb-xxxxx \
  --account-password 'NewPass456!' \
  --user-agent AlibabaCloud-Agent-Skills/alibabacloud-analyticdb-postgresql-supabase-ops
  • Risk: Medium | Final user confirmation required before execution
  • Existing connections using old password will be disconnected

Modify Security IPs

aliyun gpdb modify-supabase-project-security-ips \
  --project-id spb-xxxxx \
  --security-ip-list "10.0.0.1,10.0.0.2/24" \
  --user-agent AlibabaCloud-Agent-Skills/alibabacloud-analyticdb-postgresql-supabase-ops
  • Risk: Medium | Final user confirmation required before execution
  • Multiple IPs separated by commas, CIDR format supported

Success Verification

Use the steps below first; extended tables and edge cases are in references/verification-method.md.

After create (create-supabase-project)

  1. Capture ProjectId from the create response (format spb- + suffix). The create call returns after the request is accepted, not when provisioning finishes. If create fails or times out, list or get to see if the project already exists before another create (same --client-token if retrying create per Create Project).

  2. Provisioning poll until running or terminal failure — async work often finishes in 3–5 minutes but can run longer under load. Use a two-tier wait:

    • Tier A — primary: every 30 seconds, call get-supabase-project, up to 20 attempts (~10 minutes).
    • Tier B — extension (optional): if Status is still a non-terminal provisioning state (e.g. creating / pending — exact strings depend on API), inform the user and add up to 10 more attempts (~5 minutes) before giving up.
  3. Per-poll retry (transient): For each scheduled poll, if get fails with network/read timeout or throttling, retry the same get up to 3 times with 5 seconds between tries, then continue the outer loop (still count as one poll cycle).

  4. Interpret Status:

    • runningcreate / provisioning succeeded; instance is ready — report success to the user.
    • Terminal failure (if API returns explicit failure/cancelled states) → stop polling; report error code/message; do not assume success.
    • Empty / unknown / in-progress → keep polling within Tier A/B limits.
PROJECT_ID="spb-xxxxx"
STATUS=""
MAX_PRIMARY=20
SLEEP=30
for attempt in $(seq 1 "$MAX_PRIMARY"); do
  RAW=""
  for inner in 1 2 3; do
    RAW=$(aliyun gpdb get-supabase-project \
      --project-id "$PROJECT_ID" \
      --read-timeout 90 \
      --user-agent AlibabaCloud-Agent-Skills/alibabacloud-analyticdb-postgresql-supabase-ops \
      2>/dev/null) && break
    sleep 5
  done
  STATUS=$(echo "$RAW" | jq -r '.Status // empty')
  [ "$STATUS" = "running" ] && break
  sleep "$SLEEP"
done
# Optional: extend with user consent +10 polls if still provisioning
[ "$STATUS" = "running" ] || exit 1

If jq is unavailable, inspect the get output for Status each time; same retry and tier rules apply.

After other operations

Operation Verify with Success hint
List list-supabase-projects Projects present in JSON, RequestId present
Get / API keys / dashboard matching get-* command Expected fields in JSON, no error code
Pause / resume get-supabase-project Status matches paused / running per API
Reset password / modify IPs get-supabase-project Whitelist or success response as applicable; password change is also validated by reconnecting (see reference doc)

Best Practices

  1. Read-only list/get/describe (see Final execution confirmation) may run without a final execute prompt; never run create/pause/resume/reset-password/modify-IPs without explicit final user confirmation
  2. If users lack VPC/VSwitch IDs, discover with vpc describe-vswitches (and optionally vpc describe-vpcs) before create
  3. Must issue warning before pausing projects (service will become unavailable)
  4. Do not recommend setting whitelist to 0.0.0.0/0 due to security risks
  5. ProjectId is always spb-… — if the user’s id is wrong or unknown, use list-supabase-projects to resolve by name or id
  6. Never substitute supabase CLI for aliyun gpdb on this product
  7. Pausing projects saves costs while data is preserved
  8. All commands must include --user-agent AlibabaCloud-Agent-Skills/alibabacloud-analyticdb-postgresql-supabase-ops
  9. After create, always run provisioning poll (or confirm terminal failure) — do not treat “create returned ProjectId” as “instance ready”

Reference Documents

Document Description
references/cli-installation-guide.md CLI Installation Guide
references/ram-policies.md RAM Permission Requirements
references/related-apis.md Related API List
references/verification-method.md Operation Verification Methods
references/acceptance-criteria.md Acceptance Criteria
references/create-supabase-project-parameters.md Create API parameters, defaults, VPC/VSwitch discovery
安全使用建议
This skill appears to do what it says (manage Alibaba Cloud ADBPG Supabase projects) but the package metadata is inconsistent with the runtime instructions. Before installing or using it: 1) Ensure you have the Aliyun CLI (>=3.3.1) available locally and have configured your Alibaba Cloud credentials via the CLI (do not paste AK/SK into chat). 2) Limit the RAM permissions used by the account to the minimum required (use a scoped management role rather than broad account keys). 3) Be aware the skill will retrieve Supabase API keys and dashboard credentials — decide how you want those secrets handled (avoid logging them or pasting them into transcripts). 4) Ask the publisher to update the skill metadata to declare required binaries (aliyun, jq/python/openssl if used) and required credential/environment variables and to add explicit rules for safe handling/redaction of API keys and dashboard credentials. If the author provides corrected metadata and explicit secret-handling rules, the inconsistency concern would be resolved and the skill could be considered coherent.
功能分析
Type: OpenClaw Skill Name: alibabacloud-analyticdb-postgresql-supabase-ops Version: 0.0.1 The skill bundle is a legitimate tool for managing Alibaba Cloud AnalyticDB for PostgreSQL (ADBPG) Supabase projects via the official 'aliyun' CLI. It includes robust security instructions for the AI agent, such as strictly forbidding the display or manual input of credentials (AK/SK), requiring explicit user confirmation for all mutating operations (create, pause, resume, etc.), and providing clear guidance on handling sensitive API keys. All referenced URLs point to official Alibaba Cloud domains (aliyun.com, alicdn.com), and the logic aligns perfectly with the stated management purpose without any signs of data exfiltration or malicious execution.
能力标签
cryptocan-make-purchasesrequires-oauth-token
能力评估
Purpose & Capability
The SKILL.md explicitly requires the Aliyun CLI and valid Alibaba Cloud credentials (AK/SK, STS or OAuth profile) and performs gpdb/vpc operations — all coherent with the stated purpose. However, the skill registry metadata declares no required binaries and no required env vars/primary credential, which is incorrect and inconsistent with the instructions. A manifest for an Alibaba Cloud CLI-driven skill should declare the Aliyun CLI and note credential requirements.
Instruction Scope
Instructions are narrowly scoped to running `aliyun gpdb` and `aliyun vpc` commands, doing discovery, creating projects, polling status, and enforcing user confirmations for mutating actions. They forbid printing AK/SK and require `aliyun configure list` as a pre-check. The docs suggest using auxiliary tools (python/openssl/jq) for password generation and JSON parsing but do not list them in metadata — this is a practical gap but not inherently malicious. The skill will retrieve sensitive items (API keys, dashboard account info) as part of normal operations; the SKILL.md lacks explicit guidance to avoid echoing or logging those retrieved secrets.
Install Mechanism
This is an instruction-only skill with no install spec and no code executed by the platform. The included CLI install docs reference official Aliyun download hosts (aliyuncli.alicdn.com) and Homebrew, which are expected and reasonable. No arbitrary third-party download URLs are embedded in executable install steps.
Credentials
The skill requires access to Alibaba Cloud credentials and RAM permissions to perform list/get/create/pause/resume/reset/modify operations, which is proportionate to its purpose—but the skill manifest does not declare these required environment variables or primary credential. Additionally, the skill's operations return sensitive secrets (Supabase API keys and dashboard credentials); the guidance forbids printing AK/SK but does not explicitly instruct safe handling or redaction of API keys/dashboard credentials returned by the APIs. The combination of undeclared credential requirements and unclear handling of returned secrets is a security concern.
Persistence & Privilege
The skill is not always-enabled and does not request system-wide persistence or modify other skills. It does not ask to write to agent config or escalate privileges. Autonomous invocation is allowed (platform default) but not accompanied by other high-risk factors here.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install alibabacloud-analyticdb-postgresql-supabase-ops
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /alibabacloud-analyticdb-postgresql-supabase-ops 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v0.0.1
Initial release for Alibaba Cloud AnalyticDB PostgreSQL Supabase project management skill. - Manage the entire lifecycle of ADBPG-based Supabase projects: create, list, query, pause/resume, reset password, manage API keys, and security IPs. - Strictly enforces region, credential, and permission pre-checks before running commands. - All operations use Alibaba Cloud gpdb CLI/API (not Supabase CLI); requires explicit user confirmation for any resource-changing (mutating) actions. - Provides detailed parameter validation/confirmation, permissions guidance, and safe credential handling practices. - Includes recommended defaults and discovery steps for creating projects (region, VPC, VSwitch, password, IPs). - Supports project ID mapping, confirmation, and background provisioning polling to verify resource readiness.
元数据
Slug alibabacloud-analyticdb-postgresql-supabase-ops
版本 0.0.1
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 1
常见问题

Alibabacloud Analyticdb Postgresql Supabase Ops 是什么?

Manage the full lifecycle of ADBPG Supabase projects. Use for listing/querying projects, create, pause/resume, reset password, API Keys, and security IP mana... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 85 次。

如何安装 Alibabacloud Analyticdb Postgresql Supabase Ops?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install alibabacloud-analyticdb-postgresql-supabase-ops」即可一键安装,无需额外配置。

Alibabacloud Analyticdb Postgresql Supabase Ops 是免费的吗?

是的,Alibabacloud Analyticdb Postgresql Supabase Ops 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

Alibabacloud Analyticdb Postgresql Supabase Ops 支持哪些平台?

Alibabacloud Analyticdb Postgresql Supabase Ops 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Alibabacloud Analyticdb Postgresql Supabase Ops?

由 alibabacloud-skills-team(@sdk-team)开发并维护,当前版本 v0.0.1。

💬 留言讨论