Skip to content

docs: add a configuration assistant skill for AI tools - #1293

Open
davecramer wants to merge 2 commits into
aws:mainfrom
davecramer:docs/configuration-assistant-skill
Open

davecramer wants to merge 2 commits into
aws:mainfrom
davecramer:docs/configuration-assistant-skill

Conversation

@davecramer

Copy link
Copy Markdown
Contributor

Description

Add docs/PYTHON-WRAPPER-CONFIGURATION-ASSISTANT.md, a configuration assistant skill for AI coding tools, and a "Configuring the Wrapper with AI Tools" section in docs/GettingStarted.md that explains how to install it.

What the skill does. It is a single markdown file in the Agent Skills format. Loaded into an AI assistant, it lets the assistant interview a user, review a pasted configuration, answer parameter questions, and diagnose common errors. It has recipes for psycopg, MySQL Connector/Python, SQLAlchemy (sync and async), Django, IAM, Secrets Manager, read/write splitting, Aurora Global Database, Multi-AZ DB clusters, multiple clusters, and the internal connection pool. It targets release 3.1.0 and names only this wrapper.

How it was checked.

  • Every plugin code, parameter name, and default was checked against the source at the 3.1.0 tag: all 22 plugin codes in PluginManager.PLUGIN_FACTORIES have a section, and all 116 WrapperProperty names in utils/properties.py appear in the skill. main differs from 3.1.0 in one example file only.
  • Every code block parses, and every import, class, function, and keyword argument it uses exists in aws-advanced-python-wrapper==3.1.0 with psycopg, mysql-connector-python, SQLAlchemy, and Django installed. No database connection was made.
  • 16 conversations on Claude Opus 5.5 (four scenarios: direct psycopg, SQLAlchemy, Django on Aurora MySQL, and Aurora Global Database; each with and without the interview, twice). A simulated user answered from a hidden description of the application, and a separate grader checked each final configuration against the wrapper's docs and source. All 16 configurations passed every required check. The file is about 100,000 tokens on that model.

Docs that disagree with the source. Where they differ, the skill follows the source. I confirmed these in the 3.1.0 code:

  • failover_mode accepts only strict_writer and strict_reader (utils/failover_mode.py); any other value, including the hyphenated strict-writer used in UsingTheFailover2Plugin.md and GlobalDatabases.md, silently becomes reader_or_writer.
  • UsingTheFailover2Plugin.md says the v1 failover plugin is the default when "wrapperPlugins" is unset. The parameter is plugins, and the default chain is initial_connection,aurora_connection_tracker,failover_v2,host_monitoring_v2 (without host_monitoring_v2 for mysql-connector-python).
  • host_monitoring and host_monitoring_v2 raise at plugin creation with mysql-connector-python, while SqlAlchemySupport.md and DjangoSupport.md show MySQL chains that include host_monitoring_v2.
  • DatabaseDialects.md lists rds-multi-az-mysql-cluster and rds-multi-az-pg-cluster; the codes are multi-az-mysql and multi-az-pg.
  • Telemetry.md names telemetry_submit_top_level; the property is telemetry_submit_toplevel.
  • UsingTheSimpleReadWriteSplittingPlugin.md gives srw_connect_retry_timeout_ms a default of 6000; the source default is 60000.

Also found while writing the skill but not individually re-checked: iam_expiration (docs 870, source default 900), the Secrets Manager key parameter names (source adds a _key suffix), the fastest-response parameter name and value, and create_async_engine("postgresql+aws_wrapper_psycopg://") failing with SQLAlchemy 2.1 but working with 2.0.x. These would be worth fixing in the docs separately.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Add docs/PYTHON-WRAPPER-CONFIGURATION-ASSISTANT.md, a self-contained
skill in the Agent Skills format. An AI assistant loads it to build,
review, or troubleshoot a wrapper configuration: it interviews the
user, gives recipes for psycopg, MySQL Connector/Python, SQLAlchemy
(sync and async), Django, IAM, Secrets Manager, read/write splitting,
Aurora Global Database, and Multi-AZ DB clusters, and documents every
plugin and parameter of release 3.1.0.

The skill follows the source where the docs disagree with it, for
example failover_mode values must use underscores (strict_writer),
the host_monitoring plugins raise with mysql-connector-python, and
the default plugin chain uses failover_v2 and host_monitoring_v2.

Add a "Configuring the Wrapper with AI Tools" section to
GettingStarted.md with installation steps for common tools.
Match the JDBC wrapper's AI tools section with four example prompts:
start, skip the interview, review a configuration, and diagnose an
error. The error example uses the exact message the host_monitoring_v2
plugin raises with mysql-connector-python.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant