Back to Discover

My-Jogyo

Yeachan-Heo

Your one-click scientific research lab for Opencode - with seamless .ipynb and REPL integration

View on GitHub
240 starsSynced Aug 1, 2026

Install to Claude Code

/plugin marketplace add Yeachan-Heo/My-Jogyo

README

πŸŽ“ Gyoshu & Jogyo

English | δΈ­ζ–‡ | ν•œκ΅­μ–΄ | ζ—₯本θͺž

"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.


🎭 The Cast

AgentRoleKoreanWhat They Do
Gyoshu🎩 Professorꡐ수Plans research, orchestrates workflow, manages sessions
JogyoπŸ“š Teaching Assistant쑰ꡐExecutes Python code, runs experiments, generates outputs
BaksaπŸ” PhD Reviewer박사Adversarial verifier β€” challenges claims, calculates trust scores
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
  • The PhD Reviewer (Baksa) plays devil's advocate, questioning every claim
  • When it's time to publish, a Grad Student writes up the findings beautifully

✨ Features

🎬 Demo coming soon! Try the Quick Tutorial to see Gyoshu in action.

  • πŸ”¬ Hypothesis-Driven Research β€” Structure your work with [OBJECTIVE], [HYPOTHESIS], [FINDING] markers
  • 🐍 Persistent Python REPL β€” Variables survive across sessions, just like a real Jupyter kernel
  • πŸ““ Auto-Generated Notebooks β€” Every experiment is captured as a reproducible .ipynb
  • πŸ€– Autonomous Mode β€” Set a goal, walk away, come back to results
  • πŸ” Adversarial Verification β€” PhD reviewer challenges every claim before acceptance
  • 🎯 Two-Gate Completion β€” SUCCESS requires both evidence quality (Trust Gate) AND goal achievement (Goal Gate)
  • πŸ“ AI-Powered Reports β€” Turn messy outputs into polished research narratives
  • πŸ”„ Session Management β€” Continue, replay, or branch your research anytime

πŸš€ Installation

Option 1: Claude Code (MCP Server)

Gyoshu works with Claude Code via the Model Context Protocol (MCP). Install in one command:

# Clone and build the MCP server
git clone https://github.com/Yeachan-Heo/My-Jogyo.git
cd My-Jogyo/src/mcp
npm install && npm run build

# Register with Claude Code
claude mcp add gyoshu-mcp "$(pwd)/build/index.cjs"

Verify installation:

claude mcp list
# Should show: gyoshu-mcp: βœ“ Connected

Available MCP Tools:

ToolPurpose
python_replExecute Python code with marker detection
research_managerCreate/manage research sessions
gyoshu_snapshotCapture research state snapshots
checkpoint_managerSave/restore research checkpoints
notebook_writerJupyter notebook operations
notebook_searchSearch across notebooks

Note: The MCP server exposes 12 research tools. See src/mcp/ for details.

Option 2: OpenCode Plugin

Add Gyoshu to your opencode.json:

{
  "plugin": ["gyoshu"]
}

That's it! OpenCode will auto-install Gyoshu from npm on next startup.

Option 3: CLI Installer

# Using bunx (no global install needed)
bunx gyoshu install

# Or install globally first
npm install -g gyoshu
gyoshu install

The CLI automatically adds Gyoshu to your opencode.json.

πŸ“¦ Development installation (for contributors)

Clone & link locally:

git clone https://github.com/Yeachan-Heo/My-Jogyo.git
cd My-Jogyo && bun install

Then in your opencode.json:

{
  "plugin": ["file:///path/to/My-Jogyo"]
}

Verify installation:

# Check status via CLI
bunx gyoshu check

# Or in OpenCode
opencode
/gyoshu doctor

πŸ€– Installation for LLMs

Using Claude Code, OpenCode, or another AI coding assistant? This section is for you.

For Claude Code: Install the MCP server (Option 1 above). The tools are automatically available.

For OpenCode: Run bunx gyoshu install or add "gyoshu" to your plugin array. Then give your LLM the context it needs:

  1. Point your LLM to the guide:

    "Read AGENTS.md in the Gyoshu directory for full context on how to use the research tools."

  2. Or paste this quick start prompt:

    I've installed Gyoshu. Read AGENTS.md and help me run /gyoshu to analyze my data.
    

Key commands your LLM should know:

CommandWhat It Does
/gyoshuStart interactive research
/gyoshu-auto <goal>Autonomous research (hands-off)
/gyoshu doctorCheck system health and diagnose issues

Tip: AGENTS.md contains everything an LLM needs β€” agents, commands, markers, troubleshooting, and more.


πŸƒ Quick Start

