sync

sync is a command for Claude Code from Beezi-AI/beezi-claude-plugin. It costs 14 tokens per session (3,535 once invoked), scanned A, original, Apache-2.0.

A command that uploads previous Claude Code sessions to Beezi's analytics service and skips sessions already uploaded.

In plain words
What is it for?
It is for synchronizing past coding-agent sessions with Beezi analytics.
Why use it?
It keeps session data available for analysis without uploading the same session repeatedly.

Command for Claude Code

Written for Claude Code: allowed-tools in frontmatter. Also seen: names the AskUserQuestion tool; mentions Claude Code.

Runs only inside its plugin — its command needs a path that Claude Code sets for a plugin’s own hooks and for nothing else. Install the plugin, not this.

Part of the beezi plugin — 1 skill, 6 commands, 9 hooks, 1 MCP server shipped together

Good fit It is for synchronizing past coding-agent sessions with Beezi analytics.

Compare 6 commands from other repositories ↓
Install

Getting it into your agent

This one installs as part of its plugin. Adding the marketplace and installing the plugin brings it with everything else the plugin ships.

Claude Code
/plugin marketplace add Beezi-AI/beezi-claude-plugin
Claude Code
/plugin install beezi

Made for: Claude Code.

Or install beezi, the plugin that ships this one along with the rest of its 1 skill, 6 commands, 9 hooks, 1 MCP server.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for sync

