Conversation
Adds the using-wherobots skill that guides agents on when to use CLI, MCP, DB-API, JDBC, or SDKs. Updates exploring-api and submitting-jobs with cross-references to the routing skill. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
Adds a set of Wherobots CLI “skill” documents (duplicated under both skills/ and .claude/skills/) plus a Claude plugin manifest, to guide users on submitting, monitoring, logging, and API exploration workflows.
Changes:
- Added five new skill guides for Wherobots CLI workflows (submit jobs, monitor jobs, view logs, explore API, tool selection).
- Mirrored the same skill guides under
.claude/skills/for Claude integration. - Added
.claude-plugin/plugin.jsonmanifest metadata.
Reviewed changes
Copilot reviewed 11 out of 11 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| skills/viewing-logs/SKILL.md | Adds guidance for fetching/following job-runs logs. |
| skills/using-wherobots/SKILL.md | Adds decision guidance for picking CLI/MCP/DB-API/JDBC/Airflow tools. |
| skills/submitting-jobs/SKILL.md | Adds documentation for job-runs create, storage resolution, and common flags. |
| skills/monitoring-jobs/SKILL.md | Adds documentation for listing runs, status shortcuts, and metrics. |
| skills/exploring-api/SKILL.md | Adds documentation for using wherobots api discovery and common endpoints. |
| .claude/skills/viewing-logs/SKILL.md | Duplicates viewing-logs skill for Claude skills directory. |
| .claude/skills/using-wherobots/SKILL.md | Duplicates using-wherobots skill for Claude skills directory. |
| .claude/skills/submitting-jobs/SKILL.md | Duplicates submitting-jobs skill for Claude skills directory. |
| .claude/skills/monitoring-jobs/SKILL.md | Duplicates monitoring-jobs skill for Claude skills directory. |
| .claude/skills/exploring-api/SKILL.md | Duplicates exploring-api skill for Claude skills directory. |
| .claude-plugin/plugin.json | Adds Claude plugin manifest metadata for the skill set. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| | Task | Tool | | ||
| |---|---| | ||
| | "What tables are available?" | MCP (`list_tables_tool`) | | ||
| | "Run this spatial query" (interactive) | MCP (`execute_query_tool`) | | ||
| | "Run this query in my Python app" | DB-API or JDBC | | ||
| | "Submit this script as a batch job" | CLI `job-runs create` | | ||
| | "Check my running jobs" | CLI `job-runs list` | | ||
| | "Start/stop a SQL session" | CLI `api sql ...` | | ||
| | "Manage files in S3" | CLI `api files ...` | |
There was a problem hiding this comment.
The markdown table in this section is malformed (extra leading | on each row: || ...). This will render incorrectly in most Markdown viewers; use a standard 2-column table format with single leading/trailing pipes (e.g., | Task | Tool | / | --- | --- |).
|
|
||
| ## Storage resolution order | ||
|
|
||
| The script must reference an S3 location. Resolve where it lives or will be uploaded in this order: |
There was a problem hiding this comment.
This section says the script "must reference an S3 location", but later the command reference explicitly allows a local .py file path and describes auto-upload. Consider rewording to clarify that runs execute from S3, and the CLI will upload local scripts automatically (unless --no-upload is used with an s3:// URI).
| The script must reference an S3 location. Resolve where it lives or will be uploaded in this order: | |
| Job runs execute from an S3 location. The CLI accepts either a local `.py` file path or an `s3://` URI; if you pass a local file, it is uploaded automatically to the resolved S3 destination. Resolve where the script already lives or will be uploaded in this order: |
| --- | ||
| name: viewing-logs | ||
| description: Fetches or streams logs for a Wherobots job run. Supports following in real time and tailing the last N lines. Use when a user wants to see logs, debug a failed job, tail output, or follow a running job's progress. | ||
| --- |
There was a problem hiding this comment.
These skill docs appear to be duplicated under both skills/... and .claude/skills/.... Keeping two copies in sync is error-prone; consider using a single source of truth (e.g., symlinks or a generation/copy step) so future edits can't drift between the two trees.
| | Task | Tool | | ||
| |---|---| | ||
| | "What tables are available?" | MCP (`list_tables_tool`) | | ||
| | "Run this spatial query" (interactive) | MCP (`execute_query_tool`) | | ||
| | "Run this query in my Python app" | DB-API or JDBC | | ||
| | "Submit this script as a batch job" | CLI `job-runs create` | | ||
| | "Check my running jobs" | CLI `job-runs list` | | ||
| | "Start/stop a SQL session" | CLI `api sql ...` | | ||
| | "Manage files in S3" | CLI `api files ...` | |
There was a problem hiding this comment.
The markdown table in this section is malformed (extra leading | on each row: || ...). This will render incorrectly in most Markdown viewers; use a standard 2-column table format with single leading/trailing pipes (e.g., | Task | Tool | / | --- | --- |).
|
|
||
| ## Storage resolution order | ||
|
|
||
| The script must reference an S3 location. Resolve where it lives or will be uploaded in this order: |
There was a problem hiding this comment.
This section says the script "must reference an S3 location", but later the command reference explicitly allows a local .py file path and describes auto-upload. Consider rewording to clarify that runs execute from S3, and the CLI will upload local scripts automatically (unless --no-upload is used with an s3:// URI).
| The script must reference an S3 location. Resolve where it lives or will be uploaded in this order: | |
| Wherobots job runs execute from an S3 location, but the CLI accepts either a local `.py` file path or an `s3://` URI for `<script>`. If you pass a local file, the CLI resolves where to upload it in this order; if you pass an `s3://` URI, it uses that location directly (typically with `--no-upload`). |
|
@kadolor i think we should try to be more minimalist with this skill content. a couple of reasons:
imo the goal here should be more about "meta knowledge", focusing on:
we shouldn't include any information that the agent/llm can easily find for itself through basic interactions with the cli similar to what we discussed in the bug bash, it would be ideal to have a set of agentic tasks that we want the cli to enable. we could then run those tasks with and without the skill loaded. the skill should only contain content that makes the agent more effective in accomplishing the tasks |
|
We need to place our skills in a different place so if you don't mind I am going to take another crack at this. I will send it to you @kadolor and @sfishel18 for review once I have something. It has to be this way since we will be distributing skills through multiple channels and a claude plugins and that is the common pattern |
|
Closing this out, see conversation above |
No description provided.