Agile ledger workspace
Skill nunoamorim99/agile-ledger/skills/agile-ledger-workspace
A Claude code skill for Product Management. Plain-Markdown Scrum & Agile product management - ideas → backlog → sprints → releases, plus bug tracking, all from slash commands. Product management in the source code to make it easily accessible to everyone without distractions
npx -y skills add nunoamorim99/agile-ledger --skill agile-ledger-workspaceAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Optional multi-repo orchestrator for Agile-Ledger. Install once at a workspace root to manage many repositories at once: discover new repositories on a GitHub org (including ones nobody told you about), clone and bootstrap them, run a single cross-repo "what changed while I was away" sync, and reconstruct undocumented work from git history into proposed backlog drafts. Use this skill whenever the user talks about multiple repos, a workspace or monorepo root, "what changed across all projects", detecting new repositories, onboarding a repo, syncing everything after time off / holidays, or turning git commits and PRs into epics/stories. It NEVER replaces the per-repo Agile-Ledger — each repo keeps its own `Agile-Ledger/` folder as the source of truth; this layer only discovers, sweeps, and proposes.
SKILL.md
8.2 KB, as published. Nobody here has run it
Agile-Ledger Workspace (optional orchestrator)
A layer that sits one level above the per-repo Agile-Ledger skill. The per-repo skill is unchanged
and remains the default: each repository owns its self-contained Agile-Ledger/ folder. This
orchestrator exists for the "install once, manage many" case — most usefully, coming back from time
off and finding out, in one command, what changed across every repo and which repos are new.
It solves a specific blind spot: a repo created on the git host that nobody told you about. A local
folder scan can't catch that — only asking the host can. So discovery queries GitHub via your existing
gh auth, not just the filesystem.
<workspace-root>/
├── Agile-Ledger-Workspace/ # this orchestrator's only files
│ ├── Registry.md # managed repos: path, remote, status, last-sync SHA, last-swept
│ └── Config.md # org, clone target, filters, git_execution, setup branch
├── repo-a/ └─ Agile-Ledger/… # per-repo ledger — the source of truth, unchanged
├── repo-b/ └─ Agile-Ledger/…
└── …
Golden safety rules (never violate)
These are stricter than the per-repo skill because this layer touches the network and the filesystem:
- Per-repo ledgers are the source of truth. The workspace holds only
Registry.mdandConfig.md— never a backlog, sprint, or release. Each repo'sAgile-Ledger/is authoritative for itself. - Discovery uses your existing
ghauth. Rungh repo list <org> …(read-only). Never request, read, store, or handle tokens or credentials. Ifghis not authenticated, say so and stop. - Cloning downloads code → always propose and wait. List the repos that would be cloned and wait for
the user's explicit confirmation before any
git clone. No hands-off cloning. - Never push, never open a PR, never merge. When
git_executionison, the orchestrator may write and commit a repo's newAgile-Ledger/folder locally on a setup branch; the user pushes / opens the PR. Whenoff, it only writes files and lets the user do everything. - Reconstructed work is always a proposal, never truth. Epics/stories mined from git land only in
the target repo's 📥 Inbox as Drafts, flagged
🔍 reconstructed from git — needs review. Never write acceptance criteria, estimates, or a Ready/Delivered state from inference. Never invent the "so that…". Never overwrite anything a human wrote. - Sweeps are read-only by default. Every state-changing action (clone, bootstrap, commit, draft) is surfaced and confirmed, then performed — not assumed.
- Never delete rows from the Registry; mark them
archived/goneinstead.
Setup
If Agile-Ledger-Workspace/ doesn't exist, scaffold Registry.md and Config.md from the reference
templates. Config.md keys:
org: <github-org-or-owner> # scanned via gh
clone_target: ./ # where new repos are cloned (relative to workspace root)
include: [] # optional name globs (empty = all)
exclude: [archived, forks] # skipped from proposals (still listed, marked)
git_execution: off # off = text only; on = allow clone/commit on confirmation
setup_branch: agile-ledger-setup # local branch for the committed Agile-Ledger/ folder
Commands
/init-workspace
Scaffold Agile-Ledger-Workspace/Registry.md and Config.md. Ask for the GitHub org and clone target,
write them to Config.md. Do not scan yet. This is the only setup step.
/discover-repos
Find repositories — the new-repo detector.
- Local scan: find directories containing
.gitunder the workspace root; record path + remote. - Org scan:
gh repo list <org> --limit 1000 --json name,url,isArchived,isFork …(read-only). - Diff against
Registry.md: classify each repo as new (in org, not in Registry), known, or local-only (cloned but not in the org list). Applyexcludefilters (still list them, marked). - Report the three groups. For new repos, propose
git cloneintoclone_targetand then/bootstrap-repoon each — and wait for confirmation before cloning anything. - After confirmed clones, add rows to
Registry.md(never overwrite existing rows).
/bootstrap-repo <path> [--from-git]
Onboard one repository.
- Scaffold its
Agile-Ledger/folder from the per-repo skill's templates only if absent (never overwrite an existing ledger; if present, report and stop). - With
--from-git: mine the repo's history and propose reconstructed Epics/User Stories as Drafts in the new ledger's 📥 Inbox, each flagged🔍 reconstructed from git. Followreferences/reconstruction-guide.md. These are proposals for/triage, never confirmed truth. - If
git_executionison: create thesetup_branch, stage + commit theAgile-Ledger/folder locally, and tell the user the branch is ready for them to push / open a PR. Never push or PR. Ifoff: just write the files and tell the user what to commit.
/workspace-sync
The one-command "what changed while I was away." Across every repo in Registry.md:
- Run
/discover-reposto catch any new repos. - In each known repo, run the per-repo
/sync-mainreconciliation (merges tomainsince the repo's last-sync SHA, mapped to[US-xxx]case-insensitively). - Flag undocumented work: merges with no
USid are delivered work nobody registered — for each, propose a reconstructed Draft in that repo's Inbox (flagged, linked to the commit/PR). - Produce one consolidated report, per repo: new / merged-and-reconciled / undocumented-drafted /
unchanged, plus blocked items and unreleased counts.
Read-only by default — it drafts and reconciles only on confirmation. Update each repo's last-sync SHA
and the Registry's
last sweptdate after the user reviews. The point: you learn where to look from one command, then walk into each flagged repo to triage the news.
/workspace-status
A dashboard from Registry.md + each repo's ledger: per repo, the current sprint + goal, unreleased
(Increment) count, blocked count, and last-sync date. Read-only.
Reconstruction (git → proposed backlog)
The detection signal already exists in the per-repo skill: /sync-main flags merges to main with no
[US-xxx] id — that is undocumented delivered work. For a brand-new repo, the whole history is the
signal. Turn signal into proposals, never into confirmed stories — see
references/reconstruction-guide.md for the clustering heuristics and the hard guardrails (no invented
value, no invented acceptance criteria, conservative output, Inbox-only, human triages).
This keeps the skill's core philosophy intact: the tool does the bookkeeping legwork; the human keeps judgment over what is real, what the user value is, and how it's sliced.
Idempotency
Everything here is safe to re-run. Discovery diffs against the Registry; sweeps only look at commits after each repo's recorded last-sync SHA; bootstrap skips repos that already have a ledger; reconstructed items only ever appear once in the Inbox (don't re-propose an already-drafted commit/PR). Never overwrite human-written ledger content under any circumstances.