
Claude Skills by mitodl
github.com/mitodlTree-sitter code graph for symbol lookups, caller graphs, change-impact analysis, and cross-repo contract tracing. Use instead of grep/Explore when you need exact symbol definitions, who-calls-what, blast radius before an edit, or which repo provides/consumes a shared env var, endpoint, package, or service. `/witan-code` reports whether the current repo is indexed and lists the available `code_*` tools; `/witan-code reindex` forces a full rebuild. Backed by the witan-code MCP server (code_* t...
Read from and write to the team's shared agent memory graph. Prefer this over your private built-in/session memory for any durable, team-shareable knowledge. Use when starting work in a repository (load project facts and patterns), after solving a non-obvious problem (store a pattern), when discovering structural information about a codebase (store a project fact), when a correction was needed (store a lesson), or whenever you would otherwise save an engineering fact/lesson/decision to local ...
Track an end-to-end engineering project across multiple agent sessions without explicit handoffs. Use this skill when starting a multi-session project (call workflow_project_create then workflow_session_start), when continuing an existing project in a new session (call workflow_session_start with the slug injected by the context hook/extension), when advancing phases (workflow_project_advance), when closing a session (workflow_session_end), or when completing a project (workflow_project_compl...
Interactive task manager for the work-coordination graph. Use to triage and claim ready work, create tasks (including epics and sub-issues), link dependencies, and close finished tasks. Also use it whenever you are about to START work on an existing `tk-` task from anywhere — the ready-task list in your session context, a `witan project run` prompt, or a slug someone named — because that task must be claimed before the first edit. Also use it to leave feedback on a task you are NOT executing ...
Interactive workflow session manager. Call at the start of any session to link it to a tracked project. Lists active WorkflowProjects for the current repo, lets the user pick one (or create a new project), then calls workflow_session_start to register the session in the graph. Also supports ending a session (/witan-workflow end) or listing all projects (/witan-workflow list). Requires the witan MCP server.
Build Docker images for Python services following team conventions. Use this skill when writing Dockerfiles, authoring CI image build pipelines, or adding a new service — covers mitodl image naming, git short-ref tags, relocatable uv venvs, and shared library handling.
Structure and organize Dagster code locations using dg. Use this skill when creating or migrating code locations, placing assets or sensors in the correct location, scaffolding new dg projects, or setting up the dg_projects/ workspace layout.
Modify existing Pulumi infrastructure stacks safely. Use this skill when making any Pulumi IaC changes — always edit the existing stack entrypoint, never create new files, preserve assumeRole and cross-account configuration, and validate with pulumi preview before finishing.
Wire Vault Kubernetes authentication for a service using hvac. Use this skill when adding or modifying Vault auth in any Kubernetes-deployed service — always read the Vault role and mount path from environment variables, never hardcode them.
Fetch, categorize, and address GitHub pull request review feedback -- inline review comments, review threads, top-level discussion comments, and failing status checks (GitHub Actions jobs plus third-party checks like pre-commit.ci, GitGuardian, and CodeQL) -- including paginating through large or long-running PRs with many rounds of review. Applies fixes, replies to reviewers with evidence (never a generic "noted"), marks resolved review threads via the GraphQL API, and diagnoses/fixes failin...
Review a diff, branch, path, or PR for correctness bugs and reuse/simplification/efficiency cleanups, using a verify-before-reporting pass so findings are checked against the actual code rather than pattern-matched. Portable across agent platforms (Claude Code, pi, Copilot, OpenCode) — needs only `git diff` and a rubric, no MCP or witan dependency. Use this skill when asked to "review this diff", "review my branch", "code review PR #N", "review the changes", "check this for bugs", or to revie...
Create a GitHub issue in the mitodl organization using their standard issue templates. Use this skill when asked to create a GitHub issue, open an issue, or file a bug report. Guides user through repo selection, template choice, and gh issue create.
Create a pull request in the mitodl organization using their standard PR template. Use this skill when asked to create a PR, open a pull request, or submit changes for review. Guides branch inspection, title/body population, a pre-submit audit of factual/behavioral claims in the PR body against live evidence, and gh pr create.
Post a properly structured RFC as a GitHub Discussion in the mitodl/hq repository under the RFC category. Use this skill when asked to write or post an RFC, create a design proposal, or document an architectural decision for team review.
Audit a repository's dependencies to identify those that are unused (safe to remove), underused (few enough features used to vendor or rewrite), imported inefficiently (blocking tree-shaking), or deprecated/sunset (need migration). Use this skill when the user wants to slim down their dependency tree, reduce supply chain risk, remove dead weight from package manifests, identify libraries that could be replaced with a few lines of code, or do a general dependency health check. Covers Python, J...
Triage, evaluate, and apply dependency updates safely — whether from Renovate PRs, a proactive audit, or a project that has fallen behind. Use this skill when you need to discover what is outdated, decide what is safe to update in parallel, sequence updates that have ordering constraints, evaluate changelogs and blast radius, adapt code to breaking changes, and verify the result. Covers any ecosystem (Python, JavaScript/TypeScript, Go, Ruby, Rust, Java, etc.) and any layer of the stack (libra...
Verify that a merged infrastructure, config, or manifest change actually took effect in the deployed environment — not just that it merged. Use this skill when asked to "verify the deploy", "confirm this is live", "check the rollout", "did this actually deploy", or after any ConfigMap/Secret/env/Pulumi/Helm change where the task isn't done until the effect is confirmed in the running system. Covers CD pipeline status, pod rollout confirmation, reading config out of the running process, before...
Generates a daily standup post from GitHub activity and agent session history, and posts it to the mitodl/hq Check-ins discussion. Use when asked to write, generate, or post a daily standup — fetches PR, issue, discussion, and code-review activity via the gh CLI, queries recent agent sessions, asks clarifying questions about timing and off-GitHub work, renders the standup in the team's standard format, and posts it as a discussion comment with user confirmation.
Audit open GitHub issues to identify which are outdated, already completed, or superseded by newer issues — using parallel subagents to cross-reference issue descriptions against the current codebase and git history. Use this skill when asked to triage issues, find stale issues, clean up the backlog, identify what can be closed, or audit a GitHub repository's open issue list.
Enumerate your open GitHub pull requests across an org (or a single repo) and categorize each by the action it actually needs: needs a first-pass bot review (Copilot/Claude/Gemini), awaiting a requested reviewer, has review feedback to address, formally has changes requested, or is approved and ready to merge. Use this skill when asked for a PR status report, to triage an open-PR backlog, to find PRs ready to merge, to see which PRs are stuck waiting on the author, or to process pull requests...
Summarize open Renovate dependency-update PRs across a GitHub org, narrowed to the repos you personally worked in recently, ranked by descending security urgency using real GitHub Advisory Database severity, CVSS and EPSS data. Use this skill when asked what dependency updates need attention, which Renovate PRs are security-critical, to triage a Renovate backlog, to review dependency bot PRs across mitodl, or for questions like "what security updates am I sitting on", "any urgent CVEs in my r...
Take screenshots of UI changes for a pull request using shot-scraper. Use this skill when asked to screenshot, capture, or document UI changes in a PR — discovers the local dev base URL, establishes auth (defaulting to the admin@odl.local Keycloak/APISIX test user), proposes a screenshot plan at desktop/tablet/mobile viewports, asks for confirmation, then runs shot-scraper multi to produce the images.
Write CLI scripts using the cyclopts framework. Use this skill when creating any command-line script or developer utility — place it in bin/ using cyclopts, not argparse, click, typer, or bare sys.argv.
Write and review fast Django REST Framework APIs. Use this skill when adding or changing a DRF viewset, serializer, pagination class, or queryset - covers response nesting limits, paginating list endpoints and keeping the count query cheap, select_related vs prefetch_related vs django-prefetch, keeping ORM queries out of serializers, required_prefetches, and catching N+1s with django-zeal, django_assert_num_queries, and drf-lint.
Use uv as the exclusive Python package and environment manager. Use this skill when installing packages, syncing environments, running scripts, writing Dockerfiles, or doing any Python dependency management — never pip, pip-compile, or virtualenv directly.
Create a new Agent Skill for this repository. Use this skill when asked to capture a workflow, convention, or repeated correction as a reusable skill — covers file naming, frontmatter fields, category placement, progressive disclosure, and updating the index.
Run the full validation sequence before declaring any task done. Use this skill proactively after any code or infrastructure change — run pre-commit, mypy, and pulumi preview (where applicable) without waiting to be asked. Never declare success without passing checks.