Replace vetkd skill with a new vetkeys covering BLS, IBE, and timelock.#162
Replace vetkd skill with a new vetkeys covering BLS, IBE, and timelock.#162andreacerulli wants to merge 1 commit intomainfrom
Conversation
The old vetkd skill was too low-level and complex. The new vetkeys skill covers three practical primitives: BLS threshold signatures, identity-based encryption (IBE), and timelock encryption with compile-tested code examples.
Skill Validation ReportValidating skill: /home/runner/work/icskills/icskills/skills/vetkeysStructure
Frontmatter
Markdown
Tokens
Content Analysis
Contamination Analysis
Result: passed Project Checks |
| "@dfinity/agent": "^3.4.0", | ||
| "@dfinity/principal": "^3.4.0", |
There was a problem hiding this comment.
is there a reason we cannot use the new core library? can we make a new release for the vetkeys lib if it still relies on old dependencies?
There was a problem hiding this comment.
Yeah, I think is only because of the vetkeys library. I can look into it.
Review: vetkeys skillGreat direction — replacing the old DescriptionRemove "verifiable randomness (VRF)" from the description. The skill has no VRF content, so an agent routed here for VRF finds nothing actionable. Add it back only if a VRF section is included. Cycle costs — precise numbers + missing pitfallThe Key Concepts section uses
The local PocketIC deviation should be a dedicated pitfall, not buried in Key Concepts. This is the exact error that caused issue #156. Recommending IBE backend — missing types"The canister structure is the same as the BLS example" leaves an agent unable to compile. Missing: IBE frontend —
|
The original vetkd skill was overly low-level and unnecessarily complex. In contrast, the new vetkeys skill focuses on three practical, high-impact primitives: BLS threshold signatures, identity-based encryption (IBE), and timelock encryption.
I evaluated the skill by building example dApps for all three primitives, and the results seemed reasonable. I also compared the experience of developing a Random Beacon dApp with and without the skill. Using the skill produced a more advanced implementation with noticeably less effort. Without it, development took significantly longer, the architecture was more cumbersome, and the end result felt comparatively basic.