Skip to content

Tooling freshness, cross-skill handoffs, and multi-agent discoverability#45

Merged
omarespejel merged 28 commits into
mainfrom
feat/reference-freshness-and-handoffs
Mar 13, 2026
Merged

Tooling freshness, cross-skill handoffs, and multi-agent discoverability#45
omarespejel merged 28 commits into
mainfrom
feat/reference-freshness-and-handoffs

Conversation

@omarespejel

@omarespejel omarespejel commented Mar 12, 2026

Copy link
Copy Markdown
Contributor

Summary

Two changes to make the 4-skill pipeline production-ready:

1. Reference freshness — update to current tooling

Tool Before After
snforge / snforge_std 0.56.0 0.57.0
Scarb minimum ≥ 2.12.0 ≥ 2.14.0 (recommended 2.16.x)
.tool-versions example scarb 2.15.1 scarb 2.16.1
OpenZeppelin Cairo 3.0.0 3.0.0 (stays — latest stable)

Updated in: testing reference, toolchain reference, contract-authoring reference, all 6 eval contract Scarb.toml files, and parity check labels.

Added a recommended Scarb.toml template to cairo-contract-authoring/references/legacy-full.md with all current versions in one copy-paste block.

2. Cross-skill handoff mechanism

New references/skill-handoff.md defines 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

  • CI quality gate passes
  • CI full-evals passes (parity check labels updated)
  • Eval contracts still build with snforge_std 0.57.0
  • Verify handoff format is clear and actionable

🤖 Generated with Claude Code

Summary by CodeRabbit

  • New Features

    • Adds a canonical cross-skill "Handoff Block" and integrates it into recommended skill flows and routing.
  • Documentation

    • Updated per-skill workflows, recommended flows, agent/skill catalog, README/usage guidance, and added a dedicated handoff reference with validation rules and chain mappings.
    • Removed an older blog post about the Skills project.
  • Chores

    • Bumped dev tooling to 0.57.0 across examples and enhanced parity checks to detect CLI versions and report form/state.

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.txt recommended flow now correctly marks cairo-optimization as conditional ([if needed]), fixing a prior inconsistency with other references.
  • The new Recommended Scarb.toml template in cairo-contract-authoring/references/legacy-full.md includes 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.md Option 2 now correctly copies .cursor/rules/starknet-skills.md, closing the enforcement gap.
  • authoring → auditor handoff chain was added with a test-coverage signal field.
  • optimization → testing cycle 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 declare optimization → auditor as mandatory before merge, but the Orchestration Turn 4 (the turn-by-turn execution path agents actually follow) uses "Suggest next steps: run cairo-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) and references/audit-handoff.md (pre-existing) without clarifying which takes precedence. An agent preparing an authoring → auditor handoff has two plausible reference documents and no guidance on which to use, undermining the goal of a "canonical" block format.

Confidence Score: 3/5

  • Safe to merge the tooling bump and most documentation, but two agent-trust issues in skill orchestration should be resolved before this reaches production agents.
  • The tooling version bumps are mechanical and correct. The recommended Scarb.toml template is now well-formed. The handoff format itself is sound and includes meaningful validation rules. However, the cairo-optimization/SKILL.md Turn 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.md exposes 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.
  • Pay close attention to cairo-optimization/SKILL.md (Turn 4 "suggest" vs mandatory) and cairo-contract-authoring/SKILL.md (dual handoff references).

Important Files Changed

Filename Overview
references/skill-handoff.md New canonical handoff document with good validation rules, but the "How to Use" section and individual skill SKILL.md orchestration steps still don't wire validation at Turn 1 of target skills; the `<pass
cairo-optimization/SKILL.md Quick Start step 7 and Workflow footer declare optimization → auditor as 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.
cairo-contract-authoring/SKILL.md Quick Start updated to emit handoff block at step 6; References section now lists both the new skill-handoff.md and the old audit-handoff.md with no supersession note, creating ambiguity for agents picking a handoff format for the authoring → auditor path.
cairo-contract-authoring/references/legacy-full.md New recommended Scarb.toml template is well-formed: includes openzeppelin_introspection, openzeppelin_security, uses ^2.16.0 caret constraint, and has a clear version-pinning note. Common Components section also updated to ^2.16.0 for consistency.
cairo-testing/SKILL.md Handoff emit added as step 6. Turn 4 orchestration (lines 125-129) still makes the auditor conditional on "if the user's project uses cairo-auditor" — previously flagged; no change to that language in this PR.
llms.txt Recommended flow now correctly marks optimization as optional with [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 warn
Loading

Comments Outside Diff (1)

  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-auditor on touched files" (line 125). Quick Start step 7 and the Workflow section footer both explicitly declare optimization → auditor as 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:

    - **Emit an `optimization → auditor` handoff block** (mandatory before merge): see `../references/skill-handoff.md`. Include before/after metrics, changed files, and behavior-sensitive rewrites as context for the auditor.
    - Optionally, emit an `optimization → testing` handoff if new regression tests are needed.
    
    Prompt To Fix With AI
    This is a comment left during a code review.
    Path: cairo-optimization/SKILL.md
    Line: 121-126
    
    Comment:
    **Turn 4 "suggest" contradicts Quick Start "mandatory" for auditor**
    
    The Orchestration Turn 4 instructs the agent to "Suggest next steps: run `cairo-auditor` on touched files" (line 125). Quick Start step 7 and the Workflow section footer both explicitly declare `optimization → auditor` as **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:
    
    ```
    - **Emit an `optimization → auditor` handoff block** (mandatory before merge): see `../references/skill-handoff.md`. Include before/after metrics, changed files, and behavior-sensitive rewrites as context for the auditor.
    - Optionally, emit an `optimization → testing` handoff if new regression tests are needed.
    ```
    
    How can I resolve this? If you propose a fix, please make it concise.
Prompt To Fix All With AI
This is a comment left during a code review.
Path: cairo-optimization/SKILL.md
Line: 121-126

Comment:
**Turn 4 "suggest" contradicts Quick Start "mandatory" for auditor**

The Orchestration Turn 4 instructs the agent to "Suggest next steps: run `cairo-auditor` on touched files" (line 125). Quick Start step 7 and the Workflow section footer both explicitly declare `optimization → auditor` as **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:

```
- **Emit an `optimization → auditor` handoff block** (mandatory before merge): see `../references/skill-handoff.md`. Include before/after metrics, changed files, and behavior-sensitive rewrites as context for the auditor.
- Optionally, emit an `optimization → testing` handoff if new regression tests are needed.
```

How can I resolve this? If you propose a fix, please make it concise.

---

This is a comment left during a code review.
Path: cairo-contract-authoring/SKILL.md
Line: 124-127

Comment:
**Two competing handoff references with no supersession note**

The References section now lists two documents that serve overlapping handoff purposes:

- `Cross-skill handoff format: ../references/skill-handoff.md` (new canonical format added in this PR)
- `Authoring to audit handoff: [audit-handoff.md](references/audit-handoff.md)` (pre-existing format)

Quick Start step 6 directs agents to emit a handoff using `../references/skill-handoff.md`. But an agent consulting the References section while preparing an `authoring → auditor` handoff will see both documents and may prefer `audit-handoff.md` (it sounds more specific) and produce an incompatible block. There is no note indicating which document takes precedence or that `audit-handoff.md` is superseded.

Either add a deprecation note to `audit-handoff.md`, or annotate the reference entry to clarify:

```markdown
- Cross-skill handoff format: `../references/skill-handoff.md` ← use this for all handoff blocks
- Legacy audit handoff (superseded): [audit-handoff.md](references/audit-handoff.md)
```

How can I resolve this? If you propose a fix, please make it concise.

Last reviewed commit: ec84c64

Greptile also left 1 inline comment on this PR.

@coderabbitai

coderabbitai Bot commented Mar 12, 2026

Copy link
Copy Markdown

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: a959036d-4699-4d8e-9a33-bd99253f2e4b

📥 Commits

Reviewing files that changed from the base of the PR and between 4d95476 and b37592a.

📒 Files selected for processing (2)
  • cairo-testing/references/legacy-full.md
  • website/blog/how-we-built-starknet-skills.md

Walkthrough

Adds 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

Cohort / File(s) Summary
Handoff framework & SKILL workflows
references/skill-handoff.md, cairo-contract-authoring/SKILL.md, cairo-testing/SKILL.md, cairo-optimization/SKILL.md
Add canonical Handoff Block format, validation rules, chain mappings, and update SKILL quick-starts to emit/consume handoff blocks with conditional flows (e.g., testing→optimization optional, optimization→auditor mandatory).
Reference & tooling notes
cairo-contract-authoring/references/legacy-full.md, cairo-testing/references/legacy-full.md, cairo-toolchain/references/legacy-full.md
Insert YAML front-matter and recommended Scarb.toml snippets; bump Starknet Foundry/snforge/sncast and Scarb recommendations to v0.57.0 / 2.16.x where applicable.
Scarb dev-dependency bumps
evals/contracts/*/Scarb.toml
Bump dev-dependency snforge_std from 0.56.00.57.0 across multiple eval manifests.
Docs, agent rules & router
README.md, AGENTS.md, llms.txt, .cursor/rules/starknet-skills.md
Revise top-level docs and agent instructions; add Available Skills, Recommended Flow, tooling list, and Cursor skill routing rules.
QA tooling parity checks
scripts/quality/parity_check.py
Introduce CLI version probing (SEMVER_RE, detect_cli_version) and make parity checks/messages version-aware for snforge / sncast, plus parsing/validation refinements.
Removed blog
website/blog/how-we-built-starknet-skills.md
Remove detailed blog post content documenting prior architecture and results.
Misc. SKILL & scaffolding edits
cairo-contract-authoring/..., cairo-optimization/..., references/...
Minor quick-start step tweaks, references updated to canonical handoff, and small formatting/content updates.

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
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related PRs

Suggested labels

full-evals

Suggested reviewers

  • AbdelStark
  • b-j-roberts
🚥 Pre-merge checks | ✅ 4 | ❌ 2

❌ Failed checks (2 warnings)

Check name Status Explanation Resolution
Title check ⚠️ Warning The PR title clearly identifies the three main changes (tooling freshness, cross-skill handoffs, multi-agent discoverability) but lacks a scope prefix (contracts/docs/skills/ci) as required by the guidelines. Revise the title to include a scope prefix, e.g., 'docs/skills: tooling freshness, cross-skill handoffs, and multi-agent discoverability' or similar.
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Cross-Repo Boundary Awareness ✅ Passed Repository has no root-level contracts/ or packages/ directories. PR modifies only evals/contracts/ subdirectory with minimal dependency version bumps for evaluation test contracts, not production code.
Cairo Contract Safety Gate ✅ Passed No Cairo contract files (contracts/**/*.cairo) were modified in this PR; only documentation, configuration, and script files were changed.
Ci/Cd Security Gate ✅ Passed PR does not modify any .github/workflows files; no CI/CD security concerns to evaluate.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch feat/reference-freshness-and-handoffs
📝 Coding Plan
  • Generate coding plan for human review comments

Comment @coderabbitai help to get the list of available commands and usage tips.

@greptile-apps

greptile-apps Bot commented Mar 12, 2026

Copy link
Copy Markdown

Greptile Summary

This PR makes two targeted improvements: it synchronizes tooling references to snforge_std 0.57.0 / Scarb 2.16.x across all skill files and eval contracts, and introduces a canonical references/skill-handoff.md document plus corresponding Quick Start step additions so that each skill emits a structured Handoff Block at the end of its workflow.

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 Validation Rules (Mandatory) section treating incoming blocks as untrusted context, and adds a cycle-control note for the testing ↔ optimization loop.

Key issues found in this review:

  • Stale Scarb minimum in testing reference (cairo-testing/references/legacy-full.md line 44): The note for snforge_std = "0.57.0" still reads >= 2.12.0, while cairo-toolchain/references/legacy-full.md was correctly updated to >= 2.14.0 in the same PR. A developer reading only the testing reference will attempt to install Scarb 2.12.x and get a build failure. This is the highest-priority fix.
  • AGENTS.md Quick Start description says "5-step summary" (line 82) but every skill's Quick Start now has 6 steps — agents that count steps will stop before emitting the handoff block.
  • cairo-optimization not included in README Option 2 copy commands — the recommended flow adds optimization, but the copy-script omits cairo-optimization, leaving Option 2 users without the skill files needed to execute the full pipeline.

Confidence Score: 3/5

  • Safe to merge after fixing the stale Scarb minimum note in cairo-testing/references/legacy-full.md; the other two findings are low-severity documentation gaps.
  • The version bump is mechanical and correct everywhere except one overlooked note in the testing reference (>= 2.12.0 vs the correct >= 2.14.0), which will cause a concrete build failure for developers who follow that document. The handoff architecture is sound and the previous-round issues have been addressed in the final version (step numbering aligned, authoring → auditor chain defined, cycle-control note added, OZ packages complete in template). The two remaining style issues are low risk but worth addressing before merge.
  • cairo-testing/references/legacy-full.md — stale Scarb minimum note will cause build failures for developers who follow it literally.

Important Files Changed

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
Loading

Comments Outside Diff (3)

  1. cairo-testing/references/legacy-full.md, line 44 (link)

    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".

  2. 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.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.

  3. README.md, line 129-131 (link)

    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.

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

Comment thread references/skill-handoff.md
Comment thread cairo-contract-authoring/references/legacy-full.md Outdated
coderabbitai[bot]
coderabbitai Bot previously requested changes Mar 12, 2026

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 | 🟠 Major

Add 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 Authoring

