pixie

Wire Java components using Pixie annotations for dependency injection and events.

2|Updated Feb 18, 2026
One-click install
npx skills add https://github.com/tomitribe/claude-plugins --skill pixie
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: pixie
Source: https://github.com/tomitribe/claude-plugins/tree/main/plugins/pixie/skills/pixie
Command: npx skills add https://github.com/tomitribe/claude-plugins --skill pixie

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Pixie streamlines Java component wiring by providing lightweight dependency injection, configuration, and an event system, reducing boilerplate and enabling testable designs.

Core Features & Use Cases

  • Lightweight DI and configuration for constructors
  • Annotation-driven wiring with @Param, @Component, @Event, @Observes
  • Supports @Factory and @Builder patterns and end-to-end System wiring for tests
  • By-name and by-type resolution and collection injection for multiple components Define a small service with Pixie, wire it to its dependencies, and fetch a ready-to-use instance from the System.

Quick Start

Define your components with System.builder() and then fetch the target component from the resulting System.

Frequently Asked Questions about pixie

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

FAQPage Schema
How do I set up lightweight dependency injection for Java components without a heavy framework?

Lightweight dependency injection for Java components is set up by applying annotations like @Component and @Param for constructor wiring. You configure the dependencies directly on the class, reducing boilerplate without needing a heavy application framework.

What is the best way to wire Java services for integration tests?

The best way to wire Java services for integration tests is using a System builder. It applies end-to-end wiring to annotated components, allowing you to fetch a ready-to-use instance of your target service directly from the resulting System for small-scale demonstrations.

Can I handle event handling and configuration in Java without boilerplate?

Yes, you can handle event handling and configuration without boilerplate using dedicated annotations. By marking methods with @Observes and fields with @Param, the system automatically manages event dispatching and injects configuration values into your Java components.

Does this dependency injection approach support factory and builder patterns?

Yes, this dependency injection approach supports factory and builder patterns. It provides specific @Factory and @Builder annotations that allow you to designate factory methods and builder patterns, enabling flexible object creation within the component system.

How does by-name and by-type resolution work for component injection?

By-name and by-type resolution works by matching injected parameters to component instances either through their declared name or their Java type. This mechanism also supports collection injection, allowing multiple components of the same type to be grouped and injected together into a target dependency.