interface-driven-development

Generate TypeScript code interfaces and templates for given specifications.

71|11|Updated Jan 23, 2026
One-click install
npx skills add https://github.com/nlelouche/Unity-SkillForge --skill interface-driven-development
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: interface-driven-development
Source: https://github.com/nlelouche/Unity-SkillForge/tree/main/.agent/skills/01-architecture/interface-driven-development
Command: npx skills add https://github.com/nlelouche/Unity-SkillForge --skill interface-driven-development

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires argparse, pathlib, and includes scripts (resource) and references (resource) and assets (resource) components.

What problem does it solve?

This Skill addresses the challenges of rigid, tightly-coupled codebases by promoting programming to interfaces, leading to more flexible, maintainable, and testable software.

Core Features & Use Cases

  • Decoupled Systems: Design systems where components interact through contracts (interfaces) rather than concrete implementations.
  • Enhanced Testability: Easily create mock implementations of interfaces for unit testing.
  • Modularity & Swappability: Swap out different implementations of an interface without affecting the consuming code.
  • Use Case: When building a game, you can define an IDamageable interface. Both Enemy and DestructibleWall classes can implement this interface, allowing your WeaponAttack script to damage either without needing to know their specific types.

Quick Start

Use the interface_gen script to create a new IDamageable interface in the Game.Interfaces namespace.

Frequently Asked Questions about interface-driven-development

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

FAQPage Schema
How do I decouple Unity C# scripts using interfaces?

You decouple Unity C# scripts by defining contracts that components interact through rather than concrete implementations. This enables systems to communicate without direct dependencies, enhancing overall modularity.

What is the best way to make C# code testable in Unity?

Making C# code testable in Unity involves defining interfaces for dependencies, allowing you to easily create mock implementations for unit testing. This isolates components during testing.

Can I generate interface contracts automatically for C# architecture?

Yes, you can use the interface_gen script to automatically create new interface contracts in specific namespaces. This provides templates that standardize contract definition across your C# architecture.

How do I swap implementations in C# without affecting consuming code?

Swapping implementations in C# without affecting consuming code requires programming to interfaces. By interacting through contracts, you can replace concrete classes seamlessly, enabling easy implementation swapping.

Do I need argparse and pathlib to define C# interfaces?

You need argparse and pathlib to run the interface generation scripts that produce C# interface templates. These Python dependencies drive the script that outputs your C# contract files.