agent/CLAUDE.md: orientation + voice + ssh/scp how-tos#4
Merged
LarsenCundric merged 4 commits intomainfrom Apr 27, 2026
Merged
Conversation
Three additions based on early user feedback:
(1) Top-of-file orientation: "you are bux, the user's 24/7 personal
agent". The previous opener jumped straight into browser
instructions; new users would ask "what is this thing" and claude
would answer with technical details instead of role.
(2) "How you talk" — short voice section. Action-first, concise,
honest-when-stuck, confirm time/scope when scheduling. Most
common feedback was "claude is too chatty / sounds like a bot".
(3) "How the user gets stuff to/from you" — explicit recipes for
Telegram (primary), SSH (key paste + ssh bux@<ip>), and file
transfer (scp/rsync to ~/). Users were asking how to upload
files; the previous CLAUDE.md never mentioned scp.
Cloud-side CLAUDE.md is gitignored (baked from this OSS canonical
copy at AMI build time), so this PR is the only place these edits
need to land.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
1 issue found across 1 file
Prompt for AI agents (unresolved issues)
Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.
<file name="agent/CLAUDE.md">
<violation number="1" location="agent/CLAUDE.md:28">
P2: The fallback public-key command is documented in a laptop context, but it must run on the bux box. As written, users may append their key to the wrong machine and still be unable to SSH in.</violation>
</file>
Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review, or fix all with cubic.
Cubic flagged that the previous wording made it ambiguous which machine each command runs on. The `echo "<pubkey>" >> ~/.ssh/authorized_keys` fallback could run on the laptop (wrong machine, never reaches the box) or on the box (right machine, but the user has no clue what to paste). Rewrite as two explicit paths: Path A (recommended): user runs `ssh-copy-id bux@<ip>` on their laptop. Done. Path B (no ssh-copy-id): user `cat`s their pubkey on their laptop, pastes the output text to claude, claude appends it to authorized_keys on the box with the right perms. Plus a "never run cat ~/.ssh/id_*.pub ON THIS BOX" warning, since the laptop's keys aren't here. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
1 issue found across 1 file (changes from recent commits).
Prompt for AI agents (unresolved issues)
Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.
<file name="agent/CLAUDE.md">
<violation number="1" location="agent/CLAUDE.md:36">
P2: Path A implies `ssh-copy-id` always works, but with password auth disabled it cannot bootstrap first access unless another auth method already works.</violation>
</file>
Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review, or fix all with cubic.
…uth) Same fix as the cloud-side: PasswordAuthentication=no and no seeded keys means ssh-copy-id has no auth method to install the key with. Only document the paste-via-claude path, with an explicit "don't suggest ssh-copy-id" note. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
1 issue found across 1 file (changes from recent commits).
Prompt for AI agents (unresolved issues)
Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.
<file name="agent/CLAUDE.md">
<violation number="1" location="agent/CLAUDE.md:27">
P2: The new SSH instructions conflict with existing guidance by forbidding `ssh-copy-id` while the section still tells users to follow “Path A”/`ssh-copy-id`, which can produce inconsistent responses.</violation>
</file>
Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review, or fix all with cubic.
Same fix as the cloud-side: previous edit removed Path A from the body but left the closing line referencing it, creating a direct contradiction with the "don't suggest ssh-copy-id" rule above. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Three additions based on early user feedback:
(1) Top-of-file orientation. "You are bux — the user's 24/7 personal agent". The old opener jumped straight into browser instructions; new users would ask "what is this thing" and claude would answer with technical specs instead of role.
(2) Voice section ("How you talk"). Action-first, concise, honest-when-stuck, confirm time/scope when scheduling. Most common piece of feedback was "claude sounds too chatty / like a bot".
(3) "How the user gets stuff to/from you" — explicit recipes for the three channels:
ssh-copy-id bux@<ip>thenssh bux@<ip>. Claude points users at this if asked.scp ~/Downloads/foo.zip bux@<ip>:~/. Claude knows tols -lat ~ | headwhen the user says "I uploaded a file".The cloud-side
CLAUDE.mdis gitignored (baked from this OSS canonical copy at AMI build time), so this OSS PR is the only place the edits need to land.Test plan
Summary by cubic
Updates
agent/CLAUDE.mdwith a top-of-file orientation, voice guidelines, and clearer Telegram/SSH/file-transfer recipes. SSH setup now uses a paste-your-pubkey-only flow (nossh-copy-id) to match passwordless config and avoid bootstrap failures.New Features
/home/bux.ssh-copy-idcan’t bootstrap; user runscat ~/.ssh/id_*.pubon their laptop and pastes; you append to~/.ssh/authorized_keyson the box with correct perms; never read laptop keys on the box.scp/rsyncto~/; usels -lat ~ | headto find new uploads; user usually pulls results back viascp.Bug Fixes
ssh-copy-idpath, preventing contradictions with the paste-your-pubkey flow.Written for commit 778d9c6. Summary will update on new commits. Review in cubic