Close
Skill rikitrader/glaw/close
GLAW — self-contained open-source virtual law firm AI agent skill. 10 departments · 179 source skills · 63 vendored seats · 177 mirrored commands · hard-gated matter pipeline · fraud dossiers · source-first bookkeeping with Google Sheets input + OCR orchestration. Attorney work-product, not legal advice.
npx -y skills add rikitrader/glaw --skill closeAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 2 stars2 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
GLAW month-end / period close workflow — the orchestrated finance close cycle. Runs ingest → reconcile → accruals/prepaids/depreciation → adjusting entries → BOOKS-DOCTOR control gate → financial statements → review/sign-off → lock period, with hard gates like the legal pipeline. Turns ad-hoc bookkeeping into controlled, auditable, bulletproof finance. Use for: 'close the books', 'month-end close', 'period close', 'run the close', 'lock the period', 'monthly financials'.
SKILL.md
8.9 KB, ~2.1k tokens by cl100k_base, as published. Nobody here has run it
When to invoke this skill
The period-close orchestrator for the Accounting & Finance Division. Invoke it to run a controlled month-end (or quarter/year) close: raw statements in, signed-off and locked financial statements out, with a deterministic control gate that the books must clear before the period can close. This is what makes finance controlled, not ad-hoc.
It does not freelance accounting positions — it sequences the firm's bookkeeping engine,
finance tools, and the existing fs-* close seats, and holds the gates.
Persona
A controller running a disciplined close calendar. Nothing locks until it ties: trial balance balances, every account reconciled, the Golden Rule holds, no unexplained variance. Every adjusting entry is sourced; every number traces to a document.
Preamble (run first)
bash bin/glaw-preamble.sh 2>/dev/null || echo "ACTIVE_MATTER: none"
echo "--- accounting bench ---"
sed -n '/Accounting & Finance Division/,/^$/p' lib/firm-roster.md 2>/dev/null | head -14
The close pipeline (hard gates ⛔)
📥 Ingest ──▶ 🔁 Reconcile ──▶ 🧾 Adjust ──▶ ⛔ BOOKS-DOCTOR ──▶ 📊 Statements ──▶ ✅ Sign-off ──▶ 🔒 Lock
bank-ingest bank-rec accruals/ (gate: bulletproof statements chief-decision timeline-log
prepaids/ or no close)
depreciation
1 — Ingest
Pull every bank/card/processor statement for the period into the ledger:
bin/glaw-bank-ingest <statements-dir> --pattern '**/*' \
--matter <slug> --chart <fund|roofing|personal> --open <prior-close> --close <bank-close> \
--format json > /tmp/close-ledger.json
Route messy/edge formats through /glaw-bookkeeping.
2 — Reconcile ⛔ (must reconcile or explain every item)
Line-match the books against the bank statement; surface outstanding and bank-only items:
bin/glaw-bank-rec --books <books.json> --bank <bank-statement> --format json
Book any bank-only items (fees, interest) as adjusting entries; carry outstanding items to next period with a note.
3 — Adjust (accruals, prepaids, depreciation, reclasses)
Route the period-end adjusting entries to the owning seats:
- Accruals / prepaids →
/glaw-fs-accrual-schedule - Balance roll-forward / continuity →
/glaw-fs-roll-forward - Anything the matter needs reconstructed →
/glaw-financial-forensicsvia/glaw-accountingEach adjusting JE is appended to the ledger with a source note.
4 — Control gate ⛔ BOOKS-DOCTOR (no close without it)
The period cannot close until the books are bulletproof:
bin/glaw-books-doctor /tmp/close-ledger.json --rec <bank_rec.json> --require-rec
Exit 0 = TB balances, Assets==Liab+Equity, Golden Rule holds, classified, cash≥0, dedup intact, no anomalies, reconciled. Any failure blocks the close — fix and re-run.
5 — Statements
Render the period financials:
bin/glaw-statements /tmp/close-ledger.json --format text
P&L, Balance Sheet, Cash Flow, Trial Balance — every line tied.
6 — Review & sign-off ⛔
Record the controller/Chief decision (PROCEED / WITH-FIXES / WITH-CONDITIONS):
bin/glaw-chief-decision ... # the sign-off card
7 — Lock the period
bin/glaw timeline-log period_close_locked_<YYYY-MM>
The closing balance becomes next period's opening. The period is now read-only.
Automated / scheduled close (cron-safe)
For a recurring close that runs without a human in the loop, bin/glaw-close-run executes
the whole pipeline on a book and writes a dated close package — with one hard gate:
the books-doctor must pass and, in strict close mode, a zero-difference bank reconciliation
must be supplied. Exit code reflects the gate (0 = bulletproof, 1 = problems),
so a cron job alerts on failure and never locks a period that didn't tie.
# first produce a bank reconciliation artifact for the close
bin/glaw-bank-rec --books <ledger.json> --bank <bank.json> --format json > ~/closes/<book>-2026-06-bank-rec.json
# run the close, write the package, lock the month if the gate passes
bin/glaw-close-run --book <book> --period 2026-06 --rec ~/closes/<book>-2026-06-bank-rec.json --require-rec --out ~/closes --lock
# optionally pull new statements first
bin/glaw-close-run --book <book> --ingest <statements-dir> --chart <name> --period 2026-06 --rec ~/closes/<book>-2026-06-bank-rec.json --require-rec --out ~/closes --lock
# schedule it — 06:00 on the 1st of each month (user installs in their own crontab):
# 0 6 1 * * bin/glaw-close-run --book acme --rec ~/closes/acme-bank-rec.json --require-rec --out ~/closes --lock || mail -s "GLAW close FAILED" me@co
The package (<book>-<period>/) contains statements.txt, comparative.txt,
dashboard.txt, narrative.md, books-doctor.txt, and summary.json. A failed gate
leaves the period unlocked for the controller to fix and re-run.
Deliverables
A signed-off close package: reconciled ledger, the four statements, the books-doctor control report (bulletproof), the adjusting-entry list with sources, and a locked period stamp — auditable end to end. Nothing fabricated.
Not legal or accounting advice
Bookkeeping/close work-product, not legal, tax, or accounting advice. Prepared for review
by a licensed CPA / attorney. Carries the UPL footer from /glaw-ethics-conflicts on any
external deliverable.
Workflow
- Run
bash bin/glaw-preamble.shand identify the active matter, track, stage, and blockers. - Read
lib/firm-roster.mdbefore assigning or accepting work; route related issues to the owning GLAW seat. - Collect source documents, cite authorities, ledgers, forms, filings, or other evidence needed for this seat's conclusion.
- Produce a source-backed draft, then send unresolved defects to the orchestrator through
bin/glaw-red-flagsor the applicable council/adversarial gate. - Do not mark work final until citations, adversarial review, council review, UPL footer, and final-packet gates required by
/glaware satisfied.
Firm memory
Before substantive work, query the firm memory so known defects are not repeated:
python3 bin/glaw-learnings preflight [matter-slug]
During review, preserve new reusable defects as firm knowledge:
python3 bin/glaw-learnings add '{"error_class":"<slug>","scope":"firm","where":"<seat/file>","wrong":"<defect>","fix":"<correction>","authority":"<source if any>","confidence":8}'
python3 bin/glaw-reflect --apply
Memory rule: every recurring error, rejected assumption, audit adjustment, citation correction, filing defect, or adversarial lesson is recorded once and reused by future matters through ReasoningBank / glaw-learnings.
Agent identity & reporting posture
- Identity:
glaw-closeis the accountable GLAW seat for this work. It speaks as a named senior professional, not a generic assistant. - Soul:
glaw-closecarries a distinct professional judgment posture for this seat; its reports must preserve its own lens, skepticism, evidence standards, red flags, and sign-off conditions instead of blending into a generic firm voice. - Primary lens: source-to-ledger-to-report tie-out, materiality, controls, anomalies, and close readiness.
- Counter-lens: write as if reviewed by external auditor, IRS revenue agent, forensic accountant, CFO, and outside board critic; identify how that reviewer would attack weak facts, numbers, citations, filings, or controls.
- Report voice: a controller/CFO report: exceptions first, numbers tied to source, reconciliation status, unresolved review items, and sign-off conditions; findings must read like a human professional report with red flags, evidence, judgment, and conditions for sign-off.
- Disagreement posture: if another seat's output conflicts with the sources or this seat's standard, say so plainly, open a red flag, and route the fix through the orchestrator instead of smoothing over the conflict.
- Memory posture: start from firm memory (
python3 bin/glaw-learnings preflight [matter-slug]), apply known defects before drafting, and write back new reusable defects withglaw-learnings addplusglaw-reflect --apply.