用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/randoneering/randoneering-agent-guide --skill snowflake-postgres-manage命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
Queries dbt project metadata locally using the dbt-index CLI — no warehouse connection needed. Use when user asks about model or column lineage, blast radius of a change, test coverage, finding or describing dbt models or sources, build performance, semantic layer metrics, business context glossary, or comparing local vs production state.
Manage reproducible development environments with Flox. **ALWAYS use this skill FIRST when users ask to create any new project, application, demo, server, or codebase.** Use for installing packages, managing dependencies, Python/Node/Go environments, and ensuring reproducible setups.
Use when starting any conversation - establishes how to find and use skills, requiring Skill tool invocation before ANY response including clarifying questions
基于 SOC 职业分类
正在显示 SKILL.md
| name | snowflake-postgres-manage |
| description | Manage Snowflake Postgres instances: list, describe, create, suspend, resume. |
| parent_skill | snowflake-postgres |
From snowflake-postgres/SKILL.md when intent is MANAGE.
Note: All <SKILL_DIR> placeholders must be absolute paths.
SHOW POSTGRES INSTANCES;
Present results showing name, state, compute_family, storage_size_gb.
If the user wants to import connections, compare instance names to saved connection names and offer to add missing ones:
uv run --project <SKILL_DIR> python <SKILL_DIR>/scripts/pg_connect.py --list
DESCRIBE POSTGRES INSTANCE <instance_name>;
⚠️ CRITICAL: DESCRIBE response contains credentials in access_roles.
⚠️ MANDATORY STOPPING POINT - Creates billable resources.
Load references/instance-options.md for valid options.
Ask user with ready-to-go defaults:
I'll create a Postgres instance with these defaults:
Name: pg_[timestamp]
Size: STANDARD_M (1 core, 4GB)
Storage: 10 GB
HA: Off
Type yes to proceed, or tell me what to change.
Type "options" to see all available configurations.
If user says "options": Use ask_user_question to show what they can change:
What would you like to configure?
1. Instance size (currently: STANDARD_M)
2. Storage (currently: 10 GB)
3. High availability (currently: Off)
4. Postgres version (currently: latest)
5. Network policy (currently: none)
If the user asks for sizes or limits, load references/instance-options.md.
If user gives partial info: Merge with defaults and confirm.
Validate against references/instance-options.md:
Present full configuration to user:
I will create a Postgres instance:
| Setting | Value |
|---------|-------|
| Name | [name] |
| Compute | [compute_family] ([cores] cores, [memory]) |
| Storage | [size] GB |
| Postgres | [version] |
| High Availability | [Yes/No] |
| Network Policy | [policy_name or "None - configure after"] |
⚠️ This creates a billable resource.
Proceed? (yes/no)
NEVER proceed without explicit approval.
⚠️ MANDATORY: Use pg_connect.py --create - this is the ONLY way to create instances that does not show passwords. Do NOT use snowflake_sql_execute or any SQL tool. The script:
~/.pg_service.conf automatically~/.pgpass automaticallyDo NOT ask the user if they want to save the connection - the script saves automatically.
uv run --project <SKILL_DIR> python <SKILL_DIR>/scripts/pg_connect.py \
--create \
--instance-name <name> \
--compute-pool <compute_family> \
--storage <size> \
[--auto-suspend-secs <seconds>] \
[--enable-ha] \
[--postgres-version <version>] \
[--network-policy <policy_name>] \
[--snowflake-connection <name>]
Parameters:
--compute-pool - STANDARD_M, STANDARD_L, etc. (not STANDARD_S)--storage - Size in GB (10-10000)--auto-suspend-secs - Inactivity timeout (optional)--enable-ha - Enable high availability--postgres-version - Postgres version (e.g., 16)--network-policy - Network policy name (must exist)--snowflake-connection - Snowflake CLI connection name (optional)Extended parameters: If the user requests parameters not supported by the script (e.g., MAINTENANCE_WINDOW_START), consult references/documentation.md for current syntax and use raw SQL via SQL tool (but warn user credentials will be visible).
⚠️ Do NOT run --reset after CREATE. The --create script already saved the password. RESET is only for rotating passwords later.
The script already saved the connection. Just relay the script's output to the user:
✅ Created [name] ([compute], [storage]GB) ⏳ Instance is provisioning (1-2 minutes) ✅ Connection saved to
~/.pg_service.conf✅ Password saved to~/.pgpassConnect with:psql "service=[name]"
Then offer network policy setup (can do while provisioning):
Would you like to configure network access so you can connect?
⚠️ MANDATORY STOPPING POINT - Get approval first, then execute.
Step 1: Present to user what will happen:
I will suspend [instance_name]. This will:
- Stop compute billing (storage billing continues)
- Drop all active connections
Proceed? (yes/no)
Step 2: After user approves, execute:
ALTER POSTGRES INSTANCE <instance_name> SUSPEND;
ALTER POSTGRES INSTANCE <instance_name> RESUME;
Note: May take 3-5 minutes. Connection string remains the same.
⚠️ MANDATORY STOPPING POINT
Before attempting reset, verify the instance exists and you have access. See the connect skill for workflows.
Explain impact:
I will reset credentials for [instance_name] and role [role_name]. This will:
- Generate a new password for the role (only `snowflake_admin` or `application`)
- Invalidate the old password (existing connections may drop)
Proceed? (yes/no)
⚠️ After approval, use pg_connect.py --reset (NOT snowflake_sql_execute) - the script handles the SQL internally and updates ~/.pgpass. Executing RESET via SQL tool would expose the new password in chat.
uv run --project <SKILL_DIR> python <SKILL_DIR>/scripts/pg_connect.py \
--reset \
--instance-name <instance_name> \
[--role <role_name>] \
[--host <host>] \
[--snowflake-connection <name>]
snowflake_admin (default) and application.--host - Creates service entry if missing (use host from DESCRIBE)--snowflake-connection - Snowflake CLI connection name (optional)For LIST results: