CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

human-cli

Reach the actual human you're working for via the `human` CLI (ask/approve/choose/tell) when you need a decision, approval, or notification and no one is watching this terminal right now. Use for background/autonomous/scheduled runs, risky or irreversible actions, and genuine multi-way ambiguity — not for routine questions the current chat user can just answer next turn.

Quality

91%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Low

Low-risk findings worth noting

SKILL.md
Quality
Evals
Security

Quality

Content

88%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A strong operational skill: fully executable commands, explicit pre-flight checks, and real feedback loops for every failure mode (denial, timeout, no-setup, unlinked contact). Its weaknesses are minor — some redundant guidance between the flag section and earlier sections, and reference material inlined where progressive disclosure into a bundle file would keep the body leaner.

Suggestions

Trim the `--to`/`--via` flag bullet down to flag semantics only — the contacts lookup and `human invite` workflow it repeats are already covered in the 'Who can I reach' section.

Move the full flags reference (card chrome, Slack-only --icon, --ttl, approve/choose-only flags) and the invite/linking mechanics into a references/ file, keeping SKILL.md to the when-to-use decision flow, setup check, and the four commands.

Condense the quoted keyless-demo error output to its actionable core ('run: human login') instead of reproducing the full multi-line message.

DimensionReasoningScore

Conciseness

The body is dense with non-obvious operational facts (exit codes, invite-link semantics, env vars) and assumes Claude's competence, but the `--to` flag bullet ("Find them with `human contacts --json` first; link someone new with `human invite alice --name 'Alice Chen'`") repeats the dedicated contacts and invite sections, and the full multi-line keyless-demo error output is quoted verbatim when its actionable core ('run: human login') would do.

4 / 5

Actionability

Every section gives copy-paste-ready commands covering the common cases: the four commands with realistic arguments ("human approve 'Delete 342 rows flagged as stale from the orders table?'"), a complete exit-code branching bash script, `human contacts --json`, `human invite alice --name 'Alice Chen'`, and flag combinations (--icon, --subtitle, --extra-action).

5 / 5

Workflow Clarity

The flow has explicit pre-checks ("Before you rely on it: check it's set up", "look before you ask") and genuine error-recovery loops: exit 11 resumes via "human wait <id>", setup failure is surfaced rather than looped, and delivery failure names the exact `human invite` command to run. The destructive-ops cap does not apply since the skill obtains approvals rather than performing destructive operations itself.

5 / 5

Progressive Disclosure

Well-sectioned single file with clear headers and no nested references, but at ~215 lines it exceeds the 50-line simple-skill threshold and inlines reference-grade material (the full flags list including Slack-only --icon, card chrome, and --ttl; invite/linking mechanics; quoted error texts) that could sit in a references/ file while SKILL.md keeps the decision flow and four commands.

4 / 5

Total

18

/

20

Passed

Description

92%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

An excellent description: it explicitly states what the skill does (all four commands), when to use it (concrete trigger scenarios), and when not to (routine chat questions), with only slightly incomplete trigger synonym coverage. Third-person imperative voice is consistent and there is no vague filler.

DimensionReasoningScore

Specificity

"Reach the actual human you're working for via the `human` CLI (ask/approve/choose/tell)" names the tool and enumerates its complete command surface, plus the concrete purposes "a decision, approval, or notification". Coverage is comprehensive rather than gapped, so it fits the 5 anchor better than 4.

5 / 5

Completeness

Both halves are explicit: the what ("Reach the actual human you're working for via the `human` CLI (ask/approve/choose/tell)") and the when ("Use for background/autonomous/scheduled runs, risky or irreversible actions, and genuine multi-way ambiguity"), even adding an anti-trigger ("not for routine questions the current chat user can just answer next turn").

5 / 5

Trigger Term Quality

Natural phrases are well covered — "background/autonomous/scheduled runs", "risky or irreversible actions", "genuine multi-way ambiguity", "no one is watching this terminal right now" — but common variations like "human in the loop", "unattended", or "while I'm away" are missing, matching anchor 4 ('good keyword coverage; a few natural terms missing') rather than 5.

4 / 5

Distinctiveness Conflict Risk

It carves a clear niche — blocking human decisions when unattended — anchored to a specific named CLI with distinct triggers (unattended runs, pre-approval for risky actions), so overlap risk with generic notification or messaging skills is minimal.

5 / 5

Total

19

/

20

Passed

Validation

93%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

15

/

16

Passed

Repository

novuhq/novu

Path

packages/human/src/skills/content/human-cli/SKILL.md

Reviewed

Table of Contents

Is this your skill?

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.