Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
4223315
Add redshift-support-specialist skill for Amazon Redshift ops
andrehass Jul 16, 2026
fa6e077
Replace Lambda Function URL with API Gateway only
andrehass Jul 16, 2026
0436893
Add non-interactive sam deploy as default deploy path
andrehass Jul 16, 2026
b5e052f
Reorder skill README into a clear setup sequence
andrehass Jul 16, 2026
81be046
Fixed the README
andrehass Jul 16, 2026
cecb819
Document GitHub capability provider setup for skill import
andrehass Jul 16, 2026
fb2a354
Adding detailed deployment instructions
andrehass Jul 17, 2026
d900776
README order
andrehass Jul 17, 2026
eb0c523
README Fix
andrehass Jul 17, 2026
8660f76
README Fix
andrehass Jul 17, 2026
0c7ee4a
README File fix
andrehass Jul 17, 2026
19aaa3c
Restructure and align skill README setup steps
andrehass Jul 17, 2026
f5fce7b
README Fix
andrehass Jul 17, 2026
901c27f
README Fix
andrehass Jul 17, 2026
26430f6
Fix Lambda execution role name for Redshift DB grants
andrehass Jul 17, 2026
700ffa6
docs(redshift-support-specialist): fix skill upload nav and wording
andrehass Jul 17, 2026
b74e1f9
README Fix
andrehass Jul 17, 2026
8c96ae8
Cleaning README
andrehass Jul 17, 2026
f047b09
- Run interactively in the active chat by default; never offer or
andrehass Jul 20, 2026
95d1571
feat(redshift-support-specialist): remove DR/IDR capabilities, align …
andrehass Jul 21, 2026
ef1c3a4
docs(redshift-support-specialist): expand Key Capabilities section wi…
andrehass Jul 21, 2026
efb6a45
Merge remote-tracking branch 'upstream/main' into feature/redshift-su…
andrehass Jul 21, 2026
98a709d
test(redshift-support-specialist): add Agent Skill Eval results for v…
andrehass Jul 21, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 25 additions & 0 deletions custom-agents/redshift-support-specialist/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Changelog

## 1.3.0

- Section 0 rewritten for the platform's actual execution model: custom agents always run as asynchronous invocations (confirmed against the Executing custom agents documentation), so "run in active chat" was unenforceable — asking Chat to use the agent kicked off a background run that then proceeded without scope confirmation. The new rule is "no scope, no run": the invocation prompt must name the cluster/workgroup, database(s), and capability; if anything is missing the agent calls `list_clusters` for discovery only and ends the run with a "Scope required — run not started" report instead of guessing
- Section 2/3/4 updated to match: rule 2a's "send a message and wait for the reply" (impossible mid-invocation) replaced with validate-scope-from-prompt-or-stop
- README rewritten: documents the async execution model, "Run with prompt" examples with explicit scope, and directs users to the skill in regular Chat for interactive step-by-step work

## 1.2.0

- Removed disaster recovery and incident detection from the capability mapping, README purpose, and key capabilities (aligns with skill v1.8.0, which removed Capabilities 4 and 5 pending a live CloudWatch MCP implementation). Section 3 now instructs the agent to state these aren't currently supported if asked.
- Removed references to the deleted `references/incident-response-playbooks.md` and `references/cloudwatch-metrics.md` files.

## 1.1.0

- Section 0 relaxed from "never background under any circumstances" to interactive-by-default: background execution is now honored only when the user explicitly asks for it, and only after cluster/workgroup and database scope have been confirmed (aligns with skill v1.7.0 Core Rule 11)
- Added rule 10a: an empty result set from a tool call is not a failure — report it with a friendly, positive message (e.g. "✅ No queries with disk spill found — nothing to fix here") and mark the check as PASS, even when the chat UI shows a "failed" badge

## 1.0.0

- Initial version
- Lean orchestrator system prompt bridging the `redshift-support-specialist` skill to the six `awslabs.redshift-mcp-server` MCP tools
- Enforces active-chat-only execution (never background), overriding the skill's own background-mode option for the Detailed Operational Review
- Hard-stop scope confirmation (cluster/workgroup + database) before any data collection
- Read-only enforcement and per-capability tool mapping (query optimization, operational reviews, disaster recovery, incident detection, cost optimization)
73 changes: 73 additions & 0 deletions custom-agents/redshift-support-specialist/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
# Redshift Support Specialist — Custom Agent

**Version: 1.3.0** (see [`CHANGELOG.md`](CHANGELOG.md)) | Requires skill version 1.8.0+ (see [`skills/redshift-support-specialist/`](../../skills/redshift-support-specialist/))

## Purpose

This custom agent is a lean orchestrator for the [`redshift-support-specialist`](../../skills/redshift-support-specialist/) skill. It bridges that skill's domain knowledge (query optimization, operational reviews, cost optimization) to the six tools exposed by the connected `awslabs.redshift-mcp-server` MCP server, and enforces one important behavior rule: **no scope, no run**. Custom agents execute as asynchronous invocations (there is no interactive user to answer questions mid-run), so the target cluster/workgroup and database(s) must be provided in the invocation prompt — if they're missing, the agent ends the run immediately with a "Scope required — run not started" report instead of guessing or defaulting.

