{"_id":"@canton-network-devs/cf-daml-skill","_rev":"2-4c22972857f8e10ab7bc632274b9c960","name":"@canton-network-devs/cf-daml-skill","dist-tags":{"latest":"1.0.1"},"versions":{"1.0.0":{"name":"@canton-network-devs/cf-daml-skill","version":"1.0.0","keywords":["daml","canton","canton-network","canton-foundation","claude-skill","smart-contracts","developer-tools","devrel"],"author":{"name":"Canton Foundation Developer Relations","email":"devrel@canton.foundation"},"license":"Apache-2.0","_id":"@canton-network-devs/cf-daml-skill@1.0.0","maintainers":[{"name":"canton_devel_jatin","email":"Jatin@canton.foundation"}],"homepage":"https://dev-hub.canton.foundation","bugs":{"url":"https://github.com/canton-network-devs/CF-Daml-Skill/issues"},"bin":{"cf-daml-skill":"bin/install.js"},"dist":{"shasum":"2ac33e0af8020781aa3ecec25a90bcd776089bd4","tarball":"https://registry.npmjs.org/@canton-network-devs/cf-daml-skill/-/cf-daml-skill-1.0.0.tgz","fileCount":7,"integrity":"sha512-2oHT+rUUl16BU+/XsLYVtWR9U6MbjcMJw70SAcYelut9RgzdUIcnX/KWJEztEB5dbtFBhSN+Ay1KMpjW8J1jyg==","signatures":[{"sig":"MEUCIDVykpjJr2foHn/mP96EnE0qW8majGLIbOMUFQUbs+GEAiEAr1M28htOxwF5GuZN6AYg6wIyaTpmo72lNonG+wgc4fo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":63145},"type":"module","engines":{"node":">=18.0.0"},"gitHead":"f67805a7c82e37bbff0a7557fac7f1223b7eac84","scripts":{"start":"node bin/install.js"},"_npmUser":{"name":"canton_devel_jatin","email":"Jatin@canton.foundation"},"repository":{"url":"git+https://github.com/canton-network-devs/CF-Daml-Skill.git","type":"git"},"_npmVersion":"11.11.0","description":"Claude skill for writing correct Daml smart contracts on Canton Network","directories":{},"_nodeVersion":"24.14.1","dependencies":{"archiver":"^7.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cf-daml-skill_1.0.0_1783490804394_0.7921130317489509","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@canton-network-devs/cf-daml-skill","version":"1.0.1","description":"Claude skill for writing correct Daml smart contracts on Canton Network","type":"module","bin":{"cf-daml-skill":"bin/install.js"},"scripts":{"start":"node bin/install.js"},"dependencies":{"archiver":"^7.0.1"},"keywords":["daml","canton","canton-network","canton-foundation","claude-skill","smart-contracts","developer-tools","devrel"],"author":{"name":"Canton Foundation Developer Relations","email":"devrel@canton.foundation"},"license":"Apache-2.0","homepage":"https://dev-hub.canton.foundation","repository":{"type":"git","url":"git+https://github.com/canton-network-devs/CF-Daml-Skill.git"},"bugs":{"url":"https://github.com/canton-network-devs/CF-Daml-Skill/issues"},"engines":{"node":">=18.0.0"},"_id":"@canton-network-devs/cf-daml-skill@1.0.1","gitHead":"0f75d4f7cf92eecddb5087e2bf992271802ed4b2","_nodeVersion":"20.20.2","_npmVersion":"10.8.2","dist":{"integrity":"sha512-6AvBZbcRYjxJ1rF7SMAhp3iSyArWHPzqTY2mPlhtkE0vussO2y5VfWaiKCmN1sddClGfcXydd0GX1jtNZgn3MA==","shasum":"48e3f21b35492431699c8834005102d5fc7ce8da","tarball":"https://registry.npmjs.org/@canton-network-devs/cf-daml-skill/-/cf-daml-skill-1.0.1.tgz","fileCount":7,"unpackedSize":63493,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@canton-network-devs%2fcf-daml-skill@1.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIE+v6R+hrTe0mYglFEsiBAYBZ8X7JlEBbI2B5EnXgx4QAiApusRCSSoa/oG+uytcMD+2DpCNdlhPVWHjvu/528nf4w=="}]},"_npmUser":{"name":"canton_devel_jatin","email":"Jatin@canton.foundation"},"directories":{},"maintainers":[{"name":"canton_devel_jatin","email":"Jatin@canton.foundation"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/cf-daml-skill_1.0.1_1783681177450_0.6420763898513207"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-08T06:06:44.197Z","modified":"2026-07-10T10:59:37.900Z","1.0.0":"2026-07-08T06:06:44.572Z","1.0.1":"2026-07-10T10:59:37.587Z"},"bugs":{"url":"https://github.com/canton-network-devs/CF-Daml-Skill/issues"},"author":{"name":"Canton Foundation Developer Relations","email":"devrel@canton.foundation"},"license":"Apache-2.0","homepage":"https://dev-hub.canton.foundation","keywords":["daml","canton","canton-network","canton-foundation","claude-skill","smart-contracts","developer-tools","devrel"],"repository":{"type":"git","url":"git+https://github.com/canton-network-devs/CF-Daml-Skill.git"},"description":"Claude skill for writing correct Daml smart contracts on Canton Network","maintainers":[{"name":"canton_devel_jatin","email":"Jatin@canton.foundation"}],"readme":"# Daml Skill for Claude\n\nA Claude skill that gives any Claude/ Claude Code conversation correct knowledge of the Daml smart contract and Canton Network. Useful for developers writing, reviewing, or debugging Daml contracts.\n\n## What it does\n\nWhen you ask Claude about Daml templates, choices, authorization errors, multiparty workflows, testing with Daml Script, SDK setup, Canton 3.5 changes, the skill loads automatically and guides Claude to give correct, grounded answers rather than plausible-sounding guesses.\n\n## Installation\n\n```bash\nnpx @canton-network-devs/cf-daml-skill\n```\n\nDetects Claude Desktop automatically and installs directly to your skills folder. If Claude Desktop isn't found, it builds a `.zip` for manual upload instead by following the steps:\n\n1. Go to **Claude.ai → Settings → Skills**\n2. Click **Upload skill**\n3. Select the `CF-daml-skill.zip` from your current directory\n\n## What it's good at\n\n- **Catching authorization errors before they hit the ledger**\n\nThe most common Daml failure mode isn't a syntax error it's an authorization chain that doesn't add up. The skill traces who needs to authorize what, and whether the parent transaction covers it.\n\n- **Naming the right pattern**\n\nInstead of improvising a workflow from scratch, the skill recognizes when Propose Accept, Delegation, or Multiple Party Agreement is the right structure, and gives you a correct skeleton rather than a plausible-looking one.\n\n- **`createCmd` vs `create` and other context-dependent syntax**\n\n`createCmd` is only valid inside `submit` blocks in Daml Script. `create` is only valid inside choice `do` blocks. This trips up almost everyone new to Daml. The skill catches this and corrects it.\n\n- **Canton 3.5 / SDK 3.5 specifics**\n\nThe `daml` CLI is removed in SDK 3.5. Contract keys require `--target=2.3`. `daml-script` must not appear in production packages. Scope-based JWTs are deprecated. The skill knows all of this and applies it when relevant.\n\n- **Code review**\n\nPaste a Daml file and ask for a review. The skill works through a checklist: module header, signatories, authorization chain, `ensure` clauses, choice return types, consuming/non-consuming correctness, `Cmd` suffix usage, test coverage.\n\n## What it won't do\n\n- It won't write your entire application for you without understanding the business logic\n- It won't make authoritative claims about undocumented or rapidly-changing Canton Network APIs (it will say so)\n- It won't replace running `dpm test` always test your code\n\n## Triggers\n\nThe skill activates on questions about:\n\n- Daml templates, choices, signatories, observers, controllers\n- Authorization errors and why a transaction fails\n- Daml Script tests (`submit`, `submitMustFail`, `queryContractId`, etc.)\n- Multi-party workflows and which pattern to use\n- `daml.yaml` configuration and project structure\n- `dpm` commands (build, test, studio, sandbox, codegen)\n- Contract keys, interfaces, data types\n- Canton 3.5 / SDK 3.5 migration\n- Translating Ethereum/Solidity patterns to Daml\n","readmeFilename":"README.md"}