As per coding guidelines, **/*.md: Markdown files must include YAML frontmatter with required fields: name and description.

🤖 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

📥 Commits

Reviewing files that changed from the base of the PR and between caffd16 and f39a66f.

📒 Files selected for processing (12)
  • SKILL.md
  • cairo-contract-authoring/references/legacy-full.md
  • cairo-testing/references/legacy-full.md
  • cairo-toolchain/references/legacy-full.md
  • evals/contracts/insecure_math_patterns/Scarb.toml
  • evals/contracts/insecure_owned_vault/Scarb.toml
  • evals/contracts/insecure_upgrade_controller/Scarb.toml
  • evals/contracts/secure_math_patterns/Scarb.toml
  • evals/contracts/secure_owned_vault/Scarb.toml
  • evals/contracts/secure_upgrade_controller/Scarb.toml
  • references/skill-handoff.md
  • scripts/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: name and description

Files:

  • references/skill-handoff.md
  • cairo-toolchain/references/legacy-full.md
  • cairo-contract-authoring/references/legacy-full.md
  • SKILL.md
  • cairo-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.md
  • 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:

  • references/skill-handoff.md
  • 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:

  • 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_std 0.57.0 migration.

evals/contracts/secure_upgrade_controller/Scarb.toml (1)

10-10: Dependency alignment looks correct.

Line 10 correctly updates snforge_std to 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_std upgrade.

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.

Comment thread cairo-toolchain/references/legacy-full.md
Comment thread references/skill-handoff.md
Comment thread references/skill-handoff.md Outdated
coderabbitai[bot]
coderabbitai Bot previously requested changes Mar 12, 2026

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 | 🟡 Minor

README is missing required YAML frontmatter.

Please add name and description frontmatter 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-skills

As per coding guidelines: Markdown files must include YAML frontmatter with required fields: name and description.

🤖 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

📥 Commits

Reviewing files that changed from the base of the PR and between f39a66f and ed16603.

📒 Files selected for processing (4)
  • .cursor/rules/starknet-skills.md
  • AGENTS.md
  • README.md
  • llms.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: name and description

Files:

  • AGENTS.md
  • README.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.md
  • llms.txt
  • AGENTS.md
  • 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:

  • .cursor/rules/starknet-skills.md
  • llms.txt
  • AGENTS.md
  • 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:

  • .cursor/rules/starknet-skills.md
  • llms.txt
  • AGENTS.md
  • 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:

  • .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.

Comment thread .cursor/rules/starknet-skills.md
Comment thread .cursor/rules/starknet-skills.md Outdated
Comment thread AGENTS.md
@omarespejel omarespejel changed the title Update tooling versions and add cross-skill handoff Tooling freshness, cross-skill handoffs, and multi-agent discoverability Mar 12, 2026
Comment thread cairo-contract-authoring/references/legacy-full.md Outdated
Comment thread references/skill-handoff.md
coderabbitai[bot]
coderabbitai Bot previously requested changes Mar 12, 2026

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

📥 Commits

Reviewing files that changed from the base of the PR and between ed16603 and 8784dd1.

📒 Files selected for processing (4)
  • cairo-contract-authoring/references/legacy-full.md
  • cairo-testing/references/legacy-full.md
  • cairo-toolchain/references/legacy-full.md
  • references/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: name and description

Files:

  • references/skill-handoff.md
  • cairo-contract-authoring/references/legacy-full.md
  • cairo-toolchain/references/legacy-full.md
  • cairo-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.md
  • cairo-toolchain/references/legacy-full.md
  • cairo-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.md
  • cairo-toolchain/references/legacy-full.md
  • cairo-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.md
  • cairo-toolchain/references/legacy-full.md
  • 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-toolchain/references/legacy-full.md
  • 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 : For changes in Cairo contracts, verify that all external/public functions have explicit access control

Applied to files:

  • cairo-toolchain/references/legacy-full.md
  • 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-toolchain/references/legacy-full.md
  • cairo-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

Comment thread cairo-contract-authoring/references/legacy-full.md
Comment thread references/skill-handoff.md Outdated
Comment thread references/skill-handoff.md
coderabbitai[bot]
coderabbitai Bot previously requested changes Mar 12, 2026

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 | 🔴 Critical

Missing required YAML frontmatter.

Markdown files must include YAML frontmatter with name and description fields. 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

📥 Commits

Reviewing files that changed from the base of the PR and between 8784dd1 and a907948.

📒 Files selected for processing (3)
  • README.md
  • website/assets/site.css
  • website/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: name and description

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-grid and .tool-pill styles are well-implemented:

  • Flexbox with flex-wrap and gap provides good responsive behavior
  • Consistent use of CSS custom properties (--border, --panel, --muted, etc.)
  • Smooth transitions on hover match existing component patterns
  • The --primary variant provides appropriate visual hierarchy for featured tools
website/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.html because build_site.py regenerates 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.py to 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.

Comment thread README.md Outdated
Comment thread website/index.html Outdated
Comment thread cairo-contract-authoring/references/legacy-full.md Outdated
Comment thread cairo-testing/SKILL.md Outdated
coderabbitai[bot]
coderabbitai Bot previously requested changes Mar 13, 2026

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 | 🔴 Critical

Pipeline failure: website/index.html has uncommitted build diffs.

The CI quality gate failed because python scripts/site/build_site.py --domain starkskills.org produced 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 | 🟠 Major

Missing required YAML frontmatter.

This markdown file lacks YAML frontmatter with the required name and description fields. As per coding guidelines, all markdown files matching **/*.md must 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 | 🔵 Trivial

