Agent Operating Guide
/coach-query-data
Run a read-only GraphQL query against the Canvas tenant from a natural-language question and get the results back as a clean table, count, or record.
Turn a plain-language data question into a GraphQL query, run it, and present the result. The skill translates what you ask, find, list, search, count, look up, into a valid query over the tenant’s items, workflows, steps, and users, runs it, and formats the answer as a table, a count, or a single record. It is read-only: it never mutates anything, so there is no suggestion to approve and results come back directly.
When to use
Section titled “When to use”When you want to find, list, search, count, or look up records in the tenant. To change what you find, this skill only reads: hand off to a mutate skill like /coach-item-create once you know the record you want to act on.
Inputs
Section titled “Inputs”| Flag | Required | Notes |
|---|---|---|
--question <text> |
No | The natural-language data question. The default input. |
--query <graphql> |
No | A pre-built GraphQL string. If supplied, the translation step is skipped and it runs directly. |
--limit <n> |
No | Page-size override. |
--no-format |
No | Return raw JSON instead of a formatted table. Use sparingly: it defeats the readability goal. |
Example
Section titled “Example”/coach-query-data --question "list open issues assigned to Maria" reads the schema if
it needs to, builds an items query with a full-text search and a status filter, runs
it, and returns a short markdown table of id, title, and status. Counts work the same
way: “how many audits are in progress?” returns just the number.
Good to know
Section titled “Good to know”- Search vs. filter. A free-text search hits the full-text index over titles and searchable fields; a structured filter narrows by status, type, owner, or date. The skill combines them for precision: search a corpus, then narrow.
- Counts come from a pre-aggregated path. For “how many issues by status,” it uses the tenant’s pre-computed stats rather than fetching every row and counting: cheaper and faster.
- Results are paged. Lists default to 20 rows; larger sets are paged rather than over-fetched, since the platform may reject very high limits.
- Your permissions gate the results. An empty result can mean the records exist but are outside your access, not that there are none.
Related
Section titled “Related”- /coach-dashboard-create: bake a verified query into a standing view.
- /coach-item-create: the mutate counterpart, for acting on what you find.
- Builds on query_data: read-only, no writes.
- get_schema: discovers the queries the tenant supports.