Skip to content

Code review final batch: docs accuracy, CRUD runners, dep upgrades, usage skill (#122, #141, #142)#158

Merged
yorkable merged 4 commits into
mainfrom
code-review-remaining
Jun 12, 2026
Merged

Code review final batch: docs accuracy, CRUD runners, dep upgrades, usage skill (#122, #141, #142)#158
yorkable merged 4 commits into
mainfrom
code-review-remaining

Conversation

@yorkable

Copy link
Copy Markdown
Contributor

Final code-review batch — docs accuracy, the CRUD-runner refactor, dependency upgrades, and the usage skill. Four commits, one per concern. go build/vet/test -race green, gofmt clean, go mod verify passes.

  • Docs drift: README flags that don't exist, broken help examples, AGENTS.md arg mismatches #122 — docs accuracy. Fixed broken in-binary Example: strings (users email-keyed, outbound batches add-requests, channels targets/no-delete) and README/AGENTS drift (only prod is built-in; removed the nonexistent --api-key/--base-url flags and documented the real auth + --yes; Go 1.24+; corrected the stale "binary is checked in" line; dropped the nonexistent tool-definitions list). Also carries the pre-existing local doc edits (SYLLABLE_API_KEY note, Claude Code skill sections).
  • Extract generic CRUD runners (~2,000 lines of boilerplate) #141 — CRUD runner helpers. New cmd/runners.go (runList/runGet/runDelete/listQuery/readJSONBody); migrated roles.go (259→188) and incidents.go (245→198) as the reference shape, behavior unchanged (stub tests pass). The syllable-sync skill is updated so the automation templates new plain resources from the migrated shape.
  • Upgrade cobra/viper; shed transitive deps #142 — dependency upgrades. cobra 1.8→1.10.2, viper 1.18→1.21, pflag 1.0.5→1.0.9; indirect deps drop 20→13 (hashicorp/hcl, magiconair/properties, etc. gone).
  • Skill. Adds/updates .claude/skills/syllable-cli/ for v1.8 behavior — most importantly that destructive deletes need --yes non-interactively (an agent driving the CLI will hit this), plus the removed channels delete, email-keyed users, and the new flag behaviors. Every documented behavior was verified against the binary.

Closes #122, #141, #142.

🤖 Generated with Claude Code

yorkable and others added 4 commits June 11, 2026 21:25
In-binary Example fixes (now copy-pasteable):
- users get/update/delete/send-email examples use an email, not a numeric id
  (these commands are email-keyed).
- outbound: `batches requests abc-123` → `batches add-requests abc-123 --file ...`
  (there is no `requests` subcommand).
- channels: drop the removed `delete` example, fix `targets get` to take both
  channel and target ids, and correct the command's Long description.

Docs:
- README: only `prod` is a built-in env (not staging/dev); remove the nonexistent
  `--api-key`/`--base-url` flag rows, document the real SYLLABLE_API_KEY/config
  auth and the `--yes` flag; Go 1.24+.
- AGENTS.md: correct the stale "binary is checked in" line (none is), use
  `batches add-requests`, and drop the nonexistent `tool-definitions list`.

Also carries pre-existing local doc edits (the SYLLABLE_API_KEY note in AGENTS.md
and the Claude Code skill sections in README.md/CLAUDE.md).

Co-Authored-By: Claude Fable 5 <[email protected]>
#141)

Adds cmd/runners.go — runList / runGet / runDelete / listQuery / readJSONBody —
capturing the list/get/delete/file-body boilerplate copied across ~20 resource
commands. Migrates roles.go (259→188) and incidents.go (245→198) as the
reference shape; behavior is unchanged (existing stub tests pass). Remaining
resources can migrate incrementally.

Updates the syllable-sync skill so the spec-sync automation templates new plain
resources from the migrated shape, while keeping the hand-written pattern for
special resources (binary output, ID fallback, custom timeouts, multipart).

go test -race ./... green.

Co-Authored-By: Claude Fable 5 <[email protected]>
cobra v1.8.0 → v1.10.2, viper v1.18.2 → v1.21.0 (pflag v1.0.5 → v1.0.9). Indirect
dependencies drop from 20 to 13 — viper ≥1.20 no longer pulls the HCL, Java-
properties, and related encoders (hashicorp/hcl and magiconair/properties are
gone). go build / vet / test -race green, gofmt clean, go mod verify passes, and
the binary's help/completion/flag parsing are unchanged.

Co-Authored-By: Claude Fable 5 <[email protected]>
… v1.8 behavior

Adds the .claude/skills/syllable-cli/ usage skill (SKILL.md + reference files)
that README.md/CLAUDE.md already point to, and updates it for the code-review
changes so an agent driving the CLI gets current guidance:
- destructive deletes confirm interactively and require --yes non-interactively
  (documented in SKILL.md, commands.md, and gotchas.md — this is the change most
  likely to bite an agent);
- channels has no delete (removed) — use `channels targets delete`;
- users get/update/delete/send-email are email-keyed (corrected a stale note that
  said `users delete` uses a query parameter);
- data-sources/services/voice-groups/roles/incidents update now take an optional
  positional id; inline-create integer flags now send as integers;
- --output is validated, unknown --fields warn, --dry-run lists
  missing_required_fields, --debug redacts credentials.
Sync marker bumped to v1.8.0. All documented behaviors verified against the binary.

Co-Authored-By: Claude Fable 5 <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Docs drift: README flags that don't exist, broken help examples, AGENTS.md arg mismatches

1 participant