{"_id":"@cynco/accounting-skills","_rev":"11-77b038408ba3ea72814fbb61f73d81c9","name":"@cynco/accounting-skills","dist-tags":{"latest":"2.3.1"},"versions":{"1.0.0":{"name":"@cynco/accounting-skills","version":"1.0.0","keywords":["claude","claude-code","claude-skill","accounting","malaysia","mpers","mfrs","bookkeeping","financial-statements"],"license":"MIT","_id":"@cynco/accounting-skills@1.0.0","maintainers":[{"name":"hazlijohar","email":"hazli.johar@cynco.io"}],"homepage":"https://github.com/cynco-tech/accounting-skills#readme","bugs":{"url":"https://github.com/cynco-tech/accounting-skills/issues"},"bin":{"accounting-skills":"install.js"},"dist":{"shasum":"ade2e4cdb47c2575c0f536878ce7312cd41d9a7f","tarball":"https://registry.npmjs.org/@cynco/accounting-skills/-/accounting-skills-1.0.0.tgz","fileCount":24,"integrity":"sha512-a+Z085aR64zjJtPuvLhkSKNs1hazWL3yuoJ3RkFjGFbqu3o+bBmblFAqwLr+T+jW1Q31wmMSRPn35/NGnQI93g==","signatures":[{"sig":"MEQCIHWMvCkQYSMvW09T4lIpAPbMCcIuOW3qVj4eZzlOfp6sAiAOKBvGzmP7ndVUJ9D0pXPp0PZBH7OxT5Ol30OSAR9d1A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":342257},"type":"module","gitHead":"bab1ee9864f84525e75e1f9cf142997316d5ea58","_npmUser":{"name":"hazlijohar","email":"hazli.johar@cynco.io"},"repository":{"url":"git+https://github.com/cynco-tech/accounting-skills.git","type":"git"},"_npmVersion":"10.8.2","description":"Malaysian accounting skill for Claude Code. Processes client documents into MPERS/MFRS-compliant financial statements.","directories":{},"_nodeVersion":"20.20.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/accounting-skills_1.0.0_1774333836788_0.45044338456668176","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@cynco/accounting-skills","version":"1.0.1","keywords":["claude","claude-code","claude-skill","accounting","malaysia","mpers","mfrs","bookkeeping","financial-statements"],"license":"MIT","_id":"@cynco/accounting-skills@1.0.1","maintainers":[{"name":"hazlijohar","email":"hazli.johar@cynco.io"}],"homepage":"https://github.com/cynco-tech/accounting-skills#readme","bugs":{"url":"https://github.com/cynco-tech/accounting-skills/issues"},"bin":{"accounting-skills":"install.js"},"dist":{"shasum":"3a86d436879f9acc6722efceeb2339456219f90d","tarball":"https://registry.npmjs.org/@cynco/accounting-skills/-/accounting-skills-1.0.1.tgz","fileCount":24,"integrity":"sha512-ZW15qylvoBjoYYkLFb80x6ZDqt8oSsW7GtvF/mW5v68fMayT4H4bcRhJgOhOqFvBiw46JccYqPvrDZrTQ4FS0g==","signatures":[{"sig":"MEUCICATFITzCqFWJ8+KqF7CrXpXqcjJZTA5HmuMS/IUJoVnAiEAkNGT5Z4/f843wCPBx4SLe1VCAq4bJGgIv71mXBA66UE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":342226},"type":"module","gitHead":"bab1ee9864f84525e75e1f9cf142997316d5ea58","_npmUser":{"name":"hazlijohar","email":"hazli.johar@cynco.io"},"repository":{"url":"git+https://github.com/cynco-tech/accounting-skills.git","type":"git"},"_npmVersion":"10.8.2","description":"Malaysian accounting skill for Claude Code. Processes client documents into MPERS/MFRS-compliant financial statements.","directories":{},"_nodeVersion":"20.20.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/accounting-skills_1.0.1_1774334044980_0.1205154002879465","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@cynco/accounting-skills","version":"1.0.2","keywords":["claude","claude-code","claude-skill","accounting","malaysia","mpers","mfrs","bookkeeping","financial-statements"],"license":"MIT","_id":"@cynco/accounting-skills@1.0.2","maintainers":[{"name":"hazlijohar","email":"hazli.johar@cynco.io"}],"homepage":"https://github.com/cynco-tech/accounting-skills#readme","bugs":{"url":"https://github.com/cynco-tech/accounting-skills/issues"},"bin":{"cynco-accounting-skills":"install.js"},"dist":{"shasum":"6db7b5e9768729e5e75c819f7a2133698055d3d5","tarball":"https://registry.npmjs.org/@cynco/accounting-skills/-/accounting-skills-1.0.2.tgz","fileCount":24,"integrity":"sha512-rXt2PNrJP0Eau2VZ2OgtUKUF5wJcHpdq2hQZVvxeukT5LsduOU4vGwlCJqTetDHdTdPnd2WWpkUhLhftqv0keA==","signatures":[{"sig":"MEUCIAlVzLsdGenAj6w0svnw+p99I+zFYdbGM8BFi4cI+12CAiEAjU8GmcJBjILT68a5qS/9L6SSDAs8gJ+JrNfWAd14MvI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":342263},"type":"module","gitHead":"bab1ee9864f84525e75e1f9cf142997316d5ea58","_npmUser":{"name":"hazlijohar","email":"hazli.johar@cynco.io"},"repository":{"url":"git+https://github.com/cynco-tech/accounting-skills.git","type":"git"},"_npmVersion":"10.8.2","description":"Malaysian accounting skill for Claude Code. Processes client documents into MPERS/MFRS-compliant financial statements.","directories":{},"_nodeVersion":"20.20.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/accounting-skills_1.0.2_1774334118510_0.620622492509169","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@cynco/accounting-skills","version":"2.0.0","keywords":["accounting","beancount","fava","claude-code","agent-skills","bookkeeping","mpers","maybank"],"author":{"name":"Hazli Johar","email":"coding@hazli.dev"},"license":"Apache-2.0","_id":"@cynco/accounting-skills@2.0.0","maintainers":[{"name":"hazlijohar","email":"hazli.johar@cynco.io"}],"homepage":"https://github.com/cynco-labs/ai-accounting-skills","bugs":{"url":"https://github.com/cynco-labs/ai-accounting-skills/issues"},"bin":{"ai-accounting":"cli/bin/ai-accounting.js","cynco-accounting":"cli/bin/ai-accounting.js"},"dist":{"shasum":"fafaf2d5311ef16abf79182c9e5906af0b1cee11","tarball":"https://registry.npmjs.org/@cynco/accounting-skills/-/accounting-skills-2.0.0.tgz","fileCount":53,"integrity":"sha512-a6TcZ3DOKGFs+//xj4Dk2quK8a/+vlZDh/QbWdf2qKg+vCHQwmGa/fIMDk59wAHsgK2yOGLYxc6E2j0dwkHoQA==","signatures":[{"sig":"MEYCIQDgc+7Wt0MwWGr6zWOnAr43g7VjbxaGuNCvc9+2wlY4LwIhANqHXhciUicXUYTBG3ufiTOXTq+dQ97fkGyXPx7qNPFn","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":244997},"type":"module","engines":{"node":">=18"},"gitHead":"a6c370f4814b3857d298bef1e8c0f9cfe2d79616","scripts":{"demo":"node ./cli/bin/ai-accounting.js demo","check":"node ./cli/bin/ai-accounting.js check","ai-accounting":"node ./cli/bin/ai-accounting.js"},"_npmUser":{"name":"hazlijohar","email":"hazli.johar@cynco.io"},"repository":{"url":"git+https://github.com/cynco-labs/ai-accounting-skills.git","type":"git"},"_npmVersion":"10.9.8","description":"Agent-native accounting CLI — extract bank PDFs, validate engagements, export Beancount, open Fava. npx @cynco/accounting-skills demo","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/accounting-skills_2.0.0_1783540192763_0.4948552070523591","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"@cynco/accounting-skills","version":"2.0.1","keywords":["accounting","beancount","fava","claude-code","agent-skills","bookkeeping","mpers","maybank"],"author":{"name":"Hazli Johar","email":"coding@hazli.dev"},"license":"Apache-2.0","_id":"@cynco/accounting-skills@2.0.1","maintainers":[{"name":"hazlijohar","email":"hazli.johar@cynco.io"}],"homepage":"https://github.com/cynco-labs/ai-accounting-skills","bugs":{"url":"https://github.com/cynco-labs/ai-accounting-skills/issues"},"bin":{"ai-accounting":"cli/bin/ai-accounting.js","cynco-accounting":"cli/bin/ai-accounting.js","accounting-skills":"cli/bin/ai-accounting.js"},"dist":{"shasum":"f123a95fb27f750aaaba628cc9926faf0c9e699d","tarball":"https://registry.npmjs.org/@cynco/accounting-skills/-/accounting-skills-2.0.1.tgz","fileCount":53,"integrity":"sha512-UgxveiAEibEqQ035ylCki4Y0Ouui6RmwmMnsvSL/hLDydh3BQbcrwNEgTMM0/nn8Q+Td1RG8YTqlbKlOOtz13w==","signatures":[{"sig":"MEYCIQDkjwp6/uyQTzK5bKyvfU5bqyOAlqmO0nwBujNAEfdUaQIhANLGn/4/SpdFE6o91wtk3HEpUWkYUdEf0B/unCifgzes","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":245052},"type":"module","engines":{"node":">=18"},"gitHead":"0705d89b6b73f79e87cf83d54324ab96b0513381","scripts":{"demo":"node ./cli/bin/ai-accounting.js demo","check":"node ./cli/bin/ai-accounting.js check","ai-accounting":"node ./cli/bin/ai-accounting.js"},"_npmUser":{"name":"hazlijohar","email":"hazli.johar@cynco.io"},"repository":{"url":"git+https://github.com/cynco-labs/ai-accounting-skills.git","type":"git"},"_npmVersion":"10.9.8","description":"Agent-native accounting CLI — extract bank PDFs, validate engagements, export Beancount, open Fava. npx @cynco/accounting-skills demo","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/accounting-skills_2.0.1_1783540715089_0.879598800914174","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"@cynco/accounting-skills","version":"2.1.0","keywords":["accounting","beancount","fava","claude-code","agent-skills","skills.sh","bookkeeping","mpers","maybank"],"author":{"name":"Hazli Johar","email":"coding@hazli.dev"},"license":"Apache-2.0","_id":"@cynco/accounting-skills@2.1.0","maintainers":[{"name":"hazlijohar","email":"hazli.johar@cynco.io"}],"homepage":"https://github.com/cynco-labs/ai-accounting-skills","bugs":{"url":"https://github.com/cynco-labs/ai-accounting-skills/issues"},"bin":{"ai-accounting":"cli/bin/ai-accounting.js","cynco-accounting":"cli/bin/ai-accounting.js","accounting-skills":"cli/bin/ai-accounting.js"},"dist":{"shasum":"b9dfa96e55f47afcaf83fc4c5738ad4f752b5435","tarball":"https://registry.npmjs.org/@cynco/accounting-skills/-/accounting-skills-2.1.0.tgz","fileCount":64,"integrity":"sha512-tRAdpHZFKNl1PmTYQ8JPIwHzhwrVmEcFsLni2EPEViJwl99PtLD2EGIPwerfYzztAHXxAQMPqQSbttmLM75yOw==","signatures":[{"sig":"MEUCIFebUmVDvBSBmn/m5pZipaBL0/y0cESjirEfiKjCocZHAiEAuJkG0Z2x341wk3JfX5Ilm8xhzlM1tEg06xhecdK2gEE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":330611},"type":"module","engines":{"node":">=18"},"gitHead":"533b220c17d4fb5b5a6da44d3a6e0aebcf8983ac","scripts":{"demo":"node ./cli/bin/ai-accounting.js demo","test":"python3 -m unittest discover -s tests -v","check":"node ./cli/bin/ai-accounting.js check","close":"node ./cli/bin/ai-accounting.js close","ai-accounting":"node ./cli/bin/ai-accounting.js"},"_npmUser":{"name":"hazlijohar","email":"hazli.johar@cynco.io"},"repository":{"url":"git+https://github.com/cynco-labs/ai-accounting-skills.git","type":"git"},"_npmVersion":"10.9.8","description":"Agent-native accounting CLI — extract, classify, close, Beancount, Fava. Multi-agent via skills.sh. npx @cynco/accounting-skills demo","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/accounting-skills_2.1.0_1783542076862_0.11042451770922401","host":"s3://npm-registry-packages-npm-production"}},"2.2.2":{"name":"@cynco/accounting-skills","version":"2.2.2","keywords":["accounting","beancount","fava","claude-code","agent-skills","skills.sh","bookkeeping","mpers","maybank"],"author":{"name":"Hazli Johar","email":"coding@hazli.dev"},"license":"Apache-2.0","_id":"@cynco/accounting-skills@2.2.2","maintainers":[{"name":"hazlijohar","email":"hazli.johar@cynco.io"}],"homepage":"https://github.com/cynco-labs/ai-accounting-skills","bugs":{"url":"https://github.com/cynco-labs/ai-accounting-skills/issues"},"bin":{"ai-accounting":"cli/bin/ai-accounting.js","cynco-accounting":"cli/bin/ai-accounting.js","accounting-skills":"cli/bin/ai-accounting.js"},"dist":{"shasum":"7a381d7dc1669f62c541e5a74a5ddeafda18be5a","tarball":"https://registry.npmjs.org/@cynco/accounting-skills/-/accounting-skills-2.2.2.tgz","fileCount":66,"integrity":"sha512-mLbohgA3jXKdNujAdavWMhvFmIigDT3lkURmhM+no+rwcNFNWR/EIc5Ci08emP1P8DBVB0MPSHdh0yFjY3sUDg==","signatures":[{"sig":"MEUCIQCB0MDRhm7C1Aq3CwIeD7IyZQ/9YWmURgHVzwuCG1cWOgIgXL4TVpQphkuaaPqKN79pUdeDrL+jlBnA1vZJM3q8Xig=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":356565},"type":"module","engines":{"node":">=18"},"gitHead":"5773b0647a6538cbe4252c65409e5c698a8dcb7f","scripts":{"demo":"node ./cli/bin/ai-accounting.js demo","test":"python3 -m unittest discover -s tests -v","check":"node ./cli/bin/ai-accounting.js check","close":"node ./cli/bin/ai-accounting.js close","ai-accounting":"node ./cli/bin/ai-accounting.js"},"_npmUser":{"name":"hazlijohar","email":"hazli.johar@cynco.io"},"repository":{"url":"git+https://github.com/cynco-labs/ai-accounting-skills.git","type":"git"},"_npmVersion":"10.9.8","description":"Agent-native accounting CLI — extract, classify, post, tb, close, Beancount, Fava. Multi-agent via skills.sh. npx @cynco/accounting-skills demo","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/accounting-skills_2.2.2_1783573514171_0.42679673318889977","host":"s3://npm-registry-packages-npm-production"}},"2.2.4":{"name":"@cynco/accounting-skills","version":"2.2.4","keywords":["accounting","beancount","fava","claude-code","agent-skills","skills.sh","bookkeeping","mpers","maybank"],"author":{"name":"Hazli Johar","email":"coding@hazli.dev"},"license":"MIT","_id":"@cynco/accounting-skills@2.2.4","maintainers":[{"name":"hazlijohar","email":"hazli.johar@cynco.io"}],"homepage":"https://github.com/cynco-labs/ai-accounting-skills","bugs":{"url":"https://github.com/cynco-labs/ai-accounting-skills/issues"},"bin":{"ai-accounting":"cli/bin/ai-accounting.js","cynco-accounting":"cli/bin/ai-accounting.js","accounting-skills":"cli/bin/ai-accounting.js"},"dist":{"shasum":"bf21c9c3fb6b82e00535827ae8b8ef3df9249c86","tarball":"https://registry.npmjs.org/@cynco/accounting-skills/-/accounting-skills-2.2.4.tgz","fileCount":66,"integrity":"sha512-kpSd8gcIZAjPpGUJdFMmBVnAs9JIg+mjFWd1q8pN/javwUywArI1nwHZCqw1bxaTIRoiWAUbTZlvjreHV1++Xg==","signatures":[{"sig":"MEYCIQDj/Zm8cUi+6mji8FbvY3jN7IwcfWTV3Iikp+halTiLAgIhANhRk/XbJfFtusQ5uhZM6DrofVRiC9F9sCJyNUrhuSvk","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":316113},"type":"module","engines":{"node":">=18"},"gitHead":"a9576ba2d3ab3ef9781e4c41f420b48239c022e3","scripts":{"demo":"node ./cli/bin/ai-accounting.js demo","test":"python3 -m unittest discover -s tests -v","check":"node ./cli/bin/ai-accounting.js check","close":"node ./cli/bin/ai-accounting.js close","ai-accounting":"node ./cli/bin/ai-accounting.js"},"_npmUser":{"name":"hazlijohar","email":"hazli.johar@cynco.io"},"repository":{"url":"git+https://github.com/cynco-labs/ai-accounting-skills.git","type":"git"},"_npmVersion":"10.9.8","description":"Accounting CLI for coding agents — extract banks, classify, post, trial balance, close, Beancount + Fava. Install skills via skills.sh. npx @cynco/accounting-skills demo","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/accounting-skills_2.2.4_1783575466915_0.8149660270851162","host":"s3://npm-registry-packages-npm-production"}},"2.2.5":{"name":"@cynco/accounting-skills","version":"2.2.5","keywords":["accounting","beancount","fava","claude-code","agent-skills","skills.sh","bookkeeping","mpers","maybank"],"author":{"name":"Hazli Johar","email":"coding@hazli.dev"},"license":"MIT","_id":"@cynco/accounting-skills@2.2.5","maintainers":[{"name":"hazlijohar","email":"hazli.johar@cynco.io"}],"homepage":"https://github.com/cynco-labs/ai-accounting-skills","bugs":{"url":"https://github.com/cynco-labs/ai-accounting-skills/issues"},"bin":{"ai-accounting":"cli/bin/ai-accounting.js","cynco-accounting":"cli/bin/ai-accounting.js","accounting-skills":"cli/bin/ai-accounting.js"},"dist":{"shasum":"0fd0f09062baedb9fbf20692023d67c90e904b5f","tarball":"https://registry.npmjs.org/@cynco/accounting-skills/-/accounting-skills-2.2.5.tgz","fileCount":67,"integrity":"sha512-vHRzI7cjLKHA89zgzF270jd8A8hkO4CTb5wq/WYqx18kTPMnQeUCFMSjDzD1vPz8Jxdsgxv4jrH4vO6q7Wtz0A==","signatures":[{"sig":"MEQCIFKOq67fYzlOt7rJePtHNQqjY1Vj6BzF/jmS1+XMIsmcAiBjWelp9HXeh1JPVqDVJq91MPKo1hkA2Hl/tCiJyiBaYg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":321147},"type":"module","engines":{"node":">=18"},"gitHead":"71238c7ce5cbebf91ba2889115d6085ff29cea4e","scripts":{"demo":"node ./cli/bin/ai-accounting.js demo","test":"python3 -m unittest discover -s tests -v","check":"node ./cli/bin/ai-accounting.js check","close":"node ./cli/bin/ai-accounting.js close","ai-accounting":"node ./cli/bin/ai-accounting.js"},"_npmUser":{"name":"hazlijohar","email":"hazli.johar@cynco.io"},"repository":{"url":"git+https://github.com/cynco-labs/ai-accounting-skills.git","type":"git"},"_npmVersion":"10.9.8","description":"Accounting CLI for coding agents — extract banks, classify, post, trial balance, close, Beancount + Fava. Install skills via skills.sh. npx @cynco/accounting-skills demo","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/accounting-skills_2.2.5_1783587862680_0.6279124562958596","host":"s3://npm-registry-packages-npm-production"}},"2.3.0":{"name":"@cynco/accounting-skills","version":"2.3.0","keywords":["accounting","beancount","fava","claude-code","agent-skills","skills.sh","bookkeeping","mpers","maybank"],"author":{"name":"Hazli Johar","email":"coding@hazli.dev"},"license":"MIT","_id":"@cynco/accounting-skills@2.3.0","maintainers":[{"name":"hazlijohar","email":"hazli.johar@cynco.io"}],"homepage":"https://github.com/cynco-labs/ai-accounting-skills","bugs":{"url":"https://github.com/cynco-labs/ai-accounting-skills/issues"},"bin":{"ai-accounting":"cli/bin/ai-accounting.js","cynco-accounting":"cli/bin/ai-accounting.js","accounting-skills":"cli/bin/ai-accounting.js"},"dist":{"shasum":"844e8845bbb44d45dfd8fa43ab5ac84a6afb77e9","tarball":"https://registry.npmjs.org/@cynco/accounting-skills/-/accounting-skills-2.3.0.tgz","fileCount":68,"integrity":"sha512-dTnIkPo2iU0uKXEqnKJP2YZJGHH8ZQk+3mx/POXt86zOJ/yKclevinN8QOyanRicGSSUoCBOaEsDjxsKPZMjKA==","signatures":[{"sig":"MEUCIQDY+9Ip+SyYpsomtSpM6c4Y/V2J/k47GTS9WyT12RituQIgZM71rWbTOF8f1zhMD3QSvG+vfGAWhQFNg68UlXKHRwE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":336833},"type":"module","engines":{"node":">=18"},"gitHead":"564d3bbd9b6f85ee2ecda1cc9d5a8300b4e538f5","scripts":{"demo":"node ./cli/bin/ai-accounting.js demo","test":"python3 -m unittest discover -s tests -v","check":"node ./cli/bin/ai-accounting.js check","close":"node ./cli/bin/ai-accounting.js close","ai-accounting":"node ./cli/bin/ai-accounting.js"},"_npmUser":{"name":"hazlijohar","email":"hazli.johar@cynco.io"},"repository":{"url":"git+https://github.com/cynco-labs/ai-accounting-skills.git","type":"git"},"_npmVersion":"10.9.8","description":"Accounting CLI for coding agents — extract banks, classify, post, trial balance, close, Beancount + Fava. Install skills via skills.sh. npx @cynco/accounting-skills demo","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/accounting-skills_2.3.0_1783603308961_0.5289460084260922","host":"s3://npm-registry-packages-npm-production"}},"2.3.1":{"name":"@cynco/accounting-skills","version":"2.3.1","description":"Accounting CLI for coding agents — extract banks, classify, post, trial balance, close, Beancount + Fava. Install skills via skills.sh. npx @cynco/accounting-skills demo","keywords":["accounting","beancount","fava","claude-code","agent-skills","skills.sh","bookkeeping","mpers","maybank"],"homepage":"https://github.com/cynco-labs/ai-accounting-skills","repository":{"type":"git","url":"git+https://github.com/cynco-labs/ai-accounting-skills.git"},"bugs":{"url":"https://github.com/cynco-labs/ai-accounting-skills/issues"},"license":"MIT","author":{"name":"Hazli Johar","email":"coding@hazli.dev"},"type":"module","bin":{"accounting-skills":"cli/bin/ai-accounting.js","ai-accounting":"cli/bin/ai-accounting.js","cynco-accounting":"cli/bin/ai-accounting.js"},"engines":{"node":">=18"},"scripts":{"ai-accounting":"node ./cli/bin/ai-accounting.js","demo":"node ./cli/bin/ai-accounting.js demo","close":"node ./cli/bin/ai-accounting.js close","check":"node ./cli/bin/ai-accounting.js check","test":"python3 -m unittest discover -s tests -v"},"publishConfig":{"access":"public"},"_id":"@cynco/accounting-skills@2.3.1","gitHead":"8edb9d7c159e766aade0b381043fa74ec5db48ef","_nodeVersion":"22.23.1","_npmVersion":"10.9.8","dist":{"integrity":"sha512-Mg4fADRpsG7YYXXNzN1TOQ2vVqfpoAKtV/GBGagtFhwWaqySTpj1twO5pXqv2/on5jG4a+wmldll5s/mzB4XEA==","shasum":"fe3d4ecf44e18032d6a30209d85400875216ae00","tarball":"https://registry.npmjs.org/@cynco/accounting-skills/-/accounting-skills-2.3.1.tgz","fileCount":78,"unpackedSize":347941,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDHTqhsICm0h/fQcrpEtF/ABW/o8qb9zhWdfaji2jqwWgIgWsi3p/UitweqWPG4LcLaZW3kIxNSZqovylf/RhjYvKc="}]},"_npmUser":{"name":"hazlijohar","email":"hazli.johar@cynco.io"},"directories":{},"maintainers":[{"name":"hazlijohar","email":"hazli.johar@cynco.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/accounting-skills_2.3.1_1783603700202_0.0429535187603447"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-24T06:30:36.700Z","modified":"2026-07-09T13:28:20.498Z","1.0.0":"2026-03-24T06:30:36.981Z","1.0.1":"2026-03-24T06:34:05.119Z","1.0.2":"2026-03-24T06:35:18.686Z","2.0.0":"2026-07-08T19:49:52.906Z","2.0.1":"2026-07-08T19:58:35.230Z","2.1.0":"2026-07-08T20:21:17.071Z","2.2.2":"2026-07-09T05:05:14.365Z","2.2.4":"2026-07-09T05:37:47.048Z","2.2.5":"2026-07-09T09:04:22.841Z","2.3.0":"2026-07-09T13:21:49.112Z","2.3.1":"2026-07-09T13:28:20.362Z"},"bugs":{"url":"https://github.com/cynco-labs/ai-accounting-skills/issues"},"author":{"name":"Hazli Johar","email":"coding@hazli.dev"},"license":"MIT","homepage":"https://github.com/cynco-labs/ai-accounting-skills","keywords":["accounting","beancount","fava","claude-code","agent-skills","skills.sh","bookkeeping","mpers","maybank"],"repository":{"type":"git","url":"git+https://github.com/cynco-labs/ai-accounting-skills.git"},"description":"Accounting CLI for coding agents — extract banks, classify, post, trial balance, close, Beancount + Fava. Install skills via skills.sh. npx @cynco/accounting-skills demo","maintainers":[{"name":"hazlijohar","email":"hazli.johar@cynco.io"}],"readme":"<p align=\"center\">\n  <img src=\"https://img.shields.io/badge/v2.3.1-0d6efd?style=for-the-badge\" alt=\"v2.3.1\" />\n  <a href=\"https://skills.sh/cynco-labs/ai-accounting-skills\"><img src=\"https://skills.sh/b/cynco-labs/ai-accounting-skills\" alt=\"skills.sh\" /></a>\n  <img src=\"https://img.shields.io/badge/Beancount-ledger-111827?style=for-the-badge\" alt=\"Beancount\" />\n  <img src=\"https://img.shields.io/badge/License-MIT-10b981?style=for-the-badge\" alt=\"MIT License\" />\n</p>\n\n<h1 align=\"center\">AI Accounting Skills</h1>\n\n<p align=\"center\">\n  <strong>Real bookkeeping for coding agents — not made-up numbers.</strong><br/>\n  Drop a folder of bank statements → organized books → balancing trial balance → optional year-end pack.\n</p>\n\n<p align=\"center\">\n  Put bank statements and receipts in a folder. Say <em>“do the accounting.”</em><br/>\n  The agent organizes files, books the months you have, and saves progress on disk.\n</p>\n\n---\n\n## Quick start (about 30 seconds)\n\n1. Install:\n\n```bash\nnpx skills add cynco-labs/ai-accounting-skills\n```\n\n2. Point your agent at a folder of bank statements / receipts and say:\n\n> Do the accounting.\n\n3. Optional — command-line tools (no need to clone the repo):\n\n```bash\nnpx @cynco/accounting-skills extract ./statements --json ./txns.json\nnpx @cynco/accounting-skills classify ./txns.json\nnpx @cynco/accounting-skills post ./clients/acme --opening-from-bank\nnpx @cynco/accounting-skills tb ./clients/acme --both\nnpx @cynco/accounting-skills close ./clients/acme\n```\n\nThat’s it. You can stop mid-way and continue later — progress is saved in `engagement_state.json`.\n\n---\n\n## Why this exists\n\nCoding agents are good at code. They are often **bad at accounts**.\n\nThey invent company names, type trial balance totals into Excel, and skip bank reconciliation. This project is a set of agent skills that behave more like a junior who was trained properly.\n\n### #1: The agent invents the company\n\n**What goes wrong.** You drop a folder. The agent asks twenty questions, or invents the company name, year-end, and reporting framework.\n\n**What we do instead.** Read the documents first. Guess what is clear. Confirm only what is unclear — at most **3** good questions. Start extracting bank statements in the same session.\n\n→ `smart-intake` · `full-engagement-pipeline`\n\n### #2: The numbers don’t tie\n\n**What goes wrong.** Nice-looking Excel. Trial balance doesn’t balance. Bank GL doesn’t match the bank statement. Nobody can defend the file.\n\n**What we do instead.** Extract, classify, post, and build the trial balance with **scripts** — not chat guesses. The TB is **calculated from journals**, never typed by hand. Bank recon must be **RM 0.00** (or clearly marked as limited). QC Section A must pass before anything is called final.\n\n→ `extract` · `classify` · `post` · `tb` · `quality-review`\n\n### #3: Chat becomes the books\n\n**What goes wrong.** Long chat. Context is lost. The agent “remembers” numbers that no longer match the files.\n\n**What we do instead.** Every step writes files on disk (transactions, journals, TB, recon, FS). The **files are the books**, not the chat. After a break, re-read the files.\n\n→ [Core rules](./shared/kernel-contract.md) · [Plain English terms](./CONTEXT.md)\n\n### #4: One giant vague prompt\n\n**What goes wrong.** “Do the accounts” as one mess. You can’t resume, review, or fix one step.\n\n**What we do instead.** Six clear jobs: **do the books · extract · classify · post · present · prove**. One step at a time. Builder tools (skill QA, new country packs) only run when you ask for them.\n\n→ [Six main jobs](./shared/skill-collapse-map.md) · [How we write skills](./shared/skill-craft.md)\n\n### In short\n\n| Without this | With this |\n|---|---|\n| Random Excel, no checks | Workpapers in JSON → **balanced TB** or stop |\n| Invented company details | **Read first**, ask ≤3 questions |\n| “Looks fine” books | Bank recon **RM 0.00**, line-by-line proof |\n| Excel as the only ledger | **Beancount** ledger + **Fava** in the browser |\n| One vague prompt | Skills + saved progress you can resume |\n| Firm-only or DIY-only product | **Same six jobs** for owners, bookkeepers, and firms (`operator` + depth) |\n| Messy Desktop dumps | **Shelf first** — standard client folders, then extract |\n\n---\n\n## Works with your agent\n\nInstall once via [skills.sh](https://skills.sh/cynco-labs/ai-accounting-skills) — same package works across the major coding agents.\n\n<p align=\"center\">\n  <a href=\"https://claude.com/product/claude-code\"><img src=\"https://www.skills.sh/agents/claude-code.svg\" height=\"44\" alt=\"Claude Code\" /></a>&nbsp;&nbsp;\n  <a href=\"https://openai.com/codex\"><img src=\"https://www.skills.sh/agents/codex.svg\" height=\"44\" alt=\"Codex\" /></a>&nbsp;&nbsp;\n  <a href=\"https://cursor.com\"><img src=\"https://www.skills.sh/agents/cursor.svg\" height=\"44\" alt=\"Cursor\" /></a>&nbsp;&nbsp;\n  <a href=\"https://x.ai\"><img src=\"https://img.shields.io/badge/Grok%20%2F%20xAI-000000?style=for-the-badge&logo=x&logoColor=white\" alt=\"Grok / xAI\" height=\"44\" /></a>&nbsp;&nbsp;\n  <img src=\"https://img.shields.io/badge/GLM-1a56db?style=for-the-badge\" alt=\"GLM\" height=\"44\" />&nbsp;&nbsp;\n  <img src=\"https://img.shields.io/badge/Kimi-6d28d9?style=for-the-badge\" alt=\"Kimi\" height=\"44\" />\n</p>\n\n| Agent | How to load skills |\n|:------|:-------------------|\n| **Any skills.sh agent** | `npx skills add cynco-labs/ai-accounting-skills` |\n| **Claude Code** (full marketplace) | `/plugin marketplace add` + install umbrella (below) |\n| **Any terminal** | `npx @cynco/accounting-skills …` |\n\nMalaysia (MPERS / MFRS / ITA) ships first. Other countries can be added as data packs.\n\n---\n\n## Install\n\n### Skills — any agent\n\n```bash\nnpx skills add cynco-labs/ai-accounting-skills\nnpx skills add cynco-labs/ai-accounting-skills --list\nnpx skills add cynco-labs/ai-accounting-skills --all -g\n```\n\n→ [skills.sh/cynco-labs/ai-accounting-skills](https://skills.sh/cynco-labs/ai-accounting-skills)\n\n### Claude Code plugins (optional)\n\n```text\n/plugin marketplace add https://github.com/cynco-labs/ai-accounting-skills\n/plugin install accounting-engagement@claude-for-accounting\n```\n\n### How to start (front door)\n\nSay **“do the accounting”** (or point at a folder). That’s enough.\n\nOptional short commands if you want control — not required:\n\n| You type | What it does |\n|:---------|:-------------|\n| `/do-books` | Full throw-work (same as “do the accounting”) |\n| `/extract` · `/classify` · `/post` | Step by step |\n| `/present` · `/prove` | FS pack · QC / lock |\n| `/resume` | Continue mid-job |\n\nClaude plugin prefix (if used): `/accounting-engagement:…` — footnote, not the main story.  \nDesign: [`shared/slash-surface.md`](./shared/slash-surface.md) · runtime: [`shared/runtime-brief.md`](./shared/runtime-brief.md)\n\n---\n\n## Command line · `npx`\n\nNo need to clone. **Agents run these quietly** — you don’t need to learn them to start.\n\n```bash\nnpx @cynco/accounting-skills <command>\n```\n\n| Command | What you get |\n|:--------|:-------------|\n| `demo` | Sample mini ledger → open in **Fava** |\n| `close [client]` | End-to-end check — validate, must-pass checks, ledger summary |\n| `extract ./statements` | Bank PDF/CSV → Excel (+ JSON) |\n| `classify ./txns.json` | Suggest COA codes + list what needs review |\n| `post ./clients/acme` | Classified lines → balancing journals |\n| `tb ./clients/acme` | Journals → trial balance (**calculated — never typed by hand**) |\n| `ledger ./clients/acme --fava` | Journals → Beancount + Fava |\n| `firm --init \"Your Firm\"` | Firm name / defaults for the agent |\n| `init acme-sdn-bhd` | New client folder layout |\n| `doctor` | Check Python / dependencies |\n| `check` | Validate a client job or run full CI |\n\nNeeds **Node ≥ 18** + **Python 3**. `pip install -r requirements.txt` (or follow what `doctor` prints).\n\n<details>\n<summary><strong>More detail</strong></summary>\n\n- Package: [`@cynco/accounting-skills`](https://www.npmjs.com/package/@cynco/accounting-skills)\n- Core rules: [shared/kernel-contract.md](./shared/kernel-contract.md) · [six main jobs](./shared/skill-collapse-map.md) · [plain English terms](./CONTEXT.md) · [how we write skills](./shared/skill-craft.md)\n- Agent setup notes: [docs/agents/](./docs/agents/)\n- Firm profile: [shared/firm-profile.md](./shared/firm-profile.md)\n- From a local clone: `node cli/bin/ai-accounting.js doctor`\n\n</details>\n\n---\n\n## How a job flows\n\n```text\n  Folder of banks / receipts\n       │\n       ▼\n  Smart intake  ── read files; guess company & period; ≤3 questions\n       │\n       ▼\n  Extract banks → classify → journals → bank recon (RM0) → trial balance\n       │\n       ▼\n  Year-end adjustments → adjusted TB → standards review → FS + notes\n       │\n       ▼\n  QC (math checks must pass) → lock → Beancount + Fava\n       │\n       └──────────────► tax (only from locked figures)\n```\n\n**Six main jobs:** do the books · extract · classify · post · present · prove.\n\n**Classify** can stay fast (bookkeeping) or go **standards-aware**: revenue / capitalise-vs-expense analysis packs in `workpapers/analysis/` before codes are final. See `shared/classify-substance.md`.\n\n**Work the months you have.** If the client only gave March–July, book those months properly. Don’t refuse to start because you don’t have 12 months yet. Full-year financials only when coverage is enough (or the user accepts a clear limitation).\n\nResume anytime from `engagement_state.json`.\n\n---\n\n## The six main jobs\n\n| Job | Plain English | Main files / tools |\n|---|---|---|\n| **Do the books** | Start or continue the whole engagement | `engagement_state.json`, status board |\n| **Extract** | Pull lines out of bank PDFs/CSV with balance proof | `extract_bank.py` → `transactions.json` |\n| **Classify** | Understand the money (when needed), then COA codes | Script + analysis packs under workpapers/analysis |\n| **Post** | Turn coded lines into double-entry journals; **TB is calculated** | `post_journals.py`, `roll_tb.py` |\n| **Present** | Build FS, notes, Excel pack, tax schedules from the adjusted TB | templates + maps |\n| **Prove** | QC, lock, export the official ledger | close script, Beancount, Fava |\n\n### Two kinds of skills\n\n- **Agent can pick them up** when the task fits (day-to-day accounting steps).\n- **You type them on purpose** (builder tools like skill QA or new country packs) — they don’t jump in mid-client job.\n\nHow to write skills: [`shared/skill-craft.md`](./shared/skill-craft.md).  \nWords we use: [`CONTEXT.md`](./CONTEXT.md).  \nSafety rules: [`shared/guardrails.md`](./shared/guardrails.md).\n\n### Rules for the agent\n\n| Do | Don't |\n|---|---|\n| Read the documents before asking a long form | Open with 20 blank questions |\n| Run the repo scripts when they exist | Re-type a Maybank statement by hand in chat |\n| Prove bank and TB balance | Invent lines so the TB “looks right” |\n| Finish each step’s **Done when** | Jump to financials with an open hard stop |\n| Export Beancount after lock | Treat Excel as the only ledger |\n| Save files after every step | Rely on chat memory |\n\n```bash\npip install -r requirements.txt\nbash scripts/ci_check.sh\n```\n\n<details>\n<summary><strong>Plugins (Claude marketplace)</strong></summary>\n\n| Plugin | Job |\n|---|---|\n| [`accounting-engagement`](./accounting-engagement) | **All-in-one install** — use this |\n| [`engagement-accounting`](./engagement-accounting) | Firm setup, smart intake, full pipeline |\n| [`bookkeeping-accounting`](./bookkeeping-accounting) | Extract, classify, journals |\n| [`reconciliation-accounting`](./reconciliation-accounting) | Bank + subledgers + TB |\n| [`year-end-accounting`](./year-end-accounting) | Year-end adjustments + adjusted TB |\n| [`mpers-accounting`](./mpers-accounting) | Standards review + disclosures |\n| [`financial-statements-accounting`](./financial-statements-accounting) | Primary statements, notes, workbook |\n| [`quality-review-accounting`](./quality-review-accounting) | QC checks |\n| [`finalisation-accounting`](./finalisation-accounting) | Lock, approval, auditor pack |\n| [`tax-accounting`](./tax-accounting) | Malaysian tax + capital allowances |\n| [`beancount-ledger`](./beancount-ledger) | Export ledger + Fava |\n| [`accounting-builder-hub`](./accounting-builder-hub) | Skill QA + new country pack scaffold |\n\nMarketplace id: **`claude-for-accounting`**\n\n</details>\n\n---\n\n## Bank extract · Beancount\n\nMaybank Islamic e-statements (text layer + running-balance proof — not “look at the PDF with AI and guess”):\n\n```bash\npython3 scripts/extract_maybank_islamic_pdf.py \\\n  --input /path/to/statements \\\n  --output ./bank_transactions.xlsx \\\n  --also-json ./workpapers/transactions.json \\\n  --fail-on-error\n```\n\n```bash\npython3 scripts/export_to_beancount.py --client-dir path/to/client --bean-check\nscripts/run_fava.sh path/to/client/ledger/main.beancount\n# → http://127.0.0.1:5000\n```\n\n---\n\n## Check the repo\n\n```bash\ngit clone https://github.com/cynco-labs/ai-accounting-skills.git\ncd ai-accounting-skills\npip install -r requirements.txt\nbash scripts/ci_check.sh\n```\n\nSample data: `fixtures/golden-mini-sdn-bhd` (made-up — not a real client).\n\n---\n\n## Roadmap\n\n### Shipped\n\n- [x] Full engagement flow (intake → books → QC → lock)\n- [x] Stage plugins + all-in-one install + skills.sh\n- [x] Smart intake + resume from saved state\n- [x] Work the months you have (don’t force 12 months to start)\n- [x] CLI: extract · classify · post · tb · close · ledger\n- [x] Maybank Islamic PDF + CIMB/generic CSV extractors\n- [x] Beancount ledger + Fava · JSON checks · `ci_check.sh`\n- [x] Plain English terms (`CONTEXT.md`) · **Done when** on every skill\n\n### Near term\n\n- [ ] More bank PDF adapters (Public Bank, HSBC, RHB, Hong Leong, …)\n- [ ] Tax computation worksheet from locked adjusted TB\n- [ ] Simpler install names for the six main jobs (old names still work)\n\n### Next\n\n- [ ] Country packs (SG · UK · AU · US)\n- [ ] AR/AP aging packs · fixed assets → depreciation → capital allowances\n- [ ] SST / e-Invoice (MY) helpers\n- [ ] Group / multi-entity skeleton\n\n### Later\n\n- [ ] Drop-folder / cloud intake helpers\n- [ ] Managed-agent recipes (deadline watcher, monthly close)\n- [ ] Accuracy tests on sample extracts and classifications\n\n---\n\n## Disclaimer\n\n**Drafts for a professional accountant to review only.**\n\nNot signed financial statements. Not an audit or review opinion. Not tax advice.  \nNot a substitute for a licensed professional. Not official MASB / MIA / LHDN positions.\n\nThe reviewing accountant checks figures against sources and takes responsibility for anything issued.\n\n---\n\n## Maintainers & license\n\n**Hazli Johar** — [coding@hazli.dev](mailto:coding@hazli.dev) · [cynco-labs](https://github.com/cynco-labs)\n\nMIT License — [LICENSE](./LICENSE) · Contributions — [CONTRIBUTING.md](./CONTRIBUTING.md)\n\n```bash\nbash scripts/ci_check.sh   # before PRs\n```\n\n---\n\n<p align=\"center\">\n  <sub>\n    <a href=\"https://skills.sh/cynco-labs/ai-accounting-skills\">skills.sh</a> ·\n    <a href=\"https://www.npmjs.com/package/@cynco/accounting-skills\">npm</a> ·\n    <a href=\"https://github.com/cynco-labs/ai-accounting-skills\">GitHub</a>\n  </sub><br/>\n  <sub>Throw a client folder at any agent. Get books you can defend.</sub>\n</p>\n","readmeFilename":"README.md"}