EffortRankWhat a ledger isGalleryGitHub

/effortrank

The /effortrank skill

Use when the person wants their EffortRank score, rank or card, or to publish or unpublish their card — after a resume-ledger build ("what's my score", "put me on the board", "how does my ledger rank", "take my card down"). Reads the receipt ids out of their ledger, signs them with an SSH key GitHub already lists for them and sends them; the gallery refetches every receipt and computes the number itself — nobody sends a score. Separate consent from the build; nothing is written to any account. Never for scoring other people.

$npx skills add effortrank/effortrank --full-depth --skill effortrank

What the agent follows

The skill file, verbatim. It is a checklist, not a program: the agent runs these commands with its own tools.

EffortRank is a number the gallery computes from the public receipts in a ledger: what it would cost to fake the document. It exists only there. The one script in this folder, effortrank.sh, signs and sends. Needs ledger/ledger.md from resume-ledger. <skill> below is this folder.

  • 1. Show exactly what would leave, sending nothing: grep -oE 'gh:(repo|pr|commits):[^ ]+|paper:W[0-9]+' ledger/ledger.md | sort -u Those ids, the GitHub login(s), a timestamp and the signatures are the whole payload. A link to a copy of the ledger they host (https) can ride along and is shown on the card; nothing else can.
  • 2. Ask: send it? — yes · yes with a ledger link · no. Every push asks again. Two GitHub accounts in the ledger header: both logins go on the command; each is signed with its own key, and a login without a local key has its receipts dropped, with that reason.
  • 3. On yes only: bash <skill>/effortrank.sh push ledger/ledger.md <login> [second login] (with a link: LEDGER_URL=https://… bash …). Read the JSON answer back in words: effortrank, rank of total, delta since the last push, receipts verified, every dropped receipt with its reason, the card URL and the .svg next to it to share.
  • 4. Tell them how to unpublish: bash <skill>/effortrank.sh delete <login>, signed with the same key. The SSH key is the only credential; there is no account on the gallery.

Gotchas

  • "no key in ~/.ssh matches github.com/<login>.keys": they add the public key at github.com/settings/keys. Nothing else works, by design.
  • "signing failed": the key has a passphrase — the person runs ssh-add ~/.ssh/<key> once themselves, then re-run. Never ask for the passphrase.
  • The first push takes one to three minutes: the gallery refetches every receipt before answering.
  • HTTP 400 "ts outside the window": the machine clock is off by more than 15 minutes.
  • HTTP 409: the same signature was sent twice; run push again for a fresh one.
  • "rank 1 of 1" early on is normal. Padding adds nothing and dropped receipts cost nothing; read the reasons out, do not hide them.

Never send without the yes. Never add receipts. Never push on someone else's behalf.