https://gitlab.synchro.net/main/sbbs/-/commit/99ac66fe4c2401992695d1ee
Added Files:
.claude/skills/synchronet-control/SKILL.md .claude/skills/synchronet-javascript/SKILL.md .claude/skills/synchronet-logs/SKILL.md .claude/skills/synchronet-menus/SKILL.md .claude/skills/synchronet-mqtt/SKILL.md
Log Message:
.claude/skills: add Synchronet authoring skills for Claude Code
Five Claude Code skills covering the day-to-day sysop / developer
workflows on a Synchronet install. The skills are self-contained
reference docs that the Claude Code CLI auto-discovers when working in
the sbbs tree; they trigger on natural-language descriptions of common
tasks and load only the relevant body on demand.
- synchronet-menus: authoring text/menu/* files, Ctrl-A and @-codes,
the file-extension priority by terminal type, .Xcol width variants,
language overlays, security gating, mouse hotspots.
- synchronet-logs: locating the right log file or stream on Windows or
*nix Ä per-category files in data/, the per-day Terminal Server log,
the Web Server access log, the lprintf console stream and its routing
to syslog/journalctl/console depending on daemon mode and init
system, the sbbsctrl-on-Windows-only data/logs/{TS,WS,MS,FS}*.LOG
trap, multi-instance traps when sibling BBSes share a text/
directory across hosts, the ip.can/ip-silent.can field format.
- synchronet-mqtt: discovering whether MQTT is enabled (the [MQTT]
section of ctrl/main.ini, not sbbs.ini), reading the broker config,
connecting with mosquitto_sub/pub (anonymous / user+pass / four TLS
modes), full topic hierarchy, retained vs event semantics, and the
control-plane topics (recycle/pause/resume/clear/node-set/input/msg)
with production-impact warnings.
- synchronet-control: controlling a running Synchronet instance via
cross-platform semaphore files in ctrl/ and data/ (recycle, shutdown,
pause, clear, with per-server .<service> and per-host .<hostname>
suffix variants for shared-ctrl/ setups), POSIX signals to sbbscon,
OS service managers (systemctl, service, launchctl, sc.exe), the
Windows front-ends (sbbsctrl, sbbsNTsvcs, sbbs.exe), the node rerun
utility, the won't-recycle-while-in-use gotcha, and the NO_RECYCLE
flag. Cross-references synchronet-mqtt for situations where MQTT
control is preferable even on the same host.
- synchronet-javascript: the SpiderMonkey 1.8.5 dialect, the host
object model (MsgBase, FileBase, User, system, msg_area/file_area,
Socket, MQTT, etc.), how those APIs actually behave (including the
get_all_msg_headers() lazy-field gotcha Ä touch a non-NULL field
before any *_NULL field, with bracket-access as an escape hatch),
writing tests in exec/tests/, and the stock exec/*.js ecosystem.
Each skill is host-agnostic Ä no embedded local hostnames, IP
addresses, BBSIDs, systemd unit names, or absolute filesystem paths.
All four new-from-scratch skills (logs, mqtt, control, javascript-fix)
were subagent-tested against realistic retrieval and diagnostic tasks
on a live install before being committed.
Co-Authored-By: Claude Opus 4.7 <
noreply@anthropic.com>
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net