If you keep doing something repeatedly—checking docs before API calls, running the same debug flow, formatting PRs a certain way—it notices and offers to automate it. Accept, and it writes a new markdown file into its own structure. The plugin literally changes based on what you do.
It can create: Commands (explicit shortcuts) Skills (context-triggered behaviors) Subagents (specialists for specific problem domains) Hooks (event-driven, like "run tests when these files change")
What actually works (v0.1): Commands are deterministic. Skills are probabilistic—they fire when Claude decides they're relevant, maybe 50-80% of the time. It's an experiment in making LLM tooling adaptive rather than static.
State stored in .claude/homunculus/. Each project gets its own instance.