month-end-close – skill Viết lách & Nội dung cho agent AI
Dùng khi chạy, lên kế hoạch hoặc tăng tốc quy trình đóng sổ cuối tháng (hoặc cuối quý) — xây dựng hoặc rà soát checklist và lịch đóng sổ, đối chiếu sao kê ngân hàng hoặc sổ phụ với sổ cái, viết hoặc rà soát giải thích chênh lệch (flux), hoặc tìm nguyên nhân khiến việc đóng sổ kéo dài quá nhiều ngày. Sắp xếp các tác vụ đóng sổ theo
Cài skill month-end-close bằng một lệnh
Chọn công cụ bạn đang dùng, copy lệnh và dán vào terminal. Skill sẽ nằm trong thư mục skills của công cụ đó và sẵn sàng dùng ở phiên làm việc tiếp theo.
Claude Code
mkdir -p ~/.claude/skills && curl -fsSL https://skill.dn1nguoi.com/z/month-end-close-b0117.tgz | tar xz -C ~/.claude/skills
Gọi trong Claude Code: /month-end-close – rồi mô tả công việc bạn muốn làm.
Codex
mkdir -p ~/.codex/skills && curl -fsSL https://skill.dn1nguoi.com/z/month-end-close-b0117.tgz | tar xz -C ~/.codex/skills
Gọi trong Codex: $month-end-close – rồi mô tả công việc bạn muốn làm.
Hermes Agent
mkdir -p ~/.hermes/skills && curl -fsSL https://skill.dn1nguoi.com/z/month-end-close-b0117.tgz | tar xz -C ~/.hermes/skills
Gọi trong Hermes Agent: /month-end-close – rồi mô tả công việc bạn muốn làm.
DeepSeek
mkdir -p ~/.deepcode/skills && curl -fsSL https://skill.dn1nguoi.com/z/month-end-close-b0117.tgz | tar xz -C ~/.deepcode/skills
Gọi trong DeepSeek: /month-end-close – rồi mô tả công việc bạn muốn làm.
Nội dung SKILL.md
Nội dung SKILL.md gốc bằng tiếng Anh.
Month-End Close
> Portability: 3 stdlib scripts, no network, no ERP connection. Export CSV or JSON; the scripts plan, prove and gate.
> Not accounting or audit advice. Thresholds and aging limits are your policy; the scripts make you state them.
A slow close is rarely slow everywhere. One chain of dependent tasks sets the
close date, reconciliations "agree" without a proof, and flux review accepts
"timing" as a reason. Each script attacks one of those.
Workflow
# 1 - Calendar: dependency order, critical path, owners, reviewers, load.
python scripts/close_calendar_planner.py --plan close_plan.json
# 2 - Reconciliations: match, prove, age. One run per account.
python scripts/reconciliation_matcher.py --gl gl_cash.csv --source bank.csv \
--gl-balance 52708.60 --source-balance 47144.72 --as-of 2026-10-31 --preparer Sam --reviewer Lee
# 3 - Flux: every material change needs a quantified, evidenced explanation.
python scripts/flux_analyzer.py --input tb_compare.csv --pct 10 --abs 10000 --reviewer LeeStep 1 schedules each task as soon as its predecessors finish, then checks
the plan against people: one person booked for 1.5 days on WD1 is a plan that
will slip. Speed up the critical path, nothing else.
Step 2 matches by reference, then by amount within a date window, then pairs
digit transpositions (7,980 vs 7,890) into one correcting entry. What is left is
a reconciling item: in the GL only (timing) or in the source only (book a journal
entry). Opening-balance rows are balances, not transactions: when the two sides
open at different amounts, that difference came from last month and blocks
sign-off until it is traced there; it is never booked this period. The proof
must close to zero.
Step 3 marks an account material when it passes your threshold rule, flips
sign, or appears or disappears. Its explanation fails if it is missing, stock
("timing", "in line with expectations"), or has no number in it.
The gates block on (exit 4)
1. A task with no owner, or a key control with no reviewer or reviewed by its preparer.
2. A plan whose critical path ends after the target workday.
3. A reconciliation that does not prove, or an item older than the stale limit (default 90 days, policy).
4. Preparer and reviewer being the same person, or a flux reviewer who owns the line.
5. A material fluctuation with a missing, boilerplate or unquantified explanation.
Hard rules
- A sign-off is not evidence of review. Record what was checked and where the support is.
- Never plug a reconciliation. An unexplained difference is a finding until someone explains it.
- Thresholds are policy, not standards. No auditing standard prescribes "10% and 10,000". State yours.
- Explanations name the driver and the amount: what moved, by how much, why, and the document behind it.
- Do not speed up off-critical-path tasks to shorten the close; they have slack.
Scripts
| Script | Role | Exit codes |
|---|---|---|
| scripts/close_calendar_planner.py | Topological order, critical path, slack, WD deadlines, calendar dates, owner load, reviewer segregation | 0 · 2 at risk · 3 bad input or cycle · 4 blocked |
| scripts/reconciliation_matcher.py | Two-pass matching, proof, aging buckets, journal entries needed, review check | 0 · 2 items · 3 · 4 unreconciled |
| scripts/flux_analyzer.py | Materiality by your rule, sign flips, explanation lint, evidence check, self-review | 0 · 2 evidence · 3 · 4 incomplete |
All support --sample and --output json.
References and assets
- [
references/close_calendar_and_benchmarks.md](references/close_calendar_and_benchmarks.md) — task order, critical path, days-to-close benchmarks and their caveats (6 sources) - [
references/reconciliation_standards.md](references/reconciliation_standards.md) — what a reconciliation must contain, aging, segregation, review precision (6 sources) - [
references/flux_analysis_and_materiality.md](references/flux_analysis_and_materiality.md) — expectations, thresholds, corroboration, materiality rules of thumb (6 sources) - [
assets/close_plan.example.json](assets/close_plan.example.json), [assets/gl_cash.example.csv](assets/gl_cash.example.csv), [assets/bank_statement.example.csv](assets/bank_statement.example.csv), [assets/flux_input.example.csv](assets/flux_input.example.csv) — input formats - [
assets/reconciliation_signoff.md](assets/reconciliation_signoff.md) — sign-off sheet with the evidence fields a reviewer fills in
Skill liên quan
- define-my-content-pillars – Tìm ra 3 đến 5 chủ đề mà người dùng có thể đăng liên tục, dựa trên những gì họ đã xuất…
- defuddle – Trích xuất nội dung markdown sạch từ trang web bằng Defuddle CLI, loại bỏ phần rối và…
- delegate-setup – Cấu hình các làn ủy quyền đã được phê duyệt trên các CLI implementer đã cài, bao gồm lựa…
- dev-to-hashnode – Khi người dùng muốn đăng bài lên Dev.to, Hashnode hoặc các nền tảng blog dành cho lập…
- developer-newsletter – Khi người dùng muốn tạo, viết hoặc cải thiện bản tin (newsletter) cho đối tượng lập…
- devrel-content – Dùng khi người dùng muốn tạo nội dung kỹ thuật cho lập trình viên, gồm bài blog, hướng…
- post-mortem – /c-level-agents:post-mortem [quyết định] — Đánh giá hồi cứu trung thực về một quyết định…
- postmortem – /em:postmortem — Phân tích trung thực về những gì đã sai. Dùng sau khi ra mắt thất bại…