btw command
Analysis
This local question skill is mostly simple and disclosed, but its timeout fallback can automatically return an approving answer, which could let an agent proceed without explicit user confirmation.
Findings (3)
Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.
Checks for instructions or behavior that redirect the agent, misuse tools, execute unexpected code, cascade across systems, exploit user trust, or continue outside the intended task.
const defaultAnswer = input.default || (options.length > 0 ? options[0] : 'yes'); ... if (elapsed >= timeout * 1000) { return { answer: defaultAnswer, ... timed_out: true }; }If no explicit default is provided, the skill can return "yes" or the first listed option after timeout. In the documented deployment/approval-style workflows, a caller may treat that fallback as approval even though the user did not answer.
Questions are queued, users are notified via multiple channels, and if no answer is received within the timeout period, a default answer is used automatically.
The user-facing text suggests reliable multi-channel notification, while the supplied handler only shows console logging as the visible notification path. Users may overestimate how likely they are to see and answer prompts before defaults apply.
Checks for exposed credentials, poisoned memory or context, unclear communication boundaries, or sensitive data that could leave the user's control.
const context = input.context || {}; ... console.log(` Context:`, context);Arbitrary caller-supplied context is stored while the question is pending and printed to local logs. This is local and purpose-aligned, but it can expose sensitive details if callers include secrets or private data.
