crane-architecture

Creates modular, upgradeable SmartPy contracts using Crane's Actor model.

Updated Jan 22, 2026
One-click install
npx skills add https://github.com/cyotee/cyotee-claude-plugin-crane --skill crane-architecture
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: crane-architecture
Source: https://github.com/cyotee/cyotee-claude-plugin-crane/tree/main/.opencode/skills/crane-architecture
Command: npx skills add https://github.com/cyotee/cyotee-claude-plugin-crane --skill crane-architecture

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Crane Architecture Patterns provide clear guidance for building modular, upgradeable smart contracts using Crane's Diamond-first (ERC2535) approach, detailing how to structure Repo, Target, and Facet layers and related patterns.

Core Features & Use Cases

  • Governance of the Facet-Target-Repo separation to enable upgradeability and clean code organization.
  • Storage-slot pattern guidance with dual layout functions and safe access control via guard functions and modifiers.
  • Guidance on Service, AwareRepo, and Diamond Factory Package patterns for scalable deployments and integrations.
  • Use Case: When starting a new Crane feature, architect with Repo-first storage, then build Target and Facet for proxy exposure.

Quick Start

Ask Crane for a guided outline of how to implement a Facet-Target-Repo with a Diamond pattern for a new feature.

Frequently Asked Questions about crane-architecture

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I structure upgradeable smart contracts using the ERC2535 diamond pattern?

Structure upgradeable smart contracts by separating logic into Facet, Target, and Repo layers. Start with Repo-first storage management, then build the Target and Facet components to expose proxy functionality within the ERC2535 diamond pattern.

What is the Facet-Target-Repo separation in Crane diamond architecture?

The Facet-Target-Repo separation is a modular contract pattern governing upgradeability and code organization. Repos manage storage slots, Targets handle logic, and Facets expose functions to the diamond proxy for clean separation of concerns.

How do I manage storage slots when building modular upgradeable contracts?

Manage storage slots using dual layout functions and guard functions. This pattern ensures safe access control and prevents storage collisions when multiple Facets and Targets interact within a single diamond proxy contract.

Can I use Diamond Factory Package patterns for scalable contract deployments?

Yes, Diamond Factory Package patterns support scalable deployments and integrations. They provide structured guidance for generating new diamond instances, incorporating AwareRepo and service patterns for extensible contract architectures.

What is the recommended workflow for implementing a new Crane feature with ERC2535?

The recommended workflow is to architect with Repo-first storage, then build the Target and Facet layers for proxy exposure. This ensures proper storage-slot management and access control before deploying the diamond pattern.

When should I use AwareRepo and service patterns in modular contract design?

Use AwareRepo and service patterns when building scalable deployments that require complex integrations. These patterns extend the standard Facet-Target-Repo architecture to handle cross-component awareness and service-oriented contract interactions.