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 phrases makes it highly selectable. The main weakness is that the 'what it does' portion could be more specific about the concrete actions the skill performs beyond just receiving events.
Suggestions
Expand the capability description to list specific concrete actions like 'restart the daemon, check health status, drain message queues, stream events, debug connectivity issues' rather than only listing these as trigger terms.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | The description names the domain (gateway daemon) and some actions like 'receives events, notifications, and messages' and mentions using the joelclaw CLI, but it doesn't list multiple specific concrete actions the skill performs (e.g., restart, drain queue, stream events are only mentioned as trigger terms, not as described capabilities). | 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 say, including 'restart gateway', 'gateway status', 'is gateway healthy', 'telegram not working', 'messages not going through', 'gateway stuck', 'drain queue', 'test gateway', 'stream events' — these are highly natural phrases a user would type. | 3 / 3 |
Distinctiveness Conflict Risk | Highly distinctive — 'joelclaw gateway daemon', 'pi session', and the specific trigger terms like 'drain queue', 'gateway stuck', 'telegram not working' 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 examples, and a well-structured triage workflow with clear failure mode remediation. However, it is severely bloated with implementation-level detail about ADR slices, OTEL telemetry names, batching windows, and internal runtime contracts that belong in separate reference documents rather than the main operational skill file. The core operational content (CLI commands, triage, failure modes, architecture) is excellent but buried under excessive design documentation.
Suggestions
Extract ADR-specific implementation details (ADR-0218 rank slices, ADR-0196 supersession internals, ADR-0214 degraded mode specifics, ADR-0211 behavior plane details, ADR-0189 guardrails) into a separate GATEWAY-INTERNALS.md or per-ADR reference files, keeping only the operator-facing summary in SKILL.md.
Remove internal runtime details like specific timeout values (1.5s batching, 240000ms fallback floor, 30m cooldown), OTEL metric paths, and implementation notes about what 'still not done' — these are design doc concerns, not operational guidance.
Consolidate the channel health, operator tracing, and session pressure sections into a brief 'Advanced Diagnostics' section with one-line summaries pointing to detailed docs, rather than inlining full behavioral specifications.
The operator-spam guardrails bullet list (restate batching, test suppression, Slack relay policy, email correlation, digest dropping, quiet hours, compaction hysteresis, fallback dwell, etc.) is implementation specification that should live in the codebase or ADR docs, not in an operational skill.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill is extremely verbose at ~300+ lines, with extensive detail on ADR implementation specifics (supersession batching windows, fallback timeout values, OTEL metric names, operator-spam guardrails) that read more like internal design docs than operational instructions. Much of this is implementation context Claude doesn't need to perform gateway operations. | 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 API usage examples are complete. | 3 / 3 |
Workflow Clarity | The Quick Triage section provides a clear ordered sequence with explicit stop-at-first-failure logic and a substrate precheck before gateway operations. The failure mode table provides clear symptom→cause→fix mappings. Validation checkpoints are present (check status, test flow, check backpressure, then restart). | 3 / 3 |
Progressive Disclosure | The skill references related ADRs and other skills at the bottom, and has a key files table for navigation. However, the massive amount of inline detail about ADR-0218 slices, operator-spam guardrails, channel healing policies, and fallback timeout specifics should be in separate reference files rather than inline in the main SKILL.md. | 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 | |
825972c
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.