README.md
[![agentmods](https://agentmods.dev/badge/commands/beezi-ai/beezi-claude-plugin/sync/github.svg)](https://agentmods.dev/commands/beezi-ai/beezi-claude-plugin/sync)
Your own site
<a href="https://agentmods.dev/commands/beezi-ai/beezi-claude-plugin/sync"><img src="https://agentmods.dev/badge/commands/beezi-ai/beezi-claude-plugin/sync/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for sync

Your own site · 80×15
<a href="https://agentmods.dev/commands/beezi-ai/beezi-claude-plugin/sync"><img src="https://agentmods.dev/badge/commands/beezi-ai/beezi-claude-plugin/sync.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 14 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 3,535 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00014 $0.03535
Opus 5.5 $0.00006 $0.01414
Sonnet 5.5 $0.00003 $0.00707
Haiku 4.5 $0.00001 $0.00353

Measured 9d ago against content hash 5d9e1686718e, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

sync scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 9d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

plugins/beezi/commands/sync.md · 212 lines

How it starts

The opening of the file, as written. The whole thing — 212 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Do not read or inspect any files yourself.

The user cannot see tool output (Claude Code collapses it), so any output you are told to show or write verbatim is copied exactly into your reply text — never summarized or paraphrased.

AskUserQuestion, everywhere below: at most 4 questions in one call and at most 4 options in one question; multiSelect: true only with 2 or more options. Make one AskUserQuestion call per message and wait for its answers before the next (two calls in one message show the user only the last). A dismissed question runs nothing.

Step 1 — new workspaces, then repos and folders with no rule, then the upload

Run EXACTLY this one command, with the Bash tool's timeout set to 600000 (add --account <key> when the user named an account, and the --tenant override from Step 2 when the user asked for it):

node ${CLAUDE_PLUGIN_ROOT}/scripts/sync.mjs --review

It prints a <joined> block (new workspaces, below) and stops there when that block's last line is not joined=0. Otherwise it prints a <routes> block (repos and folders with no rule, below) and stops there when its last line is not routes=0. When both are 0 it goes straight on to the upload: everything after the </routes> line is Step 2's output, and no other command runs. A listing that fails shows a ✗ line inside its block instead and counts as nothing to ask: write that line verbatim.

First, new workspaces: the <joined> block, which workspace.mjs joined prints.

Its output is for you only. For an account that joined a workspace since it was last reviewed on this machine, it lists every repo and folder with where its analytics go now. Its lines:

  • <email>: you joined <names> — <N> repos or folders to review account=<key> new=<ids> — starts the block; <names> names the new workspaces;
  • W. <workspace> account=<key> tenant=<id> new=<yes|no> role=<role> — one per workspace; new=yes is one just joined;
  • J<i>. <short> (<full label>), <k> sessions, now: <where> account=<key> kind=<repo|folder> match=<match> now=<ids|none|pending> — one repo or folder (a J line). <where> is where its analytics go today: workspace names, not tracked, or no rule yet. J<i>. outside a project, <k> sessions, now: <where> … kind=outside match=outside is one too: sessions in the home folder, / or a temp folder;
  • J<i>-command=<command> — right after its J line: the command that adds one new workspace to it, ending in a literal <tenant>. It is not a J line;
  • add-all-command=<command> — adds the new workspaces to every listed repo and folder that already sends somewhere;
  • done-command=<command> — records that the new workspaces were reviewed, and keeps unpicked repos and folders sending where they send now;
  • joined=<total> — the number of J lines, always last.

Run the printed commands unchanged; whatever they route gets its history uploaded.

joined=0 → nothing to ask; go to "Then, repos and folders with no rule" below.

For each account with J lines (with several accounts, end every question text with " ()"), using that account's W. lines and commands:

More than 4 J lines → first ask (single-select) "You joined . Where should analytics for these repos and folders go? Their past sessions will be sent there too." (<N> = that account's number of J lines) with the options "Add to all " (description "Repos you don't track, and ones with no rule yet, stay as they are"), "Choose repos" ("Pick which repos and folders go to each new workspace") and "Leave them as they are" ("Nothing changes, and you're not asked about again").

  • "Add to all " → run the add-all-command= text EXACTLY ONCE.
  • "Choose repos" → the per-workspace questions below.
  • "Leave them as they are" → run the done-command= text EXACTLY ONCE.
  • A dismissal → nothing; the next /beezi:sync asks again.

4 or fewer J lines → the per-workspace questions.

Per-workspace questions — for each W. line with new=yes of that account, in order, ask the multiSelect: true question "Which repos and folders should also send analytics to ? Their past sessions will be sent there too." <name> is the W. line's text after W. up to account=, and <tenant> its tenant= value. Options: one per J line of that account, in order — label = <short> (the J line's text after J<i>. up to ( or ,), description = "Now: " (<where> = the text after now: up to account=), or "No rule yet" when <where> is no rule yet; then "None of these" LAST (description "Nothing from these goes to "). So a question lists at most 3 places plus "None of these": more J lines → split them in order into questions of at most 3 places, each ending in " (part j of k)"; that workspace's answer is all of its parts together. "None of these" alone means no pick from that question. If it is chosen together with any place in the same question, ask that workspace's question again once (every part), starting with "None of these" can't be combined with repos — pick one or the other. A mixed answer is not an answer. A second mixed answer is a dismissal: no J<i>-command for that workspace and no done-command. At most 4 questions per AskUserQuestion call: more → further calls, one after another. The printed J numbers are global across accounts: preserve each to match its command.

Read the full file on GitHub · 212 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 9d ago Changed · +24 lines 5d9e1686718e
  2. 23d ago Changed · +160 lines ec0ded3b4282
  3. 1mo ago Changed 76818d1014d2
  4. 1mo ago Changed · +2 lines 1d6c2f9d0a42
  5. 1mo ago Changed · -2 lines 6d6a0c2fdd74
  6. 1mo ago First seen · 28 lines · 14 tokens per session scan A 93ea72a7bc9b

Subscribe to this mod's changes

sync is a command published in the GitHub repository Beezi-AI/beezi-claude-plugin (63 stars, last pushed 9d ago), licensed Apache-2.0. It adds 14 tokens to every session and 3,535 once invoked, about $0.0001 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-11.

Related

sync compared with commands from other repositories

sync next to 6 commands from other repositories
ModTypeStarsLast pushLicenceScanTokensWorks with
syncBeezi-AI/beezi-claude-pluginCommand639d agoApache-2.0A14Claude Code
usageliorwn/claudetopCommand2122mo agoMITA34Claude Code
statsliorwn/claudetopCommand2122mo agoMITA14Claude Code
branchliorwn/claudetopCommand2122mo agoMITA9Claude Code
saverandomittin/heimdallCommand516d agoMITA55Claude Code
autonomyrandomittin/heimdallCommand516d agoMITA50Claude Code
clean-checkTeamManagementPlugin/claude-pluginCommand623d agoMITA27Claude Code