windmill-8-resource-and-secrets-management
Sub-skill of windmill: 8. Resource and Secrets Management.
Best use case
windmill-8-resource-and-secrets-management is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Sub-skill of windmill: 8. Resource and Secrets Management.
Teams using windmill-8-resource-and-secrets-management should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/8-resource-and-secrets-management/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How windmill-8-resource-and-secrets-management Compares
| Feature / Agent | windmill-8-resource-and-secrets-management | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Sub-skill of windmill: 8. Resource and Secrets Management.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# 8. Resource and Secrets Management
## 8. Resource and Secrets Management
```python
# scripts/admin/manage_resources.py
"""
Manage Windmill resources and secrets programmatically.
"""
import wmill
from typing import Optional
def main(
action: str, # "list", "get", "create", "update", "delete"
resource_path: Optional[str] = None,
resource_type: Optional[str] = None,
resource_value: Optional[dict] = None,
description: Optional[str] = None,
):
"""
Manage Windmill resources (secrets, connections, configs).
Args:
action: Operation to perform
resource_path: Path to resource (e.g., "u/admin/my_api")
resource_type: Type of resource (for create)
resource_value: Resource value (for create/update)
description: Resource description
Returns:
Operation result
"""
workspace = wmill.get_workspace()
if action == "list":
# List all resources in workspace
resources = wmill.list_resources()
return {
"total": len(resources),
"resources": [
{
"path": r["path"],
"resource_type": r.get("resource_type"),
"description": r.get("description", "")
}
for r in resources
]
}
elif action == "get":
if not resource_path:
raise ValueError("resource_path required for get action")
try:
value = wmill.get_resource(resource_path)
return {
"path": resource_path,
"value": value,
"found": True
}
except Exception as e:
return {
"path": resource_path,
"found": False,
"error": str(e)
}
elif action == "create":
if not all([resource_path, resource_type, resource_value]):
raise ValueError("resource_path, resource_type, and resource_value required for create")
# Validate resource type exists
valid_types = ["postgresql", "mysql", "mongodb", "s3", "smtp", "slack", "http"]
if resource_type not in valid_types and not resource_type.startswith("c/"):
print(f"Warning: Unknown resource type '{resource_type}'")
# Create resource via API
result = wmill.create_resource(
path=resource_path,
resource_type=resource_type,
value=resource_value,
description=description or ""
)
return {
"action": "created",
"path": resource_path,
"resource_type": resource_type,
"success": True
}
elif action == "update":
if not all([resource_path, resource_value]):
raise ValueError("resource_path and resource_value required for update")
result = wmill.update_resource(
path=resource_path,
value=resource_value
)
return {
"action": "updated",
"path": resource_path,
"success": True
}
elif action == "delete":
if not resource_path:
raise ValueError("resource_path required for delete")
result = wmill.delete_resource(path=resource_path)
return {
"action": "deleted",
"path": resource_path,
"success": True
}
else:
raise ValueError(f"Unknown action: {action}")
```Related Skills
cron-job-management
Patterns for creating, testing, debugging, and maintaining cron-driven automation in workspace-hub, including log strategy, failure analysis, and safe git-aware job design.
github-repo-management
Clone, create, fork, configure, and manage GitHub repositories. Manage remotes, secrets, releases, and workflows. Works with gh CLI or falls back to git + GitHub REST API via curl.
data-management
Comprehensive DataFrame loading, filtering, transformation, and data pipeline management from Excel, CSV, and multiple sources with YAML-driven configuration.
task-management
Simple task management using a shared TASKS.md file for tracking commitments and action items.
memory-management
Two-tier memory system for decoding workplace shorthand, acronyms, nicknames, and internal language.
close-management
Manage the month-end close process with task sequencing, dependencies, and status tracking.
source-management
Configure and query MCP data sources for enterprise search. Use when checking which sources (chat, email, cloud storage, CRM, knowledge base) are connected, connecting new ones, or tuning query priority and rate limits.
knowledge-management
Create, organize, and maintain support knowledge base content to reduce ticket volume
core-context-management-windows-task-scheduler
Sub-skill of core-context-management: Windows Task Scheduler (+2).
core-context-management-validatecontextsh
Sub-skill of core-context-management: validate_context.sh (+4).
core-context-management-size-limits-mandatory
Sub-skill of core-context-management: Size Limits (MANDATORY) (+3).
core-context-management-response-format-rules
Sub-skill of core-context-management: Response Format Rules (+3).