openclaw skill creator
Analysis
This appears to be a local, user-directed skill generator, but the skills it creates may add persistent access to files or external accounts, so generated code and credentials should be reviewed before installation.
Findings (4)
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 result = await client.chat.postMessage({
channel: channel || DEFAULT_CHANNEL,
text,
});The generated Slack template can post messages to a Slack channel when a user installs it and provides a token. This is aligned with the advertised Slack-messenger purpose, but it can affect shared team communication.
'Install dependencies: npm install googleapis', 'Install dependencies: npm install @slack/web-api', 'Install dependencies: npm install csv-parser'
Generated setup instructions ask users to install third-party npm packages without pinning versions. This is expected for generated integration skills, but it introduces normal dependency supply-chain considerations.
Checks whether tool use, credentials, dependencies, identity, account access, or inter-agent boundaries are broader than the stated purpose.
keyFile: process.env.GOOGLE_CALENDAR_CREDENTIALS,
scopes: ['https://www.googleapis.com/auth/calendar.readonly']The generated Google Calendar template uses a credential file and a read-only calendar scope. This is purpose-aligned and reasonably scoped, but it still gives the generated skill access to private calendar data.
Checks for exposed credentials, poisoned memory or context, unclear communication boundaries, or sensitive data that could leave the user's control.
const skillMd = `---
name: ${template.name}
description: ${template.description}
---
...
${whatYouWant}
${whyYouNeedIt ? `## Why You Need This\n\n${whyYouNeedIt}\n\n` : ''}The generated SKILL.md includes user-provided goal and reason text, which may become persistent agent context if the user saves it as a skill.
