SOLID principles for Python 3.12+. Files < 100 lines, interfaces separated, modular architecture. Modules MANDATORY.
From fuse-solidnpx claudepluginhub fusengine/agents --plugin fuse-solidThis skill uses the workspace's default tool permissions.
references/patterns.mdreferences/principles.mdEnables AI agents to execute x402 payments with per-task budgets, spending controls, and non-custodial wallets via MCP tools. Use when agents pay for APIs, services, or other agents.
Compares coding agents like Claude Code and Aider on custom YAML-defined codebase tasks using git worktrees, measuring pass rate, cost, time, and consistency.
Designs and optimizes AI agent action spaces, tool definitions, observation formats, error recovery, and context for higher task completion rates.
Before ANY implementation, use TeamCreate to spawn 3 agents:
Before writing ANY new code:
core/services/, core/interfaces/core/| Layer | Location | Max Lines |
|---|---|---|
| Routes | modules/[feature]/routes/ | 50 |
| Services | modules/[feature]/services/ | 100 |
| Repositories | modules/[feature]/repositories/ | 100 |
| Interfaces | modules/[feature]/interfaces/ | 30 |
| Models | modules/[feature]/models/ | 50 |
| Shared | core/{services,interfaces,models}/ | - |
NEVER use flat src/ structure - always modules/[feature]/
| Rule | Value |
|---|---|
| File limit | 100 lines (split at 90) |
| Routes | < 50 lines, delegate to services |
| Interfaces | interfaces/ directory ONLY |
| Docstrings | Every public function documented |
| Type hints | MANDATORY on all signatures |
| Protocols | Use typing.Protocol for interfaces |
| Small interfaces | 1-3 methods max |
| Topic | Reference | When to consult |
|---|---|---|
| SOLID Principles | principles.md | Quick reference for all 5 principles |
| Patterns & Structure | patterns.md | Directory layout, testing, typing |
| Anti-Pattern | Fix |
|---|---|
| Files > 100 lines | Split at 90 |
| Interfaces in impl files | Move to interfaces/ directory |
| Fat interfaces (4+ methods) | Split into small Protocols |
Flat src/ structure | Use modules/[feature]/ |
| Concrete dependencies | Use Protocol + dependency injection |
| Missing type hints | Add type annotations to all signatures |