Primary finding
social-monitor Reddit URL interpolates $KEYWORD without URL-encoding
- templates/social-monitor/SKILL.md:26-31
KEYWORDS comes from operator config but is split/normalized in step 1 — still, any value with spaces, `&`, or `#` will either break the URL or inject additional query parameters. For a template that ships to operators as a copy-paste pattern, leaving this unencoded teaches the wrong habit and breaks multi-word keywords (a very common case for keyword monitoring). It's not a remote-injection vulnerability against the project, but it is an input-validation/api-contract gap a template should not model.
Recommendation
Show URL-encoding via `jq -rn --arg q "$KEYWORD" '$q|@uri'` or `python3 -c 'import urllib.parse,sys;print(urllib.parse.quote(sys.argv[1]))' "$KEYWORD"` before interpolating.