# 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

πŸ“š Examples

Binance Futures Comprehensive EDA

Real-world example: Comprehensive exploratory data analysis of Binance USD-M futures data with multi-dimensional visualizations.

Binance Futures EDA Dashboard

What it shows:

  • 3D volume-price-time analysis
  • Correlation heatmaps with dendrograms
  • Rolling statistics and volatility surfaces
  • Cross-pair scatter density plots
  • Performance radar charts and candlestick analysis

Try It Yourself

# Binance futures analysis (API or local data)
/gyoshu-auto perform comprehensive EDA on binance futures data

# Titanic classification (classic ML workflow)
/gyoshu-auto analyze Titanic survival data and build classification model

# Iris clustering (no download needed - sklearn built-in)
/gyoshu-auto cluster iris dataset and visualize results

πŸ“– Commands

The Professor's Commands (/gyoshu)

CommandWhat It Does
/gyoshuShow 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 continuePick up where you left off
/gyoshu reportGenerate research report
/gyoshu listSee all your research projects
/gyoshu search <query>Find stuff across all notebooks
/gyoshu doctorCheck system health and diagnose issues

Research Modes

ModeBest ForCommand
πŸŽ“ InteractiveLearning, exploring, iterating/gyoshu <goal>
πŸ€– AutonomousClear goals, hands-off execution/gyoshu-auto <goal>
πŸ”§ REPLQuick exploration, debugging/gyoshu repl <query>

πŸ”¬ How Research Works

1. You Set a Goal

/gyoshu analyze wine quality factors and build a predictive model

2. The Professor Plans

Gyoshu creates a structured research plan with clear objectives and hypotheses.

3. The TA Executes

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")

4. Auto-Generated Notebook

Everything is captured in notebooks/wine-quality.ipynb with full reproducibility.

5. AI-Written Report

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..."


πŸ“ Project Structure

your-project/
β”œβ”€β”€ notebooks/                    # πŸ““ Research notebooks
β”‚   β”œβ”€β”€ wine-quality.ipynb
β”‚   └── customer-churn.ipynb
β”œβ”€β”€ reports/                      # πŸ“ Generated reports
β”‚   └── wine-quality/
β”‚       β”œβ”€β”€ report.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! 🧹

What Gyoshu Creates

When you run research, Gyoshu creates these artifacts in your project:

your-project/
β”œβ”€β”€ notebooks/
β”‚   └── your-research.ipynb    ← Research notebook (source of truth)
β”œβ”€β”€ reports/
β”‚   └── your-research/
β”‚       β”œβ”€β”€ figures/           ← Saved plots (.png, .svg)
β”‚       β”œβ”€β”€ models/            ← Trained models (.pkl, .joblib)
β”‚       └── report.md          ← Generated research report
└── (your existing files untouched!)

Note: Gyoshu never modifies your .venv/, data/, or other existing project files.


🎯 Output Markers

The TA uses structured markers to organize research output:

Core Markers

MarkerPurposeExample
[OBJECTIVE]Research goal[OBJECTIVE] Classify iris species
[HYPOTHESIS]What you're testing[HYPOTHESIS] H0: no difference; H1: petal length predicts species
[DATA]Dataset info[DATA] Loaded 150 samples
[FINDING]Key discovery[FINDING] Setosa is linearly separable (d=2.1, p<0.001)
[CONCLUSION]Final verdict[CONCLUSION] Hypothesis confirmed with large effect

Statistical Evidence Markers (Required for Verified Findings)

MarkerPurposeExample
[STAT:ci]Confidence interval[STAT:ci] 95% CI [0.82, 0.94]
[STAT:effect_size]Effect magnitude[STAT:effect_size] Cohen's d = 0.75 (medium)
[STAT:p_value]Statistical significance[STAT:p_value] p = 0.003
[SO_WHAT]Practical significance[SO_WHAT] This means 15% cost reduction
[LIMITATION]Threats to validity[LIMITATION] Small sample size (n=50)

ML Pipeline Markers

MarkerPurposeExample
[METRIC:baseline_*]Dummy model benchmark[METRIC:baseline_accuracy] 0.33
[METRIC:cv_*]Cross-validation scores[METRIC:cv_accuracy_mean] 0.95

Quality Gate: Findings without [STAT:ci] and [STAT:effect_size] are marked as "Exploratory" in reports.


πŸ”¬ Research Quality

Gyoshu enforces senior data scientist level quality through automated quality gates. Every claim requires statistical evidence.

The Finding Gating Rule

⚠️ No [FINDING] is accepted without:

  • [STAT:ci] β€” Confidence interval (within 10 lines before)
  • [STAT:effect_size] β€” Effect magnitude (within 10 lines before)

