Agent skill
new-project
Architect new Python-based blockchain projects using the Ape framework. Use when users want to start a new blockchain project and need guidance on proper project structure, architecture patterns, configuration, and foundational setup. Supports SDK development, plugin creation, bot development with Silverback, protocol development, and complex blockchain applications. Determines project type and guides users through establishing the correct architectural foundation.
Install this agent skill to your Project
npx add-skill https://github.com/ApeWorX/skills/tree/main/development/new-project
SKILL.md
Overview
Guide users through architecting Python-based blockchain projects using the Ape framework. This skill helps establish proper project structure, configuration, and architectural patterns before implementation begins.
Prerequisites
Before using this skill, verify the user has:
uvinstalled (https://docs.astral.sh/uv)- Basic understanding of Python and blockchain concepts
- Clear project goals (even if high-level)
- Use the
development/spec-interviewskill if project is not fully specified
- Use the
- Familiarity with Ape documentation: https://docs.apeworx.io/ape/stable/userguides/quickstart
Workflow
Step 1: Determine Project Type
Ask focused questions to understand what the user wants to build:
Essential questions:
- What problem are you solving or what functionality do you need?
- Will this interact with existing protocols or create something new?
- Does this need to monitor blockchain events or execute transactions?
- Is this for a specific protocol, a general tool, or a new application?
Based on responses, categorize the project as one of:
- Protocol SDK - Python library for interacting with an existing protocol (e.g. Uniswap)
- Ape Plugin - Extension adding functionality to the Ape framework (e.g. Trezor hardware wallet)
- Blockchain Bot - Automated system responding to on-chain events (e.g. Trading bot)
- Protocol Development - A completely new smart contract protocol (including scripts and tests)
- Blockchain Application - A complex application integrating with one (or more) blockchain(s)
Step 2: Gather Project-Specific Context
Based on project type, ask targeted follow-up questions. Keep questions focused and avoid overwhelming the user.
For Protocol SDKs:
- Which protocol/contracts will this SDK interact with?
- What are the main operations users will perform with the SDK?
- Do you have a link to the source code and/or documentation for the protocol?
- Reference the
protocols/writing-sdksskill for more detailed workflow
For Ape Plugins:
- What functionality will this add to Ape? (Plugin vertical e.g. AccountAPI, CompilerAPI, ProviderAPI, etc.)
- Does this integrate with a command-line tool (installed locally) or an external service (requiring an API key)?
- Does it need it's own command-line interface integrated with ape? (e.g.
ape [plugin-name] ...) - Reference the
ape/writing-pluginsskill for more detailed workflow
For Blockchain Bots:
- Which events should trigger actions?
- What actions should the bot perform, in response to those triggers?
- Does it need to sign and submit messages or transactions?
- Reference the
silverback/writing-botsskill for detailed bot architecture
For Protocol Development:
- Which smart contract language do you want to use? (Solidity, Vyper)
- What does the protocol do?
- Do you need multi-chain deployment support?
- Reference the
ape/protocol-designskill for more detailed workflow
For Blockchain Applications:
- What existing protocol(s) does this application need to integrate with?
- What blockchain operations are needed? (submitting transactions, listening to events)
- What's the deployment strategy? How does it need to be hosted?
- Reference the
apps/system-designskill for more detailed workflow
Step 3: Generate Project Architecture
Create the appropriate project structure based on chosen project type.
Common elements across all projects:
- Verify project structure is complete
- Ensure
pyproject.tomlhas required dependencies - Ensure README.md includes setup instructions
- Install project locally with
uv sync
Step 4: Provide Context and Next Steps
After generating the architecture and installing the project:
- Explain the structure - Briefly describe key files and their purposes
- Identify knowledge gaps - Note where additional skills or documentation are needed:
- Recommend next steps - Clear guidance on what to implement first
Step 5: Iterate and Refine
After user reviews the architecture:
- Answer questions about design decisions
- Adjust structure based on feedback
- Add missing configurations or files
- Provide additional references as needed
Key Principles
Stay high-level: Focus on correct architecture, not implementation details Fetch documentation: Always get current Ape/Silverback docs before proceeding Reference other skills: Point to specialized skills for detailed workflows Adapt to skill level: Adjust explanations based on user's Python/blockchain experience Validate understanding: Confirm project requirements before generating structure
Common Pitfalls
- Don't start coding implementation before architecture is confirmed
- Don't assume package versions - check current stable releases
- Don't create overly complex structures for simple projects
- Don't skip documentation fetching - APIs and best practices change
- Don't forget to specify where additional skills/docs are needed
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
writing-bots
Write a bot to continuously listen and respond to events on a public blockchain network.
writing-sdks
Create a Python SDK using Ape Framework to simplify using a given blockchain-based protocol. Use when users need specific best practices and guidance on developing a new integration with the given protocol. Do not use if such a Python SDK already exists that is designed to work with Ape.
uniswap
Trade and interact with Uniswap in Python using Ape and the uniswap-sdk package.
writing-plugins
Create a new Plugin for Ape Framework to integrate a specific tool or service into one of Ape's vertical(s). Use when users need specific best practices and guidance on developing a new plugin for Ape. Do not use if such a plugin already exists that is designed to work with Ape, and instead suggest that.
protocol-design
Design and build a new smart contract protocol using Ape Framework. Use when users want to create a new set of smart contracts that work together as a protocol, including development, testing, scripting/deployment, and potentially other aspects such as distributing a Python SDK or enabling automation of the protocol (through Silverback). Guides users through the full lifecycle from design through deployment and beyond using Ape tooling.
python-packages
Best practices for developing a Python-based project. Use when creating a new project to ensure best practices according to ApeWorX development standards.
Didn't find tool you were looking for?