Consider 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

📥 Commits

Reviewing files that changed from the base of the PR and between a907948 and bfae595.

📒 Files selected for processing (10)
  • .cursor/rules/starknet-skills.md
  • AGENTS.md
  • README.md
  • cairo-contract-authoring/SKILL.md
  • cairo-contract-authoring/references/legacy-full.md
  • cairo-optimization/SKILL.md
  • cairo-testing/SKILL.md
  • references/skill-handoff.md
  • website/assets/site.css
  • website/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 in references/ and workflows/ subdirectories

Files:

  • cairo-optimization/SKILL.md
  • cairo-contract-authoring/SKILL.md
  • cairo-testing/SKILL.md
**/*.md

📄 CodeRabbit inference engine (CLAUDE.md)

Markdown files must include YAML frontmatter with required fields: name and description

Files:

  • cairo-optimization/SKILL.md
  • cairo-contract-authoring/SKILL.md
  • AGENTS.md
  • cairo-testing/SKILL.md
  • references/skill-handoff.md
  • README.md
  • cairo-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.md
  • cairo-contract-authoring/SKILL.md
  • AGENTS.md
  • .cursor/rules/starknet-skills.md
  • cairo-testing/SKILL.md
  • references/skill-handoff.md
  • 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:

  • cairo-optimization/SKILL.md
  • cairo-contract-authoring/SKILL.md
  • AGENTS.md
  • .cursor/rules/starknet-skills.md
  • cairo-testing/SKILL.md
  • references/skill-handoff.md
  • README.md
  • 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: 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.md
  • cairo-contract-authoring/SKILL.md
  • cairo-testing/SKILL.md
  • 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: Applies to contracts/**/*.cairo : Fail if unsafe patterns are detected in Cairo contracts without mitigation documentation

Applied to files:

  • cairo-optimization/SKILL.md
  • cairo-contract-authoring/SKILL.md
  • cairo-testing/SKILL.md
  • 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: Applies to contracts/**/*.cairo : Flag any new storage variable in Cairo contracts without initialization guard

Applied to files:

  • cairo-optimization/SKILL.md
  • cairo-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.md
  • references/skill-handoff.md
  • 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 **/*.md : Markdown files must include YAML frontmatter with required fields: `name` and `description`

Applied to files:

  • AGENTS.md
  • .cursor/rules/starknet-skills.md
  • references/skill-handoff.md
  • 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: 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 name and description fields. 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-grid and .tools-grid are 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.md and specifies the appropriate handoff chains (optimization → testing, then optimization → 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.md with appropriate chains (authoring → testing or authoring → 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.md with the correct chains (testing → optimization or testing → 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 (name and description) 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.0 to >=2.14.0 is 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 specifies snforge_std 0.57.0, OpenZeppelin Cairo 3.0.0, and Cairo edition 2024_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.

Comment thread README.md Outdated
Comment thread cairo-contract-authoring/SKILL.md Outdated

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 | 🟡 Minor

Add required YAML frontmatter.

As per coding guidelines, all markdown files must include YAML frontmatter with name and description fields. 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 | 🟠 Major

Correct 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

📥 Commits

Reviewing files that changed from the base of the PR and between bfae595 and 9a7549f.

📒 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: name and description

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

Comment thread cairo-optimization/SKILL.md Outdated
coderabbitai[bot]
coderabbitai Bot previously requested changes Mar 13, 2026

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

♻️ Duplicate comments (1)
website/index.html (1)

101-132: ⚠️ Potential issue | 🟡 Minor

Add 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 use role="list" on the grid and role="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

📥 Commits

Reviewing files that changed from the base of the PR and between 9a7549f and 8e6623d.

📒 Files selected for processing (5)
  • README.md
  • cairo-contract-authoring/references/legacy-full.md
  • cairo-testing/SKILL.md
  • references/skill-handoff.md
  • website/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 in references/ and workflows/ subdirectories

Files:

  • cairo-testing/SKILL.md
**/*.md

