Incremental audio production with duration mismatch handling, adaptive stem extension, and pre-mix alignment verification
The English summary is being prepared. Showing the original description.
Build a Web3 application that interacts with a blockchain, from contract interfaces and frontend screens to tests and deployment scripts. Package source code, configuration templates, and setup documentation into a ZIP for delivery.
Systematic full-stack Web3 build with mandatory packaging and delivery phase
Review the instructions the agent will receive before you install.
This skill provides a structured, layer-by-layer approach to building complex full-stack Web3 applications with integrated deliverable packaging. Follow this sequence to maintain clarity, reduce coupling, enable incremental testing, and ensure a complete, shippable artifact is produced even when tool failures occur.
First, establish the complete directory structure before writing any code:
project-name/
├── contracts/
│ ├── interfaces/
│ ├── core/
│ ├── libraries/
│ └── deployment/
├── frontend/
│ ├── src/
│ │ ├── components/
│ │ ├── hooks/
│ │ ├── config/
│ │ └── utils/
│ └── public/
├── scripts/
│ ├── deploy/
│ └── test/
├── zk-circuits/
└── docs/
Action: Create all directories upfront using:
mkdir -p contracts/{interfaces,core,libraries,deployment}
mkdir -p frontend/src/{components,hooks,config,utils}
mkdir -p frontend/public
mkdir -p scripts/{deploy,test}
mkdir -p zk-circuits docs
Define all interface contracts before implementing logic. This establishes clear API boundaries.
Example interface structure:
// contracts/interfaces/IToken.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
interface IToken {
function transfer(address to, uint256 amount) external returns (bool);
function balanceOf(address account) external view returns (uint256);
function approve(address spender, uint256 amount) external returns (bool);
}
Actions:
Implement contracts in dependency order, starting with libraries, then core logic.
Order of implementation:
Example:
// contracts/core/PrivatePool.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
import "../interfaces/IToken.sol";
import "../libraries/SafeMath.sol";
contract PrivatePool {
using SafeMath for uint256;
IToken public token;
mapping(address => uint256) private balances;
constructor(address _token) {
token = IToken(_token);
}
function deposit(uint256 amount) external {
token.transferFrom(msg.sender, address(this), amount);
balances[msg.sender] = balances[msg.sender].add(amount);
}
}
Actions:
Set up frontend infrastructure before building components.
Create these config files first:
frontend/src/config/networks.js):export const networks = {
mainnet: {
chainId: 1,
rpcUrl: process.env.REACT_APP_MAINNET_RPC,
explorer: 'https://etherscan.io'
},
testnet: {
chainId: 5,
rpcUrl: process.env.REACT_APP_TESTNET_RPC,
explorer: 'https://goerli.etherscan.io'
}
};
frontend/src/config/contracts.js):export const contractAddresses = {
PrivatePool: process.env.REACT_APP_PRIVATE_POOL_ADDRESS,
Token: process.env.REACT_APP_TOKEN_ADDRESS
};
frontend/src/config/abis/):// Import compiled contract ABIs here
import PrivatePoolABI from './PrivatePool.json';
export { PrivatePoolABI };
Actions:
.env.example)Build frontend components in this order:
Example component:
// frontend/src/components/DepositForm.jsx
import { useState } from 'react';
import { useContractWrite } from 'wagmi';
import { PrivatePoolABI } from '../config/abis';
export function DepositForm({ contractAddress, tokenAddress }) {
const [amount, setAmount] = useState('');
const { write: deposit } = useContractWrite({
address: contractAddress,
abi: PrivatePoolABI,
functionName: 'deposit',
args: [BigInt(amount)]
});
return (
<form onSubmit={(e) => { e.preventDefault(); deposit(); }}>
<input
value={amount}
onChange={(e) => setAmount(e.target.value)}
placeholder="Amount"
/>
<button type="submit">Deposit</button>
</form>
);
}
Actions:
Create deployment scripts last, after all contracts are complete and tested.
Structure:
// scripts/deploy/01_deploy_token.js
async function main() {
const Token = await ethers.getContractFactory("Token");
const token = await Token.deploy();
await token.deployed();
console.log("Token deployed to:", token.address);
// Save address for frontend config
fs.writeFileSync(
'frontend/.env',
`REACT_APP_TOKEN_ADDRESS=${token.address}\n`,
{ flag: 'a' }
);
}
Actions:
MANDATORY FINAL STEP - Create a complete ZIP archive of the codebase before declaring the task complete. This phase must be executed even if iteration budget is limited.
ZIP Creation Command:
cd /path/to/project-root
zip -r project-name-deliverable.zip . -x "*.git*" -x "node_modules/*" -x "*.env"
Packaging Checklist (must complete before task completion):
Actions:
unzip -l project-name-deliverable.zipIf a tool failure occurs:
When working with limited iterations:
If you reach 80% of iteration budget and Phase 7 has not started:
This systematic approach ensures partial progress is preserved, the overall architecture remains coherent, and a complete deliverable artifact is always produced even when interruptions occur.
No reviews yet. Tell others what you thought.
No login needed. Share how it worked for you, ask a question, or note where it did not run.
No comments yet. Be the first to write one.
Incremental audio production with duration mismatch handling, adaptive stem extension, and pre-mix alignment verification
The English summary is being prepared. Showing the original description.
Incremental audio production with duration alignment handling, per-stem verification, and adaptive extension strategies
The English summary is being prepared. Showing the original description.
Create serverless API proxy endpoints that hide API keys and provide a unified backend for the dashboard frontend. Designed for Vercel deployment.
The English summary is being prepared. Showing the original description.
End-to-end audio production workflow with stems, effects, archiving, and verification
The English summary is being prepared. Showing the original description.
Keep document creation moving when web searches and page retrieval repeatedly fail. The skill preserves the original task, uses the model’s existing knowledge, and clearly identifies information that could not be checked against external sources.
Fallback pattern for executing Python code when execute_code_sandbox fails
The English summary is being prepared. Showing the original description.