boxyard-cli
Use the Boxyard CLI to manage, find, inspect, sync, include, exclude, group, rename, or copy boxes. Use when the user asks about boxyard command usage, Boxyard config files, locating box folders, rclone-backed storage, sync status, or shell/TUI helpers.
How do I install this agent skill?
npx skills add https://github.com/lukastk/boxyard --skill boxyard-cliIs this agent skill safe to install?
- Gen Agent Trust Hubpass
The `boxyard-cli` skill provides a comprehensive interface for managing and syncing folder-based 'boxes' using the `boxyard` tool. It supports local and remote storage via `rclone` and `restic`. The skill describes standard operational behaviors for a storage management utility, including managing configuration files and performing file system operations. A surface for indirect prompt injection exists due to the ingestion of metadata and configuration files from managed folders, but this is consistent with the tool's primary purpose.
- Socketpass
No alerts
- Snykpass
Risk: LOW · No issues
What does this agent skill do?
Boxyard CLI
Use this skill to use, not develop, Boxyard: managed folders with DATA, metadata, sync config, groups, and local/rclone storage. All bundled paths below resolve from this skill directory; no source checkout is required.
Authority and safety
- Ask before modifying local or remote state. This includes
init,new,sync,multi-sync,sync-missing-meta,include,exclude,relocate,delete,rename,sync-name, group/parent edits,create-user-symlinks,copy,force-push,claim,release,discard-local, and non-dry-runconvert. Examples are not authorization. Read-only queries,--help,doctor, andconvert --dry-runmay run without confirmation. - Never create ad-hoc folders/clones/worktrees in
~/dev. Find the existing box or useboxyard newwith approval; put non-box scratch outside managed roots. Keep generated data, even large outputs, inside its related box. Use sync excludes, not sibling folders, to avoid uploading it. - Resolve identity and placement, don't guess. Both timestamp format and subid
length are configurable;
index_nameis{box_id}__{name}. Usewhich/path: DATA may be in any checkout root, not justuser_boxes_path(default). An unavailable root never falls back to default. Placement is machine-local, never synced inboxmeta.toml; remote storage and local placement are independent. - Resolve ownership, never bypass it. DATA/CONF pushes compare
write_ownerwith configuredmachine_name, never a hostname. No owner means unrestricted.newclaims by default (--no-claimfor work elsewhere);include --read-onlysuppresses the claim nudge. Refusal also protectsforce-push, remote/both rename, and deletion. With approval,claim --stealkeeps this machine's work;discard-localreplaces it from remote and keeps overwritten work in backups. - Destructive traps:
new --from PATHMOVES unless--copy;excludesyncs first then removes local DATA (--skip-syncskips that protection).deletetombstones the id fleet-wide: never delete a stale duplicate name to clean registrations.sync --sync-setting replace|force,copy --overwrite, andforce-push --forcecan overwrite data. Read the relevant reference first. - Backups aren't garbage: orphan findings may be intentional
discard-localkeepsakes. Never auto-delete them or infer disposability from unclaimed ULIDs. - Excludes replace, not extend. A box's
conf/.rclone_excludereplaces the default list entirely: copy the default contents before adding rules, or risk syncing.venv/,node_modules/, etc..rclone_includeand.rclone_filtersare currently refused; use.rclone_excludealone. CONF syncs before DATA. Default-exclude edits invalidate DATA baselines fleet-wide; batch needed edits. - Conversion is explicit: policy edits never reformat existing boxes; only
convertdoes, verifying a byte-identical restore before removing the old copy. Read the storage reference and~/.config/myagent/reference/box-storage.mdbefore recommending/changing plain vs restic. Rig default is plain; package default for rclone is restic (local is plain). Every participating machine needs Boxyard >=0.7.0, restic and the password before using restic boxes.
Discover, select, inspect
Use the installed CLI as authority: boxyard --help, boxyard <command> --help,
boxyard --version. When already operating from a Boxyard development checkout,
prefer uv run boxyard ...; do not navigate relative to the installed skill to
find source. For non-default config use boxyard --config /path/to/config.toml ....
BOXYARD_CONFIG_PATH is for the shell helper, not a substitute for CLI --config.
boxyard which --path /some/path --json
boxyard list --output-format json
boxyard list --show-status --show-checkout
boxyard list --group-filter 'work AND NOT archived'
boxyard checkout-roots
boxyard path --box INDEX_NAME
boxyard path --box INDEX_NAME --path-option conf
boxyard box-status --box INDEX_NAME
boxyard owner --box INDEX_NAME
boxyard yard-status
boxyard doctor --no-remote
pathdefaults to included DATA;--allincludes excluded candidates. Use itsroot,meta,conf, orsync-record-*options for non-DATA locations.- Select explicitly with
--box INDEX_NAMEor--box-id BOX_ID;--box-name NAMEoften means contains matching.--pick-firstonpathis only for acceptable ambiguity. Bare selection uses the cwd box across configured roots, then an fzf picker;delete,rename,copy,force-push, andsync-namerequire an explicit selector. - Run
doctorwhen state looks inconsistent, rather than improvising repairs. It is read-only (exit 0 healthy / 1 findings); default includes remote checks,--no-remoteis offline. Follow hints only after approval for state changes.
Common operations (after approval)
boxyard new --box-name NAME
boxyard new --from /path/to/folder --copy
boxyard include --box INDEX_NAME --checkout-root ROOT
boxyard sync --box INDEX_NAME --sync-setting careful
boxyard exclude --box INDEX_NAME
boxyard add-to-group --box INDEX_NAME GROUP
sync can select META/CONF/DATA, direction, and descendants. multi-sync supports
cadence and skip proofs; proof must cover all requested parts and dependencies,
including plain DATA. Unknown/unproven boxes still run the real sync path.
For relocation, destructive recovery, conversion, or bulk operations, read the
matching reference and command help before acting.
Task-to-reference map (load only what is needed)
| Task | Bundled reference |
|---|---|
| Config keys, local/remote layouts, roots, selectors, filters, canonical discovery | Discovery and paths |
| New/include/exclude/copy, relocation, groups/hierarchy, rename/delete/force | Box lifecycle |
| Sync modes, multi-sync proofs, cadence, plain/restic conversion, excludes | Sync and storage |
| Owner/claim/release/discard-local and doctor findings/recovery hints | Ownership and health |
| Ctrl+G, fzf, helper search and zsh setup | Shell helper |
Package-default paths are not rig paths: read the actual config (normally
~/.config/boxyard/config.toml) and use path. References preserve detailed
examples and rationale; historical counts are not a current fleet inventory.
How can the creator link this skill?
Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.
<a href="https://skillzs.dev/skills/lukastk/boxyard/boxyard-cli">View boxyard-cli on skillZs</a>