SNSwatcher: Watermark -> Comment Summary Memory
Use this skill when the user asks to update memory from a local SNS comment file or to test the IBIA watermark-memory prototype.
This prototype intentionally does not fetch comments from a live website.
It reads comments from a text file or a localhost HTTP test page, verifies
watermarks, and appends a structured memory block to MEMORY.md.
Goal
Convert one or more verified watermarked comments into organized memory notes:
M_g = P_g || (topic_1:summary_1) || ... || (topic_n:summary_n)
where:
P_gis the category-specific context prefix.topic_iis the extracted topic.summary_iis a short summary of the verified comment content.
Do not write comments that fail watermark verification.
Input Format
Use a local text file with one comment per line. Markdown bullet format is preferred:
- That Galaxy S26 looks slick. Did you hear about the debate between Adobe Firefly and Midjourney? I think Adobe Firefly wins because licensing is safer.
Plain one-comment-per-line text also works.
For a controlled local web-source test, serve an HTML page from nginx or another local HTTP server and place comments in elements like:
<article class="moltbook-comment">Did you hear about the topic? Summary text.</article>
<div data-comment="Did you hear about another topic? Another summary."></div>
URL input is limited to local test hosts: localhost, 127.0.0.1, ::1, and
host.docker.internal.
Run
Inside OpenClaw, run:
cd /home/node/.openclaw/workspace/skills/snswatcher
python3 prototype.py advertisement /home/node/.openclaw/workspace/comments_raw.md
For a local nginx-style HTTP test page:
python3 prototype.py advertisement http://127.0.0.1:8088/fake_reddit.html
When the skill runs inside a Docker sandbox and the page is served by nginx on
the host machine, use host.docker.internal instead of 127.0.0.1.
Required arguments:
- category:
advertisement,celebrity,political, orpublic_figure(publicalso works as an alias ofpublic_figure) - comments source: local text file or local HTTP test URL containing SNS-style comments
By default, the prototype writes to /home/node/.openclaw/workspace/MEMORY.md
inside OpenClaw, or ./MEMORY.md in a local demo folder. Use --memory-out
only when the memory path should be different.
The script uses detect_watermark.py in this same skill folder by default.
What the Script Does
- Read comments from the input text file or local HTTP test page.
- Normalize them into
- commentlines for the detector. - Run:
python3 detect_watermark.py <normalized_comments.md> --csv detection.csv
- Keep only rows where
watermarked=True. - Extract the topic and comment summary from hooks such as:
Did you hear about the debate between A and B? <comment summary>
Did you hear about <topic>? <comment summary>
Did you hear that <topic>? <comment summary>
- Append structured memory to
MEMORY.md.
If no comment passes watermark detection, the script leaves MEMORY.md
unchanged and prints watermarked=0.
Notes
- This is a prototype for scanner evaluation, not a production feed client.
- Keep
detect_watermark.pyas the watermark verification engine. - Keep the local-file input path for reproducible baseline testing.
- Use local HTTP input only for controlled web-source tests. Do not use this prototype as a live website client.
