opencode-knowledge-work 0.0.0-stage → 0.1.0

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.
Files changed (472) hide show
  1. package/LICENSE +212 -0
  2. package/README.md +124 -2
  3. package/content/bio-research/.mcp.json +48 -0
  4. package/content/bio-research/CONNECTORS.md +23 -0
  5. package/content/bio-research/LICENSE +202 -0
  6. package/content/bio-research/README.md +83 -0
  7. package/content/bio-research/skills/bio-research-instrument-data-to-allotrope/LICENSE.txt +201 -0
  8. package/content/bio-research/skills/bio-research-instrument-data-to-allotrope/SKILL.md +280 -0
  9. package/content/bio-research/skills/bio-research-instrument-data-to-allotrope/references/asm_schema_overview.md +226 -0
  10. package/content/bio-research/skills/bio-research-instrument-data-to-allotrope/references/field_classification_guide.md +503 -0
  11. package/content/bio-research/skills/bio-research-instrument-data-to-allotrope/references/flattening_guide.md +254 -0
  12. package/content/bio-research/skills/bio-research-instrument-data-to-allotrope/references/supported_instruments.md +151 -0
  13. package/content/bio-research/skills/bio-research-instrument-data-to-allotrope/requirements.txt +26 -0
  14. package/content/bio-research/skills/bio-research-instrument-data-to-allotrope/scripts/convert_to_asm.py +543 -0
  15. package/content/bio-research/skills/bio-research-instrument-data-to-allotrope/scripts/export_parser.py +481 -0
  16. package/content/bio-research/skills/bio-research-instrument-data-to-allotrope/scripts/flatten_asm.py +254 -0
  17. package/content/bio-research/skills/bio-research-instrument-data-to-allotrope/scripts/validate_asm.py +1102 -0
  18. package/content/bio-research/skills/bio-research-nextflow-development/LICENSE.txt +201 -0
  19. package/content/bio-research/skills/bio-research-nextflow-development/SKILL.md +290 -0
  20. package/content/bio-research/skills/bio-research-nextflow-development/references/geo-sra-acquisition.md +416 -0
  21. package/content/bio-research/skills/bio-research-nextflow-development/references/installation.md +96 -0
  22. package/content/bio-research/skills/bio-research-nextflow-development/references/pipelines/atacseq.md +138 -0
  23. package/content/bio-research/skills/bio-research-nextflow-development/references/pipelines/rnaseq.md +118 -0
  24. package/content/bio-research/skills/bio-research-nextflow-development/references/pipelines/sarek.md +145 -0
  25. package/content/bio-research/skills/bio-research-nextflow-development/references/troubleshooting.md +137 -0
  26. package/content/bio-research/skills/bio-research-nextflow-development/scripts/check_environment.py +452 -0
  27. package/content/bio-research/skills/bio-research-nextflow-development/scripts/config/genomes.yaml +148 -0
  28. package/content/bio-research/skills/bio-research-nextflow-development/scripts/config/pipelines/atacseq.yaml +187 -0
  29. package/content/bio-research/skills/bio-research-nextflow-development/scripts/config/pipelines/rnaseq.yaml +147 -0
  30. package/content/bio-research/skills/bio-research-nextflow-development/scripts/config/pipelines/sarek.yaml +233 -0
  31. package/content/bio-research/skills/bio-research-nextflow-development/scripts/detect_data_type.py +300 -0
  32. package/content/bio-research/skills/bio-research-nextflow-development/scripts/generate_samplesheet.py +455 -0
  33. package/content/bio-research/skills/bio-research-nextflow-development/scripts/manage_genomes.py +521 -0
  34. package/content/bio-research/skills/bio-research-nextflow-development/scripts/sra_geo_fetch.py +732 -0
  35. package/content/bio-research/skills/bio-research-nextflow-development/scripts/utils/__init__.py +69 -0
  36. package/content/bio-research/skills/bio-research-nextflow-development/scripts/utils/file_discovery.py +189 -0
  37. package/content/bio-research/skills/bio-research-nextflow-development/scripts/utils/ncbi_utils.py +808 -0
  38. package/content/bio-research/skills/bio-research-nextflow-development/scripts/utils/sample_inference.py +290 -0
  39. package/content/bio-research/skills/bio-research-nextflow-development/scripts/utils/validators.py +256 -0
  40. package/content/bio-research/skills/bio-research-scientific-problem-selection/LICENSE.txt +201 -0
  41. package/content/bio-research/skills/bio-research-scientific-problem-selection/SKILL.md +269 -0
  42. package/content/bio-research/skills/bio-research-scientific-problem-selection/references/01-intuition-pumps.md +264 -0
  43. package/content/bio-research/skills/bio-research-scientific-problem-selection/references/02-risk-assessment.md +323 -0
  44. package/content/bio-research/skills/bio-research-scientific-problem-selection/references/03-optimization-function.md +481 -0
  45. package/content/bio-research/skills/bio-research-scientific-problem-selection/references/04-parameter-strategy.md +396 -0
  46. package/content/bio-research/skills/bio-research-scientific-problem-selection/references/05-decision-tree.md +85 -0
  47. package/content/bio-research/skills/bio-research-scientific-problem-selection/references/06-adversity-planning.md +123 -0
  48. package/content/bio-research/skills/bio-research-scientific-problem-selection/references/07-problem-inversion.md +152 -0
  49. package/content/bio-research/skills/bio-research-scientific-problem-selection/references/08-integration-synthesis.md +173 -0
  50. package/content/bio-research/skills/bio-research-scientific-problem-selection/references/09-meta-framework.md +504 -0
  51. package/content/bio-research/skills/bio-research-scvi-tools/LICENSE.txt +201 -0
  52. package/content/bio-research/skills/bio-research-scvi-tools/SKILL.md +155 -0
  53. package/content/bio-research/skills/bio-research-scvi-tools/references/atac_peakvi.md +398 -0
  54. package/content/bio-research/skills/bio-research-scvi-tools/references/batch_correction_sysvi.md +417 -0
  55. package/content/bio-research/skills/bio-research-scvi-tools/references/citeseq_totalvi.md +420 -0
  56. package/content/bio-research/skills/bio-research-scvi-tools/references/data_preparation.md +286 -0
  57. package/content/bio-research/skills/bio-research-scvi-tools/references/environment_setup.md +254 -0
  58. package/content/bio-research/skills/bio-research-scvi-tools/references/label_transfer.md +373 -0
  59. package/content/bio-research/skills/bio-research-scvi-tools/references/multiome_multivi.md +384 -0
  60. package/content/bio-research/skills/bio-research-scvi-tools/references/rna_velocity_velovi.md +410 -0
  61. package/content/bio-research/skills/bio-research-scvi-tools/references/scarches_mapping.md +401 -0
  62. package/content/bio-research/skills/bio-research-scvi-tools/references/scrna_integration.md +429 -0
  63. package/content/bio-research/skills/bio-research-scvi-tools/references/spatial_deconvolution.md +438 -0
  64. package/content/bio-research/skills/bio-research-scvi-tools/references/troubleshooting.md +420 -0
  65. package/content/bio-research/skills/bio-research-scvi-tools/scripts/cluster_embed.py +212 -0
  66. package/content/bio-research/skills/bio-research-scvi-tools/scripts/differential_expression.py +220 -0
  67. package/content/bio-research/skills/bio-research-scvi-tools/scripts/integrate_datasets.py +237 -0
  68. package/content/bio-research/skills/bio-research-scvi-tools/scripts/model_utils.py +634 -0
  69. package/content/bio-research/skills/bio-research-scvi-tools/scripts/prepare_data.py +169 -0
  70. package/content/bio-research/skills/bio-research-scvi-tools/scripts/train_model.py +370 -0
  71. package/content/bio-research/skills/bio-research-scvi-tools/scripts/transfer_labels.py +224 -0
  72. package/content/bio-research/skills/bio-research-scvi-tools/scripts/validate_adata.py +397 -0
  73. package/content/bio-research/skills/bio-research-single-cell-rna-qc/LICENSE.txt +201 -0
  74. package/content/bio-research/skills/bio-research-single-cell-rna-qc/SKILL.md +175 -0
  75. package/content/bio-research/skills/bio-research-single-cell-rna-qc/references/scverse_qc_guidelines.md +186 -0
  76. package/content/bio-research/skills/bio-research-single-cell-rna-qc/scripts/qc_analysis.py +232 -0
  77. package/content/bio-research/skills/bio-research-single-cell-rna-qc/scripts/qc_core.py +233 -0
  78. package/content/bio-research/skills/bio-research-single-cell-rna-qc/scripts/qc_plotting.py +235 -0
  79. package/content/bio-research/skills/bio-research-start/SKILL.md +79 -0
  80. package/content/customer-support/.mcp.json +40 -0
  81. package/content/customer-support/CONNECTORS.md +19 -0
  82. package/content/customer-support/LICENSE +202 -0
  83. package/content/customer-support/README.md +140 -0
  84. package/content/customer-support/skills/customer-support-customer-escalation/SKILL.md +248 -0
  85. package/content/customer-support/skills/customer-support-customer-research/SKILL.md +252 -0
  86. package/content/customer-support/skills/customer-support-draft-response/SKILL.md +418 -0
  87. package/content/customer-support/skills/customer-support-kb-article/SKILL.md +351 -0
  88. package/content/customer-support/skills/customer-support-ticket-triage/SKILL.md +275 -0
  89. package/content/data/.mcp.json +36 -0
  90. package/content/data/CONNECTORS.md +18 -0
  91. package/content/data/LICENSE +202 -0
  92. package/content/data/README.md +121 -0
  93. package/content/data/skills/data-analyze/SKILL.md +119 -0
  94. package/content/data/skills/data-build-dashboard/SKILL.md +924 -0
  95. package/content/data/skills/data-create-viz/SKILL.md +154 -0
  96. package/content/data/skills/data-data-context-extractor/SKILL.md +227 -0
  97. package/content/data/skills/data-data-context-extractor/references/domain-template.md +147 -0
  98. package/content/data/skills/data-data-context-extractor/references/example-output.md +198 -0
  99. package/content/data/skills/data-data-context-extractor/references/skill-template.md +148 -0
  100. package/content/data/skills/data-data-context-extractor/references/sql-dialects.md +121 -0
  101. package/content/data/skills/data-data-context-extractor/scripts/package_data_skill.py +126 -0
  102. package/content/data/skills/data-data-visualization/SKILL.md +305 -0
  103. package/content/data/skills/data-explore-data/SKILL.md +325 -0
  104. package/content/data/skills/data-sql-queries/SKILL.md +428 -0
  105. package/content/data/skills/data-statistical-analysis/SKILL.md +245 -0
  106. package/content/data/skills/data-validate-data/SKILL.md +383 -0
  107. package/content/data/skills/data-write-query/SKILL.md +122 -0
  108. package/content/design/.mcp.json +44 -0
  109. package/content/design/CONNECTORS.md +18 -0
  110. package/content/design/README.md +117 -0
  111. package/content/design/skills/design-accessibility-review/SKILL.md +128 -0
  112. package/content/design/skills/design-design-critique/SKILL.md +118 -0
  113. package/content/design/skills/design-design-handoff/SKILL.md +131 -0
  114. package/content/design/skills/design-design-system/SKILL.md +190 -0
  115. package/content/design/skills/design-research-synthesis/SKILL.md +92 -0
  116. package/content/design/skills/design-user-research/SKILL.md +41 -0
  117. package/content/design/skills/design-ux-copy/SKILL.md +107 -0
  118. package/content/engineering/.mcp.json +48 -0
  119. package/content/engineering/CONNECTORS.md +19 -0
  120. package/content/engineering/README.md +136 -0
  121. package/content/engineering/skills/engineering-architecture/SKILL.md +85 -0
  122. package/content/engineering/skills/engineering-code-review/SKILL.md +118 -0
  123. package/content/engineering/skills/engineering-debug/SKILL.md +95 -0
  124. package/content/engineering/skills/engineering-deploy-checklist/SKILL.md +78 -0
  125. package/content/engineering/skills/engineering-documentation/SKILL.md +49 -0
  126. package/content/engineering/skills/engineering-incident-response/SKILL.md +158 -0
  127. package/content/engineering/skills/engineering-standup/SKILL.md +75 -0
  128. package/content/engineering/skills/engineering-system-design/SKILL.md +42 -0
  129. package/content/engineering/skills/engineering-tech-debt/SKILL.md +32 -0
  130. package/content/engineering/skills/engineering-testing-strategy/SKILL.md +33 -0
  131. package/content/enterprise-search/.mcp.json +36 -0
  132. package/content/enterprise-search/CONNECTORS.md +21 -0
  133. package/content/enterprise-search/LICENSE +202 -0
  134. package/content/enterprise-search/README.md +157 -0
  135. package/content/enterprise-search/skills/enterprise-search-digest/SKILL.md +173 -0
  136. package/content/enterprise-search/skills/enterprise-search-knowledge-synthesis/SKILL.md +258 -0
  137. package/content/enterprise-search/skills/enterprise-search-search/SKILL.md +178 -0
  138. package/content/enterprise-search/skills/enterprise-search-search-strategy/SKILL.md +222 -0
  139. package/content/enterprise-search/skills/enterprise-search-source-management/SKILL.md +173 -0
  140. package/content/finance/.mcp.json +32 -0
  141. package/content/finance/CONNECTORS.md +20 -0
  142. package/content/finance/LICENSE +202 -0
  143. package/content/finance/README.md +92 -0
  144. package/content/finance/skills/finance-audit-support/SKILL.md +374 -0
  145. package/content/finance/skills/finance-close-management/SKILL.md +221 -0
  146. package/content/finance/skills/finance-financial-statements/SKILL.md +335 -0
  147. package/content/finance/skills/finance-journal-entry/SKILL.md +131 -0
  148. package/content/finance/skills/finance-journal-entry-prep/SKILL.md +186 -0
  149. package/content/finance/skills/finance-reconciliation/SKILL.md +175 -0
  150. package/content/finance/skills/finance-sox-testing/SKILL.md +218 -0
  151. package/content/finance/skills/finance-variance-analysis/SKILL.md +266 -0
  152. package/content/human-resources/.mcp.json +28 -0
  153. package/content/human-resources/CONNECTORS.md +19 -0
  154. package/content/human-resources/README.md +138 -0
  155. package/content/human-resources/skills/human-resources-comp-analysis/SKILL.md +92 -0
  156. package/content/human-resources/skills/human-resources-draft-offer/SKILL.md +82 -0
  157. package/content/human-resources/skills/human-resources-interview-prep/SKILL.md +37 -0
  158. package/content/human-resources/skills/human-resources-onboarding/SKILL.md +104 -0
  159. package/content/human-resources/skills/human-resources-org-planning/SKILL.md +28 -0
  160. package/content/human-resources/skills/human-resources-people-report/SKILL.md +99 -0
  161. package/content/human-resources/skills/human-resources-performance-review/SKILL.md +149 -0
  162. package/content/human-resources/skills/human-resources-policy-lookup/SKILL.md +94 -0
  163. package/content/human-resources/skills/human-resources-recruiting-pipeline/SKILL.md +31 -0
  164. package/content/legal/.mcp.json +36 -0
  165. package/content/legal/CONNECTORS.md +21 -0
  166. package/content/legal/LICENSE +202 -0
  167. package/content/legal/README.md +234 -0
  168. package/content/legal/skills/legal-brief/SKILL.md +208 -0
  169. package/content/legal/skills/legal-compliance-check/SKILL.md +274 -0
  170. package/content/legal/skills/legal-legal-response/SKILL.md +457 -0
  171. package/content/legal/skills/legal-legal-risk-assessment/SKILL.md +265 -0
  172. package/content/legal/skills/legal-meeting-briefing/SKILL.md +220 -0
  173. package/content/legal/skills/legal-review-contract/SKILL.md +358 -0
  174. package/content/legal/skills/legal-signature-request/SKILL.md +104 -0
  175. package/content/legal/skills/legal-triage-nda/SKILL.md +262 -0
  176. package/content/legal/skills/legal-vendor-check/SKILL.md +159 -0
  177. package/content/manifest.json +86 -0
  178. package/content/marketing/.mcp.json +60 -0
  179. package/content/marketing/CONNECTORS.md +20 -0
  180. package/content/marketing/LICENSE +202 -0
  181. package/content/marketing/README.md +90 -0
  182. package/content/marketing/skills/marketing-brand-review/SKILL.md +276 -0
  183. package/content/marketing/skills/marketing-campaign-plan/SKILL.md +308 -0
  184. package/content/marketing/skills/marketing-competitive-brief/SKILL.md +331 -0
  185. package/content/marketing/skills/marketing-content-creation/SKILL.md +157 -0
  186. package/content/marketing/skills/marketing-draft-content/SKILL.md +117 -0
  187. package/content/marketing/skills/marketing-email-sequence/SKILL.md +220 -0
  188. package/content/marketing/skills/marketing-performance-report/SKILL.md +392 -0
  189. package/content/marketing/skills/marketing-seo-audit/SKILL.md +190 -0
  190. package/content/operations/.mcp.json +32 -0
  191. package/content/operations/CONNECTORS.md +20 -0
  192. package/content/operations/README.md +135 -0
  193. package/content/operations/skills/operations-capacity-plan/SKILL.md +113 -0
  194. package/content/operations/skills/operations-change-request/SKILL.md +121 -0
  195. package/content/operations/skills/operations-compliance-tracking/SKILL.md +44 -0
  196. package/content/operations/skills/operations-process-doc/SKILL.md +82 -0
  197. package/content/operations/skills/operations-process-optimization/SKILL.md +39 -0
  198. package/content/operations/skills/operations-risk-assessment/SKILL.md +40 -0
  199. package/content/operations/skills/operations-runbook/SKILL.md +87 -0
  200. package/content/operations/skills/operations-status-report/SKILL.md +77 -0
  201. package/content/operations/skills/operations-vendor-review/SKILL.md +104 -0
  202. package/content/pdf-viewer/.mcp.json +8 -0
  203. package/content/pdf-viewer/CONNECTORS.md +15 -0
  204. package/content/pdf-viewer/LICENSE +202 -0
  205. package/content/pdf-viewer/README.md +57 -0
  206. package/content/pdf-viewer/commands/annotate.md +51 -0
  207. package/content/pdf-viewer/commands/fill-form.md +73 -0
  208. package/content/pdf-viewer/commands/open.md +34 -0
  209. package/content/pdf-viewer/commands/sign.md +54 -0
  210. package/content/pdf-viewer/skills/pdf-viewer-view-pdf/SKILL.md +147 -0
  211. package/content/product-management/.mcp.json +72 -0
  212. package/content/product-management/CONNECTORS.md +22 -0
  213. package/content/product-management/LICENSE +202 -0
  214. package/content/product-management/README.md +118 -0
  215. package/content/product-management/commands/brainstorm.md +120 -0
  216. package/content/product-management/skills/product-management-competitive-brief/SKILL.md +302 -0
  217. package/content/product-management/skills/product-management-metrics-review/SKILL.md +388 -0
  218. package/content/product-management/skills/product-management-product-brainstorming/SKILL.md +273 -0
  219. package/content/product-management/skills/product-management-roadmap-update/SKILL.md +266 -0
  220. package/content/product-management/skills/product-management-sprint-planning/SKILL.md +94 -0
  221. package/content/product-management/skills/product-management-stakeholder-update/SKILL.md +352 -0
  222. package/content/product-management/skills/product-management-synthesize-research/SKILL.md +312 -0
  223. package/content/product-management/skills/product-management-write-spec/SKILL.md +250 -0
  224. package/content/productivity/.mcp.json +44 -0
  225. package/content/productivity/CONNECTORS.md +18 -0
  226. package/content/productivity/LICENSE +202 -0
  227. package/content/productivity/README.md +97 -0
  228. package/content/productivity/skills/dashboard.html +3111 -0
  229. package/content/productivity/skills/productivity-memory-management/SKILL.md +323 -0
  230. package/content/productivity/skills/productivity-start/SKILL.md +158 -0
  231. package/content/productivity/skills/productivity-task-management/SKILL.md +91 -0
  232. package/content/productivity/skills/productivity-update/SKILL.md +168 -0
  233. package/content/sales/.mcp.json +100 -0
  234. package/content/sales/CONNECTORS.md +36 -0
  235. package/content/sales/LICENSE +202 -0
  236. package/content/sales/README.md +148 -0
  237. package/content/sales/skills/sales-account-context/SKILL.md +94 -0
  238. package/content/sales/skills/sales-account-plan/SKILL.md +95 -0
  239. package/content/sales/skills/sales-account-research/SKILL.md +99 -0
  240. package/content/sales/skills/sales-account-tiering/SKILL.md +101 -0
  241. package/content/sales/skills/sales-call-prep/SKILL.md +111 -0
  242. package/content/sales/skills/sales-call-summary/SKILL.md +111 -0
  243. package/content/sales/skills/sales-close-plan/SKILL.md +106 -0
  244. package/content/sales/skills/sales-competitive-intelligence/SKILL.md +102 -0
  245. package/content/sales/skills/sales-create-an-asset/SKILL.md +105 -0
  246. package/content/sales/skills/sales-crm-hygiene-check/SKILL.md +103 -0
  247. package/content/sales/skills/sales-customer-health/SKILL.md +108 -0
  248. package/content/sales/skills/sales-customer-voice/SKILL.md +94 -0
  249. package/content/sales/skills/sales-daily-briefing/SKILL.md +61 -0
  250. package/content/sales/skills/sales-deal-advance-gap/SKILL.md +102 -0
  251. package/content/sales/skills/sales-deal-review/SKILL.md +105 -0
  252. package/content/sales/skills/sales-deal-signals/SKILL.md +96 -0
  253. package/content/sales/skills/sales-deal-slip-scenario/SKILL.md +101 -0
  254. package/content/sales/skills/sales-draft-outreach/SKILL.md +116 -0
  255. package/content/sales/skills/sales-end-of-day/SKILL.md +114 -0
  256. package/content/sales/skills/sales-expansion-whitespace/SKILL.md +97 -0
  257. package/content/sales/skills/sales-forecast/SKILL.md +100 -0
  258. package/content/sales/skills/sales-handle-objection/SKILL.md +93 -0
  259. package/content/sales/skills/sales-inbox-sweep/SKILL.md +114 -0
  260. package/content/sales/skills/sales-lead-triage/SKILL.md +105 -0
  261. package/content/sales/skills/sales-log-activity/SKILL.md +111 -0
  262. package/content/sales/skills/sales-pipeline-review/SKILL.md +97 -0
  263. package/content/sales/skills/sales-renewal-radar/SKILL.md +95 -0
  264. package/content/sales/skills/sales-rep-context/SKILL.md +90 -0
  265. package/content/sales/skills/sales-route-lead/SKILL.md +111 -0
  266. package/content/sales/skills/sales-schedule-meeting/SKILL.md +99 -0
  267. package/content/sales/skills/sales-setup/SKILL.md +195 -0
  268. package/content/sales/skills/sales-stakeholder-map/SKILL.md +107 -0
  269. package/content/sales/skills/sales-team-pipeline/SKILL.md +105 -0
  270. package/content/sales/skills/sales-update-opportunity/SKILL.md +111 -0
  271. package/content/sales/skills/sales-weekly-wrap/SKILL.md +90 -0
  272. package/content/sales/skills/sales-win-loss-review/SKILL.md +88 -0
  273. package/content/small-business/.mcp.json +148 -0
  274. package/content/small-business/README.md +117 -0
  275. package/content/small-business/skills/small-business-ad-manager/SKILL.md +128 -0
  276. package/content/small-business/skills/small-business-ad-manager/reference/ad_copy.md +112 -0
  277. package/content/small-business/skills/small-business-ad-manager/reference/change_playbook.md +127 -0
  278. package/content/small-business/skills/small-business-ad-manager/reference/data_sources.md +100 -0
  279. package/content/small-business/skills/small-business-ad-manager/reference/diagnostics.md +89 -0
  280. package/content/small-business/skills/small-business-ad-manager/reference/gotchas.md +181 -0
  281. package/content/small-business/skills/small-business-ap-processor/SKILL.md +158 -0
  282. package/content/small-business/skills/small-business-ap-processor/reference/coding_rules.md +70 -0
  283. package/content/small-business/skills/small-business-ap-processor/reference/gotchas.md +131 -0
  284. package/content/small-business/skills/small-business-ap-processor/reference/intake_and_extraction.md +82 -0
  285. package/content/small-business/skills/small-business-ap-processor/reference/matching_and_exceptions.md +80 -0
  286. package/content/small-business/skills/small-business-ap-processor/reference/payment_run.md +77 -0
  287. package/content/small-business/skills/small-business-brand-style/SKILL.md +106 -0
  288. package/content/small-business/skills/small-business-build-agent/SKILL.md +105 -0
  289. package/content/small-business/skills/small-business-build-agent/reference/capture.md +133 -0
  290. package/content/small-business/skills/small-business-build-agent/reference/gotchas.md +204 -0
  291. package/content/small-business/skills/small-business-build-agent/reference/skill_authoring.md +165 -0
  292. package/content/small-business/skills/small-business-build-connector/SKILL.md +102 -0
  293. package/content/small-business/skills/small-business-build-connector/reference/discovery.md +120 -0
  294. package/content/small-business/skills/small-business-build-connector/reference/gotchas.md +237 -0
  295. package/content/small-business/skills/small-business-build-connector/reference/paths.md +106 -0
  296. package/content/small-business/skills/small-business-build-connector/reference/use-zapier.md +128 -0
  297. package/content/small-business/skills/small-business-business-pulse/SKILL.md +181 -0
  298. package/content/small-business/skills/small-business-business-pulse/reference/data_sources.md +173 -0
  299. package/content/small-business/skills/small-business-business-pulse/reference/gotchas.md +103 -0
  300. package/content/small-business/skills/small-business-business-pulse/reference/output_template.md +109 -0
  301. package/content/small-business/skills/small-business-business-pulse/reference/thresholds.md +71 -0
  302. package/content/small-business/skills/small-business-business-pulse/reference/v2_sources.md +63 -0
  303. package/content/small-business/skills/small-business-call-list/SKILL.md +82 -0
  304. package/content/small-business/skills/small-business-canva-creator/SKILL.md +448 -0
  305. package/content/small-business/skills/small-business-canva-creator/reference/canva-api.md +208 -0
  306. package/content/small-business/skills/small-business-canva-creator/reference/examples/boutique-brief-campaign.md +181 -0
  307. package/content/small-business/skills/small-business-canva-creator/reference/gotchas.md +380 -0
  308. package/content/small-business/skills/small-business-canva-creator/reference/hubspot-staging.md +137 -0
  309. package/content/small-business/skills/small-business-cash-flow-snapshot/SKILL.md +251 -0
  310. package/content/small-business/skills/small-business-cash-flow-snapshot/reference/examples/worked-example.md +92 -0
  311. package/content/small-business/skills/small-business-cash-flow-snapshot/reference/gotchas.md +62 -0
  312. package/content/small-business/skills/small-business-cash-flow-snapshot/reference/v2_sources.md +84 -0
  313. package/content/small-business/skills/small-business-close-month/SKILL.md +86 -0
  314. package/content/small-business/skills/small-business-content-strategy/SKILL.md +152 -0
  315. package/content/small-business/skills/small-business-content-strategy/reference/examples/retail-boutique-example.md +71 -0
  316. package/content/small-business/skills/small-business-content-strategy/reference/gotchas.md +104 -0
  317. package/content/small-business/skills/small-business-content-strategy/reference/v2_sources.md +40 -0
  318. package/content/small-business/skills/small-business-contract-review/SKILL.md +158 -0
  319. package/content/small-business/skills/small-business-contract-review/reference/docusign-fetch.md +32 -0
  320. package/content/small-business/skills/small-business-contract-review/reference/examples/flagged-summary-saas.md +97 -0
  321. package/content/small-business/skills/small-business-contract-review/reference/gmail-fetch.md +30 -0
  322. package/content/small-business/skills/small-business-contract-review/reference/gotchas.md +105 -0
  323. package/content/small-business/skills/small-business-contract-review/reference/m365-fetch.md +60 -0
  324. package/content/small-business/skills/small-business-crm-autopilot/SKILL.md +162 -0
  325. package/content/small-business/skills/small-business-crm-autopilot/reference/cleanup-checklist.md +82 -0
  326. package/content/small-business/skills/small-business-crm-autopilot/reference/examples/cleanup-deal.md +83 -0
  327. package/content/small-business/skills/small-business-crm-autopilot/reference/examples/log-call-happy-path.md +68 -0
  328. package/content/small-business/skills/small-business-crm-autopilot/reference/examples/log-email-happy-path.md +50 -0
  329. package/content/small-business/skills/small-business-crm-autopilot/reference/gotchas.md +110 -0
  330. package/content/small-business/skills/small-business-crm-autopilot/reference/hubspot-fields.md +62 -0
  331. package/content/small-business/skills/small-business-crm-autopilot/reference/lightweight_crm.md +125 -0
  332. package/content/small-business/skills/small-business-crm-autopilot/reference/salesforce-fields.md +122 -0
  333. package/content/small-business/skills/small-business-crm-autopilot/reference/standing_mode.md +144 -0
  334. package/content/small-business/skills/small-business-grant-rfp-writer/SKILL.md +162 -0
  335. package/content/small-business/skills/small-business-grant-rfp-writer/reference/drafting.md +129 -0
  336. package/content/small-business/skills/small-business-grant-rfp-writer/reference/go_no_go.md +125 -0
  337. package/content/small-business/skills/small-business-grant-rfp-writer/reference/gotchas.md +180 -0
  338. package/content/small-business/skills/small-business-grant-rfp-writer/reference/opportunity_sources.md +90 -0
  339. package/content/small-business/skills/small-business-grant-rfp-writer/reference/org_profile.md +81 -0
  340. package/content/small-business/skills/small-business-grow-pipeline/SKILL.md +92 -0
  341. package/content/small-business/skills/small-business-growth-pulse/SKILL.md +143 -0
  342. package/content/small-business/skills/small-business-growth-pulse/reference/data_sources.md +113 -0
  343. package/content/small-business/skills/small-business-growth-pulse/reference/gotchas.md +175 -0
  344. package/content/small-business/skills/small-business-growth-pulse/reference/output_template.md +122 -0
  345. package/content/small-business/skills/small-business-growth-pulse/reference/thresholds.md +110 -0
  346. package/content/small-business/skills/small-business-hiring-screener/SKILL.md +137 -0
  347. package/content/small-business/skills/small-business-hiring-screener/reference/candidate_comms.md +132 -0
  348. package/content/small-business/skills/small-business-hiring-screener/reference/fair_screening.md +103 -0
  349. package/content/small-business/skills/small-business-hiring-screener/reference/gotchas.md +183 -0
  350. package/content/small-business/skills/small-business-hiring-screener/reference/onboarding.md +82 -0
  351. package/content/small-business/skills/small-business-hiring-screener/reference/rubric.md +122 -0
  352. package/content/small-business/skills/small-business-inbox-manager/SKILL.md +130 -0
  353. package/content/small-business/skills/small-business-inbox-manager/reference/digest_format.md +110 -0
  354. package/content/small-business/skills/small-business-inbox-manager/reference/gotchas.md +220 -0
  355. package/content/small-business/skills/small-business-inbox-manager/reference/handoffs.md +77 -0
  356. package/content/small-business/skills/small-business-inbox-manager/reference/reply_drafting.md +116 -0
  357. package/content/small-business/skills/small-business-inbox-manager/reference/triage_rules.md +72 -0
  358. package/content/small-business/skills/small-business-inventory-planner/SKILL.md +126 -0
  359. package/content/small-business/skills/small-business-inventory-planner/reference/data_sources.md +94 -0
  360. package/content/small-business/skills/small-business-inventory-planner/reference/gotchas.md +153 -0
  361. package/content/small-business/skills/small-business-inventory-planner/reference/po_drafting.md +92 -0
  362. package/content/small-business/skills/small-business-inventory-planner/reference/seasonality.md +112 -0
  363. package/content/small-business/skills/small-business-inventory-planner/reference/velocity_and_reorder.md +154 -0
  364. package/content/small-business/skills/small-business-invoice-chase/SKILL.md +131 -0
  365. package/content/small-business/skills/small-business-invoice-chase/reference/examples/firm-reminder.md +28 -0
  366. package/content/small-business/skills/small-business-invoice-chase/reference/examples/gentle-reminder.md +27 -0
  367. package/content/small-business/skills/small-business-invoice-chase/reference/gotchas.md +75 -0
  368. package/content/small-business/skills/small-business-invoice-chase/reference/tone-matching.md +44 -0
  369. package/content/small-business/skills/small-business-invoice-chase/reference/v2_sources.md +78 -0
  370. package/content/small-business/skills/small-business-job-post-builder/SKILL.md +204 -0
  371. package/content/small-business/skills/small-business-job-post-builder/reference/docusign-routing.md +63 -0
  372. package/content/small-business/skills/small-business-job-post-builder/reference/examples/worked-example.md +110 -0
  373. package/content/small-business/skills/small-business-job-post-builder/reference/existing-document-merge.md +58 -0
  374. package/content/small-business/skills/small-business-job-post-builder/reference/gotchas.md +68 -0
  375. package/content/small-business/skills/small-business-job-post-builder/reference/interview-guide-structure.md +93 -0
  376. package/content/small-business/skills/small-business-job-post-builder/reference/job-post-structure.md +62 -0
  377. package/content/small-business/skills/small-business-job-post-builder/reference/offer-letter-template.md +145 -0
  378. package/content/small-business/skills/small-business-job-post-builder/reference/role-intake.md +73 -0
  379. package/content/small-business/skills/small-business-lead-finder/SKILL.md +119 -0
  380. package/content/small-business/skills/small-business-lead-finder/reference/gotchas.md +152 -0
  381. package/content/small-business/skills/small-business-lead-finder/reference/icp_method.md +97 -0
  382. package/content/small-business/skills/small-business-lead-finder/reference/output_template.md +124 -0
  383. package/content/small-business/skills/small-business-lead-finder/reference/scoring.md +92 -0
  384. package/content/small-business/skills/small-business-lead-finder/reference/sourcing.md +78 -0
  385. package/content/small-business/skills/small-business-lead-triage/SKILL.md +81 -0
  386. package/content/small-business/skills/small-business-lead-triage/reference/examples/happy-path-triage.md +68 -0
  387. package/content/small-business/skills/small-business-lead-triage/reference/gotchas.md +76 -0
  388. package/content/small-business/skills/small-business-lead-triage/reference/hubspot-scoring.md +169 -0
  389. package/content/small-business/skills/small-business-marketing-monday/SKILL.md +108 -0
  390. package/content/small-business/skills/small-business-monday-brief/SKILL.md +97 -0
  391. package/content/small-business/skills/small-business-month-end-prep/SKILL.md +331 -0
  392. package/content/small-business/skills/small-business-month-end-prep/reference/close-packet-format.md +127 -0
  393. package/content/small-business/skills/small-business-month-end-prep/reference/examples/pl-narrative.md +52 -0
  394. package/content/small-business/skills/small-business-month-end-prep/reference/gotchas.md +113 -0
  395. package/content/small-business/skills/small-business-month-end-prep/reference/paypal-settlements.md +110 -0
  396. package/content/small-business/skills/small-business-month-end-prep/reference/quickbooks-reconcile.md +71 -0
  397. package/content/small-business/skills/small-business-month-end-prep/reference/v2_sources.md +125 -0
  398. package/content/small-business/skills/small-business-month-end-prep/reference/xero-reconcile.md +175 -0
  399. package/content/small-business/skills/small-business-month-end-prep/reference/zoho-books-reconcile.md +168 -0
  400. package/content/small-business/skills/small-business-outreach-composer/SKILL.md +144 -0
  401. package/content/small-business/skills/small-business-outreach-composer/reference/gotchas.md +213 -0
  402. package/content/small-business/skills/small-business-outreach-composer/reference/output_template.md +147 -0
  403. package/content/small-business/skills/small-business-outreach-composer/reference/sequence_patterns.md +99 -0
  404. package/content/small-business/skills/small-business-outreach-composer/reference/slop_test.md +164 -0
  405. package/content/small-business/skills/small-business-pay-the-bills/SKILL.md +101 -0
  406. package/content/small-business/skills/small-business-payroll-prep/SKILL.md +139 -0
  407. package/content/small-business/skills/small-business-payroll-prep/reference/anomaly_rules.md +99 -0
  408. package/content/small-business/skills/small-business-payroll-prep/reference/books_sync.md +72 -0
  409. package/content/small-business/skills/small-business-payroll-prep/reference/gotchas.md +153 -0
  410. package/content/small-business/skills/small-business-payroll-prep/reference/run_sheet_format.md +90 -0
  411. package/content/small-business/skills/small-business-payroll-prep/reference/timesheet_intake.md +118 -0
  412. package/content/small-business/skills/small-business-plan-payroll/SKILL.md +88 -0
  413. package/content/small-business/skills/small-business-proposal-builder/SKILL.md +168 -0
  414. package/content/small-business/skills/small-business-proposal-builder/reference/discovery_extraction.md +138 -0
  415. package/content/small-business/skills/small-business-proposal-builder/reference/gotchas.md +184 -0
  416. package/content/small-business/skills/small-business-proposal-builder/reference/output_template.md +128 -0
  417. package/content/small-business/skills/small-business-proposal-builder/reference/pricing_method.md +125 -0
  418. package/content/small-business/skills/small-business-proposal-builder/reference/proposal_structure.md +120 -0
  419. package/content/small-business/skills/small-business-reactivate/SKILL.md +109 -0
  420. package/content/small-business/skills/small-business-report-builder/SKILL.md +142 -0
  421. package/content/small-business/skills/small-business-report-builder/reference/data_sources.md +168 -0
  422. package/content/small-business/skills/small-business-report-builder/reference/gotchas.md +155 -0
  423. package/content/small-business/skills/small-business-report-builder/reference/output_template.md +109 -0
  424. package/content/small-business/skills/small-business-report-builder/reference/report_spec.md +109 -0
  425. package/content/small-business/skills/small-business-report-builder/reference/saved_reports.md +50 -0
  426. package/content/small-business/skills/small-business-report-pack/SKILL.md +83 -0
  427. package/content/small-business/skills/small-business-restock/SKILL.md +88 -0
  428. package/content/small-business/skills/small-business-review-reputation/SKILL.md +130 -0
  429. package/content/small-business/skills/small-business-review-reputation/reference/churn-signals.md +110 -0
  430. package/content/small-business/skills/small-business-review-reputation/reference/examples/example-report.md +150 -0
  431. package/content/small-business/skills/small-business-review-reputation/reference/gotchas.md +164 -0
  432. package/content/small-business/skills/small-business-review-reputation/reference/response-patterns.md +123 -0
  433. package/content/small-business/skills/small-business-review-reputation/reference/sources.md +116 -0
  434. package/content/small-business/skills/small-business-seo-ai-visibility/SKILL.md +143 -0
  435. package/content/small-business/skills/small-business-seo-ai-visibility/reference/ai_visibility.md +173 -0
  436. package/content/small-business/skills/small-business-seo-ai-visibility/reference/audit_checklist.md +134 -0
  437. package/content/small-business/skills/small-business-seo-ai-visibility/reference/catalog_refresh.md +126 -0
  438. package/content/small-business/skills/small-business-seo-ai-visibility/reference/content_rewrite.md +113 -0
  439. package/content/small-business/skills/small-business-seo-ai-visibility/reference/gotchas.md +211 -0
  440. package/content/small-business/skills/small-business-smb-onboard/SKILL.md +82 -0
  441. package/content/small-business/skills/small-business-smb-onboard/reference/examples/happy-path.md +190 -0
  442. package/content/small-business/skills/small-business-smb-onboard/reference/gotchas.md +111 -0
  443. package/content/small-business/skills/small-business-smb-onboard/reference/onboard-checklist.md +99 -0
  444. package/content/small-business/skills/small-business-smb-onboard/reference/website-research.md +82 -0
  445. package/content/small-business/skills/small-business-smb-router/SKILL.md +216 -0
  446. package/content/small-business/skills/small-business-smb-router/reference/connector-map.md +96 -0
  447. package/content/small-business/skills/small-business-social-content-engine/SKILL.md +162 -0
  448. package/content/small-business/skills/small-business-social-content-engine/reference/calendar.md +116 -0
  449. package/content/small-business/skills/small-business-social-content-engine/reference/canva-api.md +208 -0
  450. package/content/small-business/skills/small-business-social-content-engine/reference/examples/okonkwo-campaign.md +190 -0
  451. package/content/small-business/skills/small-business-social-content-engine/reference/gotchas.md +447 -0
  452. package/content/small-business/skills/small-business-social-content-engine/reference/publishing.md +166 -0
  453. package/content/small-business/skills/small-business-social-content-engine/reference/shopify-assets.md +77 -0
  454. package/content/small-business/skills/small-business-speed-to-lead/SKILL.md +172 -0
  455. package/content/small-business/skills/small-business-speed-to-lead/reference/approval.md +61 -0
  456. package/content/small-business/skills/small-business-speed-to-lead/reference/gotchas.md +167 -0
  457. package/content/small-business/skills/small-business-speed-to-lead/reference/qualification.md +153 -0
  458. package/content/small-business/skills/small-business-speed-to-lead/reference/response_patterns.md +184 -0
  459. package/content/small-business/skills/small-business-tax-prep/SKILL.md +85 -0
  460. package/content/small-business/skills/small-business-tax-season-organizer/SKILL.md +210 -0
  461. package/content/small-business/skills/small-business-tax-season-organizer/reference/calculation-assumptions.md +177 -0
  462. package/content/small-business/skills/small-business-tax-season-organizer/reference/connector-queries.md +267 -0
  463. package/content/small-business/skills/small-business-tax-season-organizer/reference/examples/quarterly-estimate.md +92 -0
  464. package/content/small-business/skills/small-business-tax-season-organizer/reference/examples/year-end-1099.md +102 -0
  465. package/content/small-business/skills/small-business-tax-season-organizer/reference/gotchas.md +104 -0
  466. package/content/small-business/skills/small-business-tax-season-organizer/reference/output-formats.md +68 -0
  467. package/content/small-business/skills/small-business-ticket-deflector/SKILL.md +164 -0
  468. package/content/small-business/skills/small-business-ticket-deflector/reference/examples/deny-refund-request.md +98 -0
  469. package/content/small-business/skills/small-business-ticket-deflector/reference/examples/respond-refund-request.md +77 -0
  470. package/content/small-business/skills/small-business-ticket-deflector/reference/gotchas.md +57 -0
  471. package/index.ts +84 -0
  472. package/package.json +30 -3
@@ -0,0 +1,331 @@
1
+ ---
2
+ name: month-end-prep
3
+ description: >
4
+ Reconciles the accounting ledger (MYOB, NetSuite, QuickBooks, Xero, or Zoho
5
+ Books) against PayPal, Shopify, Square, and Stripe settlements, flags
6
+ transactions that need attention, suspicious duplicates, and missing
7
+ receipts, then writes a plain-English P&L narrative and exports a close
8
+ packet (xlsx + one-page PDF). This is the first link of the /close-month
9
+ command; a request to close the month or the books routes there, and the
10
+ command runs this skill before refreshing the forecast and distributing
11
+ the packet. Use this skill directly only when the owner wants the
12
+ reconciliation alone, with no forecast refresh and no distribution: "just
13
+ reconcile, no packet," "what's missing from the books," "flag the
14
+ duplicates and missing receipts," or "write the P&L narrative for this
15
+ month."
16
+ allowed-tools: Read, WebFetch
17
+ ---
18
+
19
+ # Month End Prep
20
+
21
+ ## Quick start
22
+
23
+ Connect your bookkeeping ledger and at least one payment processor, then say "let's
24
+ close the month." Claude walks you through each step of the checklist, pausing for
25
+ your input at each gate before moving forward.
26
+
27
+ Any connected ledger runs the close. Each has a reference file for its reads and
28
+ its "needs attention" signal: [reference/quickbooks-reconcile.md](reference/quickbooks-reconcile.md),
29
+ [reference/xero-reconcile.md](reference/xero-reconcile.md),
30
+ [reference/zoho-books-reconcile.md](reference/zoho-books-reconcile.md); NetSuite and MYOB
31
+ are in [reference/v2_sources.md](reference/v2_sources.md). Ledgers are peers
32
+ (`../../shared/connector-neutrality.md`): if two are connected, ask which holds the
33
+ books being closed, read the other only for what it uniquely holds, and never sum a
34
+ figure across both.
35
+
36
+ Every amount is in the business's currency (`../../shared/currency-and-locale.md`).
37
+ The thresholds below (0.50, 0.01, 25) are in that currency.
38
+
39
+ If a connector is missing, Claude falls back to asking for a CSV export — it won't
40
+ silently skip a step.
41
+
42
+ ## Workflow
43
+
44
+ Work through these steps in order. Each step has a completion state; don't advance
45
+ until the current step is settled.
46
+
47
+ ### Step 1 — Agree on the target month
48
+
49
+ Ask the user which month to close. Default to the prior calendar month if they don't
50
+ specify. Confirm before pulling any data.
51
+
52
+ ### Step 2 — Pull the ledger's P&L and register
53
+
54
+ Fetch:
55
+ - Profit & Loss report for the target month (revenue, COGS, gross margin, operating
56
+ expenses, net income)
57
+ - The register, as the ledger's reference file defines it. QuickBooks: the
58
+ transaction list, every income and expense line. Xero: bills, invoices, and the
59
+ bank-transaction queue, with that scope stated in the packet. Zoho Books: invoices,
60
+ expenses, and purchase orders, with the P&L itself coming from an export because the
61
+ connector has no report endpoint.
62
+
63
+ Flag immediately, using the ledger's own "needs attention" signal:
64
+ - **QuickBooks** — uncategorized lines ("Uncategorized," blank, "Ask My Accountant")
65
+ and its Needs Review flag
66
+ - **Xero** — bank lines still unreconciled at month end
67
+ - **Zoho Books** — the `uncategorized_transactions` count on each bank account
68
+
69
+ Present the count ("14 transactions need attention") and list them for the user to
70
+ resolve in the ledger before proceeding. Don't advance with open items unless the
71
+ user explicitly says "skip for now."
72
+
73
+ See [reference/quickbooks-reconcile.md](reference/quickbooks-reconcile.md),
74
+ [reference/xero-reconcile.md](reference/xero-reconcile.md), and
75
+ [reference/zoho-books-reconcile.md](reference/zoho-books-reconcile.md) for field
76
+ mappings and API notes.
77
+
78
+ ### Step 3 — Pull payment processor settlements
79
+
80
+ Fetch settlement reports from PayPal, Square, Stripe, or Shopify — whichever are
81
+ connected — for the same calendar month.
82
+
83
+ **Check the bank feed first.** When a processor pays out through a bank feed, the
84
+ payout is already a ledger line and the question is whether it has been matched.
85
+ Find unreconciled bank lines naming a processor and list them per processor as the
86
+ action items before doing any CSV match. This applies to any ledger that carries a
87
+ bank feed with a reconciled state — the usual case in Xero, and QuickBooks bank-feed
88
+ lines when the connector exposes them. MYOB holds no bank side, and Zoho Books exposes
89
+ balances but no bank-transaction list, so a MYOB or Zoho Books close goes straight to
90
+ the CSV match below.
91
+
92
+ **Compare net to net, or every line looks broken.** The ledger records the net bank
93
+ deposit; the processor's report shows the gross sale. Match those directly and every
94
+ row shows a discrepancy the exact size of the fee. Use the processor's **net payout**
95
+ (gross minus fees) — see [reference/gotchas.md](reference/gotchas.md).
96
+
97
+ Match each settlement deposit against the ledger's bank deposit line:
98
+ - **Match** — amount and date agree within 2 days → mark as reconciled
99
+ - **Difference < 0.50** — rounding/fee; note but don't flag
100
+ - **Difference ≥ 0.50** — flag with the delta amount
101
+ - **Settlement exists, no ledger deposit** — flag as "missing in the ledger"
102
+ - **Ledger deposit exists, no settlement** — flag as "deposit not in processor data"
103
+
104
+ See [reference/paypal-settlements.md](reference/paypal-settlements.md) for settlement
105
+ report field mappings (PayPal, Square, Stripe) and
106
+ [reference/v2_sources.md](reference/v2_sources.md) for Shopify.
107
+
108
+ ### Step 4 — Detect suspicious duplicates
109
+
110
+ Scan the register for likely duplicate charges or deposits. Flag a transaction as a
111
+ suspicious duplicate when **all three** match:
112
+ - Same amount (within 0.01)
113
+ - Same vendor or customer name
114
+ - Posted within 5 calendar days of each other
115
+
116
+ Scan what the ledger actually holds. In QuickBooks that is the transaction list,
117
+ with split rows grouped by transaction id first. In Xero a bill keyed twice makes two
118
+ unpaid documents and no bank line, so scan bills and invoices (same contact, same
119
+ total, within 5 days, both unpaid or one paid inside the window) rather than bank
120
+ lines — the mapping is in [reference/xero-reconcile.md](reference/xero-reconcile.md).
121
+ Zoho Books is the same shape: scan invoices and expenses as documents
122
+ ([reference/zoho-books-reconcile.md](reference/zoho-books-reconcile.md)).
123
+
124
+ Present flagged pairs to the user. They decide whether each is legitimate (e.g., a
125
+ recurring weekly subscription) or a real duplicate to void.
126
+
127
+ **The 5-day window is a filter, not a guarantee.** It catches the same charge keyed
128
+ twice without drowning the owner in recurring weekly bills, but a real double payment
129
+ three weeks apart slips through. Say what was scanned ("repeats within 5 days"), and
130
+ widen the window for a vendor they're suspicious about rather than calling it clean.
131
+
132
+ See [reference/gotchas.md](reference/gotchas.md) for common false-positive patterns
133
+ and how to distinguish them.
134
+
135
+ ### Step 5 — Receipts check
136
+
137
+ Check the ledger first: an attachment on the transaction counts as a receipt on file
138
+ (`AttachmentCount` in QuickBooks; `has_attachments` in Xero, returned only with
139
+ `include_line_items=true`; `has_attachment` on Zoho Books invoices and expenses). Then,
140
+ if the Desktop connector is available, scan the
141
+ receipts folder (ask the user for the path; default `~/Documents/Receipts`) for the
142
+ target month.
143
+
144
+ For each expense transaction above 25 with no attached document:
145
+ - Check for a matching receipt file (match by amount ± 0.50 and date within 3 days)
146
+ - **Matched** → note as "receipt on file"
147
+ - **Not matched** → flag as "missing receipt"
148
+
149
+ List missing receipts. The user can supply the file or mark as "receipt not required"
150
+ (e.g., a recurring auto-pay with no receipt).
151
+
152
+ If Desktop connector is not available, ask the user to confirm which expenses they have
153
+ receipts for — don't silently skip this step.
154
+
155
+ ### Step 5a — Payroll cross-check
156
+
157
+ Runs only when a payroll connector is connected (Gusto or QuickBooks Payroll — peers,
158
+ whichever is connected). Otherwise skip it and say the packet carries no payroll column.
159
+
160
+ Pull what was actually paid in the month, totals only:
161
+
162
+ - **Gusto** — `list_payrolls` with `include=totals`, keeping the payrolls whose
163
+ `check_date` falls in the target month. From each `totals`: `gross_pay`,
164
+ `employer_taxes`, `employee_taxes`, `net_pay`. Then `list_contractor_payments` for
165
+ the same date range with `group_by_date=true`, taking `total.wages` and
166
+ `total.reimbursements`. Contractor totals cover US contractors only — say so in the
167
+ packet footnote.
168
+ - **QuickBooks Payroll** — `qbo_payroll_get_company_last_payroll_run` for the most
169
+ recent run; earlier runs in the month come from the payroll summary export.
170
+ (Confirm before the first close.)
171
+
172
+ Cross-check against the ledger: net pay plus employer taxes plus contractor wages should
173
+ appear as the month's payroll expense lines. A difference above 0.50 is a reconciliation
174
+ item — usually a run posted to the wrong month, or a payroll journal not yet posted.
175
+
176
+ **Totals only, never people.** The packet carries the month's totals and the count of
177
+ runs. No employee name, rate, or per-person amount leaves the connector — that is
178
+ payroll data, and `payroll-prep` is where it belongs. See
179
+ [reference/v2_sources.md](reference/v2_sources.md) for the field mapping.
180
+
181
+ ### Step 6 — Owner sign-off gate
182
+
183
+ Present a summary before going further:
184
+
185
+ ```
186
+ Needs attention (uncategorized or unreconciled): X of X resolved
187
+ Settlement discrepancies: X flagged, X resolved
188
+ Suspicious duplicates: X flagged, X cleared
189
+ Missing receipts: X outstanding
190
+ Payroll cross-check: matched / X difference / no payroll connector
191
+ ```
192
+
193
+ Ask: "Ready to write the P&L summary and export the close packet?"
194
+
195
+ **Do not proceed to Steps 7–8 without explicit confirmation.**
196
+
197
+ ### Step 7 — Write the P&L narrative
198
+
199
+ Write a plain-English summary of the month — the kind an owner would share with their
200
+ spouse or accountant, not a CFO memo. Aim for 150–250 words.
201
+
202
+ Structure:
203
+ 1. **Headline** — one sentence: "March came in at AUD 12,400 net, up 6% from February." Currency code, never a bare symbol.
204
+ 2. **Revenue** — what drove the number; name products, services, or customers if
205
+ the data shows concentration.
206
+ 3. **Gross margin** — whether it held, rose, or compressed, and the main reason why.
207
+ 4. **Key expenses** — any line that moved more than 10% MoM or is outside the normal
208
+ range; one sentence each.
209
+ 5. **Bottom line** — net income vs. prior month; ask if they have a target to compare.
210
+ 6. **Watch list** — 1–3 things to monitor next month.
211
+
212
+ Avoid jargon; define anything that isn't plain English ("MoM" = month over month).
213
+
214
+ See [reference/examples/pl-narrative.md](reference/examples/pl-narrative.md) for a
215
+ worked example.
216
+
217
+ ### Step 8 — Export the close packet
218
+
219
+ Produce two files:
220
+
221
+ **`close-packet-[YYYY-MM].xlsx`** — three sheets, four when a payroll connector is connected:
222
+ - `P&L` — the ledger's P&L data, formatted
223
+ - `Reconciliation` — matched and flagged transactions side by side
224
+ - `Action Items` — any outstanding flags (uncategorized, missing receipts, etc.)
225
+ - `Payroll` — the Step 5a totals beside the ledger's payroll expense, with the delta
226
+
227
+ **`close-packet-[YYYY-MM]-summary.pdf`** — one page:
228
+ - Month and business name at the top
229
+ - Key figures (revenue, gross margin %, net income)
230
+ - The P&L narrative from Step 7
231
+ - Count of open action items, if any
232
+
233
+ Save both to the Desktop (or a path the user specifies). Confirm the file locations.
234
+
235
+ See [reference/close-packet-format.md](reference/close-packet-format.md) for column
236
+ specs and PDF layout details.
237
+
238
+ Also deliver the close as a page, per the owner's stored output preference —
239
+ never default to a markdown file. Check the `## Business context` block's
240
+ `Output preference` (shared style guide rule, `../../shared/artifact-style.md`):
241
+
242
+ - **Visual artifact (the default):** render the close as an HTML page in the
243
+ house style — additive to the chat summary and the files, never a
244
+ replacement. Revenue, gross margin percent, and net income are stat tiles
245
+ with their month-over-month change as context lines; the reconciliation
246
+ results are a table with tabular-nums amounts; each flag carries a status
247
+ pill — good for reconciled, warn for missing receipts and uncategorized
248
+ items, critical for unresolved settlement gaps and duplicates; the P&L
249
+ narrative and the open-items checklist each get a panel.
250
+ - **docx / md / notion / canva preference:** deliver the same content in that
251
+ form — a DOCX or markdown file, a Notion page created via the connector
252
+ (named destination, never overwriting), or a Canva Doc created via the Canva
253
+ connector (a new design each run, named with the date; tables become
254
+ lists); fall back to the visual artifact if Notion or Canva is not
255
+ connected — and say that is why. The packet xlsx and PDF keep their
256
+ formats.
257
+ - **Best for skill:** use the visual artifact — the close is reviewed on
258
+ screen before the packet goes to the accountant.
259
+
260
+ ### Step 9 — After the close
261
+
262
+ Say in one line what closed and what is still open. Then offer the single most
263
+ relevant next step, plus at most two others nearby:
264
+
265
+ - "Cash forecast" runs `cash-flow-snapshot` off the freshly closed numbers.
266
+ - "Build me a report" runs `report-builder` to publish and distribute the packet.
267
+ - "Taxes" runs `/tax-prep` when quarter or year end is near — offered only when the
268
+ business context says Country is US, since that chain's tax math is US federal.
269
+
270
+ Max three offers. Never repeat an offer the owner declined this session.
271
+
272
+ ## Approval gates
273
+
274
+ - **Never run reconciliation on a month that has been filed.** Confirm the books are
275
+ still open before pulling data.
276
+ - **Never void or modify a ledger transaction directly.** Surface flags; the owner
277
+ makes changes in the ledger.
278
+ - **Always pause at Step 6** before producing outputs. Unresolved flags must be
279
+ acknowledged or explicitly skipped.
280
+ - **Never reproduce per-person pay, SSNs, or bank numbers** in the close package
281
+ beyond the journal totals (`../../shared/personal-data.md`).
282
+
283
+ ## Graceful degradation
284
+
285
+ | Missing connector | Fallback |
286
+ |---|---|
287
+ | QuickBooks | Ask for **two separate exports** — the Profit & Loss report, and the Transaction Detail by Account report. One file will not carry both; asking for "a QB export" gets you one of them and a second round trip |
288
+ | Xero | Ask for **two exports** — the Profit and Loss report, and the Account Transactions report with all accounts selected — plus the unreconciled line count from the bank reconciliation screen, which no export carries |
289
+ | NetSuite or MYOB | Ask for the P&L and the transaction detail for the month as two exports; MYOB holds no bank balances, so the bank side comes from a statement |
290
+ | Zoho Books | Even when connected, ask for the **Profit and Loss** export (no report endpoint) and a **bank statement** (no bank-transaction feed); the register and the uncategorised count come from the connector. Not connected: add the Account Transactions export |
291
+ | Payment processor | Ask for a settlement CSV from the processor's website. It must include the fee column, not just the gross amount, or the net-to-net match in Step 3 can't be done |
292
+ | Payment processor connected but returns zero payouts for the period | Treat as a data gap, not a clean zero. Say the connector returned nothing for the month, ask for the same settlement CSV (fee column included), and name the gap in the report rather than reconciling against an empty set |
293
+ | Payroll connector (Gusto, QuickBooks Payroll) | Skip Step 5a. The packet has no Payroll sheet and the summary says "no payroll connector"; the ledger's payroll expense lines still appear in the P&L unchecked |
294
+ | Desktop (receipts) | Ask the user to confirm receipt status for each flagged expense |
295
+
296
+ ## More sources
297
+
298
+ Read `reference/v2_sources.md` for the mapping:
299
+
300
+ - **Shopify** — settlement reconciliation as a first-class leg. Orders, payouts, and fees each land differently, and it's a common source of unexplained gaps
301
+ - **NetSuite** — a ledger of record, common at the larger end of the segment; reports and SuiteQL supply the P&L and register
302
+ - **Xero** — a ledger of record with its own register shape (bills, invoices, bank queue) and its own attention signal (unreconciled bank lines); mapped in `reference/xero-reconcile.md`
303
+ - **MYOB** — P&L and AR/AP balances; no bank balances, so the bank side of the close comes from a statement
304
+ - **Zoho Books** — a ledger of record with a document register (invoices, expenses, purchase orders), bank balances with an uncategorised count as the attention signal, and no report or bank-feed endpoints, so the P&L and the payout match come from exports; mapped in `reference/zoho-books-reconcile.md`
305
+ - **Ramp, Expensify** — card and expense detail, which closes the gap between what was spent and what was coded
306
+ - **Gusto, QuickBooks Payroll** — payroll actually run: gross pay, employer taxes, net pay, and contractor payments as month totals, so Step 5a reconciles the ledger's payroll expense against what was paid rather than what was planned. Totals only; no per-person data enters the packet
307
+
308
+ Same close sequence, same packet. More sources reconciled.
309
+
310
+ **QuickBooks summary fields lie.** Read `../../shared/quickbooks-report-traps.md` before quoting any total from a QuickBooks summary object: the AP aging summary nets vendor credits into its buckets and can show a negative overdue figure, and the P&L summary can report expenses as zero against real rows. Total the rows, or use the detail call.
311
+
312
+ ## Reference files
313
+
314
+ - [reference/quickbooks-reconcile.md](reference/quickbooks-reconcile.md) — QB field
315
+ mappings, API pagination, common data issues
316
+ - [reference/xero-reconcile.md](reference/xero-reconcile.md) — Xero register
317
+ definition, unreconciled-line signal, document-level duplicate scan, attachments
318
+ - [reference/zoho-books-reconcile.md](reference/zoho-books-reconcile.md) — Zoho Books
319
+ register definition, uncategorised-count signal, what needs an export
320
+ - [reference/paypal-settlements.md](reference/paypal-settlements.md) — settlement
321
+ report structure for PayPal, Square, and Stripe
322
+ - [reference/close-packet-format.md](reference/close-packet-format.md) — xlsx column
323
+ specs, PDF layout, file naming convention
324
+ - [reference/gotchas.md](reference/gotchas.md) — duplicate false positives, split
325
+ transactions, partial-month edge cases
326
+ - [reference/examples/pl-narrative.md](reference/examples/pl-narrative.md) — worked
327
+ P&L narrative example
328
+
329
+ ## Using a tool that isn't listed
330
+
331
+ The connectors named in this skill are the tested paths, not a wall. If the owner wants this flow to use a tool that isn't connected or listed, offer `build-connector` — it checks the connector directory first and connects through Zapier otherwise, never hand-building against a raw API. Once the connection exists, the tool joins this skill like any other optional connector, under the same approval gates.
@@ -0,0 +1,127 @@
1
+ # Close Packet Format Reference
2
+
3
+ The close packet is two files: an xlsx workbook and a one-page PDF summary.
4
+
5
+ ## File naming
6
+
7
+ ```
8
+ close-packet-2024-03.xlsx
9
+ close-packet-2024-03-summary.pdf
10
+ ```
11
+
12
+ Use ISO 8601 year-month (`YYYY-MM`) in the filename. Default save location is the
13
+ Desktop; use the user's preferred path if specified.
14
+
15
+ ---
16
+
17
+ ## xlsx workbook — three sheets
18
+
19
+ ### Sheet 1: P&L
20
+
21
+ A formatted copy of the ledger's P&L for the target month. Two-column layout:
22
+ **Category** and **Amount**.
23
+
24
+ Required rows (in order):
25
+ 1. Revenue subtotal
26
+ 2. COGS subtotal
27
+ 3. **Gross Profit** (bold)
28
+ 4. **Gross Margin %** (bold, formatted as %)
29
+ 5. Operating expenses by category (each on its own row)
30
+ 6. Total Operating Expenses
31
+ 7. **Net Income** (bold)
32
+
33
+ Include a MoM comparison column if prior-month data is available. Format amounts as
34
+ currency using the business's ISO code, never a bare symbol: `"AUD "#,##0.00`,
35
+ `"GBP "#,##0.00`, `"USD "#,##0.00` (`../../../shared/currency-and-locale.md`).
36
+ Negative values in red.
37
+
38
+ ### Sheet 2: Reconciliation
39
+
40
+ Side-by-side comparison of ledger deposits vs. processor settlements.
41
+
42
+ Columns:
43
+ | Column | Source |
44
+ |---|---|
45
+ | Date (Ledger) | Ledger deposit date |
46
+ | Amount (Ledger) | Ledger deposit amount |
47
+ | Processor | PayPal / Shopify / Square / Stripe |
48
+ | Date (Processor) | Processor arrival date |
49
+ | Amount (Processor) | Processor net payout |
50
+ | Delta | Ledger amount minus processor amount |
51
+ | Status | RECONCILED / MISSING_IN_LEDGER / UNMATCHED_DEPOSIT / DATE_MISMATCH / UNRECONCILED_IN_LEDGER |
52
+
53
+ `UNRECONCILED_IN_LEDGER` is the bank-feed case: the payout is a ledger line that has
54
+ not yet been matched to a document (the usual Xero shape).
55
+
56
+ Color-code the Status column:
57
+ - RECONCILED → green fill
58
+ - DATE_MISMATCH or UNRECONCILED_IN_LEDGER → yellow fill
59
+ - MISSING_IN_LEDGER or UNMATCHED_DEPOSIT → red fill
60
+
61
+ ### Sheet 3: Action Items
62
+
63
+ Any open flags from the checklist. Columns:
64
+ | Column | Notes |
65
+ |---|---|
66
+ | Category | Needs Attention (uncategorized or unreconciled) / Missing Receipt / Duplicate / Reconciliation Flag |
67
+ | Date | Transaction date |
68
+ | Amount | Amount, in the business's currency |
69
+ | Vendor / Customer | Name |
70
+ | Description | What's wrong and what to do |
71
+
72
+ If there are no open items, show a single row: "No open action items — books are clean."
73
+
74
+ ### Sheet 4: Payroll (only when a payroll connector is connected)
75
+
76
+ The Step 5a totals beside what the ledger recorded. One row per payroll run
77
+ plus a contractor row and a total row. Columns:
78
+
79
+ | Column | Source |
80
+ |---|---|
81
+ | Run | Check date, or "Contractors" for the contractor-payments row |
82
+ | Gross pay | Payroll connector `totals.gross_pay` |
83
+ | Employer taxes | `totals.employer_taxes` |
84
+ | Employee taxes | `totals.employee_taxes` |
85
+ | Net pay | `totals.net_pay`; contractor row uses `total.wages` |
86
+ | Ledger payroll expense | The month's payroll expense lines from the ledger, matched by date |
87
+ | Delta | Ledger minus (net pay + employer taxes), flagged above 0.50 |
88
+
89
+ Totals only. No employee names or per-person amounts on this sheet — the run
90
+ count and the month totals are what an accountant needs. Footnote when Gusto
91
+ supplied the contractor row: "Contractor payments cover US contractors only."
92
+
93
+ ---
94
+
95
+ ## PDF summary — one page
96
+
97
+ Layout (top to bottom):
98
+
99
+ ```
100
+ [Business Name] Close Packet — [Month Year]
101
+ ────────────────────────────────────────────────────────────
102
+
103
+ KEY FIGURES
104
+ Revenue AUD XX,XXX
105
+ Gross Margin XX%
106
+ Net Income AUD XX,XXX
107
+ Payroll AUD XX,XXX (X runs) [only when a payroll connector is connected]
108
+
109
+ P&L SUMMARY
110
+ [150–250 word plain-English narrative from Step 7]
111
+
112
+ ACTION ITEMS
113
+ X items needing attention · X missing receipts · X open flags
114
+ [or "Books are clean — no open items." if all clear]
115
+
116
+ ────────────────────────────────────────────────────────────
117
+ Prepared [Date] · Powered by Claude
118
+ ```
119
+
120
+ Use a clean sans-serif font (Helvetica or equivalent). No logo required. Keep
121
+ margins ≥ 0.75 in on all sides so it prints cleanly. The currency code in the key
122
+ figures is the business's own (`AUD` above is an example).
123
+
124
+ **Generating the PDF:** Use the `xlsxwriter` or `reportlab` Python library if running
125
+ a script, or instruct Claude to render the content and export via the Desktop
126
+ connector's print-to-PDF capability. The user can also print the PDF from the xlsx
127
+ P&L sheet if a script isn't available.
@@ -0,0 +1,52 @@
1
+ # P&L Narrative — Worked Example
2
+
3
+ ## Scenario
4
+
5
+ **Business:** Cascade Candle Co. — small DTC candle maker, primarily Shopify +
6
+ occasional local markets.
7
+
8
+ **Month:** March 2024
9
+
10
+ **Key figures:**
11
+ - Revenue: USD 18,400 (Feb: USD 15,200) → +21% MoM
12
+ - COGS: USD 7,360 (Feb: USD 5,776) → gross margin 60% (Feb: 62%)
13
+ - Net income: USD 4,150 (Feb: USD 3,100) → +34% MoM
14
+
15
+ **Drivers:**
16
+ - Spring collection launched March 8 — strong first two weeks
17
+ - Beeswax costs rose ~8% MoM from a new supplier
18
+ - Shopify fees higher due to volume; otherwise expenses flat
19
+
20
+ ---
21
+
22
+ ## Example narrative
23
+
24
+ > **March came in at USD 4,150 net — your best month yet, up 34% from February.**
25
+ >
26
+ > Revenue hit USD 18,400, driven almost entirely by the Spring Collection launch on
27
+ > March 8. The Lavender + Sage three-pack was your top seller, accounting for
28
+ > roughly a third of units. The last week of the month slowed after the launch
29
+ > buzz faded, which is normal — watch whether that holds in April.
30
+ >
31
+ > Gross margin dipped slightly to 60% (from 62% in February). The culprit is
32
+ > beeswax: your new supplier is running about 8% higher than your previous one.
33
+ > At current volume that's roughly USD 200/month — not alarming, but worth a
34
+ > conversation with them or a price comparison before next order.
35
+ >
36
+ > Expenses were otherwise flat. Shopify fees ticked up proportionally with
37
+ > sales, which is expected.
38
+ >
39
+ > **Watch list for April:** (1) Whether the post-launch slowdown stabilizes or
40
+ > continues. (2) Beeswax pricing — lock in a rate if you can. (3) You have
41
+ > USD 2,800 in deposits from the Petal & Bloom wholesale order that haven't
42
+ > shipped yet — those aren't revenue until delivery.
43
+
44
+ ---
45
+
46
+ ## What makes this narrative work
47
+
48
+ - Opens with the headline number, not a preamble
49
+ - Names a specific product ("Lavender + Sage three-pack"), not just "top sellers"
50
+ - Explains the margin compression in concrete dollars, not just percentages
51
+ - Watch list is specific and actionable, not generic ("keep an eye on expenses")
52
+ - Flags the deposit that isn't revenue yet — this is a common SMB blind spot
@@ -0,0 +1,113 @@
1
+ # Gotchas
2
+
3
+ Common mistakes and edge cases in month-end close. Each entry has the pattern,
4
+ the reason it matters, and a Bad / Good example.
5
+
6
+ ---
7
+
8
+ ## Gotcha: Flagging split transactions as duplicates
9
+
10
+ **Why it matters:** A single purchase split across multiple GL categories appears
11
+ as multiple rows in a QuickBooks export — same vendor, same date, different amounts.
12
+ Flagging these as duplicates sends the owner on a wild goose chase.
13
+
14
+ ### ✗ Bad
15
+
16
+ > Flagged as duplicate: Office Depot USD 47.50 on March 12 and Office Depot USD 62.50
17
+ > on March 12 — same vendor, same date.
18
+
19
+ Both rows share the same `TxnID` — they're splits of a USD 110 purchase across
20
+ "Office Supplies" and "Equipment."
21
+
22
+ ### ✓ Good
23
+
24
+ Before flagging duplicates, group rows by the ledger's transaction id (`TxnID` in
25
+ QuickBooks). Only compare transactions with distinct IDs. Splits of the same
26
+ transaction are never duplicates. In Xero a split is one document whose
27
+ `line_item_cardinality` is above 1: compare documents, never lines.
28
+
29
+ ---
30
+
31
+ ## Gotcha: Scanning bank lines for duplicates in a Xero ledger
32
+
33
+ **Why it matters:** A bill entered twice in Xero sits as two unpaid documents and
34
+ produces no bank line until one is paid. A bank-side scan reports the ledger clean
35
+ while the duplicate waits to be paid twice.
36
+
37
+ ### ✗ Bad
38
+
39
+ > Scanned 212 bank transactions for the month. No duplicate pairs found.
40
+
41
+ The duplicate is in the bills list, not the bank feed.
42
+
43
+ ### ✓ Good
44
+
45
+ For a Xero ledger, scan bills and invoices: same contact, same total, within 5
46
+ days, both unpaid or one already paid inside the window (the paid-once-about-to-be-
47
+ paid-twice case is the costly one). Say what was scanned ("bills and invoices, not bank lines") so
48
+ the owner knows what the clean result covers. Mapping in
49
+ [xero-reconcile.md](xero-reconcile.md).
50
+
51
+ ---
52
+
53
+ ## Gotcha: Treating a refund as a missing settlement
54
+
55
+ **Why it matters:** A PayPal refund appears as a negative transaction in the
56
+ settlement report. If you treat it as an unmatched outflow, you'll flag a
57
+ legitimate refund as a problem.
58
+
59
+ ### ✗ Bad
60
+
61
+ > Flagged: PayPal outflow of –USD 89.00 on March 18 has no matching QB deposit.
62
+ > Possible missing transaction.
63
+
64
+ The –USD 89.00 is a refund to a customer. It should match a QB credit memo, not
65
+ a deposit.
66
+
67
+ ### ✓ Good
68
+
69
+ Separate inflows (positive) from outflows (negative) before reconciling. Match
70
+ negative processor amounts against QB credit memos or refund transactions, not
71
+ deposits. Only flag an unmatched negative if no credit memo exists in QB.
72
+
73
+ ---
74
+
75
+ ## Gotcha: Comparing gross PayPal amount to net QB deposit
76
+
77
+ **Why it matters:** QuickBooks often records the net bank deposit (after PayPal
78
+ fees), but PayPal's transaction report shows the gross sale amount. Comparing
79
+ gross to net will always show a discrepancy equal to the fee.
80
+
81
+ ### ✗ Bad
82
+
83
+ > Discrepancy: PayPal settlement USD 500.00, QB deposit USD 484.80 — delta USD 15.20.
84
+ > Flagged as reconciliation error.
85
+
86
+ The USD 15.20 is PayPal's 3.04% processing fee. This is expected and correct.
87
+
88
+ ### ✓ Good
89
+
90
+ Use the **net payout** field from the PayPal settlement report
91
+ (`transaction_info.transaction_amount.value` minus
92
+ `transaction_info.fee_amount.value`) when comparing to the QB bank deposit.
93
+ If the delta is < USD 0.50 after fee adjustment, mark as RECONCILED.
94
+
95
+ ---
96
+
97
+ ## Gotcha: Advancing past Step 6 when there are unresolved flags
98
+
99
+ **Why it matters:** The close packet is the final artifact the owner files or
100
+ shares with their accountant. Exporting it with open flags bakes errors into
101
+ the record.
102
+
103
+ ### ✗ Bad
104
+
105
+ > Owner hasn't responded about the 3 uncategorized transactions. Generating
106
+ > the close packet now so they have something to look at.
107
+
108
+ ### ✓ Good
109
+
110
+ Hold at the Step 6 gate until the owner acknowledges every flag — either
111
+ resolving it ("categorize this as office supplies") or explicitly deferring it
112
+ ("mark that as 'to review later'"). Only then export. Open items that the owner
113
+ deferred should appear in the Action Items sheet, not be silently dropped.