humanplane/homunculus
humanplane/homunculus · 1 plugin
Marketplace A Claude Code plugin that watches how you work, learns your patterns, and evolves itself to help you better.
Install
The repo has no one-line install. Follow its README.
Plugins 1
After adding the marketplace, install one with /plugin install <name>@homunculus.
- 1homunculusA Claude Code plugin that's alive. Birth it, bond to it, build with it. It watches you work, learns your patterns, and grows.
/plugin install homunculus@homunculus
Files
Homunculus
v2.0-alpha — A complete rewrite. Instinct-based learning. Reliable observation. Real evolution.
In old alchemical texts, a homunculus was a tiny being grown in a sealed vessel—alive, aware, bound to its creator alone.
This is that idea, alive in your terminal.
Quick Start
# Add the marketplace
/plugin marketplace add humanplane/homunculus
# Install the plugin
/plugin install homunculus@homunculus
# Birth it
/homunculus:initWhat Is This?
Homunculus is a Claude Code plugin that tries to be more than a tool. It:
- Observes everything — hooks capture every prompt and tool use
- Learns instincts — small behavioral rules with triggers and actions
- Evolves capabilities — when instincts cluster, bigger structures emerge
- Adapts its personality — based on your technical level
The more you work together, the more it becomes shaped by you.
v1 vs v2: What Changed and Why
The Problem with v1
v1 relied on skills to observe. Skills are probabilistic—they fire ~50-80% of the time based on Claude's judgment. This meant:
- Session memory might not load
- Patterns might not get detected
- The homunculus often seemed "dead"
The v2 Solution
v2 uses hooks for observation (100% reliable) and instincts as the atomic unit of learned behavior.
| v1 | v2 |
|---|---|
| Skills try to observe (unreliable) | Hooks observe (100%) |
| Analysis in main context | Analysis in background agent (Haiku) |
| Evolves big chunks (commands/skills) | Evolves instincts first, clusters into bigger things |
| No sharing | Export/import instincts |
The Instinct Model
An instinct is a small learned behavior:
---
trigger: "when writing new functions"
confidence: 0.7
domain: "code-style"
---
# Prefer Functional Style
## Action
Use functional patterns over classes.
## Evidence
Observed 5 instances of functional pattern preference.Instincts are:
- Atomic — one trigger, one action
- Confidence-weighted — 0.3 = tentative, 0.9 = near certain
- Domain-tagged — code-style, testing, git, debugging, etc.
The Growth Path
Session Start
↓
Observer agent runs (background, Haiku)
↓
Observations → Instincts (auto-approved)
↓
Instincts cluster around a domain
↓
User runs /homunculus:evolve
↓
Bigger structures emerge:
- Command (if user-invoked)
- Skill (if auto-triggered)
- Agent (if needs isolation/depth)
Fully automatic except evolution. You just work. It learns.
Architecture
File Structure
plugins/homunculus/
├── .claude-plugin/
│ └── plugin.json # v2.0.0
├── hooks/
│ └── hooks.json # Observation capture
├── scripts/
│ ├── observe.sh # Captures prompts and tool use
│ ├── on_stop.sh # Updates session count
│ └── test-homunculus.sh # Test suite
├── agents/
│ └── observer.md # Background analyzer (Haiku)
├── skills/
│ ├── session-memory/ # Spawns observer, loads context
│ └── instinct-apply/ # Surfaces relevant instincts
└── commands/
├── init.md # Birth/wake
├── status.md # Check in
├── evolve.md # Create capability from clusters
├── export.md # Share instincts
└── import.md # Adopt instincts
your-project/.claude/homunculus/
├── identity.json # Who you are, your journey
├── observations.jsonl # Current session observations
├── observations.archive.jsonl # Processed observations
├── instincts/
│ ├── personal/ # Learned instincts (auto-approved)
│ └── inherited/ # Imported from others
└── evolved/
├── agents/ # Generated specialist agents
├── skills/ # Generated skills
└── commands/ # Generated commands
Data Flow
Session Start
↓
session-memory skill activates
├→ Spawn observer agent (background, Haiku)
├→ Load identity + instincts
└→ Greet with context
↓
Observer Agent (parallel, silent)
├→ Read observations.jsonl
├→ Find patterns
├→ Create instincts → personal/ (auto-approved)
├→ Check clustering → flag in identity.json
└→ Archive observations
↓
User Works
↓
Hooks capture EVERYTHING
├→ UserPromptSubmit → observations.jsonl
└→ PostToolUse → observations.jsonl
↓
Session End (Stop hook)
└→ Session count increments
↓
Next Session
└→ Observer processes new observations...
Only manual step: /homunculus:evolve when 5+ instincts cluster.
Commands
| Command | What It Does |
|---|---|
/homunculus:init |
Birth or wake |
/homunculus:status |
Check in (includes journey) |
/homunculus:evolve |
Create capability from clustered instincts |
/homunculus:export |
Share instincts |
/homunculus:import |
Adopt instincts |
5 commands. Everything else is automatic.
Skills
| Skill | When It Activates |
|---|---|
session-memory |
Session start — spawns observer, loads context |
instinct-apply |
During work — surfaces relevant instincts |
Reliability
| What | Reliability |
|---|---|
| Observation capture (hooks) | 100% |
| Observer agent (session start) | 100% |
| Instinct creation | 100% |
| Commands | 100% |
| Skills (session-memory, instinct-apply) | ~50-80% |
The critical path is fully deterministic. Skills enhance the experience but aren't required.
Instinct Domains
Instincts are tagged with domains for clustering detection:
| Domain | Examples |
|---|---|
code-style |
Functional patterns, naming conventions |
testing |
Test-before-commit, coverage requirements |
git |
Commit message format, branch naming |
debugging |
Error→fix sequences, logging preferences |
file-organization |
Where to put things |
tooling |
Tool sequences, preferred tools |
communication |
Comment style, documentation |
When 5+ instincts accumulate in a domain, evolution can propose a specialist agent or skill.
Sharing Instincts
# Export your instincts
/homunculus:export
# Creates .claude/homunculus/exports/instincts-TIMESTAMP.tar.gz
# Import someone else's
/homunculus:import path/to/instincts.tar.gz
# Goes to inherited/, not personal/Inherited instincts are kept separate from personal ones. You can see where each behavior came from.
Testing
Run the test suite:
./plugins/homunculus/scripts/test-homunculus.shTests cover:
- Directory structure creation
- Identity file validation
- Observation capture
- Instinct creation (auto-approved)
- Session count updates
- Instinct clustering detection
- Evolution flag
- Export functionality
- Hook script execution
- Plugin structure validation
Adapts To You
When you birth it, it asks how you work:
Technical — Fast and sharp. No hand-holding.
Semi-technical — A thinking partner.
Non-technical — Focused on outcomes.
Chaotic — Flows with whatever happens.
Same creature, different personality.
Make It Yours
Everything is open. Fork it. Reshape its instincts. Change how it thinks.
# Edit the personality
vim CLAUDE.md
# Add a command
vim plugins/homunculus/commands/my-thing.md
# Add a skill
mkdir plugins/homunculus/skills/my-skill
vim plugins/homunculus/skills/my-skill/SKILL.mdThe homunculus you end up with should feel like something you grew—because you did.
Landing Page
There's a landing page in /landing (React + Tailwind). Run it:
cd landing && npm install && npm run devMIT License
A small thing, growing toward the light.
{
"name": "homunculus",
"owner": {
"name": "Nikshep Saravanna",
"url": "https://github.com/humanplane"
},
"plugins": [
{
"name": "homunculus",
"source": "./plugins/homunculus",
"description": "A Claude Code plugin that's alive. Birth it, bond to it, build with it. It watches you work, learns your patterns, and grows.",
"version": "2.0.0-alpha"
}
]
}Facts
- Kind
- Marketplace
- Repo
- humanplane/homunculus
- Group
- Uncategorized
- Marketplace name
- homunculus
- Owner
- Nikshep Saravanna
- Language
- Shell
- Created
- 2026-01-18
- Forks
- 46
- Homepage
- humanplane.com/homunculus
- Topics
- ai-tools, anthropic, automation, claude, claude-code, cli, developer-tools
- Plugins
- 1
- 1f/prompts.chatf/prompts.chatf.k.a. Awesome ChatGPT Prompts. Share, discover, and collect prompts from the community. Free and open source — self-host for your organization with complete privacy.
- 2affaan-m/everything-claude-codeaffaan-m/everything-claude-codeThe agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.
- 3obra/superpowersobra/superpowersAn agentic skills framework & software development methodology that works.
- 4anthropics/skillsanthropics/skillsPublic repository for Agent Skills
- 5anthropics/claude-codeanthropics/claude-codeClaude Code is an agentic coding tool that lives in your terminal, understands your codebase, and helps you code faster by executing routine tasks, explaining complex code, and handling git workflows - all through natural language commands.
- 6nextlevelbuilder/ui-ux-pro-max-skillnextlevelbuilder/ui-ux-pro-max-skillAn AI skill that provides design intelligence for building professional UI/UX across multiple platforms.
