Add .claude/skills/ask-forum/SKILL.md (usage contract, correlation model,
forum-only scope, access/permissions) and route to it from CLAUDE.md
(skill-first covered domains) + SKILL_ROUTING.md, so sessions invoke the
skill instead of hand-rolling the Discord API — the footgun that produced a
broken background wait. Capture that footgun as memory
feedback_background_task_no_ampersand (run_in_background, never a shell &).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Add a doing-skill line for Seafile (SeaCloud) admin writes -- create/
deactivate/delete account, set quota, create/transfer/delete library,
share/unshare -- pointing at the `seafile` skill (preview by default,
--confirm to apply). Complements the existing read/inventory line.
The write-ops implementation itself (seafile.py subcommands, client
_write via shared http_json form=, quota decimal-GB round-trip, gated
--confirm, SKILL.md docs) landed earlier via auto-sync in a8e76ba.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Skill-first rule now has two halves: route the request to a doing-skill,
then gate the result with the matching check-skill before 'done' --
inferred from the request, not user-named. Adds .claude/SKILL_ROUTING.md
(on-demand request->doing-skill->check-skill map). Enforcement tier A+B
(CORE rule + map; Stop-hook backstop deferred). Calibrate to stakes,
Ollama Tier-0 for cheap passes.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>