npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@canvas-toolchain/curriculum-intelligence

v2.3.0

Published

Curriculum Intelligence — MCP server that reads past course archives and lecture transcripts, scores topic currency, and plans the next semester

Downloads

302

Readme

Canvas Toolchain — Curriculum Intelligence

MCP server that reads past course archives and lecture transcripts, scores topic currency, and plans the next semester.

Part of a three-app toolchain built for fast-moving courses like ITM 370 (AI-Augmented Projects):

Canvas Downloader → Curriculum Intelligence → Canvas Design Studio
  • Canvas Downloader — pulls raw data (Panopto transcripts, Canvas exports) onto disk
  • Curriculum Intelligence — this app — analyzes what was taught, what aged out, what's new
  • Canvas Design Studio — takes the updated plan and makes the course pages look polished

Status

v1.1.0 — complete. All 27 MCP tools shipped. Current local verification: 141 tests passing and npm run build passing.

See docs/superpowers/specs/2026-05-17-curriculum-intelligence-design.md for the full design and DECISIONS.md for implementation decisions.

Install

npm install
npm run build

Run

npm run dev

Speaks MCP over stdio. Wire into Claude Code or Claude Desktop the same way as Canvas Design Studio:

{
  "mcpServers": {
    "curriculum-intelligence": {
      "command": "node",
      "args": ["path/to/curriculum-intelligence/dist/index.js"],
      "env": { "ANTHROPIC_API_KEY": "sk-ant-..." }
    }
  }
}

ANTHROPIC_API_KEY is only required for scan_recent_developments. All other tools run without it.

Config location

App state lives at ~/.curriculum-intelligence/ by default. Override with CURRICULUM_INTELLIGENCE_HOME.

~/.curriculum-intelligence/
  config.json              # registered courses + app settings
  courses/
    <courseId>/
      config.json          # semester history, feed list, options
      ideas.md             # generated after v0.6 run
      news-cache.json      # RSS feed cache
      semesters/
        <semesterId>/
          topic-map.json
          transcripts.json
          week-map.json
          quote-bank.json
          off-syllabus.json
          diff-vs-<other>.json

MCP Tools

Setup & ingest

| Tool | What it does | |------|-------------| | setup_course | Register a course — creates the folder tree and config | | get_course_state | List registered courses or inspect a single course | | ingest_canvas_archive | Walk a Canvas export folder, write topic-map.json |

Introspection

| Tool | What it does | |------|-------------| | list_assignments | List assignments from the ingested topic map | | list_pages | List pages | | list_modules | List modules (pass expandItems=true for full item detail) | | list_resources | List external resource links referenced in course content |

Diff

| Tool | What it does | |------|-------------| | diff_semesters | Side-by-side diff of two semesters — added, removed, reused, rewritten |

Transcripts

| Tool | What it does | |------|-------------| | ingest_transcripts | Read .vtt / .srt / .md transcript files, tag source=panopto\|whisper | | map_transcripts_to_weeks | Match each transcript to its course week by filename hints | | extract_lecture_topics | Return shaped lecture chunks ready for Claude to summarize | | find_off_syllabus_topics | Surface transcript tokens not present in syllabus pages for that week | | build_quote_bank | Extract notable lines matching deliberate-point trigger phrases |

Currency & signals

| Tool | What it does | |------|-------------| | fetch_news_feed | Pull RSS/Atom feeds, filter by date, cache to news-cache.json | | scan_recent_developments | Ask Claude (Anthropic API) what's new in a topic area since a date | | suggest_topics | Merge feed items + scan developments into ranked topic candidates | | score_topic_currency | Classify a topic as evergreen / current / dated | | recommend_for_topic | Return KEEP / UPDATE / DROP / ADD verdict with rationale |

Output

| Tool | What it does | |------|-------------| | generate_ideas_file | Write ideas.md listing deferred v1 scope and next prompts for Claude |

Tests

npm test

83 tests across 15 test files. All fixture-based — no network calls in the test suite.

Typical workflow

1. setup_course          → register ITM370
2. ingest_canvas_archive → parse Spring2025 export
3. ingest_canvas_archive → parse Fall2024 export (for diff)
4. diff_semesters        → what changed between semesters
5. ingest_transcripts    → load .vtt files from Canvas Downloader
6. map_transcripts_to_weeks
7. find_off_syllabus_topics  → what did the lecture cover beyond the syllabus?
8. build_quote_bank          → pull notable lines for course materials
9. fetch_news_feed           → pull Simon Willison, AI news blogs
10. scan_recent_developments → ask Claude what's new in "Prompt engineering"
11. suggest_topics           → merge signals into ranked candidates
12. score_topic_currency     → classify each topic
13. recommend_for_topic      → get KEEP/UPDATE/DROP/ADD verdicts
14. generate_ideas_file      → capture what to build next

Planning and Export Tools

  • generate_recommended_outline — draft next-semester module sequence
  • draft_assignment_brief — redraft an assignment with updated context
  • import_previous_shell, shift_dates, update_examples, export_course_folder — shell update pipeline

Deferred

  • Second-brain TopicSource adapter
  • Cross-app model-routing UI in Command & Control

See ideas.md (generated after a run) and DECISIONS.md for context.