Changelog ​
All notable documentation and behavior updates should be recorded here.
Unreleased ​
- Discord: added reusable agent profiles managed with
/agent, backed by~/.skimpyclaw/discord-thread-agents.json. Profiles can point at any configuredagents.listentry and carry model, effort, and prompt overrides. - Discord: added
@alias <message>profile mentions. In server channels they create and bind a thread; in existing threads they bind the thread; in DMs they run directly without thread creation. - Discord:
/agent promptnow accepts supported document attachments for profile prompt overlays, with 2 MB attachment downloads, 100k extracted-text cap, and 20k stored-prompt cap. - Discord: simplified the profile command surface:
/agent effortis the documented effort command,/thread-agent,/agent set, and/agent unsetwere removed, and deleting a profile removes its thread bindings. - Cron: removed the special
pr-reviewpost-run[PR_REVIEW_RESULT]guard; cron agent-turn output now goes through the standard digest, voice, and notification paths. - Removed the sandbox / container-isolation subsystem entirely:
src/sandbox/*(bridge, manager, mount-security, runtime, index),src/sandbox-utils.ts, theskimpyclaw sandboxCLI subcommand (init,status,prune,doctor), the sandbox setup-wizard step, thesandboxconfig field onConfig,SandboxConfiginterface, sandbox branches intools.ts/executor.ts/cron.ts/heartbeat.ts,checkSandboxAvailabledoctor check, and all sandbox tests. Exec approval (risk tiers 0–3) remains the command-safety gate. Runtime config in~/.skimpyclaw/config.jsonmay still contain asandboxfield — it is ignored and safe to remove. - Removed
code_with_team/ team orchestration entirely:src/code-agents/orchestrator.ts(1,022 LOC), its 19-test suite, the tool schema, team-coordinator task fields (parentTaskId,childTaskIds,subtask,synthesisResult,dependsOn,wave) andDecomposedSubtask, thereadTeamStateshim, and all related doc sections (team worktrees, team scratchpad,teamTimeoutMinutesconfig). Interactive sessions andcode_with_agentcover the remaining coding-agent use cases without the parallel-decompose / synthesize pattern. - Removed the Work feature entirely:
src/api-work.ts,src/work-ticker.ts,src/code-agents/review-loop*.ts(engine, storage, prompts, types, diff), theWorkdashboard page and its sidebar nav, all Work types and API client methods, and the 3-second polling ticker started insrc/service.ts. Interactive sessions andcode_with_agentcover the remaining AI-coding use cases; the autonomous plan → implement → review loop was not in active use and was accumulating fix-commits. On-disk state under~/.skimpyclaw/logs/review-loop/is left intact for archival. - Removed the standalone digest-edition feature entirely, including its frontend, API routes, config field, seed script, tests, and dashboard sidebar link. Digest generation remains available.
- Discord: added a required documentation process for Discord posting/update workflow changes, including update targets in
README.md, guide pages, and changelog maintenance expectations. - Discord: cron jobs now support
payload.discordThreadIdto target a specific thread for start/digest/completion notifications, with validation and fallback to active-channel delivery. - Discord:
code_with_agentnow acceptsinteractive: trueto start a bidirectional coding session pinned to a Discord thread. Follow-up messages in the thread are routed directly toclaude --resume(serialized FIFO per thread); sessions persist across gateway restarts in~/.skimpyclaw/logs/code-agents/interactive-sessions.json. - Models:
claude-opusalias now points atclaude-opus-4-7(previously4-6); applies tosetup.ts,api.ts,providers/utils.tsmigration, and theopusshorthand incode-agents/utils.ts. - Interactive sessions: fixed a correctness bug where a subprocess error would strand queued follow-up messages in memory; the queue is now drained with a single notice when the session errors.
- Interactive sessions: shared
buildCodeAgentSpawnEnv()helper insrc/code-agents/utils.tsreplaces three copy-pasteddelete CLAUDECODE / GH_TOKEN / GITHUB_TOKENblocks acrossexecutor.tsandinteractive-resume.ts. - Discord: removed
[discord:diag]debug logs that fired on every inbound message; converted interactive-session intercept to static imports for reduced hot-path overhead. .gitignore: added.playwright-cli/to stop committing local browser-automation artifacts.- Repo cleanup: removed previously tracked Playwright capture artifacts, the unused code-agent worktree helper, stale superpowers/unified-loop planning docs, an obsolete guide-only architecture diagram, the unreferenced root architecture analysis, and the unused docs hero screenshot component/asset.