|
| 1 | +# Maintaining the debugging-with-ably-cli Skill |
| 2 | + |
| 3 | +## Design Philosophy |
| 4 | + |
| 5 | +This skill teaches agents **what's possible with the Ably CLI and when to use it** — not every command, flag, and argument. The CLI is self-documenting via `--help`; agents should discover exact syntax at runtime rather than relying on this skill for command references. |
| 6 | + |
| 7 | +The skill focuses on: |
| 8 | +- **Categories of capability** (observe, simulate, manage, get help) — not individual commands |
| 9 | +- **Diagnostic reasoning** (symptom → approach) — not step-by-step procedures |
| 10 | +- **Domain knowledge agents lack** (state machines, persistence defaults, capability scoping, gotchas) — not documentation the CLI itself provides |
| 11 | + |
| 12 | +## Maintenance Triggers |
| 13 | + |
| 14 | +When the Ably CLI (`@ably/cli`) changes, check whether the skill needs updating: |
| 15 | + |
| 16 | +1. **New top-level command group added** (e.g., a new product like `ably liveobjects`): Add to the relevant capability section (Observe, Simulate, or Manage) and to the diagnostic decision tree if it introduces new debugging scenarios. |
| 17 | + |
| 18 | +2. **New capability within existing commands** (e.g., new flags, new subscribe targets): Usually NO skill update needed — agents discover flags via `--help`. Only update if the capability changes *what's possible* at a category level. |
| 19 | + |
| 20 | +3. **Behavioral changes** (e.g., history retention changes, new connection/channel states, new error code ranges): Update the relevant reference table (connection states, channel states, key debugging facts, environment gotchas). |
| 21 | + |
| 22 | +4. **Product changes** (e.g., new Ably product, product sunset): Update the diagnostic decision tree and capability sections. |
| 23 | + |
| 24 | +## What NOT to Add |
| 25 | + |
| 26 | +- Individual command syntax or flag listings — the CLI's `--help` handles this |
| 27 | +- Step-by-step procedural workflows — research shows these degrade agent performance |
| 28 | +- Content that duplicates the `using-ably` skill — this skill is for debugging, not building |
| 29 | +- Full documentation of the CLI — link to `ably --help` and let agents discover |
| 30 | + |
| 31 | +## Validation Checklist |
| 32 | + |
| 33 | +When updating, verify: |
| 34 | +- [ ] Skill stays under 500 lines — token budget matters, every token is loaded into agent context on every debugging session. Bloat degrades performance. |
| 35 | +- [ ] No command syntax is hardcoded that could go stale — capability descriptions only |
| 36 | +- [ ] Decision tree covers all Ably products the CLI supports |
| 37 | +- [ ] State reference tables match current SDK behavior |
| 38 | +- [ ] No overlap with `using-ably` skill content |
| 39 | + |
| 40 | +## How to Check for CLI Changes |
| 41 | + |
| 42 | +```bash |
| 43 | +# Check current CLI version and command groups |
| 44 | +ably --help |
| 45 | + |
| 46 | +# Compare against the capability categories in SKILL.md |
| 47 | +# Look for new top-level commands not covered |
| 48 | + |
| 49 | +# Check subcommands for each product |
| 50 | +ably channels --help |
| 51 | +ably rooms --help |
| 52 | +ably spaces --help |
| 53 | +ably logs --help |
| 54 | +ably bench --help |
| 55 | +ably integrations --help |
| 56 | +ably queues --help |
| 57 | +ably auth --help |
| 58 | +ably apps --help |
| 59 | +ably support --help |
| 60 | +``` |
| 61 | + |
| 62 | +If a new command group appears that isn't covered in the capability sections, the skill needs updating. If only flags/options change within existing commands, no update is needed. |
0 commit comments