📄 CodeRabbit inference engine (CLAUDE.md)

Markdown files must include YAML frontmatter with required fields: name and description

Files:

  • cairo-testing/SKILL.md
  • README.md
  • cairo-contract-authoring/references/legacy-full.md
  • references/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.md
  • README.md
  • cairo-contract-authoring/references/legacy-full.md
  • 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 **/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.md
  • README.md
  • 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 : For changes in Cairo contracts, verify that all external/public functions have explicit access control

Applied to files:

  • cairo-testing/SKILL.md
  • 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: Applies to contracts/**/*.cairo : Fail if unsafe patterns are detected in Cairo contracts without mitigation documentation

Applied to files:

  • cairo-testing/SKILL.md
  • README.md
  • cairo-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.md
  • 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 : 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.md
  • 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 : 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.

name and description are present and well-formed.


69-99: Toolchain/template refresh is consistent and clear.

The recommended Scarb.toml block and updated starknet constraint 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.md concise 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/).

Comment thread README.md
Comment thread llms.txt Outdated
Comment thread references/skill-handoff.md

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 | 🔵 Trivial

Consider aligning recommended sequence with llms.txt for consistency.

Line 164 states: cairo-contract-authoring -> cairo-testing -> cairo-auditor

However, llms.txt line 17 provides a more complete flow: cairo-contract-authoring → cairo-testing → [cairo-optimization (if needed)] → cairo-auditor

The 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

📥 Commits

Reviewing files that changed from the base of the PR and between 8e6623d and afd1cc0.

📒 Files selected for processing (6)
  • README.md
  • cairo-auditor/SKILL.md
  • cairo-contract-authoring/SKILL.md
  • cairo-optimization/SKILL.md
  • cairo-testing/SKILL.md
  • llms.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 in references/ and workflows/ subdirectories

Files:

  • cairo-auditor/SKILL.md
  • cairo-testing/SKILL.md
  • cairo-contract-authoring/SKILL.md
  • cairo-optimization/SKILL.md
**/*.md

📄 CodeRabbit inference engine (CLAUDE.md)

Markdown files must include YAML frontmatter with required fields: name and description

Files:

  • cairo-auditor/SKILL.md
  • README.md
  • cairo-testing/SKILL.md
  • cairo-contract-authoring/SKILL.md
  • cairo-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.txt
  • cairo-auditor/SKILL.md
  • README.md
  • cairo-testing/SKILL.md
  • cairo-contract-authoring/SKILL.md
  • cairo-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.txt
  • cairo-auditor/SKILL.md
  • README.md
  • cairo-contract-authoring/SKILL.md
  • cairo-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.txt
  • cairo-auditor/SKILL.md
  • README.md
  • cairo-testing/SKILL.md
  • cairo-contract-authoring/SKILL.md
  • cairo-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.txt
  • README.md
  • cairo-testing/SKILL.md
  • cairo-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.md
  • cairo-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.md
  • cairo-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.md
  • cairo-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.md
  • cairo-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 → testing path (for regression hardening) and the mandatory optimization → auditor path (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 → auditor as the default flow, with testing → optimization → auditor as 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 name and description fields, addressing the previous review comment and complying with the **/*.md coding guideline.

As per coding guidelines, Markdown files must include YAML frontmatter with required fields: name and description.


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.md with the required Validation Rules section in place. Subsequent steps are properly renumbered.

Comment thread cairo-optimization/SKILL.md Outdated
Comment thread cairo-testing/SKILL.md Outdated
Comment thread cairo-contract-authoring/SKILL.md Outdated
Comment thread llms.txt Outdated
coderabbitai[bot]
coderabbitai Bot previously requested changes Mar 13, 2026

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

📥 Commits

Reviewing files that changed from the base of the PR and between afd1cc0 and 35150a7.

📒 Files selected for processing (4)
  • cairo-contract-authoring/SKILL.md
  • cairo-optimization/SKILL.md
  • cairo-testing/SKILL.md
  • llms.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 in references/ and workflows/ subdirectories

Files:

  • cairo-contract-authoring/SKILL.md
  • cairo-testing/SKILL.md
  • cairo-optimization/SKILL.md
