Teamwork Update
Update is a small install and refresh operation. It is never an automatic detour from another task.
Method
- Resolve a trustworthy Teamwork package source: read
~/.teamwork/install.jsonroot; use that path if it containsVERSION,skills/, andinstall.sh. If the pointer is missing or invalid, ask the user for the repository path. Do not search the home directory. - For a check-only request, run
./scripts/check-update.sh --readiness. Treat the output as diagnostic information, not permission to continue other work. - For an authorized refresh, update only the requested host. The default
updatetarget refreshes Codex; Cursor or Claude adapters require explicit targets. When refreshing an intentionally revised Agent profile, keepperformance-firstandcost-firstdistinct and compare task success, elapsed time, and cost together instead of maximizing model or effort. For a Codex profile refresh, update both the role profiles and the top-level main-thread default while preserving other user configuration:performance-firstuses Terra/xhigh andcost-firstuses Luna/high. - Preserve unknown and user-owned files. Replace only recognizable Teamwork-owned surfaces.
- Re-run the same focused check and report what changed or the observed no-op, and any manual restart still needed.
Do not inspect or migrate project documents, compare project schemas, fetch release state, modify unrelated plugins or credentials, or require any agent to perform a readiness check. A missing specialized agent never makes Update a precondition for native work. When Update observes no change, report the observed no-op. Create or update a durable report only when that result is reusable or the user explicitly requests it.
Persistence
Persistence is optional. Write a report only when the observed result is reusable
across sessions or the user explicitly requests it. When that optional
checkpoint fires, write the document in the same response cycle from
references/report.md at
docs/teamwork/reports/<slug>.md (reuse the existing path for the
same operation identity). Optional triggers: an authorized refresh completes
with observed surface changes worth reusing; Update stops on a real blocker
worth reusing; or a no-op result is reusable or explicitly requested.
Update never blocks on a report.