opencode-skills-collection 4.1.1 → 4.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of opencode-skills-collection might be problematic. Click here for more details.

Files changed (274) hide show
  1. package/bundled-skills/.antigravity-install-manifest.json +133 -1
  2. package/bundled-skills/360-feedback-system/SKILL.md +481 -0
  3. package/bundled-skills/access-matrix/SKILL.md +338 -0
  4. package/bundled-skills/accounting-audit-system-builder/SKILL.md +302 -0
  5. package/bundled-skills/accounting-audit-system-builder/references/catalog.md +114 -0
  6. package/bundled-skills/accounting-software-selection/SKILL.md +427 -0
  7. package/bundled-skills/accounting-software-selection/references/build-artifacts.md +362 -0
  8. package/bundled-skills/accounting-software-selection/references/common-pitfalls.md +44 -0
  9. package/bundled-skills/accounting-software-selection/references/field-reference.md +93 -0
  10. package/bundled-skills/accounting-software-selection/references/select-options.md +202 -0
  11. package/bundled-skills/admin-access-register/SKILL.md +381 -0
  12. package/bundled-skills/advanced-analytics-dashboard/SKILL.md +318 -0
  13. package/bundled-skills/ai-image-generation-studio/SKILL.md +259 -0
  14. package/bundled-skills/ai-logo-maker/SKILL.md +259 -0
  15. package/bundled-skills/ai-multilingual-dubbing/SKILL.md +259 -0
  16. package/bundled-skills/ai-photo-restyler/SKILL.md +259 -0
  17. package/bundled-skills/ai-podcast-voiceover/SKILL.md +259 -0
  18. package/bundled-skills/alumni-re-hire-tracker/SKILL.md +314 -0
  19. package/bundled-skills/announcement-board/SKILL.md +336 -0
  20. package/bundled-skills/antigravity-maintainer-batch-release/SKILL.md +63 -4
  21. package/bundled-skills/asset-it-management/SKILL.md +407 -0
  22. package/bundled-skills/attendance/SKILL.md +331 -0
  23. package/bundled-skills/audit-log/SKILL.md +314 -0
  24. package/bundled-skills/audit-preparation/SKILL.md +416 -0
  25. package/bundled-skills/beatra/SKILL.md +260 -0
  26. package/bundled-skills/board-governance/SKILL.md +360 -0
  27. package/bundled-skills/brand-growth-system-builder/SKILL.md +360 -0
  28. package/bundled-skills/brand-kit-print-collateral/SKILL.md +498 -0
  29. package/bundled-skills/buddy-program-manager/SKILL.md +329 -0
  30. package/bundled-skills/budget-cash-flow/SKILL.md +352 -0
  31. package/bundled-skills/busabase/SKILL.md +118 -0
  32. package/bundled-skills/business-email-template/SKILL.md +480 -0
  33. package/bundled-skills/business-email-template/references/common-pitfalls.md +30 -0
  34. package/bundled-skills/business-website-setup/SKILL.md +489 -0
  35. package/bundled-skills/business-website-setup/references/common-pitfalls.md +32 -0
  36. package/bundled-skills/candidate-talent-pool/SKILL.md +359 -0
  37. package/bundled-skills/capacity-workload-planner/SKILL.md +354 -0
  38. package/bundled-skills/changelog-entry/SKILL.md +141 -0
  39. package/bundled-skills/clients-accounts/SKILL.md +398 -0
  40. package/bundled-skills/code-of-conduct/SKILL.md +488 -0
  41. package/bundled-skills/code-of-conduct/references/common-pitfalls.md +31 -0
  42. package/bundled-skills/company-email-accounts/SKILL.md +404 -0
  43. package/bundled-skills/competency-matrix/SKILL.md +335 -0
  44. package/bundled-skills/contract-document-renewal/SKILL.md +396 -0
  45. package/bundled-skills/course-upskilling-requests/SKILL.md +354 -0
  46. package/bundled-skills/credit-cycle-analysis/SKILL.md +303 -0
  47. package/bundled-skills/credit-cycle-analysis/references/best-practices.md +35 -0
  48. package/bundled-skills/credit-cycle-analysis/references/common-pitfalls.md +5 -0
  49. package/bundled-skills/credit-cycle-analysis/references/examples.md +34 -0
  50. package/bundled-skills/credit-cycle-analysis/references/field-reference.md +47 -0
  51. package/bundled-skills/credit-cycle-analysis/references/how-it-works.md +494 -0
  52. package/bundled-skills/credit-cycle-analysis/references/security-notes.md +16 -0
  53. package/bundled-skills/credit-cycle-analysis/references/select-options.md +32 -0
  54. package/bundled-skills/csv-manual-export/SKILL.md +499 -0
  55. package/bundled-skills/csv-manual-export/references/common-pitfalls.md +19 -0
  56. package/bundled-skills/culture-retention/SKILL.md +346 -0
  57. package/bundled-skills/data-export-engine/SKILL.md +308 -0
  58. package/bundled-skills/data-privacy-controls/SKILL.md +317 -0
  59. package/bundled-skills/day-book/SKILL.md +499 -0
  60. package/bundled-skills/day-book/references/best-practices.md +32 -0
  61. package/bundled-skills/day-book/references/common-pitfalls.md +58 -0
  62. package/bundled-skills/day-book/references/field-reference.md +45 -0
  63. package/bundled-skills/day-book/references/how-it-works.md +7 -0
  64. package/bundled-skills/day-book/references/related-skills.md +18 -0
  65. package/bundled-skills/day-book/references/relations.md +14 -0
  66. package/bundled-skills/day-book/references/reusable-prompt.md +50 -0
  67. package/bundled-skills/day-book/references/security-safety-notes.md +19 -0
  68. package/bundled-skills/day-book/references/select-options.md +38 -0
  69. package/bundled-skills/deep-research-framework/SKILL.md +81 -0
  70. package/bundled-skills/dei-dashboard/SKILL.md +307 -0
  71. package/bundled-skills/design-theme-guide/SKILL.md +472 -0
  72. package/bundled-skills/disciplinary-pip-tracker/SKILL.md +345 -0
  73. package/bundled-skills/document-management-system/SKILL.md +328 -0
  74. package/bundled-skills/ecommerce-listing-image-set/SKILL.md +259 -0
  75. package/bundled-skills/employee-suggestion-hub/SKILL.md +322 -0
  76. package/bundled-skills/esop-equity-tracker/SKILL.md +331 -0
  77. package/bundled-skills/events-activities/SKILL.md +355 -0
  78. package/bundled-skills/expense-accounting/SKILL.md +496 -0
  79. package/bundled-skills/expense-accounting/references/common-pitfalls.md +41 -0
  80. package/bundled-skills/expense-accounting/references/related-skills.md +11 -0
  81. package/bundled-skills/expense-accounting/references/reusable-prompt.md +36 -0
  82. package/bundled-skills/expense-management/SKILL.md +351 -0
  83. package/bundled-skills/five-axis-code-review/SKILL.md +78 -0
  84. package/bundled-skills/free-design-resources/SKILL.md +480 -0
  85. package/bundled-skills/free-design-resources/references/common-pitfalls.md +44 -0
  86. package/bundled-skills/free-design-resources/references/related-skills.md +24 -0
  87. package/bundled-skills/free-design-resources/references/reusable-prompt.md +12 -0
  88. package/bundled-skills/gamification-engine/SKILL.md +307 -0
  89. package/bundled-skills/gbp-local-seo-intent/SKILL.md +466 -0
  90. package/bundled-skills/gbp-local-seo-intent/references/best-practices.md +41 -0
  91. package/bundled-skills/gbp-local-seo-intent/references/common-pitfalls.md +40 -0
  92. package/bundled-skills/gbp-local-seo-intent/references/related-skills.md +17 -0
  93. package/bundled-skills/gbp-local-seo-intent/references/reusable-prompt.md +11 -0
  94. package/bundled-skills/gbp-local-seo-intent/references/security-safety-notes.md +27 -0
  95. package/bundled-skills/git-commit-message/SKILL.md +76 -0
  96. package/bundled-skills/health-wellness/SKILL.md +334 -0
  97. package/bundled-skills/idea-to-blueprint/LICENSE +21 -0
  98. package/bundled-skills/idea-to-blueprint/SKILL.md +260 -0
  99. package/bundled-skills/idea-to-blueprint/assets/AGENTS.md.template +38 -0
  100. package/bundled-skills/idea-to-blueprint/assets/CLAUDE.md.template +38 -0
  101. package/bundled-skills/idea-to-blueprint/assets/DECISIONS.md.template +14 -0
  102. package/bundled-skills/idea-to-blueprint/assets/PROGRESS.md.template +47 -0
  103. package/bundled-skills/idea-to-blueprint/assets/session-prompt.md +23 -0
  104. package/bundled-skills/idea-to-blueprint/references/architecture-decisions.md +202 -0
  105. package/bundled-skills/idea-to-blueprint/references/blueprint-template.md +259 -0
  106. package/bundled-skills/idea-to-blueprint/references/code-quality-and-review.md +216 -0
  107. package/bundled-skills/idea-to-blueprint/references/design-minimal.md +96 -0
  108. package/bundled-skills/idea-to-blueprint/references/edge-case-catalog.md +239 -0
  109. package/bundled-skills/idea-to-blueprint/references/intake-questions.md +105 -0
  110. package/bundled-skills/idea-to-blueprint/references/research-protocol.md +196 -0
  111. package/bundled-skills/idea-to-blueprint/references/session-protocol.md +133 -0
  112. package/bundled-skills/idea-to-blueprint/references/stories-ac-tests.md +194 -0
  113. package/bundled-skills/idea-to-blueprint/references/ux-writing-guide.md +128 -0
  114. package/bundled-skills/idea-to-blueprint/scripts/lint_blueprint.py +460 -0
  115. package/bundled-skills/intern-program/SKILL.md +354 -0
  116. package/bundled-skills/internal-communication/SKILL.md +318 -0
  117. package/bundled-skills/inventory-stock-reconciliation/SKILL.md +470 -0
  118. package/bundled-skills/inventory-stock-reconciliation/references/best-practices.md +18 -0
  119. package/bundled-skills/inventory-stock-reconciliation/references/common-pitfalls.md +42 -0
  120. package/bundled-skills/inventory-stock-reconciliation/references/related-skills.md +13 -0
  121. package/bundled-skills/inventory-stock-reconciliation/references/relations.md +8 -0
  122. package/bundled-skills/inventory-stock-reconciliation/references/reusable-prompt.md +31 -0
  123. package/bundled-skills/inventory-stock-reconciliation/references/security-safety-notes.md +17 -0
  124. package/bundled-skills/inventory-stock-reconciliation/references/select-options.md +45 -0
  125. package/bundled-skills/invoices-billing/SKILL.md +385 -0
  126. package/bundled-skills/issue-grievance-tracker/SKILL.md +400 -0
  127. package/bundled-skills/json-schema-manual/SKILL.md +309 -0
  128. package/bundled-skills/json-schema-manual/references/best-practices.md +9 -0
  129. package/bundled-skills/json-schema-manual/references/common-pitfalls.md +25 -0
  130. package/bundled-skills/json-schema-manual/references/input-modules.md +203 -0
  131. package/bundled-skills/json-schema-manual/references/related-skills.md +8 -0
  132. package/bundled-skills/json-schema-manual/references/reusable-prompt.md +10 -0
  133. package/bundled-skills/json-schema-manual/references/security-safety-notes.md +13 -0
  134. package/bundled-skills/knowledge-base/SKILL.md +318 -0
  135. package/bundled-skills/kpi-tracker/SKILL.md +345 -0
  136. package/bundled-skills/learning-career-development/SKILL.md +349 -0
  137. package/bundled-skills/leave-management/SKILL.md +341 -0
  138. package/bundled-skills/legal-compliance-vault/SKILL.md +324 -0
  139. package/bundled-skills/linktree-link-hub/SKILL.md +453 -0
  140. package/bundled-skills/liuguang-banlan-ui/SKILL.md +22 -18
  141. package/bundled-skills/liuguang-banlan-ui/assets/starter/launcher.css +2 -2
  142. package/bundled-skills/liuguang-banlan-ui/assets/starter/obsidian/index.html +5 -4
  143. package/bundled-skills/liuguang-banlan-ui/assets/starter/obsidian/theme-config.js +3 -10
  144. package/bundled-skills/liuguang-banlan-ui/assets/starter/obsidian/theme.css +48 -62
  145. package/bundled-skills/liuguang-banlan-ui/assets/starter/opal/index.html +5 -4
  146. package/bundled-skills/liuguang-banlan-ui/assets/starter/opal/theme-config.js +27 -35
  147. package/bundled-skills/liuguang-banlan-ui/assets/starter/opal/theme.css +48 -62
  148. package/bundled-skills/liuguang-banlan-ui/assets/starter/shared/spectral-field.js +135 -148
  149. package/bundled-skills/liuguang-banlan-ui/references/style-contract.md +26 -7
  150. package/bundled-skills/liuguang-banlan-ui/references/verification.md +19 -7
  151. package/bundled-skills/liuguang-banlan-ui/scripts/measure_preview.py +78 -47
  152. package/bundled-skills/liuguang-banlan-ui/scripts/serve_preview.py +35 -0
  153. package/bundled-skills/liuguang-banlan-ui/scripts/validate_manifest.py +34 -3
  154. package/bundled-skills/liuguang-banlan-ui/tests/test_measure_preview.py +119 -0
  155. package/bundled-skills/liuguang-banlan-ui/tests/test_serve_preview.py +38 -0
  156. package/bundled-skills/liuguang-banlan-ui/tests/test_validate_manifest.py +73 -0
  157. package/bundled-skills/logo-image-design/SKILL.md +459 -0
  158. package/bundled-skills/loki-mode/examples/todo-app-generated/frontend/package-lock.json +12 -12
  159. package/bundled-skills/loki-mode/examples/todo-app-generated/frontend/package.json +1 -1
  160. package/bundled-skills/meeting-notes/SKILL.md +80 -0
  161. package/bundled-skills/mentorship-program/SKILL.md +332 -0
  162. package/bundled-skills/mirrord/SKILL.md +90 -0
  163. package/bundled-skills/monthly-closing-statements/SKILL.md +488 -0
  164. package/bundled-skills/monthly-closing-statements/references/related-skills.md +17 -0
  165. package/bundled-skills/monthly-closing-statements/references/reusable-prompt.md +8 -0
  166. package/bundled-skills/music-generation-studio/SKILL.md +259 -0
  167. package/bundled-skills/notification-reminder-hub/SKILL.md +324 -0
  168. package/bundled-skills/notion-manual-import/SKILL.md +376 -0
  169. package/bundled-skills/notion-manual-import/references/best-practices.md +10 -0
  170. package/bundled-skills/notion-manual-import/references/common-pitfalls.md +26 -0
  171. package/bundled-skills/notion-manual-import/references/input-modules.md +203 -0
  172. package/bundled-skills/notion-manual-import/references/related-skills.md +7 -0
  173. package/bundled-skills/notion-manual-import/references/reusable-prompt.md +8 -0
  174. package/bundled-skills/notion-manual-import/references/security-safety-notes.md +15 -0
  175. package/bundled-skills/observability-cloud-planning/SKILL.md +487 -0
  176. package/bundled-skills/observability-cloud-planning/references/common-pitfalls.md +39 -0
  177. package/bundled-skills/observability-cloud-planning/references/related-skills.md +20 -0
  178. package/bundled-skills/observability-cloud-planning/references/reusable-prompt.md +12 -0
  179. package/bundled-skills/observability-cloud-planning/references/security-safety-notes.md +30 -0
  180. package/bundled-skills/offboarding-exit/SKILL.md +343 -0
  181. package/bundled-skills/offer-appointment/SKILL.md +351 -0
  182. package/bundled-skills/okr-system/SKILL.md +355 -0
  183. package/bundled-skills/onboarding-playbook/SKILL.md +292 -0
  184. package/bundled-skills/organization-design/SKILL.md +324 -0
  185. package/bundled-skills/party-ledger-reconciliation/SKILL.md +411 -0
  186. package/bundled-skills/payment-accounting/SKILL.md +421 -0
  187. package/bundled-skills/payments-received/SKILL.md +315 -0
  188. package/bundled-skills/payroll-finance/SKILL.md +351 -0
  189. package/bundled-skills/people-directory/SKILL.md +459 -0
  190. package/bundled-skills/performance-management/SKILL.md +367 -0
  191. package/bundled-skills/petty-cash-management/SKILL.md +448 -0
  192. package/bundled-skills/policy-acknowledgement/SKILL.md +314 -0
  193. package/bundled-skills/policy-library/SKILL.md +327 -0
  194. package/bundled-skills/poster-design-studio/SKILL.md +259 -0
  195. package/bundled-skills/pre-boarding/SKILL.md +326 -0
  196. package/bundled-skills/presentation-deck/SKILL.md +491 -0
  197. package/bundled-skills/presentation-deck/references/related-skills.md +19 -0
  198. package/bundled-skills/presentation-deck/references/reusable-prompt.md +11 -0
  199. package/bundled-skills/probation-tracker/SKILL.md +347 -0
  200. package/bundled-skills/product-photo-studio/SKILL.md +259 -0
  201. package/bundled-skills/project-based-performance/SKILL.md +323 -0
  202. package/bundled-skills/projects-work-management/SKILL.md +368 -0
  203. package/bundled-skills/promotion-upgrade-requests/SKILL.md +377 -0
  204. package/bundled-skills/purchase-accounting/SKILL.md +414 -0
  205. package/bundled-skills/receipt-accounting/SKILL.md +424 -0
  206. package/bundled-skills/recognition-rewards/SKILL.md +324 -0
  207. package/bundled-skills/recruitment-pipeline/SKILL.md +399 -0
  208. package/bundled-skills/remote-work-tracker/SKILL.md +306 -0
  209. package/bundled-skills/repo-foundation/SKILL.md +166 -0
  210. package/bundled-skills/repo-foundation/references/LICENSE.md +21 -0
  211. package/bundled-skills/repo-foundation/references/bootstrap.md +63 -0
  212. package/bundled-skills/repo-foundation/references/companion.md +9 -0
  213. package/bundled-skills/repo-foundation/references/continuity.md +50 -0
  214. package/bundled-skills/repo-foundation/references/evolution.md +60 -0
  215. package/bundled-skills/repo-foundation/references/migration-examples.md +53 -0
  216. package/bundled-skills/repo-foundation/references/shared-contracts.md +48 -0
  217. package/bundled-skills/repo-foundation/references/verification.md +50 -0
  218. package/bundled-skills/repo-native-refactor/SKILL.md +225 -0
  219. package/bundled-skills/repo-native-refactor/references/LICENSE.md +21 -0
  220. package/bundled-skills/repo-native-refactor/references/deterministic-tooling.md +101 -0
  221. package/bundled-skills/repo-native-refactor/references/error-reliability.md +117 -0
  222. package/bundled-skills/repo-native-refactor/references/finding-taxonomy.md +181 -0
  223. package/bundled-skills/repo-native-refactor/references/refactor-examples.md +77 -0
  224. package/bundled-skills/repo-native-refactor/references/repository-prose.md +157 -0
  225. package/bundled-skills/repo-native-refactor/references/repository-rehabilitation.md +94 -0
  226. package/bundled-skills/repo-native-refactor/references/semantic-risk.md +187 -0
  227. package/bundled-skills/repo-native-refactor/references/shared-contracts.md +48 -0
  228. package/bundled-skills/repo-native-refactor/references/testing-integrity.md +103 -0
  229. package/bundled-skills/reports-analytics/SKILL.md +320 -0
  230. package/bundled-skills/salary-benchmarking/SKILL.md +318 -0
  231. package/bundled-skills/salary-wage-accounting/SKILL.md +412 -0
  232. package/bundled-skills/sales-accounting/SKILL.md +494 -0
  233. package/bundled-skills/sales-accounting/references/common-pitfalls.md +28 -0
  234. package/bundled-skills/sales-accounting/references/related-skills.md +13 -0
  235. package/bundled-skills/sales-accounting/references/reusable-prompt.md +8 -0
  236. package/bundled-skills/seo-directory-backlinks/SKILL.md +484 -0
  237. package/bundled-skills/seo-directory-backlinks/references/common-pitfalls.md +36 -0
  238. package/bundled-skills/seo-directory-backlinks/references/related-skills.md +15 -0
  239. package/bundled-skills/seo-directory-backlinks/references/reusable-prompt.md +11 -0
  240. package/bundled-skills/skill-gap-analysis/SKILL.md +338 -0
  241. package/bundled-skills/social-media-setup/SKILL.md +477 -0
  242. package/bundled-skills/social-media-setup/references/common-pitfalls.md +34 -0
  243. package/bundled-skills/social-media-setup/references/related-skills.md +19 -0
  244. package/bundled-skills/social-media-setup/references/reusable-prompt.md +11 -0
  245. package/bundled-skills/social-media-setup/references/security-safety-notes.md +27 -0
  246. package/bundled-skills/sop-company-wiki/SKILL.md +324 -0
  247. package/bundled-skills/source-document-filing/SKILL.md +368 -0
  248. package/bundled-skills/spreadsheet-manual-build/SKILL.md +493 -0
  249. package/bundled-skills/spreadsheet-manual-build/references/best-practices.md +9 -0
  250. package/bundled-skills/spreadsheet-manual-build/references/common-pitfalls.md +22 -0
  251. package/bundled-skills/spreadsheet-manual-build/references/related-skills.md +8 -0
  252. package/bundled-skills/spreadsheet-manual-build/references/reusable-prompt.md +9 -0
  253. package/bundled-skills/spreadsheet-manual-build/references/security-safety-notes.md +16 -0
  254. package/bundled-skills/stakeholder-investor-reports/SKILL.md +303 -0
  255. package/bundled-skills/suno-lyrics-to-song/SKILL.md +259 -0
  256. package/bundled-skills/talking-avatar-video/SKILL.md +260 -0
  257. package/bundled-skills/tax-register/SKILL.md +363 -0
  258. package/bundled-skills/tds-booking-payment/SKILL.md +405 -0
  259. package/bundled-skills/team-calendar/SKILL.md +312 -0
  260. package/bundled-skills/tech-writing-proofread/SKILL.md +78 -0
  261. package/bundled-skills/telegram/assets/boilerplate/nodejs/package-lock.json +3 -3
  262. package/bundled-skills/telegram/assets/boilerplate/nodejs/package.json +1 -0
  263. package/bundled-skills/template-library/SKILL.md +304 -0
  264. package/bundled-skills/time-tracking/SKILL.md +353 -0
  265. package/bundled-skills/typescript-expert/scripts/ts_diagnostic.py +40 -19
  266. package/bundled-skills/vendor-contractor-management/SKILL.md +327 -0
  267. package/bundled-skills/viral-video-teardown-remake/SKILL.md +260 -0
  268. package/bundled-skills/voice-cloning-studio/SKILL.md +260 -0
  269. package/bundled-skills/voiceover-narration-studio/SKILL.md +259 -0
  270. package/bundled-skills/whatsapp-cloud-api/assets/boilerplate/nodejs/package-lock.json +3 -3
  271. package/bundled-skills/whatsapp-cloud-api/assets/boilerplate/nodejs/package.json +1 -0
  272. package/bundled-skills/youtube-summarizer/SKILL.md +3 -3
  273. package/package.json +1 -1
  274. package/skills_index.json +254 -0