**/*.md

📄 CodeRabbit inference engine (CLAUDE.md)

Markdown files must include YAML frontmatter with required fields: name and description

Files:

  • cairo-contract-authoring/SKILL.md
  • cairo-testing/SKILL.md
  • cairo-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.md
  • llms.txt
  • cairo-testing/SKILL.md
  • cairo-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.md
  • llms.txt
  • cairo-testing/SKILL.md
  • cairo-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.md
  • llms.txt
  • cairo-testing/SKILL.md
  • cairo-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.md
  • llms.txt
  • cairo-testing/SKILL.md
  • cairo-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 → auditor pre-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.

Comment thread cairo-testing/SKILL.md Outdated
Comment thread README.md Outdated
@omarespejel
omarespejel force-pushed the feat/reference-freshness-and-handoffs branch from 35150a7 to d607cda Compare March 13, 2026 17:16
@omarespejel
omarespejel enabled auto-merge (squash) March 13, 2026 17:27
Comment thread references/skill-handoff.md
Comment thread cairo-optimization/SKILL.md Outdated
@omarespejel
omarespejel force-pushed the feat/reference-freshness-and-handoffs branch from 0cae632 to 27b45db Compare March 13, 2026 17:32
@omarespejel
omarespejel dismissed stale reviews from coderabbitai[bot], coderabbitai[bot], and coderabbitai[bot] March 13, 2026 17:36

Superseded by subsequent commits; issues addressed in latest revision.

@omarespejel
omarespejel force-pushed the feat/reference-freshness-and-handoffs branch from ec84c64 to 891f3e2 Compare March 13, 2026 18:36
@omarespejel
omarespejel dismissed coderabbitai[bot]’s stale review March 13, 2026 18:37

Addressed in 35f2236 and rebased in 891f3e2: README execution context clarified and handoff references marked canonical/superseded.

coderabbitai[bot]
coderabbitai Bot previously requested changes Mar 13, 2026

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

📥 Commits

Reviewing files that changed from the base of the PR and between ec84c64 and 891f3e2.

📒 Files selected for processing (19)
  • .cursor/rules/starknet-skills.md
  • AGENTS.md
  • README.md
  • SKILL.md
  • cairo-contract-authoring/SKILL.md
  • cairo-contract-authoring/references/legacy-full.md
  • cairo-optimization/SKILL.md
  • cairo-testing/SKILL.md
  • cairo-testing/references/legacy-full.md
  • cairo-toolchain/references/legacy-full.md
  • evals/contracts/insecure_math_patterns/Scarb.toml
  • evals/contracts/insecure_owned_vault/Scarb.toml
  • evals/contracts/insecure_upgrade_controller/Scarb.toml
  • evals/contracts/secure_math_patterns/Scarb.toml
  • evals/contracts/secure_owned_vault/Scarb.toml
  • evals/contracts/secure_upgrade_controller/Scarb.toml
  • llms.txt
  • references/skill-handoff.md
  • scripts/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.md
  • cairo-optimization/SKILL.md
  • cairo-toolchain/references/legacy-full.md
  • cairo-contract-authoring/SKILL.md
  • cairo-testing/SKILL.md
  • cairo-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.md
  • cairo-contract-authoring/SKILL.md
  • cairo-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/ and workflows/

Files:

  • cairo-optimization/SKILL.md
  • cairo-contract-authoring/SKILL.md
  • cairo-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.md
  • cairo-optimization/SKILL.md
  • SKILL.md
  • llms.txt
  • README.md
  • references/skill-handoff.md
  • cairo-contract-authoring/SKILL.md
  • cairo-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.md
  • cairo-testing/references/legacy-full.md
  • cairo-optimization/SKILL.md
  • SKILL.md
  • llms.txt
  • README.md
  • cairo-toolchain/references/legacy-full.md
  • references/skill-handoff.md
  • cairo-contract-authoring/SKILL.md
  • cairo-testing/SKILL.md
  • .cursor/rules/starknet-skills.md
  • cairo-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.md
  • cairo-testing/references/legacy-full.md
  • cairo-optimization/SKILL.md
  • SKILL.md
  • llms.txt
  • README.md
  • cairo-toolchain/references/legacy-full.md
  • references/skill-handoff.md
  • cairo-contract-authoring/SKILL.md
  • cairo-testing/SKILL.md
  • .cursor/rules/starknet-skills.md
  • cairo-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.md
  • cairo-testing/references/legacy-full.md
  • cairo-optimization/SKILL.md
  • SKILL.md
  • llms.txt
  • README.md
  • cairo-toolchain/references/legacy-full.md
  • references/skill-handoff.md
  • cairo-contract-authoring/SKILL.md
  • cairo-testing/SKILL.md
  • .cursor/rules/starknet-skills.md
  • 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: Applies to contracts/**/*.cairo : Fail if unsafe patterns are detected in Cairo contracts without mitigation documentation

Applied to files:

  • cairo-testing/references/legacy-full.md
  • cairo-optimization/SKILL.md
  • SKILL.md
  • llms.txt
  • README.md
  • cairo-toolchain/references/legacy-full.md
  • cairo-testing/SKILL.md
  • 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: Applies to contracts/**/*.cairo : Verify felt252 operations in Cairo contracts are bounds-checked

