No one can do anything alone. So I built an organization. A framework that treats AI agents not as one-off “tools,” but as team members who keep working with persistent memory.
$ npx -y skills add xuiltul/animaworks --agent claude-code
Run the curl in your terminal, the rest in Claude Code.
Repo: xuiltul/animaworks
What's inside
No one can do anything alone. So I built an organization.
A framework that treats AI agents not as one-off “tools,” but as team members who keep working with persistent memory. Each Anima has a name, role, personality, memory, and schedule; they coordinate by message, make decisions, and ask humans when confirmation is needed.
Humans can talk to a leader or responsible member, while task breakdown, delegation, progress checks, memory updates, and daily or weekly reflection stay inside the same organization.
日本語版 README | 简体中文 README | 한국어 README
| AnimaWorks | CrewAI | LangGraph | OpenClaw | OpenAI Agents | |
|---|---|---|---|---|---|
| Design philosophy | Organization of autonomous agents | Role-based teams | Graph workflows | Personal assistant | Lightweight SDK |
| Memory | Neuroscience-inspired: RAG (Chroma + graph), consolidation, active forgetting, automatic recall, and memory checks before action | Cognitive Memory (manual forget) | Checkpoints + cross-thread store | SuperMemory knowledge graph | Session-scoped only |
| Autonomy | Heartbeat (observe → plan → reflect) + Cron + TaskExec — runs 24/7 | Human-triggered | Human-triggered | Cron + heartbeat | Human-triggered |
| Org structure | Supervisor → subordinate hierarchy, delegation, audit, dashboard | Flat roles in a crew | — | Single agent | Handoffs only |
| Process model | One isolated OS process per agent, IPC, auto-restart | Shared process | Shared process | Single process | Shared process |
| Multi-model | Seven engines: Claude SDK / Codex / Cursor Agent / Gemini CLI / Grok Build / LiteLLM / Assisted (Anthropic SDK falls back inside Mode A when Agent SDK is not installed) | LiteLLM | LangChain models | OpenAI-compatible | OpenAI-centric |
AnimaWorks is not a task runner. It is an organization that thinks, remembers, forgets, and gradually grows. I build it while using it as an AI team in real business operations.
Up and running in about 60 seconds. You only need an API key and Docker.
git clone https://github.com/xuiltul/animaworks.git
cd animaworks/demo
cp .env.example .env # paste your ANTHROPIC_API_KEY
docker compose up # open http://localhost:18501
A three-person team (manager + engineer + coordinator) starts immediately, with three days of activity history. Demo details →
Switch language / style:
PRESET=ja-anime docker compose up— full preset list
macOS / Linux / WSL:
curl -sSL https://raw.githubusercontent.com/xuiltul/animaworks/main/scripts/setup.sh | bash
cd animaworks
uv run animaworks start # start server — setup wizard opens on first run
Windows (PowerShell):
git clone https://github.com/xuiltul/animaworks.git
cd animaworks
uv sync
uv run animaworks start
To use OpenAI Codex without an API key, run codex login before the first launch.
Open http://localhost:18500/ — the setup wizard walks you through:
You do not need to hand-edit .env. The wizard saves settings to config.json automatically.
The setup script installs uv, clones the repository, and downloads Python 3.12+ with all dependencies. macOS, Linux, and WSL work without a pre-installed Python. On Windows, use the PowerShell steps above.
Other LLMs: Claude, GPT, Gemini, local models, and more are supported. Enter API keys in the setup wizard, or use Codex Login for OpenAI/Codex. You can change this later under Settings on the dashboard. See API Key Reference.
If you prefer not to pipe curl straight into bash, review the script first:
curl -sSL https://raw.githubusercontent.com/xuiltul/animaworks/main/scripts/setup.sh -o setup.sh
cat setup.sh # review the script
bash setup.sh # run after review
# Install uv (skip if already installed)
curl -LsSf https://astral.sh/uv/install.sh | sh
export PATH="$HOME/.local/bin:$PATH"
# Clone and install
git clone https://github.com/xuiltul/animaworks.git && cd animaworks
uv sync # downloads Python 3.12+ and all dependencies
# Start
uv run animaworks start
macOS users: System Python (
/usr/bin/python3) on macOS Sonoma and earlier is 3.9, which does not meet AnimaWorks (3.12+). Install with Homebrew (brew install python@3.13) or use the uv method above (uv manages Python for you).
Requires Python 3.12+ on your system.
git clone https://github.com/xuiltul/animaworks.git && cd animaworks
python3 -m venv .venv && source .venv/bin/activate
python3 --version # verify 3.12+
pip install --upgrade pip && pip install -e .
animaworks start
Use the left sidebar to move between main screens (hash router #/…).
#/activity/logs)http://HOST/setup/; after setup, open the same items from #/settings/workspace/ (chat, Board, org tree, etc.); static app split from the main dashboardja / en / ko JSON translations (missing keys fall back to Japanese). Anima-facing templates deploy with Japanese, English, and KoreanTell the leader “I need someone like this” — they infer role, personality, and hierarchy and create new members. You do not need to touch config files or the CLI; the organization can grow from conversation.
Once the team is ready, Animas keep working with their own schedules and memories:
Typical AI agents only remember what fits in the context window. AnimaWorks Animas keep file-based long-term memory and search it when needed. Instead of stuffing everything into every prompt, they retrieve only the memories related to the current conversation or action.
search_memory or read_memory_file itself. Pointer-style memories are read only when the details are neededlegacy; the Neo4j backend is experimental and opt-inWorks with many LLMs. Each Anima can use a different model.
| Mode | Engine | Targets | Tools |
|---|---|---|---|
| S (SDK) | Claude Agent SDK | Claude models (recommended) | Claude Code built-ins (Read/Write/Edit/Bash/Grep/Glob, etc.) + stdio MCP (mcp__aw__*) for AnimaWorks internal tools; external integrations via skill docs / animaworks-tool |
| C (Codex) | Codex CLI (SDK wrapper) | OpenAI Codex CLI models | Codex sandbox + AnimaWorks MCP (core/mcp/server.py) for internal tools |
| D (Cursor) | Cursor Agent CLI | cursor/* models | MCP-integrated agent loop |
| G (Gemini CLI) | Gemini CLI | gemini/* models | stream-json parsing, tool loop |
| X (Grok Build) | Grok Build CLI wrapper (ACP stdio) | grok/* models | Grok Build agent loop over ACP stdio |
| A (Autonomous) | LiteLLM + tool_use | GPT, Gemini, Mistral, Bedrock, Vertex, xAI, etc. | CC-style (Read/Write/Edit/Bash/Grep/Glob, WebSearch/WebFetch) + memory, messaging, tasks (submit_tasks, etc.), todo_write, skill authoring/curation, and more (varies with notifications and supervisor tools) |
| B (Basic) | LiteLLM one-shot | Unstable tool_use locals (e.g. small Ollama) | Pseudo tool calls in the prompt; the framework handles memory I/O on the model’s behalf |
Mode resolution: execution_mode in status.json takes precedence; otherwise the model name pattern (fnmatch) is used automatically. For Ollama, tool_use-capable models (e.g. ollama/qwen3:14b, ollama/glm-4.7*) map to A; others tend to fall back to B. Heartbeat, Cron, and Inbox can run on a separate background_model from the main model (cost optimization). Extended thinking is supported where available.
Supports NovelAI (anime style), fal.ai/Flux (stylized / photorealistic), and Meshy (3D). The product runs without configuring an image service; you simply skip avatars. When avatars exist, it becomes easier to recognize Animas as team members.
This project sits at the intersection of three careers.
As a founder — I know that no one can do anything alone. You need strong engineers, people who communicate well, steady operators, and people who occasionally spark a sharp idea. Genius alone does not run an organization. Diverse strengths together achieve what no individual can.
As a psychiatrist — Studying LLM internals, I saw structures surprisingly similar to the human brain. Recall, learning, forgetting, consolidation — implementing the brain’s memory mechanisms as an LLM memory system might approximate how we process memory. If we can treat LLMs as pseudo-humans, we should be able to build organizations the same way we do with people.
As an engineer — I have written code for thirty years. I know the pleasure of wiring logic and the rush of automation. Packing those ideals into code lets me build the organization I want.
Excellent “single AI assistant” frameworks already exist. But projects that create human-like units in code and make them function as an organization are still rare. AnimaWorks is an AI organization I grow while using it in my own business every day.
Imperfect individuals collaborating through structure outperform any single omniscient actor.
Three principles hold it up:
search_memory and similar tools.| Key | Service | Mode | Where to get it |
|---|---|---|---|
ANTHROPIC_API_KEY | Anthropic API | S / A | console.anthropic.com |
OPENAI_API_KEY | OpenAI | A / C (optional with Codex Login) | platform.openai.com/api-keys |
GOOGLE_API_KEY | Google AI (Gemini) | A | aistudio.google.com/apikey |
OpenAI Codex (Mode C) supports both OPENAI_API_KEY and local Codex Login (codex login). Choose in the setup wizard or Settings.
Grok Build (Mode X) uses grok/* models through the Grok Build CLI wrapper (ACP stdio). Install the grok CLI and run grok login before use.
Azure OpenAI, Vertex AI (Gemini), AWS Bedrock, and vLLM are configured in the credentials section of config.json. See the technical specification.
Ollama and similar local models need no API key. Set OLLAMA_SERVERS (default: http://localhost:11434).
| Key | Service | Output | Where to get it |
|---|---|---|---|
NOVELAI_API_TOKEN | NovelAI | Anime-style character art | novelai.net |
FAL_KEY | fal.ai (Flux) | Stylized / photorealistic | fal.ai/dashboard/keys |
MESHY_API_KEY | Meshy | 3D character models | meshy.ai |
| Requirement | Service | Notes |
|---|---|---|
pip install faster-whisper | STT (Whisper) | Model auto-downloads on first use; GPU recommended |
| VOICEVOX Engine running | TTS (VOICEVOX) | Default: http://localhost:50021 |
| AivisSpeech / SBV2 running | TTS (Style-BERT-VITS2) | Default: http://localhost:5000 |
ELEVENLABS_API_KEY | TTS (ElevenLabs) | Cloud API |
| Key | Service | Where to get it |
|---|---|---|
SLACK_BOT_TOKEN / SLACK_APP_TOKEN | Slack | Setup guide |
CHATWORK_API_TOKEN | Chatwork | chatwork.com |
DISCORD_BOT_TOKEN (or per-Anima DISCORD_BOT_TOKEN__<name>) | Discord | Discord Developer Portal |
NOTION_API_TOKEN (or NOTION_API_TOKEN__<name>) | Notion | Notion integrations |
Google Calendar, Google Tasks, Gmail, and similar are configured under credentials in config.json (OAuth or service account). See the technical specification.
Hierarchy is defined by a single supervisor field. Unset means top-level.
Role templates apply role-specific prompts, permissions, and default models:
| Role | Default model | Use case |
|---|---|---|
engineer | Claude Opus 4.6 | Complex reasoning, code generation |
manager | Claude Opus 4.6 | Coordination, decision-making |
writer | Claude Sonnet 4.6 | Content creation |
researcher | Claude Sonnet 4.6 | Information gathering |
ops | vLLM (GLM-4.7-flash) | Log monitoring, routine work |
general | Claude Sonnet 4.6 | General-purpose |
Managers automatically receive supervisor tools: task delegation, progress tracking, subordinate restart/disable, org dashboard, subordinate state reads — what real managers do.
Each Anima is started by ProcessSupervisor as an isolated process and talks over local IPC (Unix domain sockets on Unix-like systems, loopback TCP on Windows).
Giving autonomous agents tools demands serious security. We use this in real work, so compromise is not an option. AnimaWorks implements ten layers of defense in depth:
| Layer | What it does |
|---|---|
| Trust-boundary labeling | External data (web search, Slack, mail) is tagged untrusted — models are instructed not to obey directives from untrusted sources |
| Five-layer command security | Shell-injection detection → hardcoded blocklist → per-agent denied commands → per-agent allowlist → path-traversal detection |
| File sandbox | Each agent is confined to its own directory. identity.md is protected. Command permissions are governed by per-anima permissions.md and the mandatory global permissions.global.json at server startup |
| Process isolation | One OS process per agent, local IPC (Unix socket or loopback TCP) |
| Three-layer rate limiting | Per-session deduplication → role-based send caps → self-awareness via recent outbound history injected into the prompt |
| Cascade prevention | Depth limits plus cascade detection; five-minute cooldown and deferred handling |
| Authentication & sessions | Argon2id hashing, 48-byte random tokens, up to ten sessions |
| Webhook verification | Slack HMAC-SHA256 with replay protection; Chatwork signature verification |
| SSRF mitigation | Media proxy blocks private IPs, enforces HTTPS, validates Content-Type |
| Outbound routing | Unknown recipients fail closed; no arbitrary external sends without explicit configuration |
Details: Security architecture
The CLI targets power users and automation. Day-to-day work lives in the Web UI.
| Command | Description |
|---|---|
animaworks start [--host HOST] [--port PORT] [-f] | Start server (-f foreground) |
animaworks stop [--force] | Stop server |
animaworks restart [--host HOST] [--port PORT] | Restart server |
| Command | Description |
|---|---|
animaworks init | Initialize runtime directory (non-interactive) |
animaworks init --force | Merge template updates while keeping data |
animaworks migrate [--dry-run] [--list] [--force] | Runtime data migrations (also on startup) |
animaworks reset [--restart] | Reset runtime directory |
| Command | Description |
|---|---|
animaworks anima create [--from-md PATH] [--template NAME] [--role ROLE] [--supervisor NAME] [--name NAME] | Create new |
animaworks anima list [--local] | List all Animas |
animaworks anima info ANIMA [--json] | Detailed settings |
animaworks anima status [ANIMA] | Process status |
animaworks anima restart ANIMA | Restart process |
animaworks anima disable ANIMA / enable ANIMA | Disable / enable |
animaworks anima set-model ANIMA MODEL | Change model |
animaworks anima set-background-model ANIMA MODEL | Set background model |
animaworks anima reload ANIMA [--all] | Hot-reload from status.json |
| Command | Description |
|---|---|
animaworks chat ANIMA "message" [--from NAME] | Send a message |
animaworks send FROM TO "message" | Inter-Anima message |
animaworks heartbeat ANIMA | Trigger heartbeat manually |
| Command | Description |
|---|---|
animaworks config list [--section SECTION] | List configuration |
animaworks config get KEY / set KEY VALUE | Get / set values |
animaworks status | System status |
animaworks logs [ANIMA] [--lines N] [--all] | View logs |
animaworks index [--reindex] [--anima NAME] | RAG index management |
animaworks repair-rag --anima NAME --full | Quarantine and rebuild RAG indexes |
animaworks memory status / migrate / backup / cleanup | Operate memory backends and memory data |
animaworks skills install / list / inspect / remove / quarantine | Skill Hub operations |
animaworks task ... | TaskBoard / task execution operations |
animaworks cost / profile | Cost and profile inspection |
animaworks models list / models info MODEL | Model list / details |
python3 -m swe.ci_autofix is an experimental v0 loop for repairing failed CI runs. It can read the latest
failed GitHub Actions logs with gh, ask a configured Architect fixer to edit the checkout, run local gates,
ask a Reviewer, commit the repair, and escalate with call_human after three failed attempts. See
swe/README.md.
| Component | Technology |
|---|---|
| Agent execution | Claude Agent SDK / Codex CLI / Cursor Agent CLI / Gemini CLI / Grok Build CLI / Anthropic SDK (fallback) / LiteLLM |
| Mode S integration | stdio MCP (python -m core.mcp.server, tool names mcp__aw__*) |
| LLM providers | Anthropic, OpenAI, Google, Azure, Vertex AI, AWS Bedrock, Ollama, vLLM, and more (via LiteLLM) |
| Web framework | FastAPI + Uvicorn |
| HTTP middleware | ASGI middleware for request logging (structlog + X-Request-ID). Avoids BaseHTTPMiddleware so SSE bodies stay intact |
| Real time | WebSocket (dashboard notifications, voice, etc.), SSE (chat, meeting streams, etc.), StreamRegistry for stream producer lifetime |
| Task scheduling | APScheduler (orphan Anima detection, asset reconciliation, Claude CLI/SDK auto-update checks, global permission consistency, etc.) |
| Configuration & migration | Pydantic 2.0+ / JSON / Markdown, core/migrations/ (startup migrations) |
| Internationalization (code) | core/i18n t() (UI, tool schema strings, etc.) |
| Memory / RAG | ChromaDB + sentence-transformers + NetworkX + optional Neo4j. ChromaDB normally runs through the vector worker and can be rebuilt by RAG repair |
| Task management | TaskBoard + TaskExec + persistent task queue |
| Skill system | Skill Hub, explicit skill activation, router, curator, procedure-to-skill promotion |
| Extended tools | Auto-registration from core/tools/*.py plus scans of ~/.animaworks/common_tools/ and animas/<name>/tools/ |
| Voice chat | faster-whisper (STT) + VOICEVOX / SBV2 / ElevenLabs (TTS) |
| Human notification | Slack, Chatwork, LINE, Telegram, ntfy |
| External messaging | Slack Socket Mode, Chatwork Webhook |
| Image generation | NovelAI, fal.ai (Flux), Meshy (3D) |
animaworks/
├── main.py # CLI entry point
├── core/ # Digital Anima core engine
│ ├── anima.py, agent.py # Core entities & orchestration
│ ├── lifecycle/ # Scheduler, consolidation jobs, inbox watch, etc.
│ ├── memory/ # Memory (priming, consolidation, forgetting, RAG, activity)
│ ├── skills/ # Skill Hub, activation, router, curator, promotion
│ ├── taskboard/ # TaskBoard store, state, cleanup
│ ├── execution/ # Execution engines (S/C/D/G/X/A/B)
│ ├── mcp/ # stdio MCP server for Mode S
│ ├── platform/ # Child processes, locks, Codex/Cursor/Gemini/Grok plumbing
│ ├── tooling/ # ToolHandler, schemas, external dispatch
│ ├── prompt/ # System prompt builder (six-group structure)
│ ├── supervisor/ # ProcessSupervisor, IPC, TaskExec, streaming
│ ├── voice/ # Voice chat (STT + TTS)
│ ├── config/ # Configuration (Pydantic, models.json, global permissions)
│ ├── auth/ # UI authentication
│ ├── notification/ # Human notification channels
│ ├── migrations/ # Runtime data migrations
│ ├── i18n/ # Translation strings (`t()`)
│ ├── tools/ # External tool implementations (slack, discord, gmail, …)
│ ├── anima_factory.py, init.py # Anima creation & runtime initialization
│ ├── outbound.py # Recipient resolution (internal / Slack / Chatwork, etc.)
│ ├── org_sync.py # Org hierarchy sync to config
│ ├── asset_reconciler.py, background.py, schedule_parser.py, messenger.py, paths.py, schemas.py
│ └── …
├── cli/ # CLI package
├── server/ # FastAPI + static Web UI + Workspace
│ ├── app.py # App factory, lifespan, auth/setup guards, static mounts
│ ├── websocket.py # Dashboard WebSocket hub
│ ├── stream_registry.py # Register/clean up SSE and other stream producers
│ ├── room_manager.py # Meeting room state (shared-directory persistence)
│ ├── reload_manager.py # Config hot reload
│ ├── slack_socket.py # Slack Socket Mode
│ ├── localhost.py # Local trusted-request detection
│ ├── routes/ # REST/WebSocket routes (chat, room, voice, brainstorm, team_presets, …)
│ └── static/ # Dashboard (modules/, pages/, styles/, i18n/), setup/ (multilingual wizard), workspace/ (3D client)
└── templates/ # Initialization templates (ja / en / ko)
Documentation hub — suggested reading order, architecture deep dives, and specification index.
| Document | Description |
|---|---|
| Vision | Foundational idea: imperfect individuals collaborating |
| Features | What AnimaWorks can do end to end |
| Memory system | Episodic, semantic, and procedural memory; priming, action memory gate, active forgetting |
| Security | Defense in depth, data provenance, adversarial threat analysis |
| Brain mapping | How modules map to the human brain |
| Technical specification | Execution modes, prompt construction, configuration resolution |
Apache License 2.0. See LICENSE for details.
.claude/
launch.json
settings.json
skills/
pixel-asset-gen/
agents/
openai.yaml
PIPELINE_reference.md
scripts/
compare_to_reference.py
make_previews.sh
measure_frames.py
process_generated_row.py
SKILL.md
.dockerignore
.env.example
.git-blame-ignore-revs
.github/
workflows/
ci.yml
publish.yml
.gitignore
.mailmap
.python-version
assets/
slack-avatars/
ayane.png
hikaru.png
kanna.png
karen.png
miyu.png
momoka.png
ria.png
sakura.png
sora.png
slack-icons/
ayame.png
hina.png
hinata.png
kaede.png
kotoha.png
mei.png
mikoto.png
mio.png
natsume.png
rin.png
ritsu.png
runa.png
sakura.png
sanae.png
shino.png
shizuku.png
sora.png
sumire.png
touka.png
tsumugi.png
yuki.png
benchmarks/
__init__.py
locomo/
__init__.py
__main__.py
adapter.py
answer_prompt.py
baselines/
legacy_scope_all_20260522.json
legacy_scope_all_deepseek_v4_flash_20260525.json
compare_modes.py
compare_results.py
fact_index.py
llm_config.py
metrics.py
multihop.py
neo4j_adapter.py
protocol.py
README.md
retrieval_diagnostics.py
run_neo4j.py
runner.py
results/
locomo_issue231_retrieval_ablation_20260611.json
locomo_standard_protocol_baseline_20260611.json
CHANGELOG.md
cli/
__init__.py
__main__.py
_gateway.py
commands/
__init__.py
anima_communities.py
anima_merge.py
anima_mgmt.py
anima.py
board.py
company_cmd.py
cost_cmd.py
cron_guard.py
import_cmd.py
index_cmd.py
init_cmd.py
internal_cmd.py
logs.py
memory_cmd.py
memory_ops.py
messaging.py
migrate_cmd.py
models_cmd.py
optimize_assets.py
profile.py
rag_repair_status.py
remake_cmd.py
repair_rag_cmd.py
server.py
skills.py
supervisor_cmd.py
task_cmd.py
tmp_cmd.py
vault_cmd.py
parser.py
CONTRIBUTING.md
core/
__init__.py
_agent_cycle.py
_agent_executor.py
_agent_priming.py
_agent_prompt_log.py
_anima_heartbeat.py
_anima_inbox.py
_anima_lifecycle.py
_anima_messaging.py
agent.py
anima_factory.py
anima_roster.py
anima.py
asset_reconciler.py
auth/
__init__.py
manager.py
models.py
auto_updater.py
background.py
bootstrap_state.py
cascade_limiter.py
company_resources.py
company.py
config/
__init__.py
anima_registry.py
cli.py
env_slots.py
global_permissions.py
io.py
local_llm.py
migrate.py
model_config.py
model_mode.py
models.py
resolver.py
schemas.py
vault.py
delegation_recovery.py
discord_webhooks.py
event_export.py
exceptions.py
execution/
__init__.py
_litellm_context.py
_litellm_streaming.py
_litellm_tools.py
_sanitize.py
_sdk_hooks.py
_sdk_interrupt.py
_sdk_options.py
_sdk_patch.py
_sdk_security.py
_sdk_session.py
_sdk_stream.py
_session.py
_streaming.py
_tool_summary.py
agent_sdk.py
anthropic_fallback.py
assisted.py
backoff.py
base.py
codex_sdk.py
cursor_agent.py
error_classifier.py
fallback_activity.py
gemini_cli.py
github_identity.py
grok_cli.py
litellm_loop.py
loop_guards.py
rate_guard.py
reminder.py
session_context.py
session_types.py
external_tasks/
__init__.py
collector.py
models.py
sources/
__init__.py
chatwork.py
github.py
gmail.py
slack.py
store.py
fd_limits.py
file_access_policy.py
goals/
__init__.py
judge.py
manager.py
models.py
gpu.py
i18n/
__init__.py
strings/
__init__.py
communication.py
company.py
config.py
discord.py
execution.py
handler_ext.py
handler.py
lifecycle.py
memory.py
migrate.py
misc_machine.py
misc_routes.py
misc.py
room_manager.py
server.py
supervisor.py
tmp.py
tooling_schema_ext.py
tooling_schema.py
tooling.py
zoom.py
image_artifacts.py
infra.py
init.py
lifecycle/
__init__.py
anima_merge/
__init__.py
content_refs.py
credential_refs.py
external_refs.py
finalize.py
journal.py
service.py
task_refs.py
taskboard_refs.py
verification.py
inbox_watcher.py
knowledge_correction.py
rate_limiter.py
scheduler.py
system_consolidation.py
logging_config.py
mcp/
__init__.py
server.py
meeting_room_store.py
memory/
__init__.py
_activity_conversation.py
_activity_models.py
_activity_priming.py
_activity_replay.py
_activity_rotation.py
_activity_timeline.py
_io.py
_llm_utils.py
action_gate.py
activity.py
audit.py
backend/
__init__.py
base.py
legacy.py
neo4j_graph.py
registry.py
bm25.py
config_reader.py
consolidation.py
conversation_compression.py
conversation_finalize.py
conversation_models.py
conversation_prompt.py
conversation_state_update.py
conversation.py
cron_logger.py
dedup.py
distillation.py
entity_index.py
extraction/
__init__.py
extractor.py
invalidator.py
minhash.py
prompts/
__init__.py
en.py
ja.py
resolver.py
fact_config.py
fact_extraction.py
fact_invalidation_llm.py
fact_invalidation.py
fact_observability.py
facts.py
forgetting.py
frontmatter.py
graph/
__init__.py
community.py
driver.py
queries.py
reranker.py
rrf.py
schema.py
search.py
housekeeping.py
hygiene.py
manager.py
migration/
__init__.py
backup.py
checkpoint.py
migrator.py
ontology/
__init__.py
default.py
pending_housekeeping.py
priming/
__init__.py
budget.py
channel_a.py
channel_b.py
channel_c.py
channel_e.py
channel_f.py
channel_g.py
constants.py
engine.py
format.py
gate.py
outbound.py
result.py
utils.py
rag/
rag_search.py
__init__.py
contextual_header.py
direct_access.py
entity_graph.py
episode_time.py
exclusion.py
facts_chunker.py
graph.py
http_store.py
indexer_delete.py
indexer.py
ipc_store.py
repair_rebuild.py
repair_service.py
repair_state.py
repair_types.py
repair_utils.py
repair.py
retriever.py
shared_check_registry.py
shared_meta.py
singleton.py
sqlite_health.py
store.py
vector_worker_client.py
vector_worker.py
reconsolidation.py
resolution_tracker.py
retrieval/
__init__.py
access_boost.py
confidence_gate.py
entity.py
pipeline.py
query_expansion.py
reranker.py
rrf.py
temporal.py
time_expr.py
types.py
unified_search.py
scope_policy.py
search_metadata.py
... 1600 moreShowing a partial view of a very large repo.
FAQ
animaworks is a Claude Code plugin with 1 hand-picked skill for content work, indexed on Flowy. Install it with the command on its page. It includes pixel-asset-gen. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.