Tooling freshness, cross-skill handoffs, and multi-agent discoverability#45
Conversation
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Run ID: 📒 Files selected for processing (2)
WalkthroughAdds a canonical cross-skill Handoff Block and integrates its emission/validation into multiple SKILL workflows (authoring, testing, optimization). Bumps several tooling/version recommendations (snforge/sncast/snforge_std/Scarb), updates docs and Cursor routing rules, and makes parity checks version-aware. Changes
Sequence Diagram(s)sequenceDiagram
participant Agent as Agent
participant Authoring as Authoring Skill
participant Handoff as Handoff Block
participant Testing as Testing Skill
participant Optimization as Optimization Skill
participant Auditor as Auditor Skill
Agent->>Authoring: request "write contract"
Authoring->>Handoff: emit Handoff Block (touched_files, security_posture, tests)
Handoff->>Testing: pass handoff
Testing->>Handoff: emit Handoff Block (test_status, regressions)
alt performance work requested
Handoff->>Optimization: pass handoff
Optimization->>Handoff: emit Handoff Block (before_after_metrics)
Handoff->>Auditor: pass handoff (optimization → auditor)
else no perf work
Handoff->>Auditor: pass handoff (testing → auditor)
end
Auditor->>Agent: final review / merge decision
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Possibly related PRs
Suggested labels
Suggested reviewers
🚥 Pre-merge checks | ✅ 4 | ❌ 2❌ Failed checks (2 warnings)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
📝 Coding Plan
Comment |
Greptile SummaryThis PR makes two targeted improvements: it synchronizes tooling references to The tooling bump is straightforward and largely mechanical; most files are correctly updated. The handoff mechanism is well-conceived — it defines six directional chains, includes a Key issues found in this review:
Confidence Score: 3/5
|
| Filename | Overview |
|---|---|
| cairo-testing/references/legacy-full.md | Bumps snforge_std to 0.57.0 and adds --filter usage, but the Scarb minimum note was not updated — still says >= 2.12.0 while the toolchain reference was updated to >= 2.14.0. |
| cairo-contract-authoring/references/legacy-full.md | Adds recommended Scarb.toml template with all OZ packages (including introspection and security), caret-bounded starknet constraint, and updates the Common OZ Components snippet from >=2.12.0 to ^2.16.0 for consistency. |
| references/skill-handoff.md | New canonical handoff format document; defines six chains including authoring → auditor and optimization → testing with a cycle-control note. Source step references now correctly cite "step 6/7" matching the Quick Start numbering. |
| scripts/quality/parity_check.py | Adds detect_cli_version helper and reworks the snforge/sncast parity check to support both --filter (new) and positional (legacy) filter forms, with richer PASS/FAIL messages including the detected CLI version. |
| AGENTS.md | Expanded from a one-liner to a full agent instruction file with skill catalog and recommended flow; Quick Start description still says "5-step summary" though all skills now have 6-step Quick Starts. |
| README.md | Adds Cursor Option 2 copy-script including the .cursor/rules file and three skill directories; cairo-optimization is omitted from the copy commands despite being in the recommended flow. |
Flowchart
%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[cairo-contract-authoring\nStep 6: Emit Handoff Block] -->|authoring → testing\nFiles + Security Posture Table| B[cairo-testing\nStep 6: Emit Handoff Block]
A -->|authoring → auditor\nFiles + Posture + Test-coverage signal| E[cairo-auditor]
B -->|testing → optimization\nFiles + Test count + Gas baseline| C[cairo-optimization\nStep 7: Emit Handoff Block]
B -->|testing → auditor\nFiles + Posture + Coverage summary| E
C -->|optimization → auditor ✅ MANDATORY\nFiles + Before/after metrics| E
C -->|optimization → testing 🔁 optional\nFiles + Behavior-sensitive rewrites| B
B -.->|Cycle control: exit if no regressions| C
Comments Outside Diff (3)
-
cairo-testing/references/legacy-full.md, line 44 (link)Stale Scarb minimum — still
>= 2.12.0after bump to 0.57.0This note was not updated when
snforge_stdwas bumped from 0.56.0 to 0.57.0. It still reads>= 2.12.0, butcairo-toolchain/references/legacy-full.mdwas correctly updated in this same PR to state>= 2.14.0for the identical release. A developer reading the testing reference will install the minimum-stated Scarb 2.12.x and encounter a build failure withsnforge_std = "0.57.0". -
AGENTS.md, line 82 (link)Quick Start step count is now outdated
This line says "5-step summary" but every skill updated in this PR now has a 6-step Quick Start (authoring and testing added step 6 for the handoff emit; optimization added steps 6 and 7). An agent that reads
AGENTS.mdas its discovery entry point and uses this count to determine when a skill's Quick Start is complete will stop one step short — before emitting the handoff block. -
README.md, line 129-131 (link)cairo-optimizationmissing from Option 2 copy commandsThe recommended flow in this PR is
authoring → testing → cairo-optimization (if needed) → auditor, but Option 2's copy block only copiescairo-auditor,cairo-testing, andcairo-contract-authoring. A user who installs via Option 2 and then wants to run the optimization skill will find thatcairo-optimization/SKILL.mddoesn't exist in their project.
Prompt To Fix All With AI
This is a comment left during a code review.
Path: cairo-testing/references/legacy-full.md
Line: 44
Comment:
**Stale Scarb minimum — still `>= 2.12.0` after bump to 0.57.0**
This note was not updated when `snforge_std` was bumped from 0.56.0 to 0.57.0. It still reads `>= 2.12.0`, but `cairo-toolchain/references/legacy-full.md` was correctly updated in this same PR to state `>= 2.14.0` for the identical release. A developer reading the testing reference will install the minimum-stated Scarb 2.12.x and encounter a build failure with `snforge_std = "0.57.0"`.
```suggestion
> **Note:** snforge 0.57.0 requires Scarb >= 2.14.0 (recommended: 2.16.x). Check [scarbs.dev/packages/snforge_std](https://scarbs.dev/packages/snforge_std) for the latest version.
```
How can I resolve this? If you propose a fix, please make it concise.
---
This is a comment left during a code review.
Path: AGENTS.md
Line: 82
Comment:
**Quick Start step count is now outdated**
This line says "5-step summary" but every skill updated in this PR now has a **6-step** Quick Start (authoring and testing added step 6 for the handoff emit; optimization added steps 6 and 7). An agent that reads `AGENTS.md` as its discovery entry point and uses this count to determine when a skill's Quick Start is complete will stop one step short — before emitting the handoff block.
```suggestion
- **Quick Start** — 6-step summary
```
How can I resolve this? If you propose a fix, please make it concise.
---
This is a comment left during a code review.
Path: README.md
Line: 129-131
Comment:
**`cairo-optimization` missing from Option 2 copy commands**
The recommended flow in this PR is `authoring → testing → cairo-optimization (if needed) → auditor`, but Option 2's copy block only copies `cairo-auditor`, `cairo-testing`, and `cairo-contract-authoring`. A user who installs via Option 2 and then wants to run the optimization skill will find that `cairo-optimization/SKILL.md` doesn't exist in their project.
```suggestion
cp -r /path/to/starknet-skills/cairo-auditor .cursor/skills/cairo-auditor
cp -r /path/to/starknet-skills/cairo-testing .cursor/skills/cairo-testing
cp -r /path/to/starknet-skills/cairo-contract-authoring .cursor/skills/cairo-contract-authoring
cp -r /path/to/starknet-skills/cairo-optimization .cursor/skills/cairo-optimization
```
How can I resolve this? If you propose a fix, please make it concise.Last reviewed commit: b37592a
There was a problem hiding this comment.
Actionable comments posted: 3
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
cairo-contract-authoring/references/legacy-full.md (1)
1-3:⚠️ Potential issue | 🟠 MajorAdd required YAML frontmatter to this Markdown file.
Line 1 starts directly with a heading, but this file is missing the required frontmatter block (
name,description).🛠️ Proposed fix
+--- +name: cairo-contract-authoring-reference +description: Reference guide for authoring Cairo smart contracts on Starknet with current tooling and OZ patterns. +--- + # Cairo Contract AuthoringAs per coding guidelines,
**/*.md: Markdown files must include YAML frontmatter with required fields:nameanddescription.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@cairo-contract-authoring/references/legacy-full.md` around lines 1 - 3, This Markdown file is missing the required YAML frontmatter; add a top-of-file frontmatter block containing at least the fields "name" and "description" (e.g., set name to "Cairo Contract Authoring" and provide a concise description), placed before the existing "# Cairo Contract Authoring" heading so the linter passes and metadata is available for the document.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@cairo-testing/references/legacy-full.md`:
- Around line 31-38: Add missing YAML frontmatter at the very top of
cairo-testing/references/legacy-full.md containing the required keys "name" and
"description"; edit legacy-full.md and insert a YAML block before the first line
(before the existing `snforge_std = "0.57.0"` content) that provides a concise
name and a brief description for the document so it satisfies the repository
rule that all Markdown files include these frontmatter fields.
In `@cairo-toolchain/references/legacy-full.md`:
- Around line 25-38: Add missing YAML frontmatter at the top of
references/legacy-full.md: insert a valid YAML block (--- ... ---) that includes
the required keys name and description (e.g., name: "legacy-full" and a short
description) before any content so the file complies with the Markdown
frontmatter rule; ensure the keys are present and the block is the very first
thing in the file.
In `@references/skill-handoff.md`:
- Around line 1-4: Add YAML frontmatter containing the required fields `name`
and `description` at the very top of the Markdown file before the "# Cross-Skill
Handoff" heading; update the document that defines the "Cross-Skill Handoff"
section by inserting a top-level YAML block (---) with a concise name and a
one-line description so the file complies with the `**/*.md` frontmatter rule
and tooling that expects those fields.
---
Outside diff comments:
In `@cairo-contract-authoring/references/legacy-full.md`:
- Around line 1-3: This Markdown file is missing the required YAML frontmatter;
add a top-of-file frontmatter block containing at least the fields "name" and
"description" (e.g., set name to "Cairo Contract Authoring" and provide a
concise description), placed before the existing "# Cairo Contract Authoring"
heading so the linter passes and metadata is available for the document.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro
Run ID: cb4a2cf4-8d56-415b-8b03-d1b0f95ade28
📒 Files selected for processing (12)
SKILL.mdcairo-contract-authoring/references/legacy-full.mdcairo-testing/references/legacy-full.mdcairo-toolchain/references/legacy-full.mdevals/contracts/insecure_math_patterns/Scarb.tomlevals/contracts/insecure_owned_vault/Scarb.tomlevals/contracts/insecure_upgrade_controller/Scarb.tomlevals/contracts/secure_math_patterns/Scarb.tomlevals/contracts/secure_owned_vault/Scarb.tomlevals/contracts/secure_upgrade_controller/Scarb.tomlreferences/skill-handoff.mdscripts/quality/parity_check.py
📜 Review details
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
- GitHub Check: Greptile Review
- GitHub Check: full-evals
🧰 Additional context used
📓 Path-based instructions (3)
**/*.md
📄 CodeRabbit inference engine (CLAUDE.md)
Markdown files must include YAML frontmatter with required fields:
nameanddescription
Files:
references/skill-handoff.mdcairo-toolchain/references/legacy-full.mdcairo-contract-authoring/references/legacy-full.mdSKILL.mdcairo-testing/references/legacy-full.md
**/*.py
📄 CodeRabbit inference engine (CLAUDE.md)
Python code must follow ruff defaults for linting and style
Files:
scripts/quality/parity_check.py
scripts/**
⚙️ CodeRabbit configuration file
scripts/**: Flag any script that runs with elevated privileges without justification. Verify input sanitization in deployment scripts. Flag hardcoded credentials, URLs, or environment-specific assumptions.
Files:
scripts/quality/parity_check.py
🧠 Learnings (4)
📚 Learning: 2026-03-12T18:23:36.582Z
Learnt from: CR
Repo: keep-starknet-strange/starknet-skills PR: 0
File: CLAUDE.md:0-0
Timestamp: 2026-03-12T18:23:36.582Z
Learning: Applies to **/cairo-*/SKILL.md : Keep SKILL.md concise; details go in `references/` and `workflows/` subdirectories
Applied to files:
references/skill-handoff.mdSKILL.md
📚 Learning: 2026-03-12T18:23:36.582Z
Learnt from: CR
Repo: keep-starknet-strange/starknet-skills PR: 0
File: CLAUDE.md:0-0
Timestamp: 2026-03-12T18:23:36.582Z
Learning: Applies to **/cairo-*/SKILL.md : Skill files require: 'When to Use', 'When NOT to Use' sections; security skills also require: 'Rationalizations to Reject' section
Applied to files:
references/skill-handoff.mdSKILL.md
📚 Learning: 2026-03-08T13:12:42.932Z
Learnt from: CR
Repo: keep-starknet-strange/starknet-skills PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-03-08T13:12:42.932Z
Learning: Refer to SKILL.md as the canonical router for project guidelines and skill definitions
Applied to files:
SKILL.md
📚 Learning: 2026-03-08T21:08:11.403Z
Learnt from: CR
Repo: keep-starknet-strange/starknet-skills PR: 0
File: coderabbit-custom-pre-merge-checks-unique-id-file-non-traceable-F7F2B60C-1728-4C9A-8889-4F2235E186CA.txt:0-0
Timestamp: 2026-03-08T21:08:11.403Z
Learning: Applies to contracts/**/*.cairo : Fail if unsafe patterns are detected in Cairo contracts without mitigation documentation
Applied to files:
SKILL.md
🔇 Additional comments (11)
evals/contracts/secure_owned_vault/Scarb.toml (1)
10-10: Version bump is consistent with the toolchain update.Line 10 aligns this eval contract with the repo-wide
snforge_std0.57.0 migration.evals/contracts/secure_upgrade_controller/Scarb.toml (1)
10-10: Dependency alignment looks correct.Line 10 correctly updates
snforge_stdto 0.57.0 in line with the other eval packages.evals/contracts/insecure_owned_vault/Scarb.toml (1)
10-10: Tooling bump is correctly applied.Line 10 updates the dev dependency as expected with no conflicting changes nearby.
evals/contracts/insecure_upgrade_controller/Scarb.toml (1)
10-10: Looks good—version parity maintained.Line 10 keeps this eval contract in sync with the 0.57.0 testing stack.
scripts/quality/parity_check.py (2)
165-165: PASS message update is accurate and aligned.Line 165 correctly reflects the 0.57 docs/CLI parity target checked by this block.
207-207: Sncast parity message update is clear and consistent.Line 207 matches the validation intent for the updated 0.57 account/verify/json patterns.
evals/contracts/insecure_math_patterns/Scarb.toml (1)
10-10: Good version sync update.Line 10 is consistent with the repo-wide
snforge_stdupgrade.cairo-contract-authoring/references/legacy-full.md (2)
64-93: Recommended Scarb template section is well-scoped and actionable.The new template and version note are clear and match the rest of this PR’s toolchain alignment.
344-344: Dependency floor update is consistent.Line 344 correctly updates the Starknet dependency floor to
>=2.14.0.evals/contracts/secure_math_patterns/Scarb.toml (1)
10-10: Version update is correctly applied.Line 10 keeps this contract’s test dependency aligned with the current pipeline baseline.
SKILL.md (1)
32-35: Flow update and handoff pointer look good.The sequencing and explicit link to the handoff format improve routing clarity without bloating the router doc.
There was a problem hiding this comment.
Actionable comments posted: 3
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
README.md (1)
1-2:⚠️ Potential issue | 🟡 MinorREADME is missing required YAML frontmatter.
Please add
nameanddescriptionfrontmatter before the title.Proposed fix
+--- +name: starknet-skills +description: Cairo/Starknet skill modules for AI coding agents, including authoring, testing, optimization, auditing, and toolchain workflows. +--- + # starknet-skillsAs per coding guidelines: Markdown files must include YAML frontmatter with required fields:
nameanddescription.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@README.md` around lines 1 - 2, Add required YAML frontmatter to the top of README.md by inserting a YAML block (---) before the existing title that includes the `name` and `description` fields (for example, name: "starknet-skills" and a concise description string). Ensure the frontmatter is closed with --- and placed immediately before the "# starknet-skills" heading so the file complies with the markdown frontmatter requirement.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In @.cursor/rules/starknet-skills.md:
- Line 27: The phrase "Upgrade flows reject zero class hash." should use a
hyphenated compound modifier for consistency; update the sentence to "Upgrade
flows reject zero class-hash." or alternatively rephrase to "Upgrade flows
reject when the class hash is zero" or "Upgrade flows require the class hash to
be non-zero" so it follows the hyphenation/style guidance for "class-hash."
- Around line 1-3: The Markdown file starting with "# Starknet Skills for
Cursor" is missing the required YAML frontmatter; add a top-of-file YAML block
containing at minimum the fields `name` (e.g., "starknet-skills") and
`description` (a short string describing the repo/content) so the file includes
valid frontmatter for tooling and guidelines compliance.
In `@AGENTS.md`:
- Around line 1-4: AGENTS.md is missing required YAML frontmatter; add a
top-of-file YAML block containing the required fields `name` and `description`
(e.g., begin file with `---`, include a descriptive `name:` and `description:`,
then `---`) so the document conforms to the repository's markdown frontmatter
guidelines and tooling that expects those keys.
---
Outside diff comments:
In `@README.md`:
- Around line 1-2: Add required YAML frontmatter to the top of README.md by
inserting a YAML block (---) before the existing title that includes the `name`
and `description` fields (for example, name: "starknet-skills" and a concise
description string). Ensure the frontmatter is closed with --- and placed
immediately before the "# starknet-skills" heading so the file complies with the
markdown frontmatter requirement.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro
Run ID: 9ef2500e-9cfb-43cd-9561-699541ad415c
📒 Files selected for processing (4)
.cursor/rules/starknet-skills.mdAGENTS.mdREADME.mdllms.txt
📜 Review details
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
- GitHub Check: Greptile Review
- GitHub Check: full-evals
🧰 Additional context used
📓 Path-based instructions (1)
**/*.md
📄 CodeRabbit inference engine (CLAUDE.md)
Markdown files must include YAML frontmatter with required fields:
nameanddescription
Files:
AGENTS.mdREADME.md
🧠 Learnings (6)
📓 Common learnings
Learnt from: CR
Repo: keep-starknet-strange/starknet-skills PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-03-08T13:12:42.932Z
Learning: Refer to SKILL.md as the canonical router for project guidelines and skill definitions
Learnt from: CR
Repo: keep-starknet-strange/starknet-skills PR: 0
File: CLAUDE.md:0-0
Timestamp: 2026-03-12T18:23:36.582Z
Learning: Applies to **/cairo-*/SKILL.md : Keep SKILL.md concise; details go in `references/` and `workflows/` subdirectories
Learnt from: CR
Repo: keep-starknet-strange/starknet-skills PR: 0
File: CLAUDE.md:0-0
Timestamp: 2026-03-12T18:23:36.582Z
Learning: Applies to **/cairo-*/SKILL.md : Skill files require: 'When to Use', 'When NOT to Use' sections; security skills also require: 'Rationalizations to Reject' section
📚 Learning: 2026-03-12T18:23:36.582Z
Learnt from: CR
Repo: keep-starknet-strange/starknet-skills PR: 0
File: CLAUDE.md:0-0
Timestamp: 2026-03-12T18:23:36.582Z
Learning: Applies to **/cairo-*/SKILL.md : Skill files require: 'When to Use', 'When NOT to Use' sections; security skills also require: 'Rationalizations to Reject' section
Applied to files:
.cursor/rules/starknet-skills.mdllms.txtAGENTS.mdREADME.md
📚 Learning: 2026-03-08T13:12:42.932Z
Learnt from: CR
Repo: keep-starknet-strange/starknet-skills PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-03-08T13:12:42.932Z
Learning: Refer to SKILL.md as the canonical router for project guidelines and skill definitions
Applied to files:
.cursor/rules/starknet-skills.mdllms.txtAGENTS.mdREADME.md
📚 Learning: 2026-03-12T18:23:36.582Z
Learnt from: CR
Repo: keep-starknet-strange/starknet-skills PR: 0
File: CLAUDE.md:0-0
Timestamp: 2026-03-12T18:23:36.582Z
Learning: Applies to **/cairo-*/SKILL.md : Keep SKILL.md concise; details go in `references/` and `workflows/` subdirectories
Applied to files:
.cursor/rules/starknet-skills.mdllms.txtAGENTS.mdREADME.md
📚 Learning: 2026-03-08T21:08:11.403Z
Learnt from: CR
Repo: keep-starknet-strange/starknet-skills PR: 0
File: coderabbit-custom-pre-merge-checks-unique-id-file-non-traceable-F7F2B60C-1728-4C9A-8889-4F2235E186CA.txt:0-0
Timestamp: 2026-03-08T21:08:11.403Z
Learning: Applies to contracts/**/*.cairo : Fail if unsafe patterns are detected in Cairo contracts without mitigation documentation
Applied to files:
.cursor/rules/starknet-skills.md
📚 Learning: 2026-03-08T21:08:11.403Z
Learnt from: CR
Repo: keep-starknet-strange/starknet-skills PR: 0
File: coderabbit-custom-pre-merge-checks-unique-id-file-non-traceable-F7F2B60C-1728-4C9A-8889-4F2235E186CA.txt:0-0
Timestamp: 2026-03-08T21:08:11.403Z
Learning: Applies to contracts/**/*.cairo : For changes in Cairo contracts, verify that all external/public functions have explicit access control
Applied to files:
.cursor/rules/starknet-skills.md
🪛 LanguageTool
.cursor/rules/starknet-skills.md
[grammar] ~27-~27: Use a hyphen to join words.
Context: ...e non-zero. 3. Upgrade flows reject zero class hash. 4. Timelock checks read from...
(QB_NEW_EN_HYPHEN)
🔇 Additional comments (1)
llms.txt (1)
3-33: Looks good — routing and tooling snapshot are clear.No blocking concerns in this changed segment.
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@cairo-contract-authoring/references/legacy-full.md`:
- Around line 64-93: The Markdown file legacy-full.md is missing the required
YAML frontmatter with top-level name and description; add a YAML block at the
top of the file containing at least the keys "name" (a short identifier, e.g.,
"legacy-full-reference") and "description" (a brief summary of the document) so
the file conforms to the **/*.md guideline and metadata consumers can parse it.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro
Run ID: e692577f-3107-4ae4-acaf-e370aa461921
📒 Files selected for processing (4)
cairo-contract-authoring/references/legacy-full.mdcairo-testing/references/legacy-full.mdcairo-toolchain/references/legacy-full.mdreferences/skill-handoff.md
📜 Review details
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
- GitHub Check: Greptile Review
- GitHub Check: full-evals
🧰 Additional context used
📓 Path-based instructions (1)
**/*.md
📄 CodeRabbit inference engine (CLAUDE.md)
Markdown files must include YAML frontmatter with required fields:
nameanddescription
Files:
references/skill-handoff.mdcairo-contract-authoring/references/legacy-full.mdcairo-toolchain/references/legacy-full.mdcairo-testing/references/legacy-full.md
🧠 Learnings (9)
📓 Common learnings
Learnt from: CR
Repo: keep-starknet-strange/starknet-skills PR: 0
File: CLAUDE.md:0-0
Timestamp: 2026-03-12T18:23:36.582Z
Learning: Applies to **/cairo-*/SKILL.md : Keep SKILL.md concise; details go in `references/` and `workflows/` subdirectories
Learnt from: CR
Repo: keep-starknet-strange/starknet-skills PR: 0
File: CLAUDE.md:0-0
Timestamp: 2026-03-12T18:23:36.582Z
Learning: Applies to **/cairo-*/SKILL.md : Skill files require: 'When to Use', 'When NOT to Use' sections; security skills also require: 'Rationalizations to Reject' section
Learnt from: CR
Repo: keep-starknet-strange/starknet-skills PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-03-08T13:12:42.932Z
Learning: Refer to SKILL.md as the canonical router for project guidelines and skill definitions
📚 Learning: 2026-03-12T18:23:36.582Z
Learnt from: CR
Repo: keep-starknet-strange/starknet-skills PR: 0
File: CLAUDE.md:0-0
Timestamp: 2026-03-12T18:23:36.582Z
Learning: Applies to **/cairo-*/SKILL.md : Keep SKILL.md concise; details go in `references/` and `workflows/` subdirectories
Applied to files:
references/skill-handoff.mdcairo-toolchain/references/legacy-full.mdcairo-testing/references/legacy-full.md
📚 Learning: 2026-03-12T18:23:36.582Z
Learnt from: CR
Repo: keep-starknet-strange/starknet-skills PR: 0
File: CLAUDE.md:0-0
Timestamp: 2026-03-12T18:23:36.582Z
Learning: Applies to **/cairo-*/SKILL.md : Skill files require: 'When to Use', 'When NOT to Use' sections; security skills also require: 'Rationalizations to Reject' section
Applied to files:
references/skill-handoff.md
📚 Learning: 2026-03-12T18:23:36.582Z
Learnt from: CR
Repo: keep-starknet-strange/starknet-skills PR: 0
File: CLAUDE.md:0-0
Timestamp: 2026-03-12T18:23:36.582Z
Learning: Applies to **/*.md : Markdown files must include YAML frontmatter with required fields: `name` and `description`
Applied to files:
references/skill-handoff.mdcairo-toolchain/references/legacy-full.mdcairo-testing/references/legacy-full.md
📚 Learning: 2026-03-08T13:12:42.932Z
Learnt from: CR
Repo: keep-starknet-strange/starknet-skills PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-03-08T13:12:42.932Z
Learning: Refer to SKILL.md as the canonical router for project guidelines and skill definitions
Applied to files:
references/skill-handoff.md
📚 Learning: 2026-03-08T21:08:11.403Z
Learnt from: CR
Repo: keep-starknet-strange/starknet-skills PR: 0
File: coderabbit-custom-pre-merge-checks-unique-id-file-non-traceable-F7F2B60C-1728-4C9A-8889-4F2235E186CA.txt:0-0
Timestamp: 2026-03-08T21:08:11.403Z
Learning: Applies to contracts/**/*.cairo : Fail if unsafe patterns are detected in Cairo contracts without mitigation documentation
Applied to files:
cairo-contract-authoring/references/legacy-full.mdcairo-toolchain/references/legacy-full.mdcairo-testing/references/legacy-full.md
📚 Learning: 2026-03-08T21:08:11.403Z
Learnt from: CR
Repo: keep-starknet-strange/starknet-skills PR: 0
File: coderabbit-custom-pre-merge-checks-unique-id-file-non-traceable-F7F2B60C-1728-4C9A-8889-4F2235E186CA.txt:0-0
Timestamp: 2026-03-08T21:08:11.403Z
Learning: Applies to contracts/**/*.cairo : Flag any new storage variable in Cairo contracts without initialization guard
Applied to files:
cairo-toolchain/references/legacy-full.mdcairo-testing/references/legacy-full.md
📚 Learning: 2026-03-08T21:08:11.403Z
Learnt from: CR
Repo: keep-starknet-strange/starknet-skills PR: 0
File: coderabbit-custom-pre-merge-checks-unique-id-file-non-traceable-F7F2B60C-1728-4C9A-8889-4F2235E186CA.txt:0-0
Timestamp: 2026-03-08T21:08:11.403Z
Learning: Applies to contracts/**/*.cairo : For changes in Cairo contracts, verify that all external/public functions have explicit access control
Applied to files:
cairo-toolchain/references/legacy-full.mdcairo-testing/references/legacy-full.md
📚 Learning: 2026-03-08T21:08:11.403Z
Learnt from: CR
Repo: keep-starknet-strange/starknet-skills PR: 0
File: coderabbit-custom-pre-merge-checks-unique-id-file-non-traceable-F7F2B60C-1728-4C9A-8889-4F2235E186CA.txt:0-0
Timestamp: 2026-03-08T21:08:11.403Z
Learning: Applies to contracts/**/*.cairo : Verify felt252 operations in Cairo contracts are bounds-checked
Applied to files:
cairo-toolchain/references/legacy-full.mdcairo-testing/references/legacy-full.md
🔇 Additional comments (6)
cairo-contract-authoring/references/legacy-full.md (1)
344-345: Dependency floor bump looks consistent with the new tooling baseline.No issues on this hunk.
cairo-testing/references/legacy-full.md (2)
1-4: Frontmatter is correctly added and complete.
36-43: Version and compatibility note update is clear and consistent.cairo-toolchain/references/legacy-full.md (2)
1-4: Frontmatter requirement is satisfied.
30-31: Toolchain/version refresh is coherent across install, pinning, and notes.Also applies to: 39-43, 256-257
references/skill-handoff.md (1)
1-4: Good addition: handoff template and chain mapping are concrete and actionable.Also applies to: 10-100
There was a problem hiding this comment.
Actionable comments posted: 2
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
README.md (1)
1-1:⚠️ Potential issue | 🔴 CriticalMissing required YAML frontmatter.
Markdown files must include YAML frontmatter with
nameanddescriptionfields. This README.md file does not contain any frontmatter. As per coding guidelines, all *.md files require this metadata.📝 Proposed fix: Add YAML frontmatter
+--- +name: "starknet-skills" +description: "Cairo/Starknet skills for AI coding agents - Security + reasoning knowledge layer built on the Agent Skills open standard" +--- + # starknet-skills🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@README.md` at line 1, Add required YAML frontmatter to the top of README.md containing the name and description fields; place a block like "---" followed by "name: starknet-skills" and "description: <short project description>" and closing "---" before the existing "# starknet-skills" header so the file satisfies the metadata requirement.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@README.md`:
- Line 72: Replace the incorrect directory reference `.cursor/rules/` with
`.cursor/skills/` in the README sentence that currently reads "Skills are
auto-discovered from `.cursor/rules/`" so it correctly states "Skills are
auto-discovered from `.cursor/skills/`"; leave the follow-up sentence about
rules auto-discovery unchanged.
In `@website/index.html`:
- Around line 74-105: The tools grid lacks an accessible label and list
semantics; update the element with class "tools-grid" to include list semantics
(e.g., role="list" and an appropriate aria-label or aria-labelledby describing
the collection such as "Developer tools"), and give each child with class
"tool-pill" explicit list item semantics (e.g., role="listitem") or wrap them in
semantic <li> elements inside a <ul> to ensure screen readers announce the set
and each pill correctly.
---
Outside diff comments:
In `@README.md`:
- Line 1: Add required YAML frontmatter to the top of README.md containing the
name and description fields; place a block like "---" followed by "name:
starknet-skills" and "description: <short project description>" and closing
"---" before the existing "# starknet-skills" header so the file satisfies the
metadata requirement.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro
Run ID: 60301010-1535-48f4-8f8e-7820e559bb65
📒 Files selected for processing (3)
README.mdwebsite/assets/site.csswebsite/index.html
📜 Review details
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
- GitHub Check: Greptile Review
- GitHub Check: full-evals
🧰 Additional context used
📓 Path-based instructions (1)
**/*.md
📄 CodeRabbit inference engine (CLAUDE.md)
Markdown files must include YAML frontmatter with required fields:
nameanddescription
Files:
README.md
🧠 Learnings (4)
📓 Common learnings
Learnt from: CR
Repo: keep-starknet-strange/starknet-skills PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-03-08T13:12:42.932Z
Learning: Refer to SKILL.md as the canonical router for project guidelines and skill definitions
Learnt from: CR
Repo: keep-starknet-strange/starknet-skills PR: 0
File: CLAUDE.md:0-0
Timestamp: 2026-03-12T18:23:36.582Z
Learning: Applies to **/cairo-*/SKILL.md : Keep SKILL.md concise; details go in `references/` and `workflows/` subdirectories
📚 Learning: 2026-03-12T18:23:36.582Z
Learnt from: CR
Repo: keep-starknet-strange/starknet-skills PR: 0
File: CLAUDE.md:0-0
Timestamp: 2026-03-12T18:23:36.582Z
Learning: Applies to **/cairo-*/SKILL.md : Skill files require: 'When to Use', 'When NOT to Use' sections; security skills also require: 'Rationalizations to Reject' section
Applied to files:
README.md
📚 Learning: 2026-03-08T13:12:42.932Z
Learnt from: CR
Repo: keep-starknet-strange/starknet-skills PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-03-08T13:12:42.932Z
Learning: Refer to SKILL.md as the canonical router for project guidelines and skill definitions
Applied to files:
README.md
📚 Learning: 2026-03-12T18:23:36.582Z
Learnt from: CR
Repo: keep-starknet-strange/starknet-skills PR: 0
File: CLAUDE.md:0-0
Timestamp: 2026-03-12T18:23:36.582Z
Learning: Applies to **/cairo-*/SKILL.md : Keep SKILL.md concise; details go in `references/` and `workflows/` subdirectories
Applied to files:
README.md
🪛 GitHub Actions: Quality Gate
website/index.html
[error] 1-1: Process failed with exit code 1 after running 'python scripts/site/build_site.py --domain starkskills.org'. Diff detected in website/index.html (changes present in the commit).
🔇 Additional comments (4)
website/assets/site.css (1)
605-635: LGTM!The new
.tools-gridand.tool-pillstyles are well-implemented:
- Flexbox with
flex-wrapandgapprovides good responsive behavior- Consistent use of CSS custom properties (
--border,--panel,--muted, etc.)- Smooth transitions on hover match existing component patterns
- The
--primaryvariant provides appropriate visual hierarchy for featured toolswebsite/index.html (1)
65-106: This file is auto-generated; changes will be overwritten on the next build.The CI pipeline detected a diff in
website/index.htmlbecausebuild_site.pyregenerates this file and does not include the "Works with 30+ tools" section in its template. Manual edits here will be lost on the next build.Add the tools ecosystem data to the source data structure (e.g., a JSON configuration or extend the build script) and update
build_site.pyto generate this section from the data source.README.md (2)
17-59: LGTM! Clear tool compatibility messaging.The expanded badge collection and collapsible tools list effectively communicate broad compatibility. The introduction clearly positions this as an Agent Skills-based knowledge layer with a proper reference to operational tooling.
85-85: All referenced files exist and are correctly documented. AGENTS.md is present at the repo root, llms.txt exists, and all SKILL.md files referenced in the README are accessible. The auto-discovery instructions are accurate.
There was a problem hiding this comment.
Actionable comments posted: 1
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (2)
website/index.html (1)
1-314:⚠️ Potential issue | 🔴 CriticalPipeline failure: website/index.html has uncommitted build diffs.
The CI quality gate failed because
python scripts/site/build_site.py --domain starkskills.orgproduced diffs for this file. This suggests the committed version doesn't match the build script output.Regenerate the file by running the build script and committing the result:
python scripts/site/build_site.py --domain starkskills.org git add website/index.html git commit -m "Regenerate website/index.html"🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@website/index.html` around lines 1 - 314, The committed website/index.html differs from the output of the build script; run the build pipeline (python scripts/site/build_site.py --domain starkskills.org) to regenerate website/index.html, then git add and commit the regenerated file (e.g., git commit -m "Regenerate website/index.html") so the repository matches the build output and the CI quality gate passes.README.md (1)
1-1:⚠️ Potential issue | 🟠 MajorMissing required YAML frontmatter.
This markdown file lacks YAML frontmatter with the required
nameanddescriptionfields. As per coding guidelines, all markdown files matching**/*.mdmust include these fields.📝 Proposed fix to add frontmatter
+--- +name: starknet-skills +description: Cairo/Starknet skills for AI coding agents - Security + reasoning knowledge layer built on the Agent Skills standard +--- + # starknet-skills🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@README.md` at line 1, Add required YAML frontmatter at the top of the markdown file containing the `name` and `description` fields: insert a YAML block before the existing "# starknet-skills" header with a `name` value (e.g., "starknet-skills" to match the header) and a concise `description` string summarizing the repo; ensure the frontmatter is properly delimited so tooling that validates **/*.md files will recognize the fields.
♻️ Duplicate comments (1)
website/index.html (1)
102-133: 🧹 Nitpick | 🔵 TrivialConsider adding accessible list semantics to the tools grid.
Screen readers would benefit from understanding this is a list of compatible tools. This was noted in a previous review but appears unaddressed.
♿ Proposed accessibility enhancement
- <div class="tools-grid"> + <div class="tools-grid" role="list" aria-label="Compatible tools"> - <span class="tool-pill tool-pill--primary">Claude Code</span> + <span class="tool-pill tool-pill--primary" role="listitem">Claude Code</span>Apply
role="listitem"to each tool-pill span.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@website/index.html` around lines 102 - 133, The tools grid uses plain div/span elements and lacks list semantics for assistive tech; update the container with an explicit list role (e.g., add role="list" to the element with class "tools-grid") and add role="listitem" to each tool element (the spans with class "tool-pill" and "tool-pill--primary") so screen readers treat them as a list; alternatively convert the structure to a semantic <ul class="tools-grid"> with <li class="tool-pill"> items and preserve existing classes/styles for "tool-pill" and "tool-pill--primary".
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@README.md`:
- Around line 72-74: The fenced code blocks containing the lines "Audit
src/contract.cairo using the cairo-auditor skill" and "Write an ERC20 token
contract following the cairo-contract-authoring skill" lack language
identifiers; update those triple-backtick blocks to include a language (e.g.,
text or sh) so they become "```text" (or another appropriate language) before
the content and "```" after, ensuring both occurrences are changed to maintain
proper syntax highlighting and rendering.
---
Outside diff comments:
In `@README.md`:
- Line 1: Add required YAML frontmatter at the top of the markdown file
containing the `name` and `description` fields: insert a YAML block before the
existing "# starknet-skills" header with a `name` value (e.g., "starknet-skills"
to match the header) and a concise `description` string summarizing the repo;
ensure the frontmatter is properly delimited so tooling that validates **/*.md
files will recognize the fields.
In `@website/index.html`:
- Around line 1-314: The committed website/index.html differs from the output of
the build script; run the build pipeline (python scripts/site/build_site.py
--domain starkskills.org) to regenerate website/index.html, then git add and
commit the regenerated file (e.g., git commit -m "Regenerate
website/index.html") so the repository matches the build output and the CI
quality gate passes.
---
Duplicate comments:
In `@website/index.html`:
- Around line 102-133: The tools grid uses plain div/span elements and lacks
list semantics for assistive tech; update the container with an explicit list
role (e.g., add role="list" to the element with class "tools-grid") and add
role="listitem" to each tool element (the spans with class "tool-pill" and
"tool-pill--primary") so screen readers treat them as a list; alternatively
convert the structure to a semantic <ul class="tools-grid"> with <li
class="tool-pill"> items and preserve existing classes/styles for "tool-pill"
and "tool-pill--primary".
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro
Run ID: 44459270-a665-49f3-9450-f0e06e63528c
📒 Files selected for processing (10)
.cursor/rules/starknet-skills.mdAGENTS.mdREADME.mdcairo-contract-authoring/SKILL.mdcairo-contract-authoring/references/legacy-full.mdcairo-optimization/SKILL.mdcairo-testing/SKILL.mdreferences/skill-handoff.mdwebsite/assets/site.csswebsite/index.html
📜 Review details
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
- GitHub Check: Greptile Review
- GitHub Check: full-evals
🧰 Additional context used
📓 Path-based instructions (2)
**/cairo-*/SKILL.md
📄 CodeRabbit inference engine (CLAUDE.md)
**/cairo-*/SKILL.md: Skill files require: 'When to Use', 'When NOT to Use' sections; security skills also require: 'Rationalizations to Reject' section
Keep SKILL.md concise; details go inreferences/andworkflows/subdirectories
Files:
cairo-optimization/SKILL.mdcairo-contract-authoring/SKILL.mdcairo-testing/SKILL.md
**/*.md
📄 CodeRabbit inference engine (CLAUDE.md)
Markdown files must include YAML frontmatter with required fields:
nameanddescription
Files:
cairo-optimization/SKILL.mdcairo-contract-authoring/SKILL.mdAGENTS.mdcairo-testing/SKILL.mdreferences/skill-handoff.mdREADME.mdcairo-contract-authoring/references/legacy-full.md
🧠 Learnings (8)
📚 Learning: 2026-03-12T18:23:36.582Z
Learnt from: CR
Repo: keep-starknet-strange/starknet-skills PR: 0
File: CLAUDE.md:0-0
Timestamp: 2026-03-12T18:23:36.582Z
Learning: Applies to **/cairo-*/SKILL.md : Skill files require: 'When to Use', 'When NOT to Use' sections; security skills also require: 'Rationalizations to Reject' section
Applied to files:
cairo-optimization/SKILL.mdcairo-contract-authoring/SKILL.mdAGENTS.md.cursor/rules/starknet-skills.mdcairo-testing/SKILL.mdreferences/skill-handoff.mdREADME.md
📚 Learning: 2026-03-12T18:23:36.582Z
Learnt from: CR
Repo: keep-starknet-strange/starknet-skills PR: 0
File: CLAUDE.md:0-0
Timestamp: 2026-03-12T18:23:36.582Z
Learning: Applies to **/cairo-*/SKILL.md : Keep SKILL.md concise; details go in `references/` and `workflows/` subdirectories
Applied to files:
cairo-optimization/SKILL.mdcairo-contract-authoring/SKILL.mdAGENTS.md.cursor/rules/starknet-skills.mdcairo-testing/SKILL.mdreferences/skill-handoff.mdREADME.mdcairo-contract-authoring/references/legacy-full.md
📚 Learning: 2026-03-08T21:08:11.403Z
Learnt from: CR
Repo: keep-starknet-strange/starknet-skills PR: 0
File: coderabbit-custom-pre-merge-checks-unique-id-file-non-traceable-F7F2B60C-1728-4C9A-8889-4F2235E186CA.txt:0-0
Timestamp: 2026-03-08T21:08:11.403Z
Learning: Applies to contracts/**/*.cairo : For changes in Cairo contracts, verify that all external/public functions have explicit access control
Applied to files:
cairo-optimization/SKILL.mdcairo-contract-authoring/SKILL.mdcairo-testing/SKILL.mdcairo-contract-authoring/references/legacy-full.md
📚 Learning: 2026-03-08T21:08:11.403Z
Learnt from: CR
Repo: keep-starknet-strange/starknet-skills PR: 0
File: coderabbit-custom-pre-merge-checks-unique-id-file-non-traceable-F7F2B60C-1728-4C9A-8889-4F2235E186CA.txt:0-0
Timestamp: 2026-03-08T21:08:11.403Z
Learning: Applies to contracts/**/*.cairo : Fail if unsafe patterns are detected in Cairo contracts without mitigation documentation
Applied to files:
cairo-optimization/SKILL.mdcairo-contract-authoring/SKILL.mdcairo-testing/SKILL.mdcairo-contract-authoring/references/legacy-full.md
📚 Learning: 2026-03-08T21:08:11.403Z
Learnt from: CR
Repo: keep-starknet-strange/starknet-skills PR: 0
File: coderabbit-custom-pre-merge-checks-unique-id-file-non-traceable-F7F2B60C-1728-4C9A-8889-4F2235E186CA.txt:0-0
Timestamp: 2026-03-08T21:08:11.403Z
Learning: Applies to contracts/**/*.cairo : Flag any new storage variable in Cairo contracts without initialization guard
Applied to files:
cairo-optimization/SKILL.mdcairo-contract-authoring/references/legacy-full.md
📚 Learning: 2026-03-08T13:12:42.932Z
Learnt from: CR
Repo: keep-starknet-strange/starknet-skills PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-03-08T13:12:42.932Z
Learning: Refer to SKILL.md as the canonical router for project guidelines and skill definitions
Applied to files:
AGENTS.md.cursor/rules/starknet-skills.mdreferences/skill-handoff.mdREADME.md
📚 Learning: 2026-03-12T18:23:36.582Z
Learnt from: CR
Repo: keep-starknet-strange/starknet-skills PR: 0
File: CLAUDE.md:0-0
Timestamp: 2026-03-12T18:23:36.582Z
Learning: Applies to **/*.md : Markdown files must include YAML frontmatter with required fields: `name` and `description`
Applied to files:
AGENTS.md.cursor/rules/starknet-skills.mdreferences/skill-handoff.mdcairo-contract-authoring/references/legacy-full.md
📚 Learning: 2026-03-08T21:08:11.403Z
Learnt from: CR
Repo: keep-starknet-strange/starknet-skills PR: 0
File: coderabbit-custom-pre-merge-checks-unique-id-file-non-traceable-F7F2B60C-1728-4C9A-8889-4F2235E186CA.txt:0-0
Timestamp: 2026-03-08T21:08:11.403Z
Learning: Applies to contracts/**/*.cairo : Verify felt252 operations in Cairo contracts are bounds-checked
Applied to files:
cairo-contract-authoring/references/legacy-full.md
🪛 GitHub Actions: Quality Gate
website/index.html
[error] 1-1: Build failed: 'python scripts/site/build_site.py --domain starkskills.org' exited with code 1. Diffs were produced for website/index.html during the build.
🪛 markdownlint-cli2 (0.21.0)
README.md
[warning] 72-72: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
[warning] 86-86: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
🔇 Additional comments (11)
.cursor/rules/starknet-skills.md (1)
1-34: LGTM!The file correctly includes YAML frontmatter with required
nameanddescriptionfields. The skill router table, tooling versions, and security rules are well-structured and align with the PR objectives. The "class-hash" hyphenation at line 32 follows proper compound modifier grammar.website/assets/site.css (1)
605-665: LGTM!The new prompt and tool UI styles follow the established patterns in the file, using consistent CSS custom properties, transitions, and responsive behavior. The
.prompt-gridand.tools-gridare well-structured, and the responsive breakpoint at line 744-745 correctly collapses the prompt grid to single-column on smaller screens.cairo-optimization/SKILL.md (1)
34-34: LGTM!The handoff block instruction correctly references
../references/skill-handoff.mdand specifies the appropriate handoff chains (optimization → testing, thenoptimization → auditor). This aligns with the new cross-skill handoff mechanism defined in the PR.cairo-contract-authoring/SKILL.md (1)
34-34: LGTM!The updated step 5 correctly integrates the handoff block mechanism, referencing
../references/skill-handoff.mdwith appropriate chains (authoring → testingorauthoring → auditor). The instruction to "then run the next skill" provides clear workflow guidance.cairo-testing/SKILL.md (1)
33-33: LGTM!The handoff block instruction is consistent with the other SKILL.md files, referencing
../references/skill-handoff.mdwith the correct chains (testing → optimizationortesting → auditor).AGENTS.md (1)
1-47: LGTM!The file now includes the required YAML frontmatter and provides a clear, well-structured guide for agents. The Available Skills table, Recommended Flow, and Tooling Versions are accurate and consistent with the PR objectives and other updated files.
references/skill-handoff.md (1)
1-100: LGTM!The new handoff documentation is comprehensive and well-structured. The YAML frontmatter is present, the Handoff Block Format template is clear and actionable, and all five handoff chains referenced across the SKILL.md files are documented here. The usage guidance (copy-paste, skip, edit) provides appropriate flexibility.
README.md (1)
61-149: Excellent multi-tool installation guide.The expanded Install & Use section comprehensively covers 8+ major tools with clear, tool-specific instructions. The new Example Prompts table provides excellent onboarding guidance and makes the skills immediately actionable for users across different agent platforms.
cairo-contract-authoring/references/legacy-full.md (3)
1-4: LGTM! Frontmatter addresses the previous review.The YAML frontmatter correctly includes both required fields (
nameanddescription) and resolves the missing metadata issue flagged in the earlier review.
349-349: LGTM! Version bump aligns with the new minimum.The update from
>=2.12.0to>=2.14.0is consistent with the Recommended Scarb.toml template and the PR's objective to bring tooling current.
69-98: All versions verified and compatible. The Scarb.toml template correctly specifiessnforge_std 0.57.0, OpenZeppelin Cairo3.0.0, and Cairo edition2024_07—all confirmed as available and valid. The stated Scarb requirement (>= 2.14.0, recommended 2.16.x) matches official snforge 0.57.0 release documentation.
There was a problem hiding this comment.
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
README.md (1)
1-1:⚠️ Potential issue | 🟡 MinorAdd required YAML frontmatter.
As per coding guidelines, all markdown files must include YAML frontmatter with
nameanddescriptionfields. The file currently starts directly with a header instead of frontmatter.📋 Proposed fix to add YAML frontmatter
+--- +name: starknet-skills +description: Cairo/Starknet skills for AI coding agents - Security + reasoning knowledge layer for any agent that reads markdown +--- + # starknet-skills🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@README.md` at line 1, Add YAML frontmatter at the top of README.md containing the required "name" and "description" fields; move the existing header "# starknet-skills" below this frontmatter. Specifically, insert a YAML block (---) before the current content with name: "starknet-skills" and a short description string, ensuring the frontmatter closes with --- so the README begins with the YAML block followed by the original "# starknet-skills" heading.
♻️ Duplicate comments (1)
README.md (1)
42-42:⚠️ Potential issue | 🟠 MajorCorrect the Cursor skills auto-discovery directory (duplicate issue).
Line 42 incorrectly states that skills are auto-discovered from
.cursor/rules/, but Cursor auto-discovers skills from.cursor/skills/and rules from.cursor/rules/. This was previously flagged in past reviews.Additionally, this creates an inconsistency with lines 49-50, which correctly show copying skills to
.cursor/skills/.📂 Proposed fix to correct the directory reference
-Skills are auto-discovered from `.cursor/rules/`. Clone this repo, then add it as a context directory in your Cursor project settings, or copy the skills you need: +Skills are auto-discovered from `.cursor/skills/`. Clone this repo, then add it as a context directory in your Cursor project settings, or copy the skills you need:🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@README.md` at line 42, Update the incorrect directory reference in the README: replace the text fragment ".cursor/rules/" (the sentence "Skills are auto-discovered from `.cursor/rules/`.") with ".cursor/skills/" so it reads that skills are auto-discovered from `.cursor/skills/`, and verify the sentence aligns with the existing references to `.cursor/skills/` on lines 49-50 to remove the inconsistency.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Outside diff comments:
In `@README.md`:
- Line 1: Add YAML frontmatter at the top of README.md containing the required
"name" and "description" fields; move the existing header "# starknet-skills"
below this frontmatter. Specifically, insert a YAML block (---) before the
current content with name: "starknet-skills" and a short description string,
ensuring the frontmatter closes with --- so the README begins with the YAML
block followed by the original "# starknet-skills" heading.
---
Duplicate comments:
In `@README.md`:
- Line 42: Update the incorrect directory reference in the README: replace the
text fragment ".cursor/rules/" (the sentence "Skills are auto-discovered from
`.cursor/rules/`.") with ".cursor/skills/" so it reads that skills are
auto-discovered from `.cursor/skills/`, and verify the sentence aligns with the
existing references to `.cursor/skills/` on lines 49-50 to remove the
inconsistency.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro
Run ID: 5e79e0c8-fae0-4633-8ac1-e1764e941718
📒 Files selected for processing (1)
README.md
📜 Review details
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
- GitHub Check: Greptile Review
🧰 Additional context used
📓 Path-based instructions (1)
**/*.md
📄 CodeRabbit inference engine (CLAUDE.md)
Markdown files must include YAML frontmatter with required fields:
nameanddescription
Files:
README.md
🧠 Learnings (5)
📓 Common learnings
Learnt from: CR
Repo: keep-starknet-strange/starknet-skills PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-03-08T13:12:42.932Z
Learning: Refer to SKILL.md as the canonical router for project guidelines and skill definitions
📚 Learning: 2026-03-12T18:23:36.582Z
Learnt from: CR
Repo: keep-starknet-strange/starknet-skills PR: 0
File: CLAUDE.md:0-0
Timestamp: 2026-03-12T18:23:36.582Z
Learning: Applies to **/cairo-*/SKILL.md : Keep SKILL.md concise; details go in `references/` and `workflows/` subdirectories
Applied to files:
README.md
📚 Learning: 2026-03-12T18:23:36.582Z
Learnt from: CR
Repo: keep-starknet-strange/starknet-skills PR: 0
File: CLAUDE.md:0-0
Timestamp: 2026-03-12T18:23:36.582Z
Learning: Applies to **/cairo-*/SKILL.md : Skill files require: 'When to Use', 'When NOT to Use' sections; security skills also require: 'Rationalizations to Reject' section
Applied to files:
README.md
📚 Learning: 2026-03-08T13:12:42.932Z
Learnt from: CR
Repo: keep-starknet-strange/starknet-skills PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-03-08T13:12:42.932Z
Learning: Refer to SKILL.md as the canonical router for project guidelines and skill definitions
Applied to files:
README.md
📚 Learning: 2026-03-08T21:08:11.403Z
Learnt from: CR
Repo: keep-starknet-strange/starknet-skills PR: 0
File: coderabbit-custom-pre-merge-checks-unique-id-file-non-traceable-F7F2B60C-1728-4C9A-8889-4F2235E186CA.txt:0-0
Timestamp: 2026-03-08T21:08:11.403Z
Learning: Applies to contracts/**/*.cairo : Fail if unsafe patterns are detected in Cairo contracts without mitigation documentation
Applied to files:
README.md
There was a problem hiding this comment.
Actionable comments posted: 1
♻️ Duplicate comments (1)
website/index.html (1)
101-132:⚠️ Potential issue | 🟡 MinorAdd list semantics for the tools collection.
Line 101 adds an
aria-label, but the collection/items still lack explicit list semantics, so screen readers may not announce list context reliably. Please userole="list"on the grid androle="listitem"on each pill (or switch to semantic<ul>/<li>).🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@website/index.html` around lines 101 - 132, The tools grid currently has no list semantics which can confuse assistive tech; update the container with role="list" (or convert the div.tools-grid into a semantic <ul>) and mark each pill (elements with class "tool-pill" and "tool-pill--primary") with role="listitem" (or render them as <li> elements) so screen readers announce the collection correctly; ensure the existing aria-label remains on the list container and do not change visual styling when adding the roles/tags.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@README.md`:
- Around line 17-110: Add required YAML frontmatter to the top of README.md
containing the top-level fields "name" and "description"; update the beginning
of the file (before the badges and title) to include a YAML block (---) with
name: "starknet-skills" (or repo-friendly name) and a short description string
summarizing the project so the file satisfies the `**/*.md` frontmatter rule and
tooling that reads name/description.
---
Duplicate comments:
In `@website/index.html`:
- Around line 101-132: The tools grid currently has no list semantics which can
confuse assistive tech; update the container with role="list" (or convert the
div.tools-grid into a semantic <ul>) and mark each pill (elements with class
"tool-pill" and "tool-pill--primary") with role="listitem" (or render them as
<li> elements) so screen readers announce the collection correctly; ensure the
existing aria-label remains on the list container and do not change visual
styling when adding the roles/tags.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro
Run ID: 45a5efe0-78f0-4b18-9a25-2af1668297d0
📒 Files selected for processing (5)
README.mdcairo-contract-authoring/references/legacy-full.mdcairo-testing/SKILL.mdreferences/skill-handoff.mdwebsite/index.html
📜 Review details
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
- GitHub Check: Greptile Review
- GitHub Check: full-evals
🧰 Additional context used
📓 Path-based instructions (2)
**/cairo-*/SKILL.md
📄 CodeRabbit inference engine (CLAUDE.md)
**/cairo-*/SKILL.md: Skill files require: 'When to Use', 'When NOT to Use' sections; security skills also require: 'Rationalizations to Reject' section
Keep SKILL.md concise; details go inreferences/andworkflows/subdirectories
Files:
cairo-testing/SKILL.md
**/*.md
📄 CodeRabbit inference engine (CLAUDE.md)
Markdown files must include YAML frontmatter with required fields:
nameanddescription
Files:
cairo-testing/SKILL.mdREADME.mdcairo-contract-authoring/references/legacy-full.mdreferences/skill-handoff.md
🧠 Learnings (9)
📓 Common learnings
Learnt from: CR
Repo: keep-starknet-strange/starknet-skills PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-03-08T13:12:42.932Z
Learning: Refer to SKILL.md as the canonical router for project guidelines and skill definitions
📚 Learning: 2026-03-12T18:23:36.582Z
Learnt from: CR
Repo: keep-starknet-strange/starknet-skills PR: 0
File: CLAUDE.md:0-0
Timestamp: 2026-03-12T18:23:36.582Z
Learning: Applies to **/cairo-*/SKILL.md : Keep SKILL.md concise; details go in `references/` and `workflows/` subdirectories
Applied to files:
cairo-testing/SKILL.mdREADME.mdcairo-contract-authoring/references/legacy-full.mdreferences/skill-handoff.md
📚 Learning: 2026-03-12T18:23:36.582Z
Learnt from: CR
Repo: keep-starknet-strange/starknet-skills PR: 0
File: CLAUDE.md:0-0
Timestamp: 2026-03-12T18:23:36.582Z
Learning: Applies to **/cairo-*/SKILL.md : Skill files require: 'When to Use', 'When NOT to Use' sections; security skills also require: 'Rationalizations to Reject' section
Applied to files:
cairo-testing/SKILL.mdREADME.mdreferences/skill-handoff.md
📚 Learning: 2026-03-08T21:08:11.403Z
Learnt from: CR
Repo: keep-starknet-strange/starknet-skills PR: 0
File: coderabbit-custom-pre-merge-checks-unique-id-file-non-traceable-F7F2B60C-1728-4C9A-8889-4F2235E186CA.txt:0-0
Timestamp: 2026-03-08T21:08:11.403Z
Learning: Applies to contracts/**/*.cairo : For changes in Cairo contracts, verify that all external/public functions have explicit access control
Applied to files:
cairo-testing/SKILL.mdcairo-contract-authoring/references/legacy-full.md
📚 Learning: 2026-03-08T21:08:11.403Z
Learnt from: CR
Repo: keep-starknet-strange/starknet-skills PR: 0
File: coderabbit-custom-pre-merge-checks-unique-id-file-non-traceable-F7F2B60C-1728-4C9A-8889-4F2235E186CA.txt:0-0
Timestamp: 2026-03-08T21:08:11.403Z
Learning: Applies to contracts/**/*.cairo : Fail if unsafe patterns are detected in Cairo contracts without mitigation documentation
Applied to files:
cairo-testing/SKILL.mdREADME.mdcairo-contract-authoring/references/legacy-full.md
📚 Learning: 2026-03-08T13:12:42.932Z
Learnt from: CR
Repo: keep-starknet-strange/starknet-skills PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-03-08T13:12:42.932Z
Learning: Refer to SKILL.md as the canonical router for project guidelines and skill definitions
Applied to files:
README.mdreferences/skill-handoff.md
📚 Learning: 2026-03-08T21:08:11.403Z
Learnt from: CR
Repo: keep-starknet-strange/starknet-skills PR: 0
File: coderabbit-custom-pre-merge-checks-unique-id-file-non-traceable-F7F2B60C-1728-4C9A-8889-4F2235E186CA.txt:0-0
Timestamp: 2026-03-08T21:08:11.403Z
Learning: Applies to contracts/**/*.cairo : Flag any new storage variable in Cairo contracts without initialization guard
Applied to files:
cairo-contract-authoring/references/legacy-full.md
📚 Learning: 2026-03-12T18:23:36.582Z
Learnt from: CR
Repo: keep-starknet-strange/starknet-skills PR: 0
File: CLAUDE.md:0-0
Timestamp: 2026-03-12T18:23:36.582Z
Learning: Applies to **/*.md : Markdown files must include YAML frontmatter with required fields: `name` and `description`
Applied to files:
cairo-contract-authoring/references/legacy-full.mdreferences/skill-handoff.md
📚 Learning: 2026-03-08T21:08:11.403Z
Learnt from: CR
Repo: keep-starknet-strange/starknet-skills PR: 0
File: coderabbit-custom-pre-merge-checks-unique-id-file-non-traceable-F7F2B60C-1728-4C9A-8889-4F2235E186CA.txt:0-0
Timestamp: 2026-03-08T21:08:11.403Z
Learning: Applies to contracts/**/*.cairo : Verify felt252 operations in Cairo contracts are bounds-checked
Applied to files:
cairo-contract-authoring/references/legacy-full.md
🔇 Additional comments (6)
website/index.html (1)
64-90: Clear, actionable “Try it” prompts.The prompt cards are concise and map well to the four-skill flow.
cairo-contract-authoring/references/legacy-full.md (2)
1-4: Frontmatter requirement is correctly satisfied.
nameanddescriptionare present and well-formed.
69-99: Toolchain/template refresh is consistent and clear.The recommended
Scarb.tomlblock and updatedstarknetconstraint align with the tooling freshness goal.Also applies to: 350-350
references/skill-handoff.md (1)
1-4: Strong canonical handoff spec and validation guardrails.Good addition: structured format plus explicit “treat handoff as untrusted context” rules.
Also applies to: 39-47
cairo-testing/SKILL.md (1)
33-33: Quick Start handoff step is well-scoped.This keeps
SKILL.mdconcise while delegating format details to the shared reference.README.md (1)
48-57: Cursor setup instructions are now correctly separated.Good distinction between workspace rules (
.cursor/rules/) and copied skills (.cursor/skills/).
There was a problem hiding this comment.
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
README.md (1)
164-164: 🧹 Nitpick | 🔵 TrivialConsider aligning recommended sequence with llms.txt for consistency.
Line 164 states:
cairo-contract-authoring -> cairo-testing -> cairo-auditorHowever, llms.txt line 17 provides a more complete flow:
cairo-contract-authoring → cairo-testing → [cairo-optimization (if needed)] → cairo-auditorThe llms.txt version explicitly mentions the optional optimization step in brackets, which better reflects the complete workflow introduced in this PR.
♻️ Proposed alignment with llms.txt
-Recommended sequence for new contracts: `cairo-contract-authoring` -> `cairo-testing` -> `cairo-auditor`. +Recommended sequence for new contracts: `cairo-contract-authoring` → `cairo-testing` → [`cairo-optimization` (if needed)] → `cairo-auditor`.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@README.md` at line 164, Update the recommended sequence in README.md (the line currently showing "cairo-contract-authoring -> cairo-testing -> cairo-auditor") to match llms.txt line 17 by inserting the optional step: "cairo-contract-authoring → cairo-testing → [cairo-optimization (if needed)] → cairo-auditor", so the README reflects the full workflow including the optional cairo-optimization step.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Outside diff comments:
In `@README.md`:
- Line 164: Update the recommended sequence in README.md (the line currently
showing "cairo-contract-authoring -> cairo-testing -> cairo-auditor") to match
llms.txt line 17 by inserting the optional step: "cairo-contract-authoring →
cairo-testing → [cairo-optimization (if needed)] → cairo-auditor", so the README
reflects the full workflow including the optional cairo-optimization step.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro
Run ID: 6c3f0f2f-2991-4716-9074-bb83ce49c13a
📒 Files selected for processing (6)
README.mdcairo-auditor/SKILL.mdcairo-contract-authoring/SKILL.mdcairo-optimization/SKILL.mdcairo-testing/SKILL.mdllms.txt
📜 Review details
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
- GitHub Check: Greptile Review
🧰 Additional context used
📓 Path-based instructions (2)
**/cairo-*/SKILL.md
📄 CodeRabbit inference engine (CLAUDE.md)
**/cairo-*/SKILL.md: Skill files require: 'When to Use', 'When NOT to Use' sections; security skills also require: 'Rationalizations to Reject' section
Keep SKILL.md concise; details go inreferences/andworkflows/subdirectories
Files:
cairo-auditor/SKILL.mdcairo-testing/SKILL.mdcairo-contract-authoring/SKILL.mdcairo-optimization/SKILL.md
**/*.md
📄 CodeRabbit inference engine (CLAUDE.md)
Markdown files must include YAML frontmatter with required fields:
nameanddescription
Files:
cairo-auditor/SKILL.mdREADME.mdcairo-testing/SKILL.mdcairo-contract-authoring/SKILL.mdcairo-optimization/SKILL.md
🧠 Learnings (9)
📚 Learning: 2026-03-12T18:23:36.582Z
Learnt from: CR
Repo: keep-starknet-strange/starknet-skills PR: 0
File: CLAUDE.md:0-0
Timestamp: 2026-03-12T18:23:36.582Z
Learning: Applies to **/cairo-*/SKILL.md : Keep SKILL.md concise; details go in `references/` and `workflows/` subdirectories
Applied to files:
llms.txtcairo-auditor/SKILL.mdREADME.mdcairo-testing/SKILL.mdcairo-contract-authoring/SKILL.mdcairo-optimization/SKILL.md
📚 Learning: 2026-03-08T13:12:42.932Z
Learnt from: CR
Repo: keep-starknet-strange/starknet-skills PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-03-08T13:12:42.932Z
Learning: Refer to SKILL.md as the canonical router for project guidelines and skill definitions
Applied to files:
llms.txtcairo-auditor/SKILL.mdREADME.mdcairo-contract-authoring/SKILL.mdcairo-optimization/SKILL.md
📚 Learning: 2026-03-12T18:23:36.582Z
Learnt from: CR
Repo: keep-starknet-strange/starknet-skills PR: 0
File: CLAUDE.md:0-0
Timestamp: 2026-03-12T18:23:36.582Z
Learning: Applies to **/cairo-*/SKILL.md : Skill files require: 'When to Use', 'When NOT to Use' sections; security skills also require: 'Rationalizations to Reject' section
Applied to files:
llms.txtcairo-auditor/SKILL.mdREADME.mdcairo-testing/SKILL.mdcairo-contract-authoring/SKILL.mdcairo-optimization/SKILL.md
📚 Learning: 2026-03-08T21:08:11.403Z
Learnt from: CR
Repo: keep-starknet-strange/starknet-skills PR: 0
File: coderabbit-custom-pre-merge-checks-unique-id-file-non-traceable-F7F2B60C-1728-4C9A-8889-4F2235E186CA.txt:0-0
Timestamp: 2026-03-08T21:08:11.403Z
Learning: Applies to contracts/**/*.cairo : Fail if unsafe patterns are detected in Cairo contracts without mitigation documentation
Applied to files:
llms.txtREADME.mdcairo-testing/SKILL.mdcairo-optimization/SKILL.md
📚 Learning: 2026-03-12T18:23:36.582Z
Learnt from: CR
Repo: keep-starknet-strange/starknet-skills PR: 0
File: CLAUDE.md:0-0
Timestamp: 2026-03-12T18:23:36.582Z
Learning: Applies to **/*.md : Markdown files must include YAML frontmatter with required fields: `name` and `description`
Applied to files:
README.md
📚 Learning: 2026-03-08T21:08:11.403Z
Learnt from: CR
Repo: keep-starknet-strange/starknet-skills PR: 0
File: coderabbit-custom-pre-merge-checks-unique-id-file-non-traceable-F7F2B60C-1728-4C9A-8889-4F2235E186CA.txt:0-0
Timestamp: 2026-03-08T21:08:11.403Z
Learning: Applies to contracts/**/*.cairo : For changes in Cairo contracts, verify that all external/public functions have explicit access control
Applied to files:
cairo-testing/SKILL.mdcairo-optimization/SKILL.md
📚 Learning: 2026-03-12T18:23:36.582Z
Learnt from: CR
Repo: keep-starknet-strange/starknet-skills PR: 0
File: CLAUDE.md:0-0
Timestamp: 2026-03-12T18:23:36.582Z
Learning: Detection/remediation changes MUST include eval case updates
Applied to files:
cairo-testing/SKILL.mdcairo-optimization/SKILL.md
📚 Learning: 2026-03-08T21:08:11.403Z
Learnt from: CR
Repo: keep-starknet-strange/starknet-skills PR: 0
File: coderabbit-custom-pre-merge-checks-unique-id-file-non-traceable-F7F2B60C-1728-4C9A-8889-4F2235E186CA.txt:0-0
Timestamp: 2026-03-08T21:08:11.403Z
Learning: Applies to contracts/**/*.cairo : Flag any new storage variable in Cairo contracts without initialization guard
Applied to files:
cairo-testing/SKILL.mdcairo-optimization/SKILL.md
📚 Learning: 2026-03-08T21:08:11.403Z
Learnt from: CR
Repo: keep-starknet-strange/starknet-skills PR: 0
File: coderabbit-custom-pre-merge-checks-unique-id-file-non-traceable-F7F2B60C-1728-4C9A-8889-4F2235E186CA.txt:0-0
Timestamp: 2026-03-08T21:08:11.403Z
Learning: Applies to contracts/**/*.cairo : Verify felt252 operations in Cairo contracts are bounds-checked
Applied to files:
cairo-testing/SKILL.mdcairo-optimization/SKILL.md
🔇 Additional comments (7)
cairo-contract-authoring/SKILL.md (1)
34-35: LGTM! Handoff emission properly integrated.The handoff handling and emission steps are appropriately placed at the end of the Quick Start workflow. Step 5 validates incoming handoffs before trusting claims, and step 6 emits a handoff block to the next skill in the chain (testing or auditor). This aligns with the cross-skill handoff mechanism introduced across all SKILL.md files in this PR.
cairo-optimization/SKILL.md (1)
34-35: LGTM! Clear distinction between optional and mandatory handoff paths.The handoff steps correctly distinguish between the optional
optimization → testingpath (for regression hardening) and the mandatoryoptimization → auditorpath (required before merge). This explicit clarity prevents workflow confusion and ensures security review is never skipped after optimization changes.cairo-testing/SKILL.md (1)
33-34: LGTM! Handoff workflow correctly defines default and optional paths.The handoff steps properly establish
testing → auditoras the default flow, withtesting → optimization → auditoras an optional path for explicit performance work. This ensures the auditor skill is always the final gate before merge, maintaining security review as a mandatory step.llms.txt (1)
1-33: LGTM! Clear machine-readable index with updated tooling versions.The new structure provides a concise, scannable index of available skills with direct links, clear installation instructions for multiple agent platforms, and up-to-date tooling versions (Scarb ≥2.14.0, Starknet Foundry 0.57.0, OpenZeppelin Cairo 3.0.0) that match the PR objectives. The recommended flow on line 17 explicitly includes the optional optimization step in brackets, which provides complete workflow guidance.
README.md (2)
1-4: LGTM! Required frontmatter added.The YAML frontmatter now includes the required
nameanddescriptionfields, addressing the previous review comment and complying with the**/*.mdcoding guideline.As per coding guidelines, Markdown files must include YAML frontmatter with required fields:
nameanddescription.
38-115: Excellent multi-tool installation guidance.The expanded installation section provides clear, tool-specific instructions for Claude Code, Cursor, Gemini CLI, VS Code, OpenAI Codex, JetBrains, and a universal fallback. The distinction between
.cursor/rules/and.cursor/skills/is now correct, and the multiple integration paths make the skills accessible across the agent ecosystem.cairo-auditor/SKILL.md (1)
37-48: LGTM! Handoff validation properly integrated into audit workflow.The new handoff handling step is correctly positioned early in the Quick Start (step 2) to validate incoming handoff claims before trusting them. The handoff documentation is accessible at
references/skill-handoff.mdwith the required Validation Rules section in place. Subsequent steps are properly renumbered.
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@cairo-testing/SKILL.md`:
- Around line 30-33: The checklist items starting with "Add" (specifically the
lines "Add unit tests for all state-mutating selectors", "Add negative tests for
auth/input failures", and "Add at least one fuzz/property test for core
invariants") all begin with the same verb; rephrase these entries to vary their
leading verbs for better scanability—for example change one to "Write unit tests
for all state-mutating selectors", another to "Include negative tests for
auth/input failures", and another to "Introduce at least one fuzz/property test
for core invariants" (or similar wording) so each list item starts differently
while preserving the original meaning.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro
Run ID: 1be2eebd-f912-478a-ba90-2fe03edd4ce0
📒 Files selected for processing (4)
cairo-contract-authoring/SKILL.mdcairo-optimization/SKILL.mdcairo-testing/SKILL.mdllms.txt
📜 Review details
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
- GitHub Check: Greptile Review
🧰 Additional context used
📓 Path-based instructions (2)
**/cairo-*/SKILL.md
📄 CodeRabbit inference engine (CLAUDE.md)
**/cairo-*/SKILL.md: Skill files require: 'When to Use', 'When NOT to Use' sections; security skills also require: 'Rationalizations to Reject' section
Keep SKILL.md concise; details go inreferences/andworkflows/subdirectories
Files:
cairo-contract-authoring/SKILL.mdcairo-testing/SKILL.mdcairo-optimization/SKILL.md
**/*.md
📄 CodeRabbit inference engine (CLAUDE.md)
Markdown files must include YAML frontmatter with required fields:
nameanddescription
Files:
cairo-contract-authoring/SKILL.mdcairo-testing/SKILL.mdcairo-optimization/SKILL.md
🧠 Learnings (8)
📓 Common learnings
Learnt from: CR
Repo: keep-starknet-strange/starknet-skills PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-03-08T13:12:42.932Z
Learning: Refer to SKILL.md as the canonical router for project guidelines and skill definitions
📚 Learning: 2026-03-12T18:23:36.582Z
Learnt from: CR
Repo: keep-starknet-strange/starknet-skills PR: 0
File: CLAUDE.md:0-0
Timestamp: 2026-03-12T18:23:36.582Z
Learning: Applies to **/cairo-*/SKILL.md : Skill files require: 'When to Use', 'When NOT to Use' sections; security skills also require: 'Rationalizations to Reject' section
Applied to files:
cairo-contract-authoring/SKILL.mdllms.txtcairo-testing/SKILL.mdcairo-optimization/SKILL.md
📚 Learning: 2026-03-12T18:23:36.582Z
Learnt from: CR
Repo: keep-starknet-strange/starknet-skills PR: 0
File: CLAUDE.md:0-0
Timestamp: 2026-03-12T18:23:36.582Z
Learning: Applies to **/cairo-*/SKILL.md : Keep SKILL.md concise; details go in `references/` and `workflows/` subdirectories
Applied to files:
cairo-contract-authoring/SKILL.mdllms.txtcairo-testing/SKILL.mdcairo-optimization/SKILL.md
📚 Learning: 2026-03-08T21:08:11.403Z
Learnt from: CR
Repo: keep-starknet-strange/starknet-skills PR: 0
File: coderabbit-custom-pre-merge-checks-unique-id-file-non-traceable-F7F2B60C-1728-4C9A-8889-4F2235E186CA.txt:0-0
Timestamp: 2026-03-08T21:08:11.403Z
Learning: Applies to contracts/**/*.cairo : For changes in Cairo contracts, verify that all external/public functions have explicit access control
Applied to files:
cairo-contract-authoring/SKILL.md
📚 Learning: 2026-03-08T13:12:42.932Z
Learnt from: CR
Repo: keep-starknet-strange/starknet-skills PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-03-08T13:12:42.932Z
Learning: Refer to SKILL.md as the canonical router for project guidelines and skill definitions
Applied to files:
cairo-contract-authoring/SKILL.mdllms.txtcairo-testing/SKILL.mdcairo-optimization/SKILL.md
📚 Learning: 2026-03-08T21:08:11.403Z
Learnt from: CR
Repo: keep-starknet-strange/starknet-skills PR: 0
File: coderabbit-custom-pre-merge-checks-unique-id-file-non-traceable-F7F2B60C-1728-4C9A-8889-4F2235E186CA.txt:0-0
Timestamp: 2026-03-08T21:08:11.403Z
Learning: Applies to contracts/**/*.cairo : Fail if unsafe patterns are detected in Cairo contracts without mitigation documentation
Applied to files:
cairo-contract-authoring/SKILL.mdllms.txtcairo-testing/SKILL.mdcairo-optimization/SKILL.md
📚 Learning: 2026-03-12T18:23:36.582Z
Learnt from: CR
Repo: keep-starknet-strange/starknet-skills PR: 0
File: CLAUDE.md:0-0
Timestamp: 2026-03-12T18:23:36.582Z
Learning: No operational SDK content — only provide correctness, security, and eval-backed guidance
Applied to files:
cairo-contract-authoring/SKILL.md
📚 Learning: 2026-03-12T18:23:36.582Z
Learnt from: CR
Repo: keep-starknet-strange/starknet-skills PR: 0
File: CLAUDE.md:0-0
Timestamp: 2026-03-12T18:23:36.582Z
Learning: Detection/remediation changes MUST include eval case updates
Applied to files:
cairo-testing/SKILL.md
🪛 LanguageTool
cairo-testing/SKILL.md
[style] ~32-~32: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...ative tests for auth/input failures. 4. Add at least one fuzz/property test for cor...
(ENGLISH_WORD_REPEAT_BEGINNING_RULE)
🔇 Additional comments (3)
llms.txt (1)
3-33: Documentation restructuring looks solid.The updated sections improve discoverability and keep the routing path clear (especially Line 23 pointing to the canonical router entry).
cairo-optimization/SKILL.md (1)
28-35: Quick Start handoff flow is clear and correctly constrained.Good addition of pre-trust validation and explicit
optimization → auditorpre-merge requirement.cairo-contract-authoring/SKILL.md (1)
30-36: Authoring handoff step sequencing is well defined.Line 30 and Line 36 establish a clean trust-and-transfer protocol without bloating the skill surface.
Based on learnings: Refer to SKILL.md as the canonical router for project guidelines and skill definitions.
35150a7 to
d607cda
Compare
0cae632 to
27b45db
Compare
Superseded by subsequent commits; issues addressed in latest revision.
ec84c64 to
891f3e2
Compare
Addressed in 35f2236 and rebased in 891f3e2: README execution context clarified and handoff references marked canonical/superseded.
There was a problem hiding this comment.
Actionable comments posted: 3
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@cairo-testing/references/legacy-full.md`:
- Around line 36-43: The Scarb.toml example is missing the [tool.scarb] block
present in all eval manifests; update the Scarb.toml snippet that references
snforge_std = "0.57.0" to include a [tool.scarb] section with
allow-prebuilt-plugins = ["snforge_std"] so the example matches other eval
manifests (ensure the block appears alongside the existing snforge_std entry to
maintain parity).
In `@scripts/quality/parity_check.py`:
- Line 165: The PASS messages hardcode "0.57" without checking the installed CLI
version and the doc check doesn't assert that docs include the new "--exact"
example; update the parity_check logic to (1) detect the installed snforge CLI
version (e.g., run the CLI with "--version" via subprocess or use the existing
version-parsing helper) and use that actual version string in CheckResult
instead of "0.57", (2) in the snforge CLI checks (the code that creates
CheckResult("snforge-cli-check", ...)) verify that the installed CLI supports
"--exact" and that the docs explicitly contain both the "--exact" and "--filter"
forms (search doc text for the literal "--exact" and "--filter" tokens) before
returning PASS, and (3) update the related CheckResult messages to reflect the
discovered version and which forms were validated (use function/variable names
CheckResult and the snforge doc/cli check functions to locate the code).
In `@SKILL.md`:
- Line 35: The text incorrectly claims "Each skill outputs a Handoff Block" but
cairo-auditor does not; update the statement to accurately reflect current
behavior by restricting the claim to the skills that actually emit handoff
blocks (cairo-contract-authoring, cairo-testing, cairo-optimization) or
implement a handoff emission in cairo-auditor; modify the sentence referencing
"Each skill" to instead list or say "The following skills emit a Handoff Block:
cairo-contract-authoring, cairo-testing, cairo-optimization" (or add handoff
emission logic to the cairo-auditor workflow to match the claim).
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro
Run ID: 2a2a96cd-a767-4800-a794-e8c2bacc9e62
📒 Files selected for processing (19)
.cursor/rules/starknet-skills.mdAGENTS.mdREADME.mdSKILL.mdcairo-contract-authoring/SKILL.mdcairo-contract-authoring/references/legacy-full.mdcairo-optimization/SKILL.mdcairo-testing/SKILL.mdcairo-testing/references/legacy-full.mdcairo-toolchain/references/legacy-full.mdevals/contracts/insecure_math_patterns/Scarb.tomlevals/contracts/insecure_owned_vault/Scarb.tomlevals/contracts/insecure_upgrade_controller/Scarb.tomlevals/contracts/secure_math_patterns/Scarb.tomlevals/contracts/secure_owned_vault/Scarb.tomlevals/contracts/secure_upgrade_controller/Scarb.tomlllms.txtreferences/skill-handoff.mdscripts/quality/parity_check.py
📜 Review details
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
- GitHub Check: Greptile Review
- GitHub Check: full-evals
🧰 Additional context used
📓 Path-based instructions (5)
{cairo-auditor,cairo-contract-authoring,cairo-testing,cairo-optimization,cairo-toolchain,account-abstraction,starknet-network-facts}/**/*.md
📄 CodeRabbit inference engine (CLAUDE.md)
Skill Markdown files require YAML frontmatter with required fields:
name,description
Files:
cairo-testing/references/legacy-full.mdcairo-optimization/SKILL.mdcairo-toolchain/references/legacy-full.mdcairo-contract-authoring/SKILL.mdcairo-testing/SKILL.mdcairo-contract-authoring/references/legacy-full.md
{cairo-auditor,cairo-contract-authoring,cairo-testing,cairo-optimization,cairo-toolchain,account-abstraction,starknet-network-facts}/*.md
📄 CodeRabbit inference engine (CLAUDE.md)
Skill files require: "When to Use", "When NOT to Use" sections; security skills also require: "Rationalizations to Reject" section
Files:
cairo-optimization/SKILL.mdcairo-contract-authoring/SKILL.mdcairo-testing/SKILL.md
{cairo-auditor,cairo-contract-authoring,cairo-testing,cairo-optimization,cairo-toolchain,account-abstraction,starknet-network-facts}/SKILL.md
📄 CodeRabbit inference engine (CLAUDE.md)
Keep SKILL.md concise; details go in
references/andworkflows/
Files:
cairo-optimization/SKILL.mdcairo-contract-authoring/SKILL.mdcairo-testing/SKILL.md
**/*.py
📄 CodeRabbit inference engine (CLAUDE.md)
Python code must follow ruff defaults for linting
Files:
scripts/quality/parity_check.py
scripts/**
⚙️ CodeRabbit configuration file
scripts/**: Flag any script that runs with elevated privileges without justification. Verify input sanitization in deployment scripts. Flag hardcoded credentials, URLs, or environment-specific assumptions.
Files:
scripts/quality/parity_check.py
🧠 Learnings (11)
📓 Common learnings
Learnt from: CR
Repo: keep-starknet-strange/starknet-skills PR: 0
File: CLAUDE.md:0-0
Timestamp: 2026-03-13T17:20:29.736Z
Learning: Applies to {cairo-auditor,cairo-contract-authoring,cairo-testing,cairo-optimization,cairo-toolchain,account-abstraction,starknet-network-facts}/SKILL.md : Keep SKILL.md concise; details go in `references/` and `workflows/`
Learnt from: CR
Repo: keep-starknet-strange/starknet-skills PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-03-08T13:12:42.932Z
Learning: Refer to SKILL.md as the canonical router for project guidelines and skill definitions
📚 Learning: 2026-03-08T13:12:42.932Z
Learnt from: CR
Repo: keep-starknet-strange/starknet-skills PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-03-08T13:12:42.932Z
Learning: Refer to SKILL.md as the canonical router for project guidelines and skill definitions
Applied to files:
AGENTS.mdcairo-optimization/SKILL.mdSKILL.mdllms.txtREADME.mdreferences/skill-handoff.mdcairo-contract-authoring/SKILL.mdcairo-testing/SKILL.md.cursor/rules/starknet-skills.md
📚 Learning: 2026-03-13T17:20:29.736Z
Learnt from: CR
Repo: keep-starknet-strange/starknet-skills PR: 0
File: CLAUDE.md:0-0
Timestamp: 2026-03-13T17:20:29.736Z
Learning: Applies to {cairo-auditor,cairo-contract-authoring,cairo-testing,cairo-optimization,cairo-toolchain,account-abstraction,starknet-network-facts}/**/*.md : Skill Markdown files require YAML frontmatter with required fields: `name`, `description`
Applied to files:
AGENTS.mdcairo-testing/references/legacy-full.mdcairo-optimization/SKILL.mdSKILL.mdllms.txtREADME.mdcairo-toolchain/references/legacy-full.mdreferences/skill-handoff.mdcairo-contract-authoring/SKILL.mdcairo-testing/SKILL.md.cursor/rules/starknet-skills.mdcairo-contract-authoring/references/legacy-full.md
📚 Learning: 2026-03-13T17:20:29.736Z
Learnt from: CR
Repo: keep-starknet-strange/starknet-skills PR: 0
File: CLAUDE.md:0-0
Timestamp: 2026-03-13T17:20:29.736Z
Learning: Applies to {cairo-auditor,cairo-contract-authoring,cairo-testing,cairo-optimization,cairo-toolchain,account-abstraction,starknet-network-facts}/*.md : Skill files require: "When to Use", "When NOT to Use" sections; security skills also require: "Rationalizations to Reject" section
Applied to files:
AGENTS.mdcairo-testing/references/legacy-full.mdcairo-optimization/SKILL.mdSKILL.mdllms.txtREADME.mdcairo-toolchain/references/legacy-full.mdreferences/skill-handoff.mdcairo-contract-authoring/SKILL.mdcairo-testing/SKILL.md.cursor/rules/starknet-skills.mdcairo-contract-authoring/references/legacy-full.md
📚 Learning: 2026-03-13T17:20:29.736Z
Learnt from: CR
Repo: keep-starknet-strange/starknet-skills PR: 0
File: CLAUDE.md:0-0
Timestamp: 2026-03-13T17:20:29.736Z
Learning: Applies to {cairo-auditor,cairo-contract-authoring,cairo-testing,cairo-optimization,cairo-toolchain,account-abstraction,starknet-network-facts}/SKILL.md : Keep SKILL.md concise; details go in `references/` and `workflows/`
Applied to files:
AGENTS.mdcairo-testing/references/legacy-full.mdcairo-optimization/SKILL.mdSKILL.mdllms.txtREADME.mdcairo-toolchain/references/legacy-full.mdreferences/skill-handoff.mdcairo-contract-authoring/SKILL.mdcairo-testing/SKILL.md.cursor/rules/starknet-skills.mdcairo-contract-authoring/references/legacy-full.md
📚 Learning: 2026-03-08T21:08:11.403Z
Learnt from: CR
Repo: keep-starknet-strange/starknet-skills PR: 0
File: coderabbit-custom-pre-merge-checks-unique-id-file-non-traceable-F7F2B60C-1728-4C9A-8889-4F2235E186CA.txt:0-0
Timestamp: 2026-03-08T21:08:11.403Z
Learning: Applies to contracts/**/*.cairo : Fail if unsafe patterns are detected in Cairo contracts without mitigation documentation
Applied to files:
cairo-testing/references/legacy-full.mdcairo-optimization/SKILL.mdSKILL.mdllms.txtREADME.mdcairo-toolchain/references/legacy-full.mdcairo-testing/SKILL.mdcairo-contract-authoring/references/legacy-full.md
📚 Learning: 2026-03-08T21:08:11.403Z
Learnt from: CR
Repo: keep-starknet-strange/starknet-skills PR: 0
File: coderabbit-custom-pre-merge-checks-unique-id-file-non-traceable-F7F2B60C-1728-4C9A-8889-4F2235E186CA.txt:0-0
Timestamp: 2026-03-08T21:08:11.403Z
Learning: Applies to contracts/**/*.cairo : Verify felt252 operations in Cairo contracts are bounds-checked
Applied to files:
cairo-testing/references/legacy-full.mdcairo-toolchain/references/legacy-full.mdcairo-contract-authoring/references/legacy-full.md
📚 Learning: 2026-03-08T21:08:11.403Z
Learnt from: CR
Repo: keep-starknet-strange/starknet-skills PR: 0
File: coderabbit-custom-pre-merge-checks-unique-id-file-non-traceable-F7F2B60C-1728-4C9A-8889-4F2235E186CA.txt:0-0
Timestamp: 2026-03-08T21:08:11.403Z
Learning: Applies to contracts/**/*.cairo : For changes in Cairo contracts, verify that all external/public functions have explicit access control
Applied to files:
cairo-testing/references/legacy-full.mdSKILL.mdcairo-toolchain/references/legacy-full.mdcairo-contract-authoring/SKILL.mdcairo-contract-authoring/references/legacy-full.md
📚 Learning: 2026-03-08T21:08:11.403Z
Learnt from: CR
Repo: keep-starknet-strange/starknet-skills PR: 0
File: coderabbit-custom-pre-merge-checks-unique-id-file-non-traceable-F7F2B60C-1728-4C9A-8889-4F2235E186CA.txt:0-0
Timestamp: 2026-03-08T21:08:11.403Z
Learning: Applies to contracts/**/*.cairo : Flag any new storage variable in Cairo contracts without initialization guard
Applied to files:
cairo-testing/references/legacy-full.mdcairo-toolchain/references/legacy-full.mdcairo-contract-authoring/references/legacy-full.md
📚 Learning: 2026-03-13T17:20:29.736Z
Learnt from: CR
Repo: keep-starknet-strange/starknet-skills PR: 0
File: CLAUDE.md:0-0
Timestamp: 2026-03-13T17:20:29.736Z
Learning: Boundary changes MUST call out impacted repos: `keep-starknet-strange/starknet-agentic` and `keep-starknet-strange/starkclaw`
Applied to files:
cairo-contract-authoring/references/legacy-full.md
📚 Learning: 2026-03-08T21:08:11.403Z
Learnt from: CR
Repo: keep-starknet-strange/starknet-skills PR: 0
File: coderabbit-custom-pre-merge-checks-unique-id-file-non-traceable-F7F2B60C-1728-4C9A-8889-4F2235E186CA.txt:0-0
Timestamp: 2026-03-08T21:08:11.403Z
Learning: Boundary changes must acknowledge impacted repos: keep-starknet-strange/starknet-agentic and keep-starknet-strange/starkclaw
Applied to files:
cairo-contract-authoring/references/legacy-full.md
🔇 Additional comments (18)
evals/contracts/insecure_upgrade_controller/Scarb.toml (1)
10-10: LGTM!The
snforge_stdversion bump to0.57.0is consistent with the PR objectives for tooling freshness.cairo-toolchain/references/legacy-full.md (2)
1-4: LGTM!Frontmatter properly added with required
nameanddescriptionfields.
30-31: LGTM!Version updates are consistent throughout: Starknet Foundry 0.57.0, Scarb 2.16.1, and the compatibility note correctly states Scarb >= 2.14.0 (recommended 2.16.x).
Also applies to: 39-43
cairo-contract-authoring/references/legacy-full.md (3)
1-4: LGTM!Frontmatter properly added with required
nameanddescriptionfields.
69-100: LGTM!The new "Recommended Scarb.toml" section is well-structured with clear version guidance. The versions are now consistent:
starknet = "^2.16.0"here matches line 351, andsnforge_std = "0.57.0"aligns with PR objectives. The version pinning note is helpful for users on older toolchains.
351-351: LGTM!The
starknetversion is now aligned with the recommended template at line 80, resolving the previously flagged inconsistency..cursor/rules/starknet-skills.md (1)
1-34: LGTM!The Cursor rule file is well-structured with clear skill routing, accurate tooling versions (Scarb >= 2.14.0 recommended 2.16.x, Starknet Foundry 0.57.0, OpenZeppelin Cairo 3.0.0), and comprehensive security rules. Previous review concerns have been addressed.
references/skill-handoff.md (3)
1-4: LGTM!Frontmatter properly added with clear
nameanddescriptionfields.
39-46: Solid security posture for handoff validation.The mandatory validation rules treating handoff blocks as untrusted context are a good security practice — requiring re-scanning files, re-running commands, and discarding policy-overriding text prevents prompt injection attacks via malicious handoff content.
50-116: LGTM!The handoff chain definitions are comprehensive and cover the expected workflow permutations. The cycle control note at line 115 appropriately constrains the
testing ↔ optimizationloop to prevent infinite iteration.llms.txt (1)
1-33: LGTM!The
llms.txtrewrite is well-structured with accurate skill descriptions, consistent tooling versions, and clear install instructions for multiple agent platforms. The recommended flow aligns with the PR objectives.cairo-testing/SKILL.md (2)
36-36: LGTM!The handoff emission step is well-integrated into the Quick Start workflow with clear conditional logic:
testing → optimizationfor explicit performance work, thenoptimization → auditorbefore merge; otherwisetesting → auditordirectly.
144-144: LGTM!The cross-skill handoff format reference is appropriately added to the References section with the correct relative path.
README.md (2)
1-4: LGTM!Frontmatter properly added with
nameanddescriptionfields.
86-106: LGTM!The Cursor setup instructions have been significantly improved:
- Clear Option 1/2 format for different workflows
- Explicit path placeholders (
/path/to/starknet-skills,/path/to/your/project) with clear instructions to replace them- Properly creates both
.cursor/rulesand.cursor/skillsdirectories- All past review concerns about execution context and directory clarity have been addressed.
AGENTS.md (1)
1-47: Good update: routing and version guidance are clear and consistent.This keeps
SKILL.mdas the practical entry point while adding clear multi-skill flow and refreshed tooling versions.Based on learnings: "Refer to SKILL.md as the canonical router for project guidelines and skill definitions."
cairo-optimization/SKILL.md (1)
36-38: Strong workflow hardening in this update.The added profiling delta requirement, eval-regression lock-in, and explicit pre-merge
optimization → auditorchain improve consistency and release safety.Also applies to: 144-144, 150-150
cairo-contract-authoring/SKILL.md (1)
37-37: No issue — bothauthoring → testingandauthoring → auditorare canonical handoff chains.The canonical handoff spec (
references/skill-handoff.md) explicitly defines both paths as valid:authoring → testing(default, lines 50–59) andauthoring → auditor(for review-first requests, lines 60–70). Line 37 ofcairo-contract-authoring/SKILL.mdcorrectly documents this flexibility: "(authoring → testingby default, orauthoring → auditorfor review-first requests)." No mismatch with the spec exists.> Likely an incorrect or invalid review comment.
Addressed in 4d95476: added [tool.scarb] block, corrected handoff claim scope, and updated parity_check to use discovered CLI versions + exact/filter form validation.
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@cairo-testing/references/legacy-full.md`:
- Line 46: The note mentioning snforge 0.57.0 lists an incorrect Scarb minimum;
update the Markdown sentence that references "snforge 0.57.0 requires Scarb >=
2.14.0 (recommended: 2.16.x)" to instead state the correct minimum "Scarb >=
2.12.0" while preserving the recommended version and link; locate the line
containing "snforge 0.57.0 requires Scarb" in legacy-full.md and change only the
minimum version number from 2.14.0 to 2.12.0.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro
Run ID: 770b26de-d246-4e6f-a60b-908e44d96f7a
📒 Files selected for processing (3)
SKILL.mdcairo-testing/references/legacy-full.mdscripts/quality/parity_check.py
📜 Review details
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
- GitHub Check: Greptile Review
- GitHub Check: full-evals
🧰 Additional context used
📓 Path-based instructions (3)
**/*.py
📄 CodeRabbit inference engine (CLAUDE.md)
Python code must follow ruff defaults for linting
Files:
scripts/quality/parity_check.py
scripts/**
⚙️ CodeRabbit configuration file
scripts/**: Flag any script that runs with elevated privileges without justification. Verify input sanitization in deployment scripts. Flag hardcoded credentials, URLs, or environment-specific assumptions.
Files:
scripts/quality/parity_check.py
{cairo-auditor,cairo-contract-authoring,cairo-testing,cairo-optimization,cairo-toolchain,account-abstraction,starknet-network-facts}/**/*.md
📄 CodeRabbit inference engine (CLAUDE.md)
Skill Markdown files require YAML frontmatter with required fields:
name,description
Files:
cairo-testing/references/legacy-full.md
🧠 Learnings (10)
📓 Common learnings
Learnt from: CR
Repo: keep-starknet-strange/starknet-skills PR: 0
File: CLAUDE.md:0-0
Timestamp: 2026-03-13T17:20:29.736Z
Learning: Applies to {cairo-auditor,cairo-contract-authoring,cairo-testing,cairo-optimization,cairo-toolchain,account-abstraction,starknet-network-facts}/SKILL.md : Keep SKILL.md concise; details go in `references/` and `workflows/`
Learnt from: CR
Repo: keep-starknet-strange/starknet-skills PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-03-08T13:12:42.932Z
Learning: Refer to SKILL.md as the canonical router for project guidelines and skill definitions
📚 Learning: 2026-03-13T17:20:29.736Z
Learnt from: CR
Repo: keep-starknet-strange/starknet-skills PR: 0
File: CLAUDE.md:0-0
Timestamp: 2026-03-13T17:20:29.736Z
Learning: Applies to {cairo-auditor,cairo-contract-authoring,cairo-testing,cairo-optimization,cairo-toolchain,account-abstraction,starknet-network-facts}/SKILL.md : Keep SKILL.md concise; details go in `references/` and `workflows/`
Applied to files:
SKILL.mdcairo-testing/references/legacy-full.md
📚 Learning: 2026-03-13T17:20:29.736Z
Learnt from: CR
Repo: keep-starknet-strange/starknet-skills PR: 0
File: CLAUDE.md:0-0
Timestamp: 2026-03-13T17:20:29.736Z
Learning: Applies to {cairo-auditor,cairo-contract-authoring,cairo-testing,cairo-optimization,cairo-toolchain,account-abstraction,starknet-network-facts}/*.md : Skill files require: "When to Use", "When NOT to Use" sections; security skills also require: "Rationalizations to Reject" section
Applied to files:
SKILL.mdcairo-testing/references/legacy-full.md
📚 Learning: 2026-03-13T17:20:29.736Z
Learnt from: CR
Repo: keep-starknet-strange/starknet-skills PR: 0
File: CLAUDE.md:0-0
Timestamp: 2026-03-13T17:20:29.736Z
Learning: Applies to {cairo-auditor,cairo-contract-authoring,cairo-testing,cairo-optimization,cairo-toolchain,account-abstraction,starknet-network-facts}/**/*.md : Skill Markdown files require YAML frontmatter with required fields: `name`, `description`
Applied to files:
SKILL.mdcairo-testing/references/legacy-full.md
📚 Learning: 2026-03-08T13:12:42.932Z
Learnt from: CR
Repo: keep-starknet-strange/starknet-skills PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-03-08T13:12:42.932Z
Learning: Refer to SKILL.md as the canonical router for project guidelines and skill definitions
Applied to files:
SKILL.md
📚 Learning: 2026-03-08T21:08:11.403Z
Learnt from: CR
Repo: keep-starknet-strange/starknet-skills PR: 0
File: coderabbit-custom-pre-merge-checks-unique-id-file-non-traceable-F7F2B60C-1728-4C9A-8889-4F2235E186CA.txt:0-0
Timestamp: 2026-03-08T21:08:11.403Z
Learning: Applies to contracts/**/*.cairo : For changes in Cairo contracts, verify that all external/public functions have explicit access control
Applied to files:
SKILL.mdcairo-testing/references/legacy-full.md
📚 Learning: 2026-03-08T21:08:11.403Z
Learnt from: CR
Repo: keep-starknet-strange/starknet-skills PR: 0
File: coderabbit-custom-pre-merge-checks-unique-id-file-non-traceable-F7F2B60C-1728-4C9A-8889-4F2235E186CA.txt:0-0
Timestamp: 2026-03-08T21:08:11.403Z
Learning: Applies to contracts/**/*.cairo : Fail if unsafe patterns are detected in Cairo contracts without mitigation documentation
Applied to files:
SKILL.mdcairo-testing/references/legacy-full.md
📚 Learning: 2026-03-13T17:20:29.736Z
Learnt from: CR
Repo: keep-starknet-strange/starknet-skills PR: 0
File: CLAUDE.md:0-0
Timestamp: 2026-03-13T17:20:29.736Z
Learning: Detection/remediation changes MUST include eval case updates
Applied to files:
cairo-testing/references/legacy-full.md
📚 Learning: 2026-03-08T21:08:11.403Z
Learnt from: CR
Repo: keep-starknet-strange/starknet-skills PR: 0
File: coderabbit-custom-pre-merge-checks-unique-id-file-non-traceable-F7F2B60C-1728-4C9A-8889-4F2235E186CA.txt:0-0
Timestamp: 2026-03-08T21:08:11.403Z
Learning: Applies to contracts/**/*.cairo : Verify felt252 operations in Cairo contracts are bounds-checked
Applied to files:
cairo-testing/references/legacy-full.md
📚 Learning: 2026-03-08T21:08:11.403Z
Learnt from: CR
Repo: keep-starknet-strange/starknet-skills PR: 0
File: coderabbit-custom-pre-merge-checks-unique-id-file-non-traceable-F7F2B60C-1728-4C9A-8889-4F2235E186CA.txt:0-0
Timestamp: 2026-03-08T21:08:11.403Z
Learning: Applies to contracts/**/*.cairo : Flag any new storage variable in Cairo contracts without initialization guard
Applied to files:
cairo-testing/references/legacy-full.md
🔇 Additional comments (8)
SKILL.md (1)
32-35: LGTM! Handoff scope correctly scoped to emitting skills.The updated text accurately lists only the three skills (
cairo-contract-authoring,cairo-testing,cairo-optimization) that actually emit Handoff Blocks, addressing the previous concern about overclaiming. The details are appropriately delegated toreferences/skill-handoff.md, keeping the router concise. Based on learnings: "Keep SKILL.md concise; details go inreferences/andworkflows/".cairo-testing/references/legacy-full.md (3)
1-4: LGTM! YAML frontmatter correctly added.The required
nameanddescriptionfields are present, satisfying the coding guideline for skill markdown files. As per coding guidelines: "Skill Markdown files require YAML frontmatter with required fields:name,description".
36-39: LGTM! Scarb.toml snippet now includes[tool.scarb]block.The
snforge_stdversion bump to0.57.0and the addition ofallow-prebuilt-plugins = ["snforge_std"]aligns the example with the eval manifests used elsewhere in the repository.
57-61: LGTM! Filter examples cover both--filterflag and positional fallback.The documentation now shows both the
--filterflag (for builds that support it) and the positional pattern approach, which aligns with the parity check logic inscripts/quality/parity_check.pythat validates either form.scripts/quality/parity_check.py (4)
18-18: LGTM! Semantic version regex added.The
SEMVER_REpattern correctly matches standard semantic version strings (e.g.,0.57.0).
92-100: LGTM! Version detection function is robust.The
detect_cli_versionfunction correctly:
- Probes the binary with
--version- Combines stdout and stderr (version info can appear in either)
- Gracefully returns
Noneon failure or missing binary- Extracts the first semantic version match
162-204: LGTM! snforge parity check now uses detected version and validates all filter forms.The updated logic addresses the previous concern about hardcoded version claims:
- Detects actual CLI version via
detect_cli_version("snforge")- Validates
--exactflag presence in both CLI and docs- Supports both
--filterflag and positional filter patterns based on CLI capabilities- PASS/FAIL messages include the detected version and diagnostic state
The
filter_form_oklogic correctly handles version variance: newer builds expose--filter, older builds rely on positional filtering.
212-242: LGTM! sncast parity check includes detected version.The version detection integration and updated PASS message provide clear version context for diagnostics.
Addressed in b37592a: corrected snforge 0.57.0 Scarb minimum to >=2.12.0 in cairo-testing reference.
Summary
Two changes to make the 4-skill pipeline production-ready:
1. Reference freshness — update to current tooling
Updated in: testing reference, toolchain reference, contract-authoring reference, all 6 eval contract Scarb.toml files, and parity check labels.
Added a recommended
Scarb.tomltemplate tocairo-contract-authoring/references/legacy-full.mdwith all current versions in one copy-paste block.2. Cross-skill handoff mechanism
New
references/skill-handoff.mddefines a Handoff Block format — a structured summary (files touched, security posture table, test status, suggested focus) that each skill outputs at the end of its workflow. The user can copy-paste it as input to the next skill.Handoff chains defined:
authoring → testing(security posture table → auth test targets)testing → optimization(test count + gas baseline → safe to optimize)testing → auditor(coverage summary → focus on gaps)optimization → auditor(changed files + before/after metrics → regression check)Router SKILL.md updated to include optimization in the recommended flow and link to the handoff format.
Test plan
🤖 Generated with Claude Code
Summary by CodeRabbit
New Features
Documentation
Chores
Greptile Summary
This PR advances two goals: bumping Starknet tooling references (snforge/sncast 0.56.0 → 0.57.0, Scarb minimum ≥ 2.14.0 / recommended 2.16.x) across all six eval contracts and skill references, and introducing a canonical Cross-Skill Handoff Block format with defined chains for all skill-to-skill transitions.
Key improvements:
llms.txtrecommended flow now correctly markscairo-optimizationas conditional ([if needed]), fixing a prior inconsistency with other references.Recommended Scarb.tomltemplate incairo-contract-authoring/references/legacy-full.mdincludes all five OZ packages (introspection,security,access,token,upgrades), uses a properly-bounded caret constraint (^2.16.0), and adds a clear version-pinning note.README.mdOption 2 now correctly copies.cursor/rules/starknet-skills.md, closing the enforcement gap.authoring → auditorhandoff chain was added with atest-coverage signalfield.optimization → testingcycle control note was added.Remaining issues found:
cairo-optimization/SKILL.md— Turn 4 orchestration contradicts mandatory auditor requirement. Quick Start step 7 and the Workflow footer both declareoptimization → auditoras mandatory before merge, but the Orchestration Turn 4 (the turn-by-turn execution path agents actually follow) uses "Suggest next steps: runcairo-auditor..." — an agent following the orchestration will treat the auditor as advisory and may skip it entirely after arithmetic/storage rewrites that could silently introduce security regressions.cairo-contract-authoring/SKILL.md— Two competing handoff references with no supersession note. The References section now lists both../references/skill-handoff.md(new canonical) andreferences/audit-handoff.md(pre-existing) without clarifying which takes precedence. An agent preparing anauthoring → auditorhandoff has two plausible reference documents and no guidance on which to use, undermining the goal of a "canonical" block format.Confidence Score: 3/5
cairo-optimization/SKILL.mdTurn 4 orchestration actively contradicts the "mandatory auditor" requirement by using "suggest" language — for a security-focused toolkit where the auditor catches arithmetic/storage-rewrite regressions, this is a meaningful production risk. Additionally,cairo-contract-authoring/SKILL.mdexposes agents to two competing handoff formats with no disambiguation, which could cause the handoff mechanism to produce non-canonical outputs that the target skill may not correctly validate.cairo-optimization/SKILL.md(Turn 4 "suggest" vs mandatory) andcairo-contract-authoring/SKILL.md(dual handoff references).Important Files Changed
optimization → auditoras mandatory, but Turn 4 orchestration still uses "Suggest next steps: run cairo-auditor" — an agent following the turn-by-turn orchestration will treat the auditor as optional, creating a security gap for arithmetic/storage rewrites.skill-handoff.mdand the oldaudit-handoff.mdwith no supersession note, creating ambiguity for agents picking a handoff format for theauthoring → auditorpath.[cairo-optimization (if needed)]; previous inconsistency with other files is resolved.Flowchart
%%{init: {'theme': 'neutral'}}%% flowchart TD A[cairo-contract-authoring\nQuick Start step 6] -->|authoring → testing\nHandoff Block| B[cairo-testing\nQuick Start step 6] A -->|authoring → auditor\nHandoff Block| E[cairo-auditor] B -->|testing → auditor\nHandoff Block| E B -->|testing → optimization\nHandoff Block optional| C[cairo-optimization\nQuick Start step 7] C -->|optimization → testing\nHandoff Block regression loop| B C -->|optimization → auditor\nHandoff Block MANDATORY| E style C fill:#ffe0b2,stroke:#f57c00 style E fill:#e8f5e9,stroke:#388e3c classDef issue fill:#ffcdd2,stroke:#c62828 classDef warn fill:#fff9c4,stroke:#f9a825 note1["⚠ cairo-optimization Turn 4\nstill says 'Suggest'\nnot 'Mandatory'"] C --- note1 class note1 issue note2["⚠ cairo-contract-authoring\nreferences both skill-handoff.md\nand legacy audit-handoff.md"] A --- note2 class note2 warnComments Outside Diff (1)
cairo-optimization/SKILL.md, line 121-126 (link)Turn 4 "suggest" contradicts Quick Start "mandatory" for auditor
The Orchestration Turn 4 instructs the agent to "Suggest next steps: run
cairo-auditoron touched files" (line 125). Quick Start step 7 and the Workflow section footer both explicitly declareoptimization → auditoras mandatory before merge. Because Turn 4 is the detailed turn-by-turn instruction set an agent executes sequentially, it will encounter "suggest" language and treat the auditor as optional — directly undermining the mandatory framing in the Quick Start.An agent that completes Turn 4, sees "Suggest next steps: run
cairo-auditor", and interprets it as advisory will proceed to merge without a security review of arithmetic/storage rewrites that may have introduced integer-overflow or storage-collision bugs.The Turn 4 orchestration should mirror the mandatory framing:
Prompt To Fix With AI
Prompt To Fix All With AI
Last reviewed commit: ec84c64