agentleFS
stackqlstackql/stackql-skills/skills/query/SKILL.md

query

Skill0 starsChanged 8 months agoMITView on GitHub

Run StackQL queries against cloud and SaaS providers. Accepts raw SQL or natural language questions. Translates natural language into StackQL SQL using the provider schema. Supports all StackQL operations: SELECT, INSERT, UPDATE, DELETE, and EXEC.

  • Reads credentials

38 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use attach-db, install-duckdb and 9 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • duckdbSkill

    attach-db

    Attach a DuckDB database file for use with /duckdb-skills:query. Explores the schema (tables, columns, row counts) and writes a SQL state file so subsequent queries can restore this session automatically via duckdb -init.

    Also in 3 projects that use this

  • carlopiSkill

    install-duckdb

    Install or update DuckDB extensions. Each argument is either a plain extension name (installs from core) or name@repo (e.g. magic@community). Pass --update to update extensions instead of installing.

    Also in 3 projects that use this

  • carlopiSkill

    read-file

    Read and explore any data file (CSV, JSON, Parquet, Avro, Excel, spatial, …) by filename only — resolves the path automatically. Uses DuckDB + the magic extension for format auto-detection. Installs magic if needed.

    Also in 4 projects that use this

  • JaimeGBASkill

    ingest

    Digest an external source (article, paper, transcript, URL, book chapter) and integrate its content into the knowledge base

    Also in 18 projects that use this

  • Microsoft AzureSkill

    lint

    Run all linting and spell checking for TypeScript and Rust code. Run this before committing to catch style issues, clippy warnings, and misspellings.

    Also in 17 projects that use this

  • seongjaeryuSkill

    save

    Complete and save your current thinking to Bindly

    Also in 4 projects that use this

The file

We split this skill into the rules it gives an agent

12 rules. 0 are common, 7 are distinctive, and 5 are very specific to this project.

  • 0

    Common

    Most of the 31 edited versions we read keep these.

  • 7

    Distinctive

    This author's own choices. Worth a look.

  • 5

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Follow these steps in order.

    line 16
  2. Very specific:

    If not found, delegate to /stackql-skills:install-stackql and then continue.

    line 24
  3. Distinctive:

    Check if there is an auth configuration available.

    line 28
  4. Very specific:

    If the provider is not installed, delegate to /stackql-skills:pull-provider <provider> and then continue.

    line 43
  5. Distinctive:

    If the input is natural language (not valid StackQL SQL), generate the appropriate query:

    line 47
  6. Distinctive:

    Use the schema to generate the correct StackQL SQL.

    line 62
  7. Distinctive:

    If the generated query is an INSERT, UPDATE, DELETE, or EXEC operation, show the query to the user and ask for confirmation before …

    line 100
  8. Distinctive:

    Do NOT execute destructive operations without explicit user confirmation.

    line 108
  9. Very specific:

    Resource not found: use /stackql-skills:explore <provider> to help find the correct resource path

    line 130
  10. Very specific:

    Required parameter missing: check DESCRIBE output and add missing WHERE clause parameters

    line 131
  11. Very specific:

    Syntax or API error: use /stackql-skills:stackql-docs <error keywords> to search for guidance

    line 132
  12. Distinctive:

    If the result set is large, summarize key findings and offer to drill down further.

    line 141

“Common” is measured: kept by at least 6 in 10 of the 31 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

You are helping the user query cloud infrastructure and SaaS resources using StackQL.

Input: $@

Follow these steps in order.

Step 1 - Check StackQL is installed

command -v stackql

If not found, delegate to /stackql-skills:install-stackql and then continue.

Step 2 - Resolve auth

Check if there is an auth configuration available. Look for:

  1. A .stackqlrc file in the current directory or home directory
  2. Environment variables for common providers (e.g., GOOGLE_CREDENTIALS, AWS_ACCESS_KEY_ID, AZURE_CLIENT_ID, GITHUB_TOKEN)

Build the --auth JSON string from what's available. If no credentials are found for the provider referenced in the query, suggest using /stackql-skills:auth-setup <provider>.

Step 3 - Identify the provider and check it's pulled

Extract the provider name from the query (e.g., google from google.compute.instances).

stackql exec "SHOW PROVIDERS;" --output json

If the provider is not installed, delegate to /stackql-skills:pull-provider <provider> and then continue.

Step 4 - Generate SQL if needed

If the input is natural language (not valid StackQL SQL), generate the appropriate query:

  1. First, explore the relevant resources to understand the schema:
stackql exec "SHOW SERVICES IN <provider>;" --output json

Then narrow down to the relevant service and resource:

stackql exec "SHOW RESOURCES IN <provider>.<service>;" --output json
stackql exec "DESCRIBE <provider>.<service>.<resource>;" --output json
  1. Use the schema to generate the correct StackQL SQL. Key patterns:

Read (SELECT):

SELECT id, name, status
FROM <provider>.<service>.<resource>
WHERE region = 'us-east-1';

Create (INSERT):

INSERT INTO <provider>.<service>.<resource> (project, zone, name, ...)
SELECT 'my-project', 'us-central1-a', 'my-resource', ...;

Modify (UPDATE):

UPDATE <provider>.<service>.<resource>
SET <field> = <value>
WHERE <identifiers>;

Remove (DELETE):

DELETE FROM <provider>.<service>.<resource>
WHERE <identifiers>;

Lifecycle (EXEC):

EXEC <provider>.<service>.<resource>.<method>
@param1 = 'value1', @param2 = 'value2';

Important: StackQL requires WHERE clauses for provider-specific parameters like project, region, zone, subscriptionId, etc. Check the DESCRIBE output for required parameters.

Step 5 - Confirm destructive operations

If the generated query is an INSERT, UPDATE, DELETE, or EXEC operation, show the query to the user and ask for confirmation before executing.

This will execute the following against your cloud environment:

<QUERY>

Proceed?

Do NOT execute destructive operations without explicit user confirmation.

Step 6 - Execute the query

stackql exec "<QUERY>" --auth="${AUTH}" --output json

For queries that may return large result sets, add a practical limit or use --output csv for more compact output.

For multi-line queries, use a heredoc:

stackql exec --auth="${AUTH}" --output json <<'SQL'
<QUERY>
SQL

Step 7 - Handle errors

  • Provider not found: delegate to /stackql-skills:pull-provider <provider>
  • Authentication error: suggest /stackql-skills:auth-setup <provider>
  • Resource not found: use /stackql-skills:explore <provider> to help find the correct resource path
  • Required parameter missing: check DESCRIBE output and add missing WHERE clause parameters
  • Syntax or API error: use /stackql-skills:stackql-docs <error keywords> to search for guidance
  • Timeout: suggest increasing --apirequesttimeout or narrowing the query scope

Step 8 - Present results

Show the query output to the user. For JSON output, format it clearly.

For natural language questions, provide a brief interpretation of the results.

If the result set is large, summarize key findings and offer to drill down further.

Suggest related queries the user might find useful based on the results.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.