Search

PythonReactSEOPDF
OpenClaw

edstem

Fetch, sync, and organize EdStem discussion threads for any course or institution. Use when checking for new EdStem posts, syncing course discussion forums, reviewing student/staff questions and answers, or when the user asks to check EdStem, review course discussions, or stay updated on class forums.

axel5o50 source installs☆ 0 Repository stars

Installation

Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.

SkillHub CLI

skillhub install axel5o5/edstem

Inspect the source and compatibility requirements, then follow its installation steps.

Give your agent the source link and ask it to inspect instructions and dependencies before explaining the installation steps.

View source ↗Guides

Skill instructions

EdStem

Fetch and organize EdStem discussion threads from any course or institution with automatic staff/student differentiation.

Quick Start

Fetch recent threads for any course:

cd /home/axel/.openclaw/workspace/skills/edstem/scripts
python3 fetch-edstem.py <course_id> [output_dir] [--course-name "Course Name"]

Examples:

# Fetch to default directory (./edstem-<course_id>)
python3 fetch-edstem.py 92041

# Fetch to specific directory
python3 fetch-edstem.py 92041 ./machine-learning

# Specify course name for clearer output
python3 fetch-edstem.py 92041 --course-name "Machine Learning"

# Combine directory and course name
python3 fetch-edstem.py 92041 ./ml-course --course-name "Machine Learning"

# Fetch more threads (default is 10)
python3 fetch-edstem.py 92041 --limit 25

Finding Your Course ID

To find your EdStem course ID:

  1. Log into EdStem and navigate to your course
  2. Look at the URL: https://edstem.org/us/courses/<course_id>/
  3. The number in the URL is your course ID

Alternatively, use the API to list your courses:

curl -H "Authorization: Bearer YOUR_TOKEN" https://us.edstem.org/api/user | jq '.courses[] | {id: .course.id, name: .course.name}'

What Gets Fetched

For each course:

  • threads.json - Full thread list with metadata
  • thread-XXX.md - Individual threads formatted as markdown
    • Thread title, category, timestamps
    • Original post content
    • All answers and comments
    • [STAFF] or [STUDENT] tags on every post

Features

  • Institution-agnostic: Works with any school using EdStem
  • Staff differentiation: Clearly marks instructor/TA posts vs student posts
  • Structured output: Markdown format for easy reading and searching
  • API-based: Uses EdStem's official API (no scraping)
  • Flexible output: Choose your own output directory and organization scheme

Authentication

The skill uses a bearer token stored in the Python script. To use with your own accou...

Source information

Source
github
Repository
openclaw/skills
Path
skills/axel5o5/edstem
Version
—
Commit
8555bb7f141d8126017592d8ab1ad4b5262b30b8
Classification source
rules
Status
active
Visibility
public

These signals come from indexed source analysis and may lag behind changes. Check the current source files.

README

EdStem Integration Skill

Fetch, sync, and organize EdStem discussion threads from any course or institution with automatic staff/student differentiation.

Overview

This skill provides tools to programmatically access EdStem discussion forums, making it easy to:

  • Monitor course discussions
  • Review student questions and instructor answers
  • Archive forum content
  • Analyze discussion patterns
  • Integrate EdStem with LLM agents and automation workflows

Institution-agnostic: Works with any school using EdStem (not limited to any specific institution).

Features

  • ✅ Staff differentiation: Clearly marks instructor/TA posts vs student posts
  • ✅ Structured output: Markdown format for easy reading and searching
  • ✅ API-based: Uses EdStem's official API (no scraping)
  • ✅ Flexible output: Choose your own output directory and organization scheme
  • ✅ Course auto-detection: Automatically fetches course name from API
  • ✅ Lightweight alternative: Bash script available for environments without Python

Quick Start

# Clone or install the skill
cd ~/.openclaw/workspace/skills/edstem

# Fetch threads from any course
python3 scripts/fetch-edstem.py <course_id>

# Example with custom directory
python3 scripts/fetch-edstem.py 92041 ./my-course

Installation

  1. Install in your OpenClaw workspace:

    cd ~/.openclaw/workspace/skills
    git clone <repo-url> edstem
    
  2. Configure authentication:

    • Log into EdStem in your browser
    • Open Developer Tools → Network tab
    • Copy the Authorization: Bearer ... token from any API request
    • Update ED_TOKEN in scripts/fetch-edstem.py (line 20)
  3. Test it:

    cd edstem/scripts
    python3 fetch-edstem.py --help
    

Usage Examples

Basic fetch
python3 fetch-edstem.py 92041
Specify output directory
python3 fetch-edstem.py 92041 ~/courses/machine-learning
Add course name for clarity
python3 fetch-...

Extracted content

SKILL.md
# EdStem

