DeviantArt Post
Analysis
The skill mostly matches its DeviantArt posting purpose, but it stores reusable account tokens and includes risky PowerShell wrapper commands for files that are not included.
Findings (6)
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.
publish_resp = api_post_form("stash/publish", publish_payload)The skill can perform an external account-write action by publishing content to DeviantArt. This matches the stated purpose, and SKILL.md requires confirmation before posting, but users should notice the write capability.
powershell -ExecutionPolicy Bypass -File .\skills\deviantart-post\scripts\deviantart_post.ps1
SKILL.md references PowerShell wrapper scripts, but the provided manifest only includes Python files and no .ps1 wrappers. That creates an unreviewed/missing helper path for a command the user is told to run.
powershell -ExecutionPolicy Bypass -File .\skills\deviantart-post\scripts\deviantart_post_journal.ps1
The instructions recommend bypassing PowerShell execution policy for optional wrapper scripts that are not included. This code-execution path is unnecessary because direct Python commands are already provided.
p.add_argument("--location-tag", default=None)
return p
...
if args.dry_run:The script contains logic that checks args.dry_run, while the parser shown does not define a --dry-run argument. SKILL.md presents dry-run as a preview safety option, so this inconsistency can undermine user expectations.
Checks whether tool use, credentials, dependencies, identity, account access, or inter-agent boundaries are broader than the stated purpose.
Add `user.manage` when journals or statuses are needed.
The skill may request an OAuth scope that allows journal/status management. This is purpose-aligned and disclosed, but it is still meaningful account authority.
Checks for exposed credentials, poisoned memory or context, unclear communication boundaries, or sensitive data that could leave the user's control.
TOKEN_PATH = Path(os.environ.get("DEVIANTART_TOKEN_PATH", DEFAULT_OPENCLAW_DIR / "deviantart-token.json"))The skill stores and reuses a local OAuth token file. This is needed for the OAuth workflow, but it is persistent sensitive state that could be reused across tasks or affected by local file changes.
