Python Tutor Chatbot — Development skill for Claude Code
Conversational Python tutor — Chainlit + LangChain create_agent + LangGraph (InMemorySaver memory) + OpenRouter (claude-haiku) on Fly.io.
How to install Python Tutor Chatbot
This entry records only its repository, not the path inside it, so there is no
exact command to give. Open heitor-am/python-tutor-chatbot and copy the folder into
~/.claude/skills/, or the file into ~/.claude/agents/.
What Python Tutor Chatbot does
Conversational Python tutor — Chainlit + LangChain create_agent + LangGraph (InMemorySaver memory) + OpenRouter (claude-haiku) on Fly.io.
Alternatives in Development
- Agentic Stack — One brain, many harnesses 2.2k ★
- SOUL — You're not a chatbot 1.3k ★
- Langchain Skills — ⚠️ — This project is in early development 1.2k ★
README
Python Tutor Chatbot
[](https://github.com/heitor-am/python-tutor-chatbot/actions/workflows/ci.yml) [](https://github.com/heitor-am/python-tutor-chatbot/actions/workflows/deploy.yml) [](https://www.python.org/downloads/release/python-3120/) [](#testing) [](LICENSE)
Conversational Python tutor — Chainlit UI on top of LangChain `create_agent` (the modern canonical pattern; `RunnableWithMessageHistory` legacy avoided per current docs) with thread-based memory via LangGraph `InMemorySaver`. Talks to OpenRouter behind a single `ChatOpenAI` client.
**Live:**
Quickstart
git clone git@github.com:heitor-am/python-tutor-chatbot.git
cd python-tutor-chatbot
uv sync --all-extras
cp .env.example .env
# edit .env and set OPENROUTER_API_KEY=sk-or-...
make dev
# open http://localhost:8000
Or just hit production: . Fly auto-stops the machine after idle, so the first message after a quiet period pays a 2-3s cold-start.
What it does
- Answers Python questions in PT-BR with executable examples and a clear "explain reasoning before code" structure.
- Remembers the conversation within a session via per-tab
thread_id+ LangGraphInMemorySaver. - Refuses off-topic questions in one polite sentence (smoke-verified end-to-end against real OpenRouter — see PR #3 description for the test transcript).
- Streams tokens as they arrive (via
agent.astream(stream_mode="messages")piped tocl.Message.stream_token()). - Logs structured thumbs-up / thumbs-down feedback.
- F
Related Skills
Langsmith Fetch
Debug LangChain and LangGraph agents by fetching execution traces from LangSmith Studio. Use when debugging ag
Langchain Agent
LangChain/LangGraph Agent Development Expert
Langchain Debater
A multi-role debate agent built with LangGraph + Claude Sonnet 4.6, instrumented with dual tracing to LangSmit
Openapis
Free Claude API + free OpenAI API in one unified proxy. Drop-in compatible with Anthropic SDK, OpenAI SDK, Cla
Agent Orchestra
Hands-on experiments with multi-agent orchestration: Claude + LangGraph on the Python side, a thin TypeScript
News Briefing
A daily news briefing where every citation is checked against its source corpus. Python stdlib core; use Claud
Related Agents
Agentic AI Dev
Expert Agentic AI developer with Python 3.14, LangChain v1.2.8, LangGraph v1.0.7, and FastAPI 0.135.2. Use for
Python LLM Expert
Senior LLM/bot engineer. Use proactively for LangGraph assistants, prompt orchestration, FastAPI routes, Redis
Python Agent Architect
Use for designing and reviewing Python AI agent architectures. Expert in LangGraph, CrewAI, FastAPI deployment