"Every great professor needs a great teaching assistant."
Gyoshu (교수, Professor) orchestrates. Jogyo (조교, Teaching Assistant) executes.
Together, they form an end-to-end research automation system for OpenCode that turns your research goals into reproducible Jupyter notebooks—complete with hypotheses, experiments, findings, and publication-ready reports.
| Agent | Role | Korean | What They Do |
|---|---|---|---|
| Gyoshu | 🎩 Professor | 교수 | Plans research, orchestrates workflow, manages sessions |
| Jogyo | 📚 Teaching Assistant | 조교 | Executes Python code, runs experiments, generates outputs |
| Jogyo Paper Writer | ✍️ Grad Student | 조교 | Transforms raw findings into narrative research reports |
Think of it like a research lab: - The Professor (Gyoshu) sets the research direction and reviews progress - The TA (Jogyo) does the actual experiments and analysis - When it's time to publish, another Grad Student writes up the findings beautifully
[OBJECTIVE], [HYPOTHESIS], [FINDING] markers.ipynbcurl -fsSL https://raw.githubusercontent.com/Yeachan-Heo/My-Jogyo/main/install.sh | bash
git clone https://github.com/Yeachan-Heo/My-Jogyo.git
cd My-Jogyo && ./install.sh
# Clone the repo
git clone https://github.com/Yeachan-Heo/My-Jogyo.git
# Copy to global config
mkdir -p ~/.config/opencode/
cp -r My-Jogyo/src/* ~/.config/opencode/
# Start OpenCode
opencode
# 👋 Say hi to the Professor
/gyoshu
# 🎯 Start a new research project
/gyoshu analyze customer churn patterns in the telecom dataset
# 🤖 Or let it run autonomously (hands-off!)
/gyoshu-auto classify iris species using random forest
# 📊 Generate a report
/gyoshu report
# 🔄 Continue where you left off
/gyoshu continue
/gyoshu)| Command | What It Does |
|---|---|
/gyoshu |
Show status and what to do next |
/gyoshu <goal> |
Start interactive research |
/gyoshu-auto <goal> |
Autonomous mode (set it and forget it!) |
/gyoshu plan <goal> |
Just create a plan, don't execute |
/gyoshu continue |
Pick up where you left off |
/gyoshu report |
Generate research report |
/gyoshu list |
See all your research projects |
/gyoshu search <query> |
Find stuff across all notebooks |
| Mode | Best For | Command |
|---|---|---|
| 🎓 Interactive | Learning, exploring, iterating | /gyoshu <goal> |
| 🤖 Autonomous | Clear goals, hands-off execution | /gyoshu-auto <goal> |
| 🔧 REPL | Quick exploration, debugging | /gyoshu repl <query> |
/gyoshu analyze wine quality factors and build a predictive model
Gyoshu creates a structured research plan with clear objectives and hypotheses.
Jogyo runs Python code, using structured markers to organize output:
print("[OBJECTIVE] Predict wine quality from physicochemical properties")
print("[HYPOTHESIS] Alcohol content is the strongest predictor")
# ... analysis code ...
print(f"[METRIC:accuracy] {accuracy:.3f}")
print("[FINDING] Alcohol shows r=0.47 correlation with quality")
print("[CONCLUSION] Hypothesis supported - alcohol is key predictor")
Everything is captured in notebooks/wine-quality.ipynb with full reproducibility.
The Paper Writer agent transforms markers into a narrative report:
"Our analysis of 1,599 wine samples revealed that alcohol content emerges as the dominant predictor of quality ratings (r = 0.47). The final Random Forest model achieved 87% accuracy..."
your-project/
├── notebooks/ # 📓 Research notebooks
│ ├── wine-quality.ipynb
│ └── customer-churn.ipynb
├── reports/ # 📝 Generated reports
│ └── wine-quality/
│ ├── README.md # AI-written narrative report
│ ├── figures/ # Saved plots
│ └── models/ # Saved models
├── data/ # 📊 Your datasets
└── .venv/ # 🐍 Python environment
Runtime files (sockets, locks) go to OS temp directories—not your project! 🧹
The TA uses structured markers to organize research output:
| Marker | Purpose | Example |
|---|---|---|
[OBJECTIVE] |
Research goal | [OBJECTIVE] Classify iris species |
[HYPOTHESIS] |
What you're testing | [HYPOTHESIS] Petal length is most predictive |
[DATA] |
Dataset info | [DATA] Loaded 150 samples |
[METRIC:name] |
Quantitative results | [METRIC:accuracy] 0.95 |
[FINDING] |
Key discovery | [FINDING] Setosa is linearly separable |
[CONCLUSION] |
Final verdict | [CONCLUSION] Hypothesis confirmed |
Gyoshu auto-detects your Python environment:
| Priority | Type | How It's Detected |
|---|---|---|
| 1️⃣ | Custom | GYOSHU_PYTHON_PATH env var |
| 2️⃣ | venv | .venv/ directory |
| 3️⃣ | uv | uv.lock file |
| 4️⃣ | poetry | poetry.lock file |
| 5️⃣ | conda | environment.yml file |
No environment? No problem! The installer creates one for you.
psutil (for memory tracking), uv/poetry/conda (for faster env creation)In Korean academia:
This reflects the architecture: Gyoshu is the orchestrator agent that plans and manages research flow, while Jogyo is the executor agent that actually runs Python code and produces results.
It's a partnership. The Professor has the vision. The TA makes it happen. Together, they publish papers. 📚
For data-driven product development, combine My-Jogyo with Oh-My-OpenCode:
| Tool | Focus | Best For |
|---|---|---|
| Oh-My-OpenCode | 🏗️ Product Development | Building features, writing code, shipping products |
| My-Jogyo | 📊 Data Analysis | Research, experiments, insights, ML models |
┌─────────────────────────────────────────────────────────────┐
│ Data-Driven Product Development │
├─────────────────────────────────────────────────────────────┤
│ │
│ 📊 My-Jogyo 🏗️ Oh-My-OpenCode │
│ ─────────── ───────────────── │
│ "Why are users churning?" → "Build retention feature" │
│ "Which features matter?" → "Prioritize roadmap" │
│ "A/B test results" → "Ship winning variant" │
│ "Model predictions" → "Integrate ML endpoint" │
│ │
│ Research & Insights → Implementation & Shipping │
│ │
└─────────────────────────────────────────────────────────────┘
# Install My-Jogyo (research & analysis)
curl -fsSL https://raw.githubusercontent.com/Yeachan-Heo/My-Jogyo/main/install.sh | bash
# Install Oh-My-OpenCode (product development)
curl -fsSL https://raw.githubusercontent.com/Yeachan-Heo/oh-my-opencode/main/install.sh | bash
Analyze with My-Jogyo:
/gyoshu-auto analyze user behavior and identify churn predictors
→ Produces insights: "Users who don't use feature X within 7 days have 3x churn rate"
Build with Oh-My-OpenCode:
/planner implement onboarding flow that guides users to feature X
→ Ships the feature that addresses the insight
Data informs decisions. Code ships solutions. 🚀
MIT — Use it, fork it, teach with it!
Made with 🎓 for researchers who'd rather think than type
$ claude mcp add My-Jogyo \
-- python -m otcore.mcp_server <graph>