Applied to files:

  • cairo-testing/references/legacy-full.md
  • cairo-toolchain/references/legacy-full.md
  • 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: 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.md
  • SKILL.md
  • cairo-toolchain/references/legacy-full.md
  • cairo-contract-authoring/SKILL.md
  • 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: Applies to contracts/**/*.cairo : Flag any new storage variable in Cairo contracts without initialization guard

Applied to files:

  • cairo-testing/references/legacy-full.md
  • cairo-toolchain/references/legacy-full.md
  • cairo-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_std version bump to 0.57.0 is consistent with the PR objectives for tooling freshness.

cairo-toolchain/references/legacy-full.md (2)

1-4: LGTM!

Frontmatter properly added with required name and description fields.


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 name and description fields.


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, and snforge_std = "0.57.0" aligns with PR objectives. The version pinning note is helpful for users on older toolchains.


351-351: LGTM!

The starknet version 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 name and description fields.


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 ↔ optimization loop to prevent infinite iteration.

llms.txt (1)

1-33: LGTM!

The llms.txt rewrite 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 → optimization for explicit performance work, then optimization → auditor before merge; otherwise testing → auditor directly.


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 name and description fields.


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/rules and .cursor/skills directories
  • 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.md as 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 → auditor chain improve consistency and release safety.

Also applies to: 144-144, 150-150

cairo-contract-authoring/SKILL.md (1)

37-37: No issue — both authoring → testing and authoring → auditor are canonical handoff chains.

The canonical handoff spec (references/skill-handoff.md) explicitly defines both paths as valid: authoring → testing (default, lines 50–59) and authoring → auditor (for review-first requests, lines 60–70). Line 37 of cairo-contract-authoring/SKILL.md correctly documents this flexibility: "(authoring → testing by default, or authoring → auditor for review-first requests)." No mismatch with the spec exists.

			> Likely an incorrect or invalid review comment.

Comment thread scripts/quality/parity_check.py Outdated
Comment thread SKILL.md Outdated
@omarespejel
omarespejel dismissed coderabbitai[bot]’s stale review March 13, 2026 18:54

Addressed in 4d95476: added [tool.scarb] block, corrected handoff claim scope, and updated parity_check to use discovered CLI versions + exact/filter form validation.

coderabbitai[bot]
coderabbitai Bot previously requested changes Mar 13, 2026

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

📥 Commits

Reviewing files that changed from the base of the PR and between 891f3e2 and 4d95476.

📒 Files selected for processing (3)
  • SKILL.md
  • cairo-testing/references/legacy-full.md
  • scripts/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.md
  • cairo-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.md
  • cairo-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.md
  • cairo-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.md
  • 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 : Fail if unsafe patterns are detected in Cairo contracts without mitigation documentation

Applied to files:

  • SKILL.md
  • cairo-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 to references/skill-handoff.md, keeping the router concise. Based on learnings: "Keep SKILL.md concise; details go in references/ and workflows/".

cairo-testing/references/legacy-full.md (3)

1-4: LGTM! YAML frontmatter correctly added.

The required name and description fields 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_std version bump to 0.57.0 and the addition of allow-prebuilt-plugins = ["snforge_std"] aligns the example with the eval manifests used elsewhere in the repository.


57-61: LGTM! Filter examples cover both --filter flag and positional fallback.

The documentation now shows both the --filter flag (for builds that support it) and the positional pattern approach, which aligns with the parity check logic in scripts/quality/parity_check.py that validates either form.

scripts/quality/parity_check.py (4)

18-18: LGTM! Semantic version regex added.

The SEMVER_RE pattern correctly matches standard semantic version strings (e.g., 0.57.0).


92-100: LGTM! Version detection function is robust.

The detect_cli_version function correctly:

  • Probes the binary with --version
  • Combines stdout and stderr (version info can appear in either)
  • Gracefully returns None on 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 --exact flag presence in both CLI and docs
  • Supports both --filter flag and positional filter patterns based on CLI capabilities
  • PASS/FAIL messages include the detected version and diagnostic state

The filter_form_ok logic 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.

Comment thread cairo-testing/references/legacy-full.md Outdated
@omarespejel
omarespejel dismissed coderabbitai[bot]’s stale review March 13, 2026 19:01

Addressed in b37592a: corrected snforge 0.57.0 Scarb minimum to >=2.12.0 in cairo-testing reference.

@omarespejel
omarespejel merged commit 399c3dc into main Mar 13, 2026
4 checks passed
@omarespejel
omarespejel deleted the feat/reference-freshness-and-handoffs branch March 13, 2026 21:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant