feat: add debugging-with-ably-cli implicit skill#3
Conversation
There was a problem hiding this comment.
Pull request overview
This PR adds a new debugging-with-ably-cli implicit skill that teaches AI agents how to use the Ably CLI to diagnose Ably-specific issues (messages not arriving, presence failures, auth errors, connection problems). It is intentionally scoped to debugging to complement (not duplicate) the existing using-ably skill, which covers building new integrations. The skill is designed around SkillsBench research principles: compact domain knowledge over procedures, capability-oriented rather than command-reference, and front-loaded high-value content.
Changes:
- Adds
debugging-with-ably-cli/SKILL.md: the skill itself, covering a diagnostic decision tree, key debugging facts, CLI auth, capability categories, long-running command guidance, connection/channel state reference tables, and environment-specific gotchas. - Adds
debugging-with-ably-cli/AGENTS.md: a maintenance guide explaining the design philosophy, update triggers, and validation checklist.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
debugging-with-ably-cli/SKILL.md |
New skill file with diagnostic decision tree, debugging facts, CLI capability descriptions, state reference tables, and environment gotchas |
debugging-with-ably-cli/AGENTS.md |
New maintenance guide documenting when and how to update the skill as the Ably CLI evolves |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
Just ran it to test a real debugging issue for a client. Pretty successful 👍 |
8673fec to
e6f6317
Compare
|
@umair-ably I see you added 10a6c1c. Funnily enough I had an almost identical commit as I was waiting for #2 to land. When I tried to push I saw the conflict. I've added a few small changes on top f3153c5. I'd like to merge this as I strongly believe if we dog food these skills ourselves, we'll get these really good quickly too but constantly updating as we find issues. I'll ping the others as no one has approved/requested changes/declined this PR. I want to merge and improved. |
paddybyers
left a comment
There was a problem hiding this comment.
LGTM, but I added some suggestions
|
@mattheworiordan skill looks good! We've slightly deviated from where the CLI is right now in the midst of the GA efforts... I've addressed this in 0d12d5b but we need to release a new version of the cli first... can you approve this please? |
|
@umair-ably would you mind picking up the feedback from @paddybyers and the bot and getting this PR over the line i.e. are you OK for me to just leave it with you now? On the queues commenbt, I think we should extend the skill to explain how queues work and debugging instead of removing though. |
435013c to
449a844
Compare
4b5c389 to
8780559
Compare
8780559 to
aa4e1e7
Compare
aa4e1e7 to
0b935fb
Compare
Why a Separate Skill?
The existing
using-ablyskill teaches agents how to build with Ably — product selection, SDK patterns, authentication, React integration. But when things break during development, agents need a different kind of knowledge: how to observe, simulate, and diagnose.These are distinct cognitive modes. Building requires architectural judgment ("which SDK?", "JWT or token auth?"). Debugging requires investigative reasoning ("what's actually happening on this channel?", "can I simulate the other end?"). Combining them into one skill would create the kind of bloated, procedural content that SkillsBench research shows degrades agent performance (-2.9pp for comprehensive procedural skills).
The Problem This Solves
We watched an agent try to debug a presence discovery issue between a JSON-RPC client and server. Without knowledge of the Ably CLI, the agent:
console.logstatements into React componentsevaluate_scriptvia Chrome MCPThis took 20+ tool calls across two browser tabs and still didn't reach root cause. With the CLI, the agent could have run:
Any single one of these would have immediately revealed whether the issue was presence, channel naming, auth, or transport — in one command instead of 20+ DevTools round-trips.
Design Philosophy
The skill is designed around three principles from SkillsBench research:
Compact domain knowledge, not procedures (+18.8pp improvement). The skill provides decision trees, state reference tables, and debugging facts — not step-by-step workflows.
Capabilities, not commands. The skill teaches what the CLI can do (observe, simulate, manage) and when to use it (diagnostic decision tree), not every flag and argument. Agents discover exact syntax via
ably --helpat runtime. This means the skill won't go stale as the CLI evolves.Front-load the highest-value content. Section 1 is the diagnostic decision tree (the entry point to every debugging session). Section 2 is key debugging facts (domain knowledge agents genuinely lack). Auth and capability descriptions come after.
What's Included
ably login)Plus an
AGENTS.mdmaintenance guide explaining the design philosophy and when to update vs. when not to.189 lines / ~2,000 tokens — well under the 500-line budget.
What's not included
Given we have no way of publishing a stream of tokens or subscribing to mutual messages now, CLI clearly does not attempt to do that, but I think it absolutely should, especially in the context of AIT.
I believe there's someone working on this right now, but as soon as that's available, the skills will be updated.
It also has no capabilities of live objects, but that's because the CLI does not support that, and I think we should really just go ahead and add some very basic live object support regardless, so that this CLI has richer capabilities to debug the things that are going to be needed for AIT specifically, which is where the focus is.
Test plan
ably --helpmatches the capability categories described🤖 Generated with Claude Code