Operate the joelclaw gateway daemon — the always-on pi session that receives events, notifications, and messages. Use the joelclaw CLI for ALL gateway operations. Use when: 'restart gateway', 'gateway status', 'is gateway healthy', 'push to gateway', 'gateway not responding', 'telegram not working', 'messages not going through', 'gateway stuck', 'gateway debug', 'check gateway', 'drain queue', 'test gateway', 'stream events', or any task involving the gateway daemon.
80
76%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Advisory
Suggest reviewing before use
Optimize this skill with Tessl
npx tessl skill review --optimize ./skills/gateway/SKILL.mdQuality
Discovery
89%Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.
This is a strong skill description with excellent trigger term coverage and completeness. The explicit 'Use when:' clause with numerous natural-language trigger phrases makes it very easy for Claude to match. The main weakness is that the capability description leans more on listing trigger scenarios than articulating the concrete actions the skill performs (e.g., restarting, health checking, queue draining could be listed as explicit capabilities).
Suggestions
Restructure to separate concrete capabilities from trigger terms — e.g., 'Restarts the daemon, checks health status, drains message queues, streams events, and debugs connectivity issues' before the 'Use when' clause.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | The description names the domain (gateway daemon) and mentions some actions like receiving events, notifications, and messages, but the actual concrete operations are mostly embedded in trigger terms rather than explicitly listed as capabilities (e.g., restart, check status, drain queue, stream events are mentioned as triggers but not as structured capability descriptions). | 2 / 3 |
Completeness | Clearly answers both 'what does this do' (operate the joelclaw gateway daemon, the always-on pi session that receives events/notifications/messages) AND 'when should Claude use it' with an explicit 'Use when:' clause containing extensive trigger phrases. | 3 / 3 |
Trigger Term Quality | Excellent coverage of natural trigger terms users would actually say, including 'restart gateway', 'gateway status', 'is gateway healthy', 'gateway not responding', 'telegram not working', 'messages not going through', 'gateway stuck', 'drain queue', etc. These cover both direct commands and problem-description phrasings. | 3 / 3 |
Distinctiveness Conflict Risk | Highly distinctive — 'joelclaw gateway daemon', 'pi session', 'joelclaw CLI', and specific terms like 'telegram not working' and 'drain queue' create a very clear niche that is unlikely to conflict with other skills. | 3 / 3 |
Total | 11 / 12 Passed |
Implementation
62%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
The skill excels at actionability with concrete CLI commands, executable code, and a well-structured triage workflow with validation checkpoints. However, it is severely bloated with internal implementation details (ADR rank slices, OTEL field names, batching windows, fallback timeout values, probe backoff logic) that read as architecture documentation rather than operational guidance for Claude. Splitting the ADR-specific implementation details into separate reference files would dramatically improve token efficiency while preserving the strong operational core.
Suggestions
Extract ADR-specific implementation details (ADR-0218 rank slices, ADR-0196 interruptibility internals, ADR-0211 behavior plane details, ADR-0189 guardrails) into separate reference files and link to them, keeping only the operator-relevant summary in SKILL.md
Remove internal implementation specifics that don't change operator behavior — e.g., exact batching window durations (1.5s), OTEL metric names, fallback timeout floor values (240000ms), probe backoff logic, and operator-relay heuristic details
Consolidate the channel health, operator tracing, and session pressure sections into a brief 'Status Fields' reference table rather than prose explanations of each ADR's rank slice
Move the 'Low-Level: pushGatewayEvent()' code and the Inngest middleware details to a separate developer reference file since they are code authoring guidance, not gateway operations
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill is extremely verbose at ~300+ lines, with extensive internal implementation details (operator relay heuristics, OTEL telemetry field names, fallback timeout values, batching windows, probe backoff logic) that are architecture documentation rather than operational guidance. Much of the ADR-0218 rank details, channel healing internals, and operator-spam guardrail specifics are implementation knowledge that doesn't help Claude operate the gateway. | 1 / 3 |
Actionability | The skill provides fully executable CLI commands, concrete TypeScript code examples for sending events, a clear triage sequence, and a detailed failure mode table with specific fixes. Commands are copy-paste ready and the troubleshooting table maps symptoms to concrete actions. | 3 / 3 |
Workflow Clarity | The Quick Triage section provides a clear ordered sequence with explicit stop-at-first-failure logic, substrate precheck before gateway operations, and specific thresholds (wait 1min then restart). The Redis-degraded mode section adds clear decision logic for when to escalate vs. when to treat as non-critical. | 3 / 3 |
Progressive Disclosure | While the skill references related ADRs and other skills at the bottom, the massive amount of inline detail about channel health internals, operator tracing, session pressure fields, and behavior control plane implementation should be split into separate reference files. The Key Files table and Architecture section are well-organized, but the middle sections are a monolithic wall of implementation specifics. | 2 / 3 |
Total | 9 / 12 Passed |
Validation
90%Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.
Validation — 10 / 11 Passed
Validation for skill structure
| Criteria | Description | Result |
|---|---|---|
frontmatter_unknown_keys | Unknown frontmatter key(s) found; consider removing or moving to metadata | Warning |
Total | 10 / 11 Passed | |
ce9ca8e
Table of Contents
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.