Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
28 changes: 28 additions & 0 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
{
"name": "Learn Claude Code Dev Container",
Copy link

Copilot AI Mar 23, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The devcontainer name appears unrelated to this repository/PR ("Learn Claude Code Dev Container"). Consider renaming it to match the repo/project to avoid confusion when multiple devcontainers are used across projects.

Suggested change
"name": "Learn Claude Code Dev Container",
"name": "Project Dev Container",

Copilot uses AI. Check for mistakes.
"image": "mcr.microsoft.com/devcontainers/python:3",
"features": {
"ghcr.io/devcontainers/features/node:1": {
"version": "latest"
Comment on lines +3 to +6
Copy link

Copilot AI Mar 23, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The container base image tag (python:3) and Node feature version (latest) are floating, which can make the devcontainer non-reproducible and cause unexpected breakages as new major/minor versions are released. Pin these to explicit versions (e.g., a specific Python variant tag and a specific Node major/minor) to keep builds stable.

Suggested change
"image": "mcr.microsoft.com/devcontainers/python:3",
"features": {
"ghcr.io/devcontainers/features/node:1": {
"version": "latest"
"image": "mcr.microsoft.com/devcontainers/python:3.11",
"features": {
"ghcr.io/devcontainers/features/node:1": {
"version": "20"

Copilot uses AI. Check for mistakes.
},
"ghcr.io/devcontainers/features/copilot-cli:1": {}
},
"postCreateCommand": {
"install-copilot-sdk": "copilot plugin install copilot-sdk@awesome-copilot"
},
Comment on lines +10 to +12
Copy link

Copilot AI Mar 23, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The postCreateCommand will fail the devcontainer setup if the copilot binary isn't present yet or if the referenced plugin (copilot-sdk@awesome-copilot) is unavailable/renamed. Consider making this step idempotent and resilient (e.g., check for the CLI/plugin before installing, and/or pin to a known-good plugin/version) so container creation doesn't break for contributors.

Suggested change
"postCreateCommand": {
"install-copilot-sdk": "copilot plugin install copilot-sdk@awesome-copilot"
},
"postCreateCommand": "bash -lc 'if ! command -v copilot >/dev/null 2>&1; then echo \"copilot CLI not found; skipping copilot-sdk@awesome-copilot plugin install\"; exit 0; fi; if copilot plugin list 2>/dev/null | grep -q \"copilot-sdk@awesome-copilot\"; then echo \"copilot-sdk@awesome-copilot plugin already installed\"; else echo \"Installing copilot-sdk@awesome-copilot plugin\"; copilot plugin install copilot-sdk@awesome-copilot || echo \"Warning: failed to install copilot-sdk@awesome-copilot plugin\"; fi'",

Copilot uses AI. Check for mistakes.
"customizations": {
"vscode": {
"extensions": [
"GitHub.copilot",
"GitHub.copilot-chat",
"dbaeumer.vscode-eslint",
"esbenp.prettier-vscode",
"DavidAnson.vscode-markdownlint"
],
"settings": {
"editor.fontSize": 14,
"terminal.integrated.fontSize": 14
}
}
}
}
41 changes: 41 additions & 0 deletions .github/agents/open-router-plan.agent.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
---
name: 'open-router-plan'
description: 'Research the document and code base of learn-claude-code to generate a plan for design and implementation of using open router as the LLMs provider besides default provoider claude'
tools: [read, agent, search, edit, todo]
---

# Purpose

The purpose of this agent is to research the document and code base of learn-claude-code to generate a plan for design and implementation of using open router as the LLMs provider besides default provoider claude. The agent analyzes the current architecture, identify integration points, and propose a step-by-step plan for incorporating open router provided LLMs into the existing system by the given workflow, rules and expected outcome.

You can leverage openrouter-python-sdk skill as references for opernrouter APIs in planning the implementation of open router integration.

## Workflow

### Step 1: Analyze the ./REAME.md to build up an overall understanding of the learn-claude-code project, its architecture, project structure, and the integration with claude models by Claude LLM APIs. Note down any missing information that is critical for the design and implementation of open router integration.

### Step 2: ./docs/en contains documents to explain the each stage of the agent implementation with files from s01_{agent_stage} to s12_{agent_stage}.md, where agent_stage is the name fo the agent implementation, such as, agent_loop, tool_use, tool_write, etc.

- Go through each of the md file by the order of 01 to 02 to understand the design and implementation of each stage of the agent implementation. Note down the architecture, design, and implementation details of each stage, and how the claude models are integrated into the system.

- After the agent stage md file, check its corresponding python code file in ./agents for a code level understanding how claude models are used. The agent stage python code file is named as s{agent_stage}_{agent_stage}.py, such as s01_agent_loop.py, s02_tool_use.py, etc. Note down the code level details of how claude models are used in each stage of the agent implementation.

### Step 3: with the deep understanding of each stage of the agent implementation and how claude models are integrated into the system, design the best implementation plan along with unit testing for integrating open router into each of the stage of the agent implementation. Including configuration changes needed.

### Step 4: Write the design and implementation plan of support both Claude and OpenRouter models by APIs in a markdown file in ./outputs/`open-router-implementation-plan.md` with the architecture design, architecture decisions, implementation and testing plan. The implementation and testing plan should cover all the stages of the agent implementation and how open router will be integrated into each stage.

## Requirements for the implementation plan

- The implementation plan should refactor each stage of the agent implementation to support both claude and open router as the LLMs provider, with a configuration switch to choose between them.
- The implementatoin plan should follow the design pattern of defining a common interface for the LLMs provider and implementing the interface for both claude and open router, to ensure the modularity and maintainability of the codebase.
- The implementation plan should include unit testing for each stage of the agent implementation to ensure the correctness and reliability of the integration with open router. The testing plan should cover both positive and negative test cases.
- The implementation plan should consider the performance implications of integrating open router and propose optimizations if necessary to ensure the system remains efficient and responsive.
- The implementation plan should aslo consider the consistency, simplicity and maintainability of the codebase when integrating both claude and open router model APIs. For claude models, only need to consider supporting claude haiku, sonnet and opus models.

## Rules for workflow execution

- Report the progress of the each step.
- If any critical information is missing for the design and implementation of open router integration, report the missing information and suggest how to obtain it.
- Apply critical thinking in the analysis of the architecture, design, and implementation of each stage of the agent implementation, and in the design of the implementation plan for open router integration. Consider the trade-offs between different design choices and justify the decisions made in the implementation plan.
- Challenge user with questions to clarify the requirements and constraints for the open router integration, and to ensure a clear understanding of the expected outcome of the implementation plan.

116 changes: 116 additions & 0 deletions .github/skills/openrouter-python-sdk/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,116 @@
---
name: openrouter-python-sdk
description: Local codebase analysis for python-sdk
---

# python-sdk Codebase

## Description

Openrouter Python SDK codebase agent skill. Created by skill-seekers with minor manual modifications.

**Path:** `/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk`
**Files Analyzed:** 268
**Languages:** Python
**Analysis Depth:** deep

## When to Use This Skill

Use this skill when you need to dependends on openrouter python sdk to,
- Understand sdk architecture and design patterns
- Find implementation examples and usage patterns
- Review API documentation extracted from code
- Check configuration patterns and best practices
- Explore test examples and real-world usage
- Navigate the codebase structure efficiently
- Implement python module to interact with openrouter APIs

## ⚡ Quick Reference

### Codebase Statistics

**Languages:**
- **Python**: 268 files (100.0%)

**Analysis Performed:**
- ✅ API Reference (C2.5)
- ✅ Dependency Graph (C2.6)
- ✅ Design Patterns (C3.1)
- ✅ Test Examples (C3.2)
- ✅ Configuration Patterns (C3.4)
- ✅ Architectural Analysis (C3.7)
- ✅ Project Documentation (C3.9)

## 🏗️ Architecture Overview

*From C3.7 architectural analysis*

**Detected Architectural Patterns:**

- **Service Layer Pattern** (confidence: 0.75)

*Total: 1 architectural patterns detected*

*See `references/architecture/` for complete architectural analysis*

## ⚙️ Configuration Patterns

*From C3.4 configuration analysis*

**Configuration Files Analyzed:** 15
**Total Settings:** 10570
**Patterns Detected:** 0

**Configuration Types:**
- unknown: 15 files

*See `references/config_patterns/` for detailed configuration analysis*

## 📖 Project Documentation

*Extracted from markdown files in the project (C3.9)*

**Total Documentation Files:** 684
**Categories:** 4

### Overview

- **OpenRouter Python SDK**: **OpenRouter Python SDK**
- **OpenRouter SDK (Beta)**: **OpenRouter SDK (Beta)**
- **OpenRouter SDK (Beta)**: **OpenRouter SDK (Beta)**
- **RELEASES**: Sections: 2025-11-15 18:16:18, Changes, Generated, Releases
- **USAGE**: <!-- Start SDK Example Usage [usage] -->

### Api

- **APIKeys**: **APIKeys**

### Contributing

- **Contributing to This Repository**: **Contributing to This Repository**

### Other

- **Dev Containers Quick Start**: **Dev Containers Quick Start**
- **ActivityItem**: **ActivityItem**
- **Architecture**: **Architecture**
- **AssistantMessage**: **AssistantMessage**
- **AssistantMessageContent**: **AssistantMessageContent**
- *...and 672 more*

*See `references/documentation/` for all project documentation*

## 📚 Available References

This skill includes detailed reference documentation:

- **API Reference**: `references/api_reference/` - Complete API documentation
- **Dependencies**: `references/dependencies/` - Dependency graph and analysis
- **Patterns**: `references/patterns/` - Detected design patterns
- **Configuration**: `references/config_patterns/` - Configuration patterns
- **Architecture**: `references/architecture/` - Architectural patterns
- **Documentation**: `references/documentation/` - Project documentation

---

**Generated by Skill Seeker** | Codebase Analyzer with C3.x Analysis
Loading