Fetch and organize EdStem discussion threads from any course or institution with automatic staff/student differentiation.

## Quick Start

Fetch recent threads for any course:

```bash
cd /home/axel/.openclaw/workspace/skills/edstem/scripts
python3 fetch-edstem.py <course_id> [output_dir] [--course-name "Course Name"]
```

**Examples:**
```bash
# Fetch to default directory (./edstem-<course_id>)
python3 fetch-edstem.py 92041

# Fetch to specific directory
python3 fetch-edstem.py 92041 ./machine-learning

# Specify course name for clearer output
python3 fetch-edstem.py 92041 --course-name "Machine Learning"

# Combine directory and course name
python3 fetch-edstem.py 92041 ./ml-course --course-name "Machine Learning"

# Fetch more threads (default is 10)
python3 fetch-edstem.py 92041 --limit 25
```

## Finding Your Course ID

To find your EdStem course ID:

1. Log into EdStem and navigate to your course
2. Look at the URL: `https://edstem.org/us/courses/<course_id>/`
3. The number in the URL is your course ID

Alternatively, use the API to list your courses:
```bash
curl -H "Authorization: Bearer YOUR_TOKEN" https://us.edstem.org/api/user | jq '.courses[] | {id: .course.id, name: .course.name}'
```

## What Gets Fetched

For each course:
- **threads.json** - Full thread list with metadata
- **thread-XXX.md** - Individual threads formatted as markdown
  - Thread title, category, timestamps
  - Original post content
  - All answers and comments
  - **[STAFF]** or **[STUDENT]** tags on every post

## Features

- **Institution-agnostic**: Works with any school using EdStem
- **Staff differentiation**: Clearly marks instructor/TA posts vs student posts
- **Structured output**: Markdown format for easy reading and searching
- **API-based**: Uses EdStem's official API (no scraping)
- **Flexible output**: Choose your own output directory and organization scheme

## Authentication

The skill uses a bearer token stored in the Python script. To use with your own accou...
README
# EdStem Integration Skill

Fetch, sync, and organize EdStem discussion threads from any course or institution with automatic staff/student differentiation.

## Overview

This skill provides tools to programmatically access EdStem discussion forums, making it easy to:
- Monitor course discussions
- Review student questions and instructor answers
- Archive forum content
- Analyze discussion patterns
- Integrate EdStem with LLM agents and automation workflows

**Institution-agnostic:** Works with any school using EdStem (not limited to any specific institution).

## Features

- ✅ **Staff differentiation**: Clearly marks instructor/TA posts vs student posts
- ✅ **Structured output**: Markdown format for easy reading and searching
- ✅ **API-based**: Uses EdStem's official API (no scraping)
- ✅ **Flexible output**: Choose your own output directory and organization scheme
- ✅ **Course auto-detection**: Automatically fetches course name from API
- ✅ **Lightweight alternative**: Bash script available for environments without Python

## Quick Start

```bash
# Clone or install the skill
cd ~/.openclaw/workspace/skills/edstem

# Fetch threads from any course
python3 scripts/fetch-edstem.py <course_id>

# Example with custom directory
python3 scripts/fetch-edstem.py 92041 ./my-course
```

## Installation

1. Install in your OpenClaw workspace:
   ```bash
   cd ~/.openclaw/workspace/skills
   git clone <repo-url> edstem
   ```

2. Configure authentication:
   - Log into EdStem in your browser
   - Open Developer Tools → Network tab
   - Copy the `Authorization: Bearer ...` token from any API request
   - Update `ED_TOKEN` in `scripts/fetch-edstem.py` (line 20)

3. Test it:
   ```bash
   cd edstem/scripts
   python3 fetch-edstem.py --help
   ```

## Usage Examples

### Basic fetch
```bash
python3 fetch-edstem.py 92041
```

### Specify output directory
```bash
python3 fetch-edstem.py 92041 ~/courses/machine-learning
```

### Add course name for clarity
```bash
python3 fetch-...

Related skills

OpenClaw

bambu-studio-ai

heyixuan2

Bambu Lab 3D printer control and automation. Activate when user mentions: printer status, 3D printing, slice, analyze model, generate 3D, AMS filament, print monitor, Bambu Lab, or any 3D printing task. Full pi...

OpenClaw

geo-optimization

capt-marbles

Generative Engine Optimization (GEO) for AI search visibility. Optimize content to appear in ChatGPT, Perplexity, Claude, and Google AI Overviews. Use when optimizing websites, pages, or content for LLM discove...

OpenClaw

0protocol

0isone

Agents can sign plugins, rotate credentials without losing identity, and publicly attest to behavior.

OpenClaw

0x0-messenger

eijiac24

Send and receive P2P messages using disposable numbers and PINs. No servers, no accounts. Use for human notifications, approval flows, and agent-to-agent communication.