github TypeScript analyzed 9129c5a

ArasaniRohithReddy/LearningOS

github

LearningOS (Drona) — an AI Learning Operating System for GitHub Copilot: 129 specialist agents, 510 reusable skills, 122 role configs, and a VS Code extension that teaches instead of just answering.

maintainer
ArasaniRohithReddy
licence
MIT
first seen
2026-08-08
last seen
2026-08-09
releases · 30d
0
short id

Drift inferred · capture-to-capture

No drift recorded — single capability capture; advisories appear once its surface changes.

capabilities 10 tools
transport stdio counts 10 tools · 0 res · 0 prompts permission surface via code analysis

tools

  • azure_identity
  • fetch_page
  • find_learning_resources
  • get_agent
  • get_skill
  • list_roadmaps
  • run_code
  • search_agents
  • search_skills
  • tech_news
skills & danger signals github-tarball
prompt-surface shipped agent-instruction files + hidden-content / dangerous-code findings — quoted from the analyzed source

analyzed commit 9129c5a · analyzer v33 · 3w ago

skills & prompt files 40

code evidence vv1.6.0 · github-tarball
evidence-backed findings quoted directly from the published source artifact — not inferred

code files: 28

filesystem 14

  • fs (weak) ArasaniRohithReddy-LearningOS-9129c5a/extension/scripts/bundle-content.mjs :24 import { promises as fs } from "node:fs";
  • fs ArasaniRohithReddy-LearningOS-9129c5a/extension/src/catalog.ts :44 const bytes = await vscode.workspace.fs.readFile(contentUri(context, "registry.json"));
  • fs ArasaniRohithReddy-LearningOS-9129c5a/extension/src/deploy.ts :61 const bytes = await vscode.workspace.fs.readFile(s);
  • fs ArasaniRohithReddy-LearningOS-9129c5a/extension/src/extension.ts :400 const bytes = await vscode.workspace.fs.readFile(uri);
  • fs ArasaniRohithReddy-LearningOS-9129c5a/extension/src/feeds.ts :62 const bytes = await vscode.workspace.fs.readFile(contentUri(context, "data", "news-feeds.json"));
  • fs ArasaniRohithReddy-LearningOS-9129c5a/extension/src/flintClient.ts :34 import * as fs from "node:fs";
  • fs ArasaniRohithReddy-LearningOS-9129c5a/extension/src/newsView.ts :286 const bytes = await vscode.workspace.fs.readFile(contentUri(this.context, "data", "roadmaps.json"));
  • fs ArasaniRohithReddy-LearningOS-9129c5a/extension/src/store.ts :643 await vscode.workspace.fs.writeFile(uri, bytes);
  • fs (weak) ArasaniRohithReddy-LearningOS-9129c5a/mcp/scripts/bundle.mjs :12 import { promises as fs } from "node:fs";
  • fs ArasaniRohithReddy-LearningOS-9129c5a/mcp/src/catalog.ts :9 import { promises as fs } from "node:fs";
  • fs (weak) ArasaniRohithReddy-LearningOS-9129c5a/scripts/build-registry.mjs :14 import { readFile, readdir, writeFile, mkdir } from "node:fs/promises";
  • fs (weak) ArasaniRohithReddy-LearningOS-9129c5a/scripts/new-agent.mjs :1 import { readFile, writeFile, copyFile } from "node:fs/promises";
show 2 more
  • fs (weak) ArasaniRohithReddy-LearningOS-9129c5a/scripts/new-skill.mjs :1 import { mkdir, writeFile } from "node:fs/promises";
  • fs (weak) ArasaniRohithReddy-LearningOS-9129c5a/scripts/validate.mjs :1 import { readdir, readFile } from "node:fs/promises";

shell / exec 3

  • shell ArasaniRohithReddy-LearningOS-9129c5a/extension/src/flintClient.ts :6 // WHY self-spawn (and bundle) instead of `vscode.lm.invokeTool`? Invoking an MCP tool
  • shell ArasaniRohithReddy-LearningOS-9129c5a/mcp/src/azureAuth.ts :14 import { execFile } from "node:child_process";
  • shell (weak) ArasaniRohithReddy-LearningOS-9129c5a/mcp/test/smoke.mjs :6 import { spawn } from "node:child_process";

network 5

  • net ArasaniRohithReddy-LearningOS-9129c5a/extension/src/feeds.ts :90 const res = await fetch(current.toString(), {
  • net ArasaniRohithReddy-LearningOS-9129c5a/extension/src/fetchTool.ts :16 import * as https from "node:https";
  • net ArasaniRohithReddy-LearningOS-9129c5a/extension/src/runTool.ts :218 const res = await fetch(url, { method, headers, body, redirect: "manual", signal: controller.signal });
  • net ArasaniRohithReddy-LearningOS-9129c5a/mcp/src/net.ts :1 // Network helpers for the LearningOS MCP server: an SSRF-guarded fetch (used by
  • net ArasaniRohithReddy-LearningOS-9129c5a/mcp/src/ssrf.ts :7 import * as net from "node:net";

tool registrations 10

  • search_skills ArasaniRohithReddy-LearningOS-9129c5a/mcp/src/index.ts :102
  • get_skill ArasaniRohithReddy-LearningOS-9129c5a/mcp/src/index.ts :118
  • search_agents ArasaniRohithReddy-LearningOS-9129c5a/mcp/src/index.ts :128
  • get_agent ArasaniRohithReddy-LearningOS-9129c5a/mcp/src/index.ts :144
  • find_learning_resources ArasaniRohithReddy-LearningOS-9129c5a/mcp/src/index.ts :154
  • list_roadmaps ArasaniRohithReddy-LearningOS-9129c5a/mcp/src/index.ts :178
  • tech_news ArasaniRohithReddy-LearningOS-9129c5a/mcp/src/index.ts :194
  • run_code ArasaniRohithReddy-LearningOS-9129c5a/mcp/src/index.ts :210
  • fetch_page ArasaniRohithReddy-LearningOS-9129c5a/mcp/src/index.ts :234
  • azure_identity ArasaniRohithReddy-LearningOS-9129c5a/mcp/src/index.ts :259

install hooks 1

  • prepare ArasaniRohithReddy-LearningOS-9129c5a/mcp/package.json :36 npm run build

declared dependencies 4

  • flint-chart-mcp@^0.2.0
  • @types/node@^20.19.0
  • @types/vscode@~1.95.0
  • typescript@^5.6.3