## Key Capabilities

- Diagnoses slow Redshift queries live (EXPLAIN plan, disk spill, distribution/sort key issues) with concrete SQL/config fixes
- Runs a quick PASS/WARN/FAIL operational review using cluster inventory data
- Runs a full Detailed Operational Review (storage, WLM, table design, Advisor recommendations) and produces both an in-chat Markdown summary and a downloadable HTML report
- Performs cost optimization analysis, including provisioned-to-serverless RPU sizing

## Important behavior note

Custom agents in AWS DevOps Agent always execute as **asynchronous invocations** — "Run Now" on the agent page and "run the agent" in Chat both kick off a background run tracked in the **History** tab. This is platform behavior and cannot be switched to an interactive session ([Executing custom agents](https://docs.aws.amazon.com/devopsagent/latest/userguide/custom-agents-executing-custom-agents.html)).

Because the agent cannot ask questions mid-run, this agent's system prompt (Section 0) enforces **no scope, no run**: the invocation prompt must name the target cluster/workgroup, the database(s), and what to do. Example:

> "Run the custom redshift-support-specialist agent and perform a detailed operational review on cluster `my-cluster`, databases `analytics` and `sales`, with the HTML report."

If scope is missing, the run ends immediately with a "Scope required — run not started" report listing the discovered clusters/workgroups — no data is collected and nothing is assumed. For an interactive, step-by-step experience (where the agent asks scope questions and waits for your answers), use the skill from the regular DevOps Agent Chat instead of executing this custom agent.

## Prerequisites

- An AWS DevOps Agent space
- The [redshift-support-specialist skill](../../skills/redshift-support-specialist/) uploaded to your Agent Space. Important note: for the skill to be used by the custom agent, choose "All agents" in the "Agent Type" field when importing the skill, even though the skill's README instructs to choose "Chat"
- The `awslabs.redshift-mcp-server` MCP server deployed and connected as a capability provider — see the skill's [Step 1 — MCP Server Deployment](../../skills/redshift-support-specialist/README.md#step-1--mcp-server-deployment) and [Step 2 — Connect the MCP server to your Agent Space](../../skills/redshift-support-specialist/README.md#step-2--connect-the-mcp-server-to-your-agent-space) sections
- No AWS CLI or CloudWatch access is required for the agent itself; all Redshift access goes through the connected MCP server

## Creating the Agent

The MCP server must already be registered as an account-level capability provider and connected to your Agent Space before creating this agent — see [Prerequisites](#prerequisites) above and the skill's [Step 2 — Connect the MCP server to your Agent Space](../../skills/redshift-support-specialist/README.md#step-2--connect-the-mcp-server-to-your-agent-space) steps.

1. In the DevOps Agent web app, go to the "Agents" page.
2. In the "Custom Agents" section, click "Create agent".
3. In the dialog, click "Form".
4. Fill out the form:
- **Name** — `redshift-support-specialist` (lowercase letters, numbers, hyphens only).
- **System prompt** — copy the content of `SYSTEM_PROMPT.md` from this directory and paste it in.
- **Skills** — select the `redshift-support-specialist` skill.
5. Click "Create agent".

### Assign the MCP tools (Chat only)

MCP tools cannot be assigned through the Form — they can only be configured through Chat, either when creating the agent via Chat instead of Form, or by editing an existing agent:

1. On the newly created agent's page, click "Edit", then select "Chat". A new chat opens.
2. Once DevOps Agent finishes loading the agent's context, type:

```text
Add the list_clusters, list_databases, list_schemas, list_tables, list_columns, and execute_query tools from the awslabs.redshift-mcp-server MCP server to this custom agent.
```

3. Once the chat finishes, verify all six tools appear under "Tools" on the agent's page. This agent has no other way to reach Redshift — without these tools assigned, it cannot call the MCP server at all.

## Executing the Agent

You can execute the custom agent on-demand from the custom agent page (**Run Now** → dropdown → **Run with prompt** to pass scope) or through Chat. Follow the [Executing custom agents guide](https://docs.aws.amazon.com/devopsagent/latest/userguide/custom-agents-executing-custom-agents.html) for more information. Always include the full scope in the prompt, for example:

- "Run the custom redshift-support-specialist agent and perform a detailed operational review on cluster `my-cluster`, all databases, with the HTML report."
- "Run the custom redshift-support-specialist agent and diagnose query 4823991 on cluster `my-cluster`, database `analytics`."

To see the agent's capabilities and example prompts without starting an invocation, ask in Chat: "What else can the custom redshift-support-specialist agent do?"

Track progress and results on the agent's page under the **History** tab (invocation trajectory). Runs invoked without scope end with a "Scope required — run not started" report. Because scope must be known upfront, this agent also works well with schedule triggers for recurring pre-scoped reviews.

## Related

- [redshift-support-specialist skill](../../skills/redshift-support-specialist/) — domain knowledge for Redshift query optimization, operational reviews, and cost optimization
- [AWS DevOps Agent custom agents documentation](https://docs.aws.amazon.com/devopsagent/latest/userguide/working-with-devops-agent-custom-agents-index.html)
Loading