@@ -0,0 +1,499 @@
1
+ ---
2
+ name: day-book
3
+ description: 'Daily cash, bank and digital day book: opening and closing balances per book, in/out movements, debit/credit presentation and reconciliation status. Use for daily bookkeeping.'
4
+ category: business
5
+ risk: safe
6
+ source: self
7
+ source_type: self
8
+ date_added: "2026-09-26"
9
+ author: WHOISABHISHEKADHIKARI
10
+ tags: [sme, accounting, audit, finance, database, csv, notion, sql, day-book, cash-book, bank-book, reconciliation]
11
+ tools: []
12
+ source_repo: WHOISABHISHEKADHIKARI/sme-ops-system-builder
13
+ ---
14
+
15
+ # Day Book
16
+
17
+ **What it is:** The daily cash, bank and digital receipt-and-payment record, with a day-end control row that reconciles the day before it is closed.
18
+
19
+ ## Overview
20
+
21
+ Works out the smallest useful **Day Book** setup for the business in front of it, then builds it
22
+ only when asked. The default output is a short recommendation, not a spreadsheet. Artifacts - CSV,
23
+ SQL DDL, JSON Schema, Notion mapping - are produced on request, from one field list so they
24
+ cannot drift apart.
25
+
26
+ Layer: Layer 4: Cash. Fits: Starter stage. Table code: n/a.
27
+
28
+ **Before anything is generated, the design is checked against itself.** A day book is the easiest
29
+ table in the pack to write badly, because the same column can mean two different things on two
30
+ different rows and neither reading looks wrong on its own. So before emitting any artifact:
31
+
32
+ - Look for conflicts in the rules, the examples, the field definitions, the row meanings and the
33
+ output formats. Where the design, the examples or the business's existing sheet disagree with
34
+ each other, do not reproduce them as they stand.
35
+ - Name the conflict out loud, then resolve it with the simplest accounting-safe interpretation.
36
+ The simplest safe reading of a disputed field is the one that keeps cash equal to the bank
37
+ position and never invents a movement to make a total look right.
38
+ - Derive CSV, SQL DDL, JSON Schema and the Notion mapping from **one** field model afterwards, so
39
+ that no field exists in one artifact and is missing or differently defined in another.
40
+
41
+ **The rule this table exists to enforce: the debit/credit presentation of a day book depends on
42
+ the software's day-book format.** It is not a universal rule that all receipts are debit and all
43
+ payments are credit - some books present receipts on the payment side, some carry both columns,
44
+ some carry neither. So this table does not hardcode a Debit/Credit pair. `Debit/Credit
45
+ Presentation` is a text field that records the presentation **as configured in the business's own
46
+ software**, and the six in/out amount columns plus the six balance columns are the part that is
47
+ universal. Where a book labels its columns `Dr` and `Cr`, that label is what goes into
48
+ `Debit/Credit Presentation`; nothing in this table decides which side a receipt sits on.
49
+
50
+ **Two row types, and they are not the same kind of thing.** `Row Type` says which one a row is, and
51
+ the two are read differently.
52
+
53
+ | | `Movement` row | `Day Summary` row |
54
+ |---|---|---|
55
+ | What it is | one receipt or one payment | one per day, written after the day is closed |
56
+ | What it books | money, into exactly one book | no money at all - it totals and proves |
57
+ | `Book Section` | the one book it was booked to | `All Books` |
58
+ | `Mode` | the instrument used | `Mixed` when the day's instruments differ |
59
+ | The six In/Out columns | the amount in its own book, and the other two are not applicable | the day's totals for all three books |
60
+ | The six balance columns | brought forward, and the running balance **after** this entry | the day's opening and closing balances |
61
+ | `Transaction Reference`, `Voucher Number`, `Party` | the entry itself | the day's detail set, not a single voucher |
62
+ | `Duplicate Check` | this entry checked against the day's other entries | the whole day's set checked |
63
+ | `Balance Difference`, `Reconciliation Status` | not applicable - a single movement is not reconciled on its own | the day's break, and the status of it |
64
+
65
+ **What each balance field means.** Every one of the six balance fields is a balance, never a
66
+ movement. `Opening Cash Balance`, `Opening Bank Balance` and `Opening Digital Balance` are what
67
+ was brought into the day. `Cash Closing Balance`, `Bank Closing Balance` and `Digital Closing
68
+ Balance` are what was left at the end of it. The identity that connects them, per book, is:
69
+
70
+ ```
71
+ opening balance + money in - money out = closing balance
72
+ ```
73
+
74
+ On a `Day Summary` row that identity must hold separately for cash, for bank and for digital. On
75
+ a `Movement` row, the opening balance is what was brought forward into that entry and the closing
76
+ balance is the running balance **after** it, in that entry's own book only.
77
+
78
+ **The identity that carries the day forward.** A day's opening balance is not a fresh number. It
79
+ is the **previous day's closing balance** for the same book. So the check that closes a day is:
80
+
81
+ ```
82
+ previous day's closing balance + today's movement = today's closing balance
83
+ ```
84
+
85
+ Where it does not hold, the difference goes in `Balance Difference` - signed, and not spread
86
+ across the books - and `Reconciliation Status` is set to `Needs Review` or `Unreconciled`. The
87
+ component is never edited to make the row tie. A day book whose balances are adjusted until they
88
+ agree records nothing about the business.
89
+
90
+ **`Balance Difference` and `Reconciliation Status`.** `Balance Difference` is the total
91
+ unexplained difference across the three books on that row: negative where the book is above the
92
+ counted or agreed figure, positive where it is below. Where a difference is confined to one book,
93
+ write which one in `Notes` with both figures, because one column cannot hold three breaks.
94
+ `Reconciliation Status` is the **worst** of the three books, never the best. A bank balance that
95
+ agrees does not make a cash count that does not agree reconciled.
96
+
97
+ **A day is not `Done` while the cash count or the bank position is unreconciled.** Neither is it
98
+ `Done` while `Duplicate Check` is `Not Checked`, or `Reconciliation Status` is anything other than
99
+ `Reconciled`, or while an entry is `Blocked`. `Entry Verified` is the workflow status
100
+ (`Not started | In progress | Blocked | Done | Cancelled`) and it moves to `Done` only when the
101
+ control row for that day is clean, or when a human has reviewed and accepted a recorded difference.
102
+
103
+ **Money, dates and rounding.** Amounts are the gross amounts that actually moved, exactly as
104
+ recorded in the business's books, tax-inclusive where the entry was tax-inclusive. This module
105
+ does not split tax out of a movement. Money is a bare number with no currency symbol in the cell,
106
+ and the currency itself is `Unknown` until the user states it. Dates are ISO `YYYY-MM-DD` in real
107
+ date fields. Round once, at the end, to two decimal places, so the day's components re-derive the
108
+ day's totals.
109
+
110
+ ## When to Use This Skill
111
+
112
+ - day book
113
+ - daily cash and bank book
114
+ - cash book and bank book
115
+ - daily receipts and payments register
116
+ - end-of-day balance check
117
+ - petty cash day sheet
118
+
119
+ Also use it when the user says "the daily cash, bank and digital receipt-and-payment record, with a
120
+ day-end control row that reconciles the day before it is closed", or describes the same process
121
+ happening in a spreadsheet, a document or someone inboxes.
122
+
123
+ Do not use it for: making payments, recording receipts in detail, tax filing, or legal advice. This
124
+ skill produces empty templates only - it never holds or processes real transaction data.
125
+
126
+ ## How It Works
127
+
128
+ Follow the shared execution contract. The module-specific rules below define only domain fields, decisions, calculations, and safety constraints.
129
+
130
+ ### Step 1 - Identify intent
131
+
132
+ Read the request and pick the intent before asking anything.
133
+
134
+ - "set up" or "build" or "create" -> the user wants artifacts; go to Step 2.
135
+ - "our process is ..." or "it is in a sheet" -> `import` or `fix`; capture what is there, then Step 2.
136
+ - "is this right" or "review this" or "audit this" -> `review`; answer from what they share and do
137
+ not rebuild anything.
138
+ - "show me the movement" or "where did the cash go" -> `report`; answer from what they share.
139
+ - "how do I ..." -> advice question; answer directly and offer the build only if it helps.
140
+
141
+ If the intent is already clear from the request, do not ask the user to repeat it.
142
+
143
+ On a `review`, check the design against itself before checking the numbers: the rules against the
144
+ examples, the field definitions against the row meanings, and the four artifacts against each
145
+ other. Report the conflicts and the simplest accounting-safe reading of each, then report the
146
+ control gaps - an unreconciled balance with no difference field, a `Done` day with an open cash
147
+ count, a hardcoded Debit/Credit rule. Do not rebuild the book because a review was asked for.
148
+
149
+ On a `fix`, preserve every valid fact already in the book, name each contradiction, correct the
150
+ model, and keep the change to the minimum that makes it consistent. Rebuild the artifacts only
151
+ when the fix request asks for them.
152
+
153
+ One message, one question, no batching. Open with the question that decides which columns exist:
154
+
155
+ > **Q:** Which books do you keep separate in the day book - cash, bank, or a digital wallet?
156
+
157
+ ### Step 2 - Ask only what is missing
158
+
159
+ Treat ambiguous replies as unanswered and ask which explicit option the user means. Record unknown values as `Unknown`; `Unknown` is not zero. A record must not be `Done` when a required check fails.
160
+
161
+ Skip anything the user already answered, in any earlier message. Ask the rest one at a time, and
162
+ stop as soon as the remaining answers would not change the recommendation or the requested
163
+ artifact. Never batch two questions into one message.
164
+
165
+ - **Books** - Cash, bank and digital all separate? Which software or format is the book kept in?
166
+ Entries made daily or weekly?
167
+ - **Entries** - Who writes them? From vouchers, or from the bank feed? Same day or the next?
168
+ - **Day-end control** - What is actually checked at day end? Is the cash counted? Is the bank
169
+ position agreed, and to what? Who signs it off?
170
+ - **Open items** - Digital wallets that settle late? Known duplicate patterns? How is a difference
171
+ handled when it appears?
172
+ - **Outcome** - What do you need? The daily book, the day-end reconciliation record, or both?
173
+
174
+ **An ambiguous answer is not an answer.** `yes`, `no`, `maybe`, `same`, `okay` and `fine` do not
175
+ answer a multiple-choice question. Re-ask as an explicit choice:
176
+
177
+ > **Q:** Which do you mean: **a count of the cash drawer** or **the balance your bank statement
178
+ > shows at close**?
179
+
180
+ A partial answer keeps only the part that was answered. "We check it monthly, and the cash on
181
+ Fridays" records the frequency and leaves the digital-wallet position `Unknown`.
182
+
183
+ **Never invent a business fact.** Not an amount, a balance, a date, a voucher number, a bank
184
+ reference, an account number, a mode, a book section, a reviewer name, a status or a difference.
185
+ If a value was not supplied by the user or derived by a documented formula from supplied data, it
186
+ is `Unknown` or blank. Never turn Unknown into zero - a blank says the count has not been done,
187
+ a zero says the drawer is empty. Record `Unknown`, move on, and never re-ask an unknown the user
188
+ has already said they do not have.
189
+
190
+ Where the count or the statement has not been seen, the day's `Balance Difference` is blank and
191
+ `Reconciliation Status` is `Unknown`. It is not zero, because a zero difference is a claim that
192
+ the money was counted and agreed.
193
+
194
+ ### Step 3 - Hold the internal context
195
+
196
+ Hold the answers in this shape. It stays internal - it is not shown to the user unless they ask,
197
+ and it never carries a value the user did not give.
198
+
199
+ ```yaml
200
+ module: day-book
201
+ intent: null # setup | advice | review | fix | build | convert | export
202
+ scale: null # Starter | Growth | Scale, only if the answer changes it
203
+ areas:
204
+ "Books": null
205
+ "Entries": null
206
+ "Day-end control": null
207
+ "Open items": null
208
+ "Outcome": null
209
+ books: null # which of cash | bank | digital are kept separately
210
+ book_format: null # the day-book format of the software in use
211
+ debit_credit_presentation: null
212
+ cash_counted_daily: null
213
+ bank_agreed_to: null # statement, feed, or neither
214
+ sign_off: null
215
+ late_settling_wallets: null
216
+ known_duplicate_pattern: null
217
+ difference_handling: null
218
+ requested_outputs: [] # csv | sql | json | notion | xlsx - requested formats only
219
+ confirmed_facts: [] # only what the user actually said
220
+ unknowns: [] # asked and not answered
221
+ open_questions: [] # the unanswered ones, in the order worth asking
222
+ ```
223
+
224
+ ### Step 4 - Recommend the smallest workflow
225
+
226
+ Build an already requested artifact without asking again. For advice-only requests, give a short recommendation and offer the relevant artifact.
227
+
228
+ **Recommended approach:** One day book carrying both row types in one field model. One `Movement`
229
+ row per receipt and per payment, with a `Book Section` naming cash, bank or digital; one
230
+ `Day Summary` row per day carrying that day's opening and closing balance and totals for all three
231
+ books; a `Balance Difference` and a `Reconciliation Status` on the day row; and a `Duplicate Check`
232
+ before the day is closed.
233
+
234
+ **Why this one:** The day book is where a missing or duplicated entry becomes visible, and
235
+ everything else in the cash cycle is downstream of the balance agreeing at day end. Keeping the
236
+ movement rows and the day-end control row in one model - separated by `Row Type` rather than by
237
+ guesswork - is what lets the day be proved from itself. Splitting them into two tables loses the
238
+ link, and merging them without a discriminator makes a summary row look like one more movement.
239
+
240
+ **Workflow:** Receipt or payment recorded from voucher → Booked to cash, bank or digital as a
241
+ `Movement` row → Running balance updated → Duplicate and missing entries checked → `Day Summary`
242
+ row proves previous closing plus movement equals closing, per book → Difference recorded and marked
243
+ → Day-end balance verified and reviewed → Day closed
244
+
245
+ ### Step 5 - Build only on request
246
+
247
+ Once the user asks for it, derive the fields from one canonical field list and emit the artifacts
248
+ as data only. Keep prose outside machine-readable data; provide file links and material limitations separately. A field present in one artifact is present
249
+ in all four, in the same order, with the same meaning. Build only what was asked for.
250
+
251
+ **A selected Notion output is rendered by `notion-manual-import`, so route the
252
+ Notion step there.** When the user selects Notion, hand that step to
253
+ @notion-manual-import: it holds the CSV, the property
254
+ mapping, the import steps and the verification checklist, and it renders the Field
255
+ Reference below instead of defining a table of its own. Do not restate the mapping
256
+ here and do not improvise the import steps. Manual CSV and mapping outputs need no
257
+ connection. For requested workspace changes, follow the shared contract: verify actual
258
+ tool access and the target before writing. A user saying "connected" is not tool evidence.
259
+ Never ask for a Notion password or token.
260
+
261
+ ```csv
262
+ Entry Number,Entry Date,Row Type,Book Section,Transaction Reference,Voucher Number,Party,Narration,Mode,Cash In,Cash Out,Opening Cash Balance,Cash Closing Balance,Bank In,Bank Out,Opening Bank Balance,Bank Closing Balance,Digital In,Digital Out,Opening Digital Balance,Digital Closing Balance,Debit/Credit Presentation,Source Documents,Duplicate Check,Balance Difference,Reconciliation Status,Prepared By,Reviewed By,Entry Verified,Notes,Day Book ID
263
+ DB-EXAMPLE-001,2026-01-15,Day Summary,All Books,DAY-EXAMPLE-001,VCH-EXAMPLE-001 to VCH-EXAMPLE-014,Several parties,Day total across the three books; each movement line carries its own reference,Mixed,15000.00,11800.00,25000.00,28050.00,140000.00,95485.00,1250000.00,1294515.00,24600.00,4300.00,5000.00,25300.00,As per software day-book format,DOC-EXAMPLE-001,Checked - Clear,-150.00,Needs Review,Example Preparer,Example Reviewer,In progress,"Cash counted 28050.00 against a book closing of 28200.00, so 150.00 is unexplained and is recorded rather than adjusted. Bank agrees to the statement and the wallet balance agrees to the app.",
264
+ ```
265
+
266
+ ```sql
267
+ -- Engine assumption: PostgreSQL. If the target database is not PostgreSQL, replace
268
+ -- SERIAL PRIMARY KEY with that engine's auto-increment form; nothing else here is
269
+ -- engine-specific.
270
+ CREATE TABLE day_book (
271
+ entry_number VARCHAR(255),
272
+ entry_date DATE NOT NULL,
273
+ row_type VARCHAR(100) NOT NULL,
274
+ book_section VARCHAR(100) NOT NULL,
275
+ transaction_reference VARCHAR(255),
276
+ voucher_number VARCHAR(255),
277
+ party VARCHAR(255),
278
+ narration VARCHAR(255),
279
+ mode VARCHAR(100),
280
+ cash_in NUMERIC(14,2),
281
+ cash_out NUMERIC(14,2),
282
+ opening_cash_balance NUMERIC(14,2) NOT NULL,
283
+ cash_closing_balance NUMERIC(14,2) NOT NULL,
284
+ bank_in NUMERIC(14,2),
285
+ bank_out NUMERIC(14,2),
286
+ opening_bank_balance NUMERIC(14,2) NOT NULL,
287
+ bank_closing_balance NUMERIC(14,2) NOT NULL,
288
+ digital_in NUMERIC(14,2),
289
+ digital_out NUMERIC(14,2),
290
+ opening_digital_balance NUMERIC(14,2) NOT NULL,
291
+ digital_closing_balance NUMERIC(14,2) NOT NULL,
292
+ debit_credit_presentation VARCHAR(255),
293
+ source_documents VARCHAR(255), -- relation -> target record
294
+ duplicate_check VARCHAR(100) NOT NULL,
295
+ balance_difference NUMERIC(14,2),
296
+ reconciliation_status VARCHAR(100) NOT NULL,
297
+ prepared_by VARCHAR(255),
298
+ reviewed_by VARCHAR(255),
299
+ entry_verified VARCHAR(100) NOT NULL,
300
+ notes TEXT,
301
+ day_book_id SERIAL PRIMARY KEY,
302
+ created_at TIMESTAMP DEFAULT NOW(),
303
+ updated_at TIMESTAMP DEFAULT NOW(),
304
+ CONSTRAINT day_book_amounts_non_negative CHECK (
305
+ cash_in >= 0
306
+ AND cash_out >= 0
307
+ AND bank_in >= 0
308
+ AND bank_out >= 0
309
+ AND digital_in >= 0
310
+ AND digital_out >= 0),
311
+ CONSTRAINT day_book_row_type_values CHECK (row_type IN ('Movement', 'Day Summary')),
312
+ CONSTRAINT day_book_reconciliation_values CHECK (reconciliation_status IN (
313
+ 'Reconciled', 'Needs Review', 'Unreconciled', 'Unknown'))
314
+ );
315
+ ```
316
+
317
+ ```json
318
+ {
319
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
320
+ "title": "Day Book",
321
+ "type": "object",
322
+ "additionalProperties": false,
323
+ "properties": {
324
+ "Entry Number": { "type": "string" },
325
+ "Entry Date": { "type": "string", "format": "date" },
326
+ "Row Type": { "type": "string" },
327
+ "Book Section": { "type": "string" },
328
+ "Transaction Reference": { "type": "string" },
329
+ "Voucher Number": { "type": "string" },
330
+ "Party": { "type": "string" },
331
+ "Narration": { "type": "string" },
332
+ "Mode": { "type": "string" },
333
+ "Cash In": { "type": "number" },
334
+ "Cash Out": { "type": "number" },
335
+ "Opening Cash Balance": { "type": "number" },
336
+ "Cash Closing Balance": { "type": "number" },
337
+ "Bank In": { "type": "number" },
338
+ "Bank Out": { "type": "number" },
339
+ "Opening Bank Balance": { "type": "number" },
340
+ "Bank Closing Balance": { "type": "number" },
341
+ "Digital In": { "type": "number" },
342
+ "Digital Out": { "type": "number" },
343
+ "Opening Digital Balance": { "type": "number" },
344
+ "Digital Closing Balance": { "type": "number" },
345
+ "Debit/Credit Presentation": { "type": "string" },
346
+ "Source Documents": { "type": "string" },
347
+ "Duplicate Check": { "type": "string" },
348
+ "Balance Difference": { "type": "number" },
349
+ "Reconciliation Status": { "type": "string" },
350
+ "Prepared By": { "type": "string" },
351
+ "Reviewed By": { "type": "string" },
352
+ "Entry Verified": { "type": "string" },
353
+ "Notes": { "type": "string" },
354
+ "Day Book ID": { "type": "integer" }
355
+ },
356
+ "required": [
357
+ "Entry Date",
358
+ "Row Type",
359
+ "Book Section",
360
+ "Opening Cash Balance",
361
+ "Cash Closing Balance",
362
+ "Opening Bank Balance",
363
+ "Bank Closing Balance",
364
+ "Opening Digital Balance",
365
+ "Digital Closing Balance",
366
+ "Duplicate Check",
367
+ "Reconciliation Status",
368
+ "Entry Verified"
369
+ ]
370
+ }
371
+ ```
372
+
373
+ `required` is a business-necessity list, not an availability list. `Entry Date`, `Row Type` and
374
+ `Book Section` are required because without them the row cannot be read at all - a row with no
375
+ `Row Type` cannot be told apart from a summary, and a row with no `Book Section` touches all three
376
+ books by accident. The six balance columns are required because a balance that is not recorded is
377
+ not a balance; the six In/Out columns are deliberately **not** required, because on a
378
+ `Movement` row the two books it did not touch are not applicable rather than zero, and a required
379
+ column invites exactly that substitution. `Duplicate Check`, `Reconciliation Status` and
380
+ `Entry Verified` are required so that no day can be closed without the control having been given
381
+ an answer. `Balance Difference` is optional, because an uncounted day legitimately has none.
382
+
383
+ ```markdown
384
+ | CSV column | Notion property | Set after import |
385
+ |---|---|---|
386
+ | Entry Number | Title | Use as the database title |
387
+ | Entry Date | Date | Convert to Date |
388
+ | Row Type | Select (add options after import) | Convert to Select, add options: "Movement", "Day Summary" |
389
+ | Book Section | Select (add options after import) | Convert to Select, add options: "Cash Book", "Bank Book", "Digital Payments Book", "All Books" |
390
+ | Transaction Reference | Text | Leave as Text |
391
+ | Voucher Number | Text | Leave as Text |
392
+ | Party | Text | Leave as Text |
393
+ | Narration | Text | Leave as Text |
394
+ | Mode | Select (add options after import) | Convert to Select, add options: "Cash", "Bank", "Cheque", "Fonepay/QR", "Other Digital Payment", "Mixed" |
395
+ | Cash In | Number (format: currency) | Convert to Number, set format to Currency |
396
+ | Cash Out | Number (format: currency) | Convert to Number, set format to Currency |
397
+ | Opening Cash Balance | Number (format: currency) | Convert to Number, set format to Currency |
398
+ | Cash Closing Balance | Number (format: currency) | Convert to Number, set format to Currency |
399
+ | Bank In | Number (format: currency) | Convert to Number, set format to Currency |
400
+ | Bank Out | Number (format: currency) | Convert to Number, set format to Currency |
401
+ | Opening Bank Balance | Number (format: currency) | Convert to Number, set format to Currency |
402
+ | Bank Closing Balance | Number (format: currency) | Convert to Number, set format to Currency |
403
+ | Digital In | Number (format: currency) | Convert to Number, set format to Currency |
404
+ | Digital Out | Number (format: currency) | Convert to Number, set format to Currency |
405
+ | Opening Digital Balance | Number (format: currency) | Convert to Number, set format to Currency |
406
+ | Digital Closing Balance | Number (format: currency) | Convert to Number, set format to Currency |
407
+ | Debit/Credit Presentation | Text | Leave as Text |
408
+ | Source Documents | Relation (link to the target database) | Convert to Relation, link to the target database |
409
+ | Duplicate Check | Select (add options after import) | Convert to Select, add options: "Checked - Clear", "Checked - Duplicate Found", "Not Checked" |
410
+ | Balance Difference | Number (format: currency) | Convert to Number, set format to Currency |
411
+ | Reconciliation Status | Select (add options after import) | Convert to Select, add options: "Reconciled", "Needs Review", "Unreconciled", "Unknown" |
412
+ | Prepared By | Text | Leave as Text |
413
+ | Reviewed By | Text | Leave as Text |
414
+ | Entry Verified | Select (add options after import) | Convert to Select, add options: "Not started", "In progress", "Blocked", "Done", "Cancelled" |
415
+ | Notes | Text | Leave as Text |
416
+ | Day Book ID | Text (preserve source ID) | Keep imported IDs as Text; optionally add a separate Unique ID property |
417
+ ```
418
+
419
+ The rows above are documentation examples only. Emit empty templates unless the user explicitly requests examples. Money stays `currency`, dates stay `date`, and
420
+ anything pointing at another table stays `relation`. Every option list below is a starting set -
421
+ add options after import, and use the values the business already uses.
422
+
423
+ **The internal-consistency check, run before the artifacts go out.** On the design as proposed,
424
+ and again on the four artifacts as written:
425
+
426
+ - Does every rule have a matching example, and does every example obey every rule?
427
+ - Does every field mean the same thing in the CSV, the SQL, the JSON Schema and the Notion
428
+ mapping - same type, same meaning, same position in the list?
429
+ - Is any field present in one artifact and missing, renamed or retyped in another?
430
+ - Does any single field carry two meanings, and is `Row Type` what separates them?
431
+ - Does a stated check have a field that records its result? A check with no field is a claim.
432
+ - Does the debit/credit statement match the `Debit/Credit Presentation` field, or has a universal
433
+ rule crept into the model?
434
+
435
+ See the [How It Works](references/how-it-works.md) reference for the rest of this section.
436
+ ## Examples
437
+
438
+ **Prompt**
439
+
440
+ ```
441
+ We cannot tell at the end of the day whether the bank balance is right, and twice we found the
442
+ same payment entered twice.
443
+ ```
444
+
445
+ **Context first** - one question per message, nothing already answered:
446
+
447
+ > **Q:** Which books do you keep separate in the day book?
448
+ > **A:** Bank and one Fonepay number. Cash is in the drawer.
449
+ >
450
+ > **Q:** Who writes the entries?
451
+ > **A:** My accounts person, from the vouchers, in the evening.
452
+ >
453
+ > **Q:** What do you check before the day is closed?
454
+ > **A:** Against the bank statement once a month. The cash just goes in the drawer.
455
+
456
+ **Recommended next step** - offered, not built:
457
+
458
+ > One day book carrying both row types: a `Movement` row per receipt and per payment with a
459
+ > `Book Section` naming cash, bank or digital, and a `Day Summary` row per day carrying that day's
460
+ > opening and closing balances and totals for all three books, plus a `Balance Difference` and a
461
+ > `Reconciliation Status` on the day row.
462
+ >
463
+ > Workflow: Receipt or payment recorded from voucher → Booked to cash, bank or digital as a
464
+ > `Movement` row → Running balance updated → Duplicate and missing entries checked → `Day Summary`
465
+ > row proves previous closing plus movement equals closing, per book → Difference recorded and
466
+ > marked → Day-end balance verified and reviewed → Day closed
467
+ >
468
+ > Want the CSV, SQL, JSON Schema and Notion mapping for this?
469
+
470
+
471
+ See the [Best Practices](references/best-practices.md) reference for the full guidance.
472
+
473
+ ## Limitations
474
+
475
+ - Empty template only. It does not post entries, move money or connect to a bank feed.
476
+ - The debit/credit presentation cannot be settled by this skill. It follows whatever the
477
+ business's software produces, so read the format out of the software and write it into
478
+ `Debit/Credit Presentation` rather than assuming one.
479
+ - The six balance columns are entered, not computed. The identity on a `Day Summary` row is what
480
+ tests them, and `Balance Difference` is what records the test failing - so a book that is never
481
+ tested is a book that never finds its own errors.
482
+ - `Balance Difference` holds the total across the three books. A break in more than one book
483
+ cannot be attributed from that column alone, so per-book figures go in `Notes`.
484
+ - A day book is a record of what was entered, not proof that it was correct. The proof comes from
485
+ the supporting document, which is why the source link and the voucher number are on every row.
486
+ - Digital wallet balances settle late against some aggregators, so a same-day agreement is not
487
+ always possible. `Reconciliation Status` = `Unknown` exists for that, and it is an honest answer.
488
+ - Reconciliation against the bank statement is a separate routine; this table records that it was
489
+ done, not what it found.
490
+ - It records a duplicate; it does not delete one, and it does not decide which of two identical
491
+ entries is the mistaken one.
492
+ - Notion relations need both databases imported before the link column resolves.
493
+ - Select options are a starting set. Rename them to match how the business talks.
494
+ - No automation, reminders or sync. Those need the integration layer.
495
+ - Legal, tax and HR review is still required before this drives real decisions.
496
+
497
+
498
+ See the [Security & Safety Notes](references/security-safety-notes.md) reference for the full guidance.
499
+
@@ -0,0 +1,32 @@
1
+ # Best Practices
2
+
3
+ - Build when requested; recommend and offer a build for advice-only requests.
4
+ - One question per message. A batched intake reads as a form and gets guessed at.
5
+ - Check the design against itself before generating anything, and resolve each conflict with the
6
+ simplest accounting-safe reading rather than reproducing both versions.
7
+ - Never hardcode a Debit/Credit rule, and never write that all receipts are debit. The
8
+ presentation follows the software's day-book format, and `Debit/Credit Presentation` records
9
+ what that format actually is.
10
+ - Never let one field carry two meanings. `Row Type` says whether a row is a movement or a day-end
11
+ control, and `Book Section` only ever names the book.
12
+ - Close the day, not the week. Count the cash, agree the bank balance to the statement and confirm
13
+ the digital wallet balance before the day is marked verified.
14
+ - A day's opening balance is the previous day's closing balance. Where they disagree, that is the
15
+ difference - not a fresh number typed in to make the day look complete.
16
+ - Record the difference, never repair it. `Balance Difference` is signed, and the component that
17
+ caused it is left alone for a human to resolve.
18
+ - Take `Reconciliation Status` as the worst of the three books. A bank that agrees does not
19
+ reconcile a cash drawer that does not.
20
+ - Use `Duplicate Check` honestly. `Not Checked` is a valid answer; a false `Checked - Clear` is
21
+ not, and it is not compatible with `Done`.
22
+ - One `Movement` row per entry, from the voucher. A day book written from memory is where
23
+ duplicates and omissions come from.
24
+ - Leave a book that a movement did not touch blank rather than zero. Blank means not applicable
25
+ here; zero would claim the drawer was counted and empty.
26
+ - Keep the narration specific enough to be understood six months later - invoice number, party and
27
+ what it was for.
28
+ - Keep every field name, type and position identical across CSV, SQL, JSON Schema and the Notion
29
+ mapping. A field that is in one and missing or retyped in another is the defect, not a detail.
30
+ - Money fields are `currency`, never `text`. Dates are `date`, never free text. Round once, at the
31
+ end, so the day re-derives from its movements.
32
+ - If the user requests an example row, keep it obviously fake so nobody imports it as real data.
@@ -0,0 +1,58 @@
1
+ # Common Pitfalls
2
+
3
+ - **Problem:** a static mapping is described as a completed workspace build.
4
+ **Solution:** deliver manual mappings without a connection; claim a live change only
5
+ after the authorized tool operation succeeds.
6
+ - **Problem:** asked all six questions in one message.
7
+ **Solution:** ask one, wait, and drop any the first answer already covered.
8
+ - **Problem:** the day book was built with hardcoded Debit and Credit columns, or receipts were
9
+ assumed to be on the debit side.
10
+ **Solution:** the presentation depends on the software's format. Capture it in
11
+ `Debit/Credit Presentation` instead of assuming a universal rule.
12
+ - **Problem:** a summary row got read as one more movement, and the day's totals were added to the
13
+ day's movements.
14
+ **Solution:** `Row Type` is what tells them apart. A `Day Summary` row books no money; it totals
15
+ the `Movement` rows above it and tests the identity per book.
16
+ - **Problem:** a balance field was read as today's money moved.
17
+ **Solution:** the balance fields are balances. The `Opening * Balance` fields are brought
18
+ forward, the `* Closing Balance` fields are what is left after the entry or the day.
19
+ - **Problem:** the Overview claimed the day row proved the balance while the model had no field
20
+ that could record whether it did.
21
+ **Solution:** a check with no field is a claim. `Balance Difference` and `Reconciliation Status`
22
+ are the fields that make the day-end control real.
23
+ - **Problem:** an earlier bare `Balance Verified` yes/no was marked `Yes` on a day when the cash
24
+ was short and only the bank had been agreed.
25
+ **Solution:** `Reconciliation Status` takes the worst of the three books, and `Balance
26
+ Difference` says by how much.
27
+ - **Problem:** the day was marked `Done` with the cash drawer uncounted and the bank position
28
+ unagreed.
29
+ **Solution:** a day must not be `Done` while the cash count or the bank position is
30
+ unreconciled, or while `Duplicate Check` is `Not Checked`. The day is `In progress` until a
31
+ human accepts a recorded difference.
32
+ - **Problem:** a balance break was absorbed by editing the closing balance so the row tied.
33
+ **Solution:** record the signed difference, set the status, and leave the component alone.
34
+ - **Problem:** a book a movement did not touch was filled with `0.00`.
35
+ **Solution:** leave it blank. Blank means not applicable on this row; zero claims a count was
36
+ taken and the drawer was empty.
37
+ - **Problem:** the same cheque or UTR is entered twice and both stay.
38
+ **Solution:** run the duplicate check on the transaction reference, set `Checked - Duplicate
39
+ Found`, and resolve it with a human.
40
+ - **Problem:** the balance is verified only at month end.
41
+ **Solution:** day end is the control. `Reconciliation Status` = `Unknown` is what an uncounted
42
+ day looks like.
43
+ - **Problem:** a day-book line is written with no source document.
44
+ **Solution:** the line is a claim. Link the source or mark the entry blocked.
45
+ - **Problem:** a field existed in the CSV but not in the SQL, or was defined differently in the
46
+ JSON Schema or the Notion mapping.
47
+ **Solution:** derive all four from one field list, and run the internal-consistency check before
48
+ the artifacts go out.
49
+ - **Problem:** built a full system when the daily book alone was asked for.
50
+ **Solution:** build what was requested; mention the parent skill separately.
51
+ - **Problem:** all four artifacts drift apart.
52
+ **Solution:** derive all four from the field list in this file, never by hand.
53
+ - **Problem:** Notion import shows every column as Text.
54
+ **Solution:** that is expected. Apply the property mapping table once, after import, and add the
55
+ Select options then.
56
+
57
+
58
+ See the [Related Skills](references/related-skills.md) reference for the full guidance.
@@ -0,0 +1,45 @@
1
+ # Field Reference
2
+
3
+ | # | Field | Type | SQL | JSON Schema | Notion | CSV example |
4
+ |---:|---|---|---|---|---|---|
5
+ | 1 | Entry Number | `text` | `VARCHAR(255)` | `string` | Text | `DB-EXAMPLE-001` |
6
+ | 2 | Entry Date | `date` | `DATE` | `string, format: date` | Date | `2026-01-15` |
7
+ | 3 | Row Type | `select` | `VARCHAR(100)` | `string` | Select (add options after import) | `Day Summary` |
8
+ | 4 | Book Section | `select` | `VARCHAR(100)` | `string` | Select (add options after import) | `All Books` |
9
+ | 5 | Transaction Reference | `text` | `VARCHAR(255)` | `string` | Text | `DAY-EXAMPLE-001` |
10
+ | 6 | Voucher Number | `text` | `VARCHAR(255)` | `string` | Text | `VCH-EXAMPLE-001 to VCH-EXAMPLE-014` |
11
+ | 7 | Party | `text` | `VARCHAR(255)` | `string` | Text | `Several parties` |
12
+ | 8 | Narration | `text` | `VARCHAR(255)` | `string` | Text | `Day total across the three books; each movement line carries its own reference` |
13
+ | 9 | Mode | `select` | `VARCHAR(100)` | `string` | Select (add options after import) | `Mixed` |
14
+ | 10 | Cash In | `currency` | `NUMERIC(14,2)` | `number` | Number (format: currency) | `15000.00` |
15
+ | 11 | Cash Out | `currency` | `NUMERIC(14,2)` | `number` | Number (format: currency) | `11800.00` |
16
+ | 12 | Opening Cash Balance | `currency` | `NUMERIC(14,2)` | `number` | Number (format: currency) | `25000.00` |
17
+ | 13 | Cash Closing Balance | `currency` | `NUMERIC(14,2)` | `number` | Number (format: currency) | `28050.00` |
18
+ | 14 | Bank In | `currency` | `NUMERIC(14,2)` | `number` | Number (format: currency) | `140000.00` |
19
+ | 15 | Bank Out | `currency` | `NUMERIC(14,2)` | `number` | Number (format: currency) | `95485.00` |
20
+ | 16 | Opening Bank Balance | `currency` | `NUMERIC(14,2)` | `number` | Number (format: currency) | `1250000.00` |
21
+ | 17 | Bank Closing Balance | `currency` | `NUMERIC(14,2)` | `number` | Number (format: currency) | `1294515.00` |
22
+ | 18 | Digital In | `currency` | `NUMERIC(14,2)` | `number` | Number (format: currency) | `24600.00` |
23
+ | 19 | Digital Out | `currency` | `NUMERIC(14,2)` | `number` | Number (format: currency) | `4300.00` |
24
+ | 20 | Opening Digital Balance | `currency` | `NUMERIC(14,2)` | `number` | Number (format: currency) | `5000.00` |
25
+ | 21 | Digital Closing Balance | `currency` | `NUMERIC(14,2)` | `number` | Number (format: currency) | `25300.00` |
26
+ | 22 | Debit/Credit Presentation | `text` | `VARCHAR(255)` | `string` | Text | `As per software day-book format` |
27
+ | 23 | Source Documents | `relation` | `VARCHAR(255)` | `string` | Relation (link to the target database) | `DOC-EXAMPLE-001` |
28
+ | 24 | Duplicate Check | `select` | `VARCHAR(100)` | `string` | Select (add options after import) | `Checked - Clear` |
29
+ | 25 | Balance Difference | `currency` | `NUMERIC(14,2)` | `number` | Number (format: currency) | `-150.00` |
30
+ | 26 | Reconciliation Status | `select` | `VARCHAR(100)` | `string` | Select (add options after import) | `Needs Review` |
31
+ | 27 | Prepared By | `text` | `VARCHAR(255)` | `string` | Text | `Example Preparer` |
32
+ | 28 | Reviewed By | `text` | `VARCHAR(255)` | `string` | Text | `Example Reviewer` |
33
+ | 29 | Entry Verified | `select` | `VARCHAR(100)` | `string` | Select (add options after import) | `In progress` |
34
+ | 30 | Notes | `long_text` | `TEXT` | `string` | Text | `Cash counted 28050.00 against a book closing of 28200.00, so 150.00 is unexplained and is recorded rather than adjusted. Bank agrees to the statement and the wallet balance agrees to the app.` |
35
+ | 31 | Day Book ID | `id` | `SERIAL PRIMARY KEY` | `integer` | Text (preserve source ID) | `(blank)` |
36
+
37
+ `Balance Difference` and `Reconciliation Status` are in this list because the day-end control is
38
+ the whole point of the table, and a control with no field to record its result is a claim rather
39
+ than a check. They replace an earlier bare `Balance Verified` yes/no, which could say *that*
40
+ something was out but not *how much*, and which a day with a cash break and an agreed bank
41
+ position could have marked `Yes`. `Reconciliation Status` carries the value set
42
+ `Reconciled | Needs Review | Unreconciled | Unknown`, and it takes the worst of the three books.
43
+
44
+
45
+ See the [Select Options](references/select-options.md) reference for the full guidance.
@@ -0,0 +1,7 @@
1
+ # How It Works (continued)
2
+
3
+ If any answer is no, fix the model first and then re-derive the artifacts. Do not ship a set of
4
+ four artifacts that disagree with each other.
5
+
6
+
7
+ See the [Field Reference](references/field-reference.md) reference for the full guidance.