Add shell-discovery guidance and example skeletons to the zapier-sdk skill - #13
Merged
Merged
Conversation
…skill
Agents doing SDK discovery from a shell were reinventing basic flows because
the skill front-loaded the SDK library and pushed CLI content into
`references/cli.md`. `zapier-sdk --help` doesn't advertise `--json` (it's a
per-command flag), so agents kept parsing the default table output. The
"App keys have a canonical form" gotcha implied the CLIAPI suffix was
universal, but the CLI's `run-action` accepts the short slug too, and only
the SDK library's `sdk.runAction({ appKey })` requires the suffixed form.
Changes to `SKILL.md`:
- New "Shell discovery" section with the four essential commands and a
canonical `find-first-connection --json | jq -r '.data.id'` -> `run-action`
chain. Recommends the default output for reading and reserves `--json` for
piping.
- Rewrites the app-key gotcha to make clear it applies to `sdk.runAction`
only; the CLI, `findFirstConnection`, `listActions`, and so on all accept
either form.
- New gotcha: multiple connections per app is normal (personal + work Gmail,
multiple Slack workspaces). Default to `findFirstConnection` and take the
first result rather than stopping to disambiguate.
- New "Examples" pointer to the skeletons file.
New `references/examples.md`:
- Fill-in-the-blank skeletons for a plain single-action script, a Zapier
Tables script, and a durable notify-on-event workflow. Every placeholder
is called out (`<app-slug>`, `<AppCLIAPI>`, `<action-key>`, ...).
- Opens and closes with pointers back to the verified corpus at
https://github.com/zapier/sdk/tree/main/examples so agents don't ship the
unverified skeletons themselves.
BenMcGit
force-pushed
the
chore/skill-shell-discovery-and-examples
branch
from
July 9, 2026 16:03
6d81493 to
16f37da
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
SKILL.md. Agents doing discovery from a shell were reinventing basic flows because the skill front-loaded the SDK library and pushed CLI content intoreferences/cli.md.zapier-sdk --helpdoesn't advertise--json(it's a per-command flag), so agents kept parsing the default table output. The new section shows the four essential commands and the canonicalfind-first-connection --json | jq -r '.data.id'->run-actionchain, and clarifies that default output is best for reading;--jsonis for piping.NotionCLIAPI) was universal. In practice, only the SDK library'ssdk.runAction({ appKey })requires it; the CLI'srun-action,findFirstConnection,listActions, and so on all accept the short slug too.findFirstConnectionand take the first result rather than stopping to disambiguate.references/examples.md. Fill-in-the-blank skeletons for a plain single-action script, a Zapier Tables script, and a durable notify-on-event workflow. Every placeholder is called out (<app-slug>,<AppCLIAPI>,<action-key>, ...). Opens and closes with pointers back to the verified corpus atexamples/and https://github.com/zapier/sdk/tree/main/examples so agents don't ship the unverified skeletons themselves.Test plan
CONN=$(...)->run-actionsnippet works against a fresh login.references/examples.md: every placeholder is obviously a placeholder, and the "real corpus lives here" pointers land at the start and end of the file.validate.yml) still green (no changes to gated paths).