Skip to main content
Glama

plainhub_ledger_sync

Synchronize the shared PlainHub ledger over Git by committing .agents changes, pulling remote updates, and pushing upstream. Use it after posting or deciding and before reading others' threads.

Instructions

Share the ledger in the repository folder set by the PLAINHUB_LEDGER environment variable through Git: commits only the changes in .agents (after checking them for secrets and broken headers), receives others' changes with git pull --rebase, then pushes to the branch's upstream with the Git login of this machine (not the PlainHub token). Use it after plainhub_post or plainhub_decide when other agents or people need to see them, and before reading a thread someone else is writing. Stops without changing anything if the same files changed on both sides, if other files have uncommitted changes, or if unsent commits change files outside .agents (it never pushes code). Example: {}

Input Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.8.0

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are supplied, so the description carries the full burden and does: it discloses the scoped commit (.agents only), pre-commit secret/header checks, rebase-then-push order, that the machine's Git login is used rather than the PlainHub token, and that it never pushes code. It also enumerates the three abort conditions (both-sides edits, unrelated uncommitted changes, unsent commits outside .agents), which is precisely the failure behavior an agent needs.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Every clause carries operational content and the mechanical sequence (commit → pull --rebase → push) is front-loaded before the when-to-use guidance. It is a dense run-on sentence, though, and would read faster split into purpose, sequence, and abort conditions.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter mutation tool with no annotations and no output schema, the description covers the mechanism, credentials, scope limits, abort behavior, and ordering relative to siblings. Nothing an agent needs in order to invoke it safely is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so the baseline of 4 applies; the example invocation of {} reinforces that no arguments are expected. Nothing further could be added meaningfully.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb and resource chain: share the ledger via Git by committing .agents changes, rebasing on others' changes, and pushing to the upstream branch. It is clearly distinguishable from siblings like plainhub_ledger_read or plainhub_ledger_init, which do not touch Git at all.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It states exactly when to call it (after plainhub_post or plainhub_decide, before reading a thread another agent is writing) and names the sibling tools involved. Implicit alternatives (other ledger_* reads) are also clear from that scoping.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.