Content
82%Weight 40%Scale 1-5Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
An excellent operational skill body: fully executable commands and exact log signatures for both Python and Node, environment-specific reading paths, and a coherent crash-vs-hang diagnostic structure, with almost no token waste. The residual gaps are minor — a couple of Claude-known asides, no explicit post-diagnosis verification step, and a crash-examples pointer that does not resolve inside the bundle.
Suggestions
Trim the Node-default aside to just the observable fact: 'unhandled promise rejections surface here too (origin `unhandledRejection`)' — Claude knows Node's default escalation behavior.
Close the hang/crash workflow with an explicit verification checkpoint, e.g. 'After a fix, re-run `databricks apps get <app-name> --output json | jq '.app_status'` (or reload the log viewer) to confirm the app is AVAILABLE.'
Make the crash-fixtures pointer navigable within the bundle — either add the files under scripts/ and link them relatively, or reword to 'see the repo's `.scripts/agent-integration-tests/crash-examples/` (not bundled)' so the path is not mistaken for a bundle reference.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | Nearly every token is Databricks-platform-specific operational detail Claude cannot know (logz URL, SSO websocket-302 limitation, exact log signatures, env var table, 'no ptrace / CAP_SYS_PTRACE' rationale). A couple of minor trims exist — the parenthetical '(Node's default `--unhandled-rejections=throw` escalates it to `uncaughtException`)' and 'the app's log stream' re-explain behavior Claude already knows — which fits the 4 anchor ('efficient; minor instances of over-explanation') rather than 5. | 4 / 5 |
Actionability | Copy-paste-ready throughout: the logz viewer URL, `databricks apps logs <app-name> --follow --profile <profile>`, the `jq '.app_status'` pipeline, a complete app.yaml env snippet, `kill -USR1 <pid>`, and the exact log signatures to grep for — covering the common cases (crash, worker-thread crash, SIGTERM kill, unhandled rejection, hang) for both Python and Node. Nothing is pseudocode or vague. | 5 / 5 |
Workflow Clarity | The diagnostic flow is clear and branch-aware: environment check (SSO vs CLI) for reading logs, a signature catalog to match against, and ordered hang guidance ('the SIGTERM all-thread dump (above) shows where it was stuck — check that first') plus an if-then escalation (enable the watchdog env var and redeploy; 'If you can signal the pod, kill -USR1'). Not 5 because the sequence is conveyed by section order rather than explicit steps, and there is no closing validation loop (e.g. confirm `.app_status` is healthy after a fix) — minor checkpoint gaps matching the 4 anchor; well above 3, whose sequence lacks checkpoints entirely. | 4 / 5 |
Progressive Disclosure | Well-organized sections (Reading the logs / What to look for / Diagnosing a hang / Environment toggles / Notes), and at ~75 lines of dense operational reference the inline content is appropriately sized — no monolith or buried references. Not 5 because the one outbound pointer, 'Runnable crash fixtures + the e2e crash test live in `.scripts/agent-integration-tests/crash-examples/`', does not resolve within the skill bundle (no references/, scripts/, or assets/ exist), so it is not a well-signaled one-level reference; that plus the env-toggle table being borderline extractable leaves a minor organization gap at the 4 anchor. | 4 / 5 |
Total | 17 / 20 Passed |