Problem — amico-slack, the Slack CLI the amico-slack skill's contract depends on, exists only as a planted per-machine file at ~/.local/bin/amico-slack — it lives in no repo. When the canonical hub moved machines, the token and caches came along but the script did not, so the new hub silently lost Slack functionality (command not found) and the fix was a manual copy from the old hub. Every future hub migration or server rebuild repeats this failure.
Approach — Check the standalone script into the amicode repo as a first-class tool (self-contained python3, stdlib only — no packaging changes), and have the hub ops surface plant it to ~/.local/bin/amico-slack so a fresh hub gets Slack working out of the box.
Scope — in: vendoring the script into the repo, a plant/install step in the hub ops scripts · out: rewriting the CLI, Slack app/manifest changes, client-machine installs (clients hold no token by posture).
Assumptions — The working copy on the old hub is canonical (verified live against the harmoniqs workspace on the new hub).
Acceptance Criteria
Problem —
amico-slack, the Slack CLI theamico-slackskill's contract depends on, exists only as a planted per-machine file at~/.local/bin/amico-slack— it lives in no repo. When the canonical hub moved machines, the token and caches came along but the script did not, so the new hub silently lost Slack functionality (command not found) and the fix was a manual copy from the old hub. Every future hub migration or server rebuild repeats this failure.Approach — Check the standalone script into the amicode repo as a first-class tool (self-contained python3, stdlib only — no packaging changes), and have the hub ops surface plant it to
~/.local/bin/amico-slackso a fresh hub gets Slack working out of the box.Scope — in: vendoring the script into the repo, a plant/install step in the hub ops scripts · out: rewriting the CLI, Slack app/manifest changes, client-machine installs (clients hold no token by posture).
Assumptions — The working copy on the old hub is canonical (verified live against the harmoniqs workspace on the new hub).
Acceptance Criteria
amico-slack statusreporting a live connection.