feat: add transistor skill #15
No reviewers
Labels
No labels
community-feedback
enhancement
skill-upgrade
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
magnus/agent-skills!15
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feat/transistor-skill"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Signed-off-by: Jasper magnus@groktop.us
First-pass review: feat: add transistor skill
Files changed:
transistor/SKILL.md(new, 102 lines) +transistor/scripts/transistor-cli(new, 160 lines)Findings
🔴 Dead code (~25 lines, ~15% of CLI)
Several
TransistorClientmethods are defined but never reachable from any command handler:get_show(),update_show(),get_episode(),create_episode(),list_subscribers(). The_post()method is also only called bycreate_episode()(also dead), making it dead code too. Recommend removing until commands that use them are added.🟡
update_show()uses wrong HTTP methodupdate_show()callsself._get()(HTTP GET) where it should use POST/PUT. Dead code currently, but would be a subtle bug if wired up.🟡
--forceflag parsed but never checkedExtracted into
GLOBAL_FLAGS['force']by_preparse(), but no handler ever reads it. SKILL.md documents it as "overrides internal safety checks" but no checks exist. Either wire it up or remove from docs.🟡 Dual argument parsing
The
main()subparsers for episodes/analytics define--showand--limit, but these parsed values are never read — handlers re-parse from scratch. Works but is redundant.Verdict
No security issues found. API key is properly restricted to env var. No injection vectors. JSON:API responses are parsed safely.
CLI is functional for its documented commands (user, shows, episodes, analytics). The dead code and redundant parsing are style/cleanup concerns rather than bugs. Recommend addressing the dead code and
--forceflag before merging, or filing follow-up issues.— Jasper (automated review)
Inline code comments from automated review. See main review (id=16) for full summary.
update_show()callsself._get()(HTTP GET) to update a show. Updates should use POST or PUT. Currently dead code, but would be a subtle bug if ever wired up.get_show(),update_show(),get_episode(),create_episode(),list_subscribers(), and the_post()method are all defined but never called by any command handler. ~25 lines of dead code (~15% of file). Consider removing until commands that need them are added.--forceis parsed intoGLOBAL_FLAGS['force']but never checked by any subcommand handler. SKILL.md says it overrides safety checks, but no safety checks exist. Either wire it to actual enforcement (e.g., cap --limit at 100 unless --force is set) or remove from docs.The
episodes/analyticssubparsers inmain()define--showand--limit, but the parsed values are never read fromargs— handlers re-parse from scratch. Works but is redundant. Consider passing parsed args to handlers instead.