• .claude/skills/synchronet-text/SKILL.md.claude/skills/synchronet-logs/

    From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Fri May 22 19:16:50 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/60bc25ddd5ee3f1d1b8364b7
    Added Files:
    .claude/skills/synchronet-text/SKILL.md
    Modified Files:
    .claude/skills/synchronet-logs/SKILL.md .claude/skills/synchronet-menus/SKILL.md
    Log Message:
    .claude/skills: add synchronet-text; refine menus & logs

    Add a new synchronet-text skill that covers the runtime text[] string
    database (ctrl/text.dat), the v3.20+ ctrl/text.ini runtime override
    file (default-section by-ID overrides, [substr] global substitution,
    [JS] for gettext()-wrapped strings), and ctrl/text.<lang>.ini
    per-language overlays. Sysop-focused; the developer-only textgen
    workflow for adding new string IDs stays in the CLAUDE.md
    instructions, not in this skill.

    synchronet-menus: trim the description to drop the text.dat reference
    (now covered by synchronet-text), update the intro to clarify that
    this skill owns the display-file side while synchronet-text owns the
    string database, and add a prominent redirect block inside the
    Ctrl-A section pointing readers at text.ini [substr] for BBS-wide
    Ctrl-A colour retheming -- a real failure path observed in testing
    where sysops (and agents) reach for attr.ini, find that it can't
    remap literal embedded Ctrl-A bytes, and conclude the goal is
    impossible when in fact text.ini [substr] does exactly that.

    synchronet-logs: correct the csts.tab description -- it's
    tab-separated ASCII with a header row, readable with cat/awk/a
    spreadsheet, not the 'binary-ish' file the original entry implied.

    Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net