Findings that fail these checks are downgraded to "Exploratory Observations" in reports.

Quality Standards

RequirementPenalty if MissingWhy It Matters
CI for findings-30 trustPoint estimates without uncertainty are misleading
Effect size for findings-30 trustStatistical significance β‰  practical significance
Baseline for ML-20 trustCan't claim improvement without a reference point
Cross-validation for ML-25 trustSingle train/test split can be lucky

Trust Score Thresholds

ScoreStatusWhat Happens
β‰₯ 80βœ… VerifiedFinding accepted as key result
60-79⚠️ PartialAccepted with caveats
< 60❌ RejectedMarked as exploratory, requires rework

Learn more: See AGENTS.md for complete marker reference and statistical requirements.


🐍 Python Environment

Gyoshu uses your project's .venv/ virtual environment:

PriorityTypeHow It's Detected
1️⃣venv.venv/bin/python exists

Quick setup:

python3 -m venv .venv
.venv/bin/pip install pandas numpy scikit-learn matplotlib seaborn

Note: Gyoshu uses your project's virtual environment. It never modifies system Python.


πŸ› οΈ Requirements

  • Claude Code or OpenCode v0.1.0+
  • Python 3.10+
  • Node.js 18+ (for MCP server)
  • Optional: psutil (for memory tracking)

Supported Platforms

PlatformStatusNotes
Linuxβœ… PrimaryTested on Ubuntu 22.04+
macOSβœ… SupportedIntel & Apple Silicon
Windows⚠️ WSL2 OnlyNative Windows not supported

πŸ”„ Updating

Gyoshu is distributed via npm. OpenCode automatically handles plugin updates.

Force update:

# Clear OpenCode's cache
rm -rf ~/.cache/opencode/node_modules/gyoshu

# Or reinstall with latest version
bunx gyoshu@latest install

Then restart OpenCode.

Verify: opencode then /gyoshu doctor

Uninstall:

bunx gyoshu uninstall

See CHANGELOG.md for what's new.


πŸŽ“ Why "Gyoshu" and "Jogyo"?

In Korean academia:

  • ꡐ수 (Gyoshu/Kyosu) = Professor β€” the one who guides, plans, and oversees
  • 쑰ꡐ (Jogyo) = Teaching Assistant β€” the one who executes, experiments, and does the heavy lifting

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. πŸ“š


🀝 Optional Companion: Oh-My-OpenCode

Gyoshu works completely standalone. It has its own agent stack and requires no other OpenCode extensions (like oh-my-opencode).

For data-driven product development workflows, you can optionally combine Gyoshu with Oh-My-OpenCode:

ToolFocusIndependent?
Gyoshu (this project)πŸ“Š Research & Analysisβœ… Fully standalone
Oh-My-OpenCodeπŸ—οΈ Product Developmentβœ… Fully standalone

Gyoshu's Own Agent Stack

Gyoshu includes everything it needs for research:

AgentRoleWhat They Do
@gyoshuProfessorPlans research, orchestrates workflow
@jogyoTAExecutes Python code, runs experiments
@baksaPhD ReviewerChallenges claims, verifies evidence
@jogyo-insightEvidence GathererSearches docs, finds examples
@jogyo-feedbackLearning ExplorerReviews past sessions for patterns
@jogyo-paper-writerReport WriterTransforms findings into narrative reports

Optional Workflow (When Combined)

If you choose to use both tools together:

  1. Research with Gyoshu:

    /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"

  2. 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. πŸš€

Note: You do NOT need Oh-My-OpenCode to use Gyoshu. Each tool works independently.


πŸ”§ Troubleshooting

IssueSolution
"No .venv found"Create a virtual environment: python3 -m venv .venv && .venv/bin/pip install pandas numpy
"Bridge failed to start"Check Python version (need 3.10+): python3 --version. Check socket path permissions.
"Session locked"Use /gyoshu unlock <sessionId> after verifying no process is running
OpenCode not in PATHInstall from opencode-ai/opencode

Still stuck? Run /gyoshu doctor to diagnose issues.


πŸ“„ License

MIT β€” Use it, fork it, teach with it!


Made with πŸŽ“ for researchers who'd rather think than type

Report Bug Β· Request Feature Β· Documentation

Rendered live from Yeachan-Heo/My-Jogyo's GitHub README β€” not stored, always reflects the source repo.

1 Plugin

NameDescriptionCategorySource
gyoshuScientific research automation with Python REPL, Jupyter notebooks, and multi-agent research workflows. Includes 6 agents, 2 commands, 10 tools, and 3 skills for data science and machine learning research.productivity./