What problem does it solve?
This Skill provides a comprehensive framework for building robust, maintainable, and well-designed software systems by codifying core software engineering philosophies and design principles.
Core Features & Use Cases
- Foundational Principles: Learn and apply principles derived from SICP, focusing on program as expression, managing complexity through abstraction, and controlling systems via naming and scope.
- Ontological Design: Understand how to design APIs and systems as enduring ontologies, emphasizing semantic commitments, open-world assumptions, and growth through accretion.
- Paradigm Integration: Guidance on when and how to effectively mix functional, object-oriented, and logic programming paradigms.
- Design Process: Best practices for requirements-driven design, code planning, scaffolding, and understanding engineering trade-offs.
- Use Case: When designing a new API, use this Skill to ensure your naming conventions are clear, your data structures are extensible, and your evolution strategy supports long-term maintainability and composition.
Quick Start
Explain the principle of 'Program as Expression of Ideas' from the software-engineer skill.