# interfacex-co-jp/genshijin architecture

> Architecture diagram of the GitHub repository interfacex-co-jp/genshijin, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-29). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/interfacex-co-jp/genshijin
- Repository: https://github.com/interfacex-co-jp/genshijin

## Overview

Genshijin is a set of AI-agent skills and integrations for concise communication, with mode selection and automatic prompt reinforcement as its central workflow. Claude Code hooks resolve the active mode, persist it, and inject the matching rules; additional skills handle commits, reviews, memory compression, statistics, and agent delegation. The README also documents IDE installation and MCP description compression, represented as separate capabilities. Hook and compression wiring is supported by sampled source; some skill and crew behavior is documented only in the README, so uncertain internal links are omitted.

Main entry points: [`hooks/genshijin-activate.js`](https://github.com/interfacex-co-jp/genshijin/blob/main/hooks/genshijin-activate.js) (Session Activation), [`commands/genshijin.md`](https://github.com/interfacex-co-jp/genshijin/blob/main/commands/genshijin.md) (Slash Commands), [`mcp-servers/genshijin-shrink/index.js`](https://github.com/interfacex-co-jp/genshijin/blob/main/mcp-servers/genshijin-shrink/index.js) (MCP Shrink Proxy), [`hooks/genshijin-mode-tracker.js`](https://github.com/interfacex-co-jp/genshijin/blob/main/hooks/genshijin-mode-tracker.js) (Mode Tracker)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_mode["Mode and Hooks"]
  node_tracker["Mode Tracker"]
  node_config["Mode Config"]
  node_activation["Session Activation"]
  node_mode_state[("Mode State")]
end

subgraph group_skills["Agent Skills"]
  node_core_skill["Core Style Skill<br/>[SKILL.md]"]
  node_commands["Slash Commands<br/>[genshijin.md]"]
  node_commit["Commit Skill<br/>[SKILL.md]"]
  node_review["Review Skill<br/>[SKILL.md]"]
  node_crew["Crew Presets<br/>[SKILL.md]"]
end

subgraph group_compress["Compression"]
  node_compress_skill["Memory Compress Skill<br/>[SKILL.md]"]
  node_compress_cli["Compression CLI<br/>[cli.py]"]
  node_compressor["Memory Compressor<br/>[compress.py]"]
  node_validator["Output Validator<br/>[validate.py]"]
end

subgraph group_integrations["Agent Integrations"]
  node_installer["Multi-Agent Installer<br/>[install.js]"]
  node_init["Repository Rule Init<br/>[genshijin-init.js]"]
  node_mcp_proxy["MCP Shrink Proxy<br/>[index.js]"]
  node_mcp_compress["Description Compressor<br/>[compress.js]"]
end

subgraph group_measure["Usage Statistics"]
  node_stats_hook["Stats Hook"]
  node_stats["Stats Reporter<br/>[genshijin-stats.js]"]
  node_session_logs[("Session and Mode Logs")]
end

node_user(("User"))
node_agent["AI Coding Agent"]
node_llm["Compression Model"]
node_upstream_mcp["Upstream MCP Server"]

node_user -->|"prompts"| node_agent
node_agent -->|"submits prompt"| node_tracker
node_tracker -->|"writes mode"| node_mode_state
node_tracker -->|"resolves settings"| node_config
node_agent -->|"starts session"| node_activation
node_activation -->|"resolves mode"| node_config
node_activation -->|"reads and records"| node_mode_state
node_activation -->|"loads rules"| node_core_skill
node_activation -->|"injects context"| node_agent
node_user -->|"invokes"| node_commands
node_commands -->|"selects skill"| node_commit
node_commands -->|"selects skill"| node_review
node_commands -->|"selects skill"| node_compress_skill
node_compress_skill -->|"runs"| node_compress_cli
node_compress_cli -->|"compresses file"| node_compressor
node_compressor -->|"requests rewrite"| node_llm
node_compressor -->|"validates output"| node_validator
node_compress_skill -->|"presents result"| node_agent
node_user -->|"delegates task"| node_crew
node_agent -->|"submits stats command"| node_stats_hook
node_stats_hook -->|"launches"| node_stats
node_stats -->|"reads usage history"| node_session_logs
node_stats_hook -->|"injects report"| node_agent
node_user -->|"requests install"| node_installer
node_installer -->|"installs integrations"| node_agent
node_user -->|"requests rule setup"| node_init
node_init -->|"writes agent rules"| node_agent
node_agent -.->|"starts proxy"| node_mcp_proxy
node_mcp_proxy -.->|"forwards requests"| node_upstream_mcp
node_mcp_proxy -.->|"compresses listings"| node_mcp_compress
node_mcp_proxy -.->|"returns transformed listings"| node_agent

click node_tracker "https://github.com/interfacex-co-jp/genshijin/blob/main/hooks/genshijin-mode-tracker.js"
click node_config "https://github.com/interfacex-co-jp/genshijin/blob/main/hooks/genshijin-config.js"
click node_activation "https://github.com/interfacex-co-jp/genshijin/blob/main/hooks/genshijin-activate.js"
click node_mode_state "https://github.com/interfacex-co-jp/genshijin/blob/main/hooks/genshijin-config.js"
click node_core_skill "https://github.com/interfacex-co-jp/genshijin/blob/main/skills/genshijin/SKILL.md"
click node_commands "https://github.com/interfacex-co-jp/genshijin/blob/main/commands/genshijin.md"
click node_commit "https://github.com/interfacex-co-jp/genshijin/blob/main/skills/genshijin-commit/SKILL.md"
click node_review "https://github.com/interfacex-co-jp/genshijin/blob/main/skills/genshijin-review/SKILL.md"
click node_crew "https://github.com/interfacex-co-jp/genshijin/blob/main/skills/genshijin-crew/SKILL.md"
click node_compress_skill "https://github.com/interfacex-co-jp/genshijin/blob/main/skills/genshijin-compress/SKILL.md"
click node_compress_cli "https://github.com/interfacex-co-jp/genshijin/blob/main/skills/genshijin-compress/scripts/cli.py"
click node_compressor "https://github.com/interfacex-co-jp/genshijin/blob/main/skills/genshijin-compress/scripts/compress.py"
click node_validator "https://github.com/interfacex-co-jp/genshijin/blob/main/skills/genshijin-compress/scripts/validate.py"
click node_stats_hook "https://github.com/interfacex-co-jp/genshijin/blob/main/hooks/genshijin-mode-tracker.js"
click node_stats "https://github.com/interfacex-co-jp/genshijin/blob/main/hooks/genshijin-stats.js"
click node_session_logs "https://github.com/interfacex-co-jp/genshijin/blob/main/hooks/genshijin-config.js"
click node_installer "https://github.com/interfacex-co-jp/genshijin/blob/main/cli/install.js"
click node_init "https://github.com/interfacex-co-jp/genshijin/blob/main/tools/genshijin-init.js"
click node_mcp_proxy "https://github.com/interfacex-co-jp/genshijin/blob/main/mcp-servers/genshijin-shrink/index.js"
click node_mcp_compress "https://github.com/interfacex-co-jp/genshijin/blob/main/mcp-servers/genshijin-shrink/compress.js"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_tracker,node_config,node_activation,node_mode_state,node_user toneBlue
class node_core_skill,node_commands,node_commit,node_review,node_crew toneAmber
class node_compress_skill,node_compress_cli,node_compressor,node_validator,node_upstream_mcp toneMint
class node_installer,node_init,node_mcp_proxy,node_mcp_compress toneRose
class node_stats_hook,node_stats,node_session_logs,node_agent,node_llm toneIndigo
```

## Components

### Mode and Hooks

- [Mode Tracker](https://github.com/interfacex-co-jp/genshijin/blob/main/hooks/genshijin-mode-tracker.js): `hooks/genshijin-mode-tracker.js`
- [Mode Config](https://github.com/interfacex-co-jp/genshijin/blob/main/hooks/genshijin-config.js): `hooks/genshijin-config.js`
- [Session Activation](https://github.com/interfacex-co-jp/genshijin/blob/main/hooks/genshijin-activate.js): `hooks/genshijin-activate.js`
- [Mode State](https://github.com/interfacex-co-jp/genshijin/blob/main/hooks/genshijin-config.js): `hooks/genshijin-config.js`

### Agent Skills

- [Core Style Skill](https://github.com/interfacex-co-jp/genshijin/blob/main/skills/genshijin/SKILL.md): `skills/genshijin/SKILL.md`
- [Slash Commands](https://github.com/interfacex-co-jp/genshijin/blob/main/commands/genshijin.md): `commands/genshijin.md`
- [Commit Skill](https://github.com/interfacex-co-jp/genshijin/blob/main/skills/genshijin-commit/SKILL.md): `skills/genshijin-commit/SKILL.md`
- [Review Skill](https://github.com/interfacex-co-jp/genshijin/blob/main/skills/genshijin-review/SKILL.md): `skills/genshijin-review/SKILL.md`
- [Crew Presets](https://github.com/interfacex-co-jp/genshijin/blob/main/skills/genshijin-crew/SKILL.md): `skills/genshijin-crew/SKILL.md`

### Compression

- [Memory Compress Skill](https://github.com/interfacex-co-jp/genshijin/blob/main/skills/genshijin-compress/SKILL.md): `skills/genshijin-compress/SKILL.md`
- [Compression CLI](https://github.com/interfacex-co-jp/genshijin/blob/main/skills/genshijin-compress/scripts/cli.py): `skills/genshijin-compress/scripts/cli.py`
- [Memory Compressor](https://github.com/interfacex-co-jp/genshijin/blob/main/skills/genshijin-compress/scripts/compress.py): `skills/genshijin-compress/scripts/compress.py`
- [Output Validator](https://github.com/interfacex-co-jp/genshijin/blob/main/skills/genshijin-compress/scripts/validate.py): `skills/genshijin-compress/scripts/validate.py`

### Agent Integrations

- [Multi-Agent Installer](https://github.com/interfacex-co-jp/genshijin/blob/main/cli/install.js): `cli/install.js`
- [Repository Rule Init](https://github.com/interfacex-co-jp/genshijin/blob/main/tools/genshijin-init.js): `tools/genshijin-init.js`
- [MCP Shrink Proxy](https://github.com/interfacex-co-jp/genshijin/blob/main/mcp-servers/genshijin-shrink/index.js): `mcp-servers/genshijin-shrink/index.js`
- [Description Compressor](https://github.com/interfacex-co-jp/genshijin/blob/main/mcp-servers/genshijin-shrink/compress.js): `mcp-servers/genshijin-shrink/compress.js`

### Usage Statistics

- [Stats Hook](https://github.com/interfacex-co-jp/genshijin/blob/main/hooks/genshijin-mode-tracker.js): `hooks/genshijin-mode-tracker.js`
- [Stats Reporter](https://github.com/interfacex-co-jp/genshijin/blob/main/hooks/genshijin-stats.js): `hooks/genshijin-stats.js`
- [Session and Mode Logs](https://github.com/interfacex-co-jp/genshijin/blob/main/hooks/genshijin-config.js): `hooks/genshijin-config.js`

### Other components

- **User**
- **AI Coding Agent**
- **Compression Model**
- **Upstream MCP Server**

## Connections

- User → AI Coding Agent: prompts
- AI Coding Agent → Mode Tracker: submits prompt
- Mode Tracker → Mode State: writes mode
- Mode Tracker → Mode Config: resolves settings
- AI Coding Agent → Session Activation: starts session
- Session Activation → Mode Config: resolves mode
- Session Activation → Mode State: reads and records
- Session Activation → Core Style Skill: loads rules
- Session Activation → AI Coding Agent: injects context
- User → Slash Commands: invokes
- Slash Commands → Commit Skill: selects skill
- Slash Commands → Review Skill: selects skill
- Slash Commands → Memory Compress Skill: selects skill
- Memory Compress Skill → Compression CLI: runs
- Compression CLI → Memory Compressor: compresses file
- Memory Compressor → Compression Model: requests rewrite
- Memory Compressor → Output Validator: validates output
- Memory Compress Skill → AI Coding Agent: presents result
- User → Crew Presets: delegates task
- AI Coding Agent → Stats Hook: submits stats command
- Stats Hook → Stats Reporter: launches
- Stats Reporter → Session and Mode Logs: reads usage history
- Stats Hook → AI Coding Agent: injects report
- User → Multi-Agent Installer: requests install
- Multi-Agent Installer → AI Coding Agent: installs integrations
- User → Repository Rule Init: requests rule setup
- Repository Rule Init → AI Coding Agent: writes agent rules
- AI Coding Agent → MCP Shrink Proxy: starts proxy
- MCP Shrink Proxy → Upstream MCP Server: forwards requests
- MCP Shrink Proxy → Description Compressor: compresses listings
- MCP Shrink Proxy → AI Coding Agent: returns transformed listings
