Skill flagged — suspicious patterns detected

ClawHub Security flagged this skill as suspicious. Review the scan results before using.

Jonnify

Rewrite or reword provided text so it sounds like Jon (the user) wrote it. Use when the user asks to make a message/email “sound like me”, “in my voice”, “li...

MIT-0 · Free to use, modify, and redistribute. No attribution required.
0 · 14 · 1 current installs · 1 all-time installs
byJon Suderbot@suderbot
MIT-0
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Suspicious
medium confidence
!
Purpose & Capability
The declared purpose is a local rewrite tool (make text sound like Jon). However the SKILL.md includes a 'nightly refresh' that pulls Jon’s recent messages, maintains a 90-day rolling sample, and updates voice/lexicon artifacts. Those collection/retention activities are not necessary for simple on-demand rewrites and are not supported by any declared credentials, install steps, or access controls. Also the docs reference accessing cron, flight numbers, and specific paths (~/*) as if the skill will have broader context — a capability mismatch.
!
Instruction Scope
The runtime instructions explicitly tell the agent to write to references/voice-profile.md and append examples (references/examples.jsonl) and to run an automated nightly job that pulls recent user messages. The manifest contains voice-profile.md and lexicon.md but there is no examples.jsonl in the file list — that's an internal inconsistency. The instructions implicitly require access to message history and possibly local files (cron, ~/workspace/org/todo.org), which is outside a simple rewrite task and not declared.
Install Mechanism
This is an instruction-only skill with no install spec, no binaries or external downloads — that minimizes install-time risk.
!
Credentials
The skill declares no required env vars or credentials, yet its behavior (nightly pulls of 'recent messages', keeping flight numbers and cron expectations) implies it will need access tokens or read access to user message stores, calendar/flight data, and local files. Those accesses are not declared or justified, so the required privileges are under-specified and disproportionate to the stated on-demand rewrite purpose.
!
Persistence & Privilege
The skill describes persistent storage of raw samples for 90 days and a scheduled refresh job that 'pulls Jon’s recent messages' and updates the voice profile and lexicon. While the skill does not set always:true, it still requests ongoing data collection and writes to skill files. The storage/retention policy, storage location, and what runs the scheduled job are not described — this persistent data collection raises privacy and operational concerns.
What to consider before installing
This skill can plausibly rewrite text to match 'Jon' and the included voice rules look well-crafted, but the instructions also describe automated nightly collection of Jon’s recent messages, persistent storage (90-day raw samples), and file updates that are not declared in the manifest. Before installing: 1) Ask the skill author how the nightly refresh is implemented, where it runs, and what credentials or API access it needs (message inbox, chat history, calendar, file storage). 2) Confirm exactly what files the skill will write to and whether the platform allows those writes (examples.jsonl is referenced but missing from the manifest). 3) Verify retention and deletion policies for stored samples and whether sensitive data (flight numbers, family names) will be stored or transmitted. 4) If you do not want the skill to harvest message history, request an option to disable the nightly refresh and to keep the skill strictly on-demand with only session-local metadata. If the author cannot clearly explain/limit the data collection and required permissions, treat this skill as a privacy risk and avoid installing it.

Like a lobster shell, security has layers — review code before you run it.

Current versionv1.0.0
Download zip
latestvk97bqt40tfz8yfcvcpbz4kxg41839n2q

License

MIT-0
Free to use, modify, and redistribute. No attribution required.

SKILL.md

Jonnify

Rewrite text into Jon’s voice.

Quick workflow

  1. Ask for the source text (or use the user-provided draft).
  2. Ask for optional knobs (defaults below).
  3. Rewrite once.
  4. If the user says it doesn’t feel like them, ask what’s off and capture the correction as a new example.

Defaults (when the user doesn’t specify)

  • Voice: Neutral Jon
  • Professionalism: medium
  • Edge: low-to-medium (no swearing by default)
  • Goofiness: low
  • Warmth: medium
  • Brevity: medium

Hard constraints

  • No new facts. Do not add details, numbers, commitments, names, timelines, or claims that were not present in the input.
  • Preserve intent. Keep the meaning and requested outcome the same.
  • Preserve “units”. If the input has separate paragraphs or bullets, keep that structure unless the user asks otherwise.
  • Sound plausible. Mild embellishment is OK only in tone/flow, not in factual content.

Tone knobs (user-facing)

Accept any of these phrases and map them to the internal knobs:

  • “more professional” / “more formal”
  • “more casual”
  • “a bit edgier” (still rarely swear)
  • “goofier” / “more playful”
  • “warmer” / “more direct”
  • “shorter” / “tighter” / “less wordy”
  • “for email” / “for a quick text”
  • “for my boss / coworker / client / friend / group chat” (audience)

When knobs conflict, prefer: accuracy > clarity > Jon-ness > humour.

Use the voice profile

Load and follow:

  • references/voice-profile.md (current distilled rules)
  • references/lexicon.md (favourite phrases + anti-phrases)

When you notice new recurring patterns in Jon’s messages during normal conversation, add them during the next nightly refresh (don’t spam edits mid-chat).

Capturing corrections (important)

If Jon provides feedback like “too formal”, “too cringe”, “not me”, “more blunt”, etc.:

  1. Ask a single clarifying question if needed.
  2. Update references/voice-profile.md with a short rule (1–3 lines).
  3. Append a before/after pair to references/examples.jsonl.

Keep examples short and representative.

Nightly refresh (separate automation)

A scheduled job maintains the profile by:

  • pulling Jon’s recent messages since the last run,
  • extracting style signals (phrasing, cadence, closers, hedges, humour style),
  • updating the profile + lexicon,
  • keeping a rolling 90-day window of raw samples, plus a curated “best-of” set.

State file: references/state.json.

Files

4 total
Select a file
Select a file to preview.

Comments

Loading comments…