feat: improve developing-smart-contracts skill score 89% to 94%#3278
feat: improve developing-smart-contracts skill score 89% to 94%#3278rohan-tessl wants to merge 1 commit into
Conversation
Hey @kyzooghost 👋 really like how you've structured the agent skills here, especially the developing-smart-contracts skill with its prioritized rule table and progressive disclosure into individual rule files. Clean separation at 122 stars for a repo this complex. I ran your skills through `tessl skill review` at work and found some targeted improvements for the `developing-smart-contracts` skill. Here's the full before/after: | Skill | Before | After | Change | |-------|--------|-------|--------| | developing-smart-contracts | 89% | 94% | +5% | | linea-dependency-maintenance | 99% | 99% | 0% | | squash-bugbot | 18% | 18% | 0% | Changes made to developing-smart-contracts: - added inline code examples for the top 3 priority rule categories (gas optimization, NatSpec, imports) so the agent has immediately actionable patterns without needing to open external files - added a "Development Workflow" section with explicit validation checkpoints: compile, lint, test, verify NatSpec, review gas patterns, then commit - kept the existing progressive disclosure structure intact, the inline examples complement rather than replace the detailed rule files these changes targeted the two content dimensions the skill was losing points on: actionability (2/3 to 3/3) and workflow clarity (2/3 to 3/3). I also stress-tested your developing-smart-contracts skill against a few real-world task evals and it held up really well on NatSpec coverage enforcement for complex multi-param external functions. Kudos for that. quick honest disclosure. I work at https://github.com/tesslio where we build tooling around skills like these. Not a pitch, just saw room for improvement and wanted to contribute. If you want to self-improve your skills, or define your own scenarios to pressure test, just ask your agent (Claude Code, Codex, etc.) to evaluate and optimize your skill with Tessl. Ping me @rohan-tessl, if you hit any snags. Thanks in advance 🙏
|
|
1 similar comment
|
|
kyzooghost
left a comment
There was a problem hiding this comment.
Hey @rohan-tessl, thanks for taking the time to look through this, and for the kind words about the skill structure.
I left a few minor inline comments and suggestions.
One admin note: the CLA check is still pending, so please sign/recheck that before we can move this forward.
Thanks again!
| 1. **Write/modify contract** applying rules from the priority table above. | ||
| 2. **Compile** and fix errors: | ||
| ```bash | ||
| cd contracts && pnpm hardhat compile |
There was a problem hiding this comment.
| cd contracts && pnpm hardhat compile | |
| pnpm -F contracts run build |
| ``` | ||
| 4. **Run tests** to verify behavior: | ||
| ```bash | ||
| cd contracts && pnpm hardhat test |
There was a problem hiding this comment.
| cd contracts && pnpm hardhat test | |
| pnpm -F contracts run test |
| // Correct: named imports with blank line before contract | ||
| import { IMessageService } from "../interfaces/IMessageService.sol"; | ||
| import { Ownable } from "@openzeppelin/contracts/access/Ownable.sol"; | ||
|
|
There was a problem hiding this comment.
The skill requires Natspec on top of the contract
/**
* @title Brief description.
* @author Consensys Software Inc.
* @custom:security-contact security-report@linea.build
*/
| Always use named imports. Always insert a blank line after imports. | ||
|
|
||
| ```solidity | ||
| // Correct: named imports with blank line before contract |
There was a problem hiding this comment.
| // Correct: named imports with blank line before contract | |
| // Correct: named imports with blank line before NatSpec/contract declaration |
Hey @kyzooghost 👋
really like how you've structured the agent skills here, especially the developing-smart-contracts skill with its prioritized rule table and progressive disclosure into individual rule files. Clean separation at 122 stars for a repo this complex.
I ran your skills through
tessl skill reviewat work and found some targeted improvements for thedeveloping-smart-contractsskill. Here's the full before/after:Changes made to developing-smart-contracts:
these changes targeted the two content dimensions the skill was losing points on: actionability (2/3 to 3/3) and workflow clarity (2/3 to 3/3).
I also stress-tested your developing-smart-contracts skill against a few real-world task evals and it held up really well on NatSpec coverage enforcement for complex multi-param external functions. Kudos for that.
quick honest disclosure. I work at https://github.com/tesslio where we build tooling around skills like these. Not a pitch, just saw room for improvement and wanted to contribute.
If you want to self-improve your skills, or define your own scenarios to pressure test, just ask your agent (Claude Code, Codex, etc.) to evaluate and optimize your skill with Tessl. Ping me @rohan-tessl, if you hit any snags.
Thanks in advance 🙏