witan-workflow

witan-workflow is a skill for Claude Code from mitodl/agent-kit. It costs 89 tokens per session (1,594 once invoked), scanned A, original, BSD-3-Clause.

A workflow-session manager that links each coding-agent session to a tracked project. It can list active projects, start a new one, or end the current session.

In plain words
What is it for?
Use it at the beginning of a tracked project session, when creating or selecting a project, and when closing the session.
Why use it?
It makes the project context available across sessions and records when a session starts or finishes.

Skill for Claude Code

Written for Claude Code: $CLAUDE_SESSION_ID variable. Also seen: names the AskUserQuestion tool; mentions Claude Code; mentions Codex.

Good fit Use it at the beginning of a tracked project session, when creating or selecting a project, and when closing the session.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/mitodl/agent-kit/witan-workflow
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add mitodl/agent-kit --skill witan-workflow
Clone the repo
git clone --depth 1 https://github.com/mitodl/agent-kit

Made for: Claude Code.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for witan-workflow

README.md
[![agentmods](https://agentmods.dev/badge/skills/mitodl/agent-kit/witan-workflow/github.svg)](https://agentmods.dev/skills/mitodl/agent-kit/witan-workflow)
Your own site
<a href="https://agentmods.dev/skills/mitodl/agent-kit/witan-workflow"><img src="https://agentmods.dev/badge/skills/mitodl/agent-kit/witan-workflow/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for witan-workflow

Your own site · 80×15
<a href="https://agentmods.dev/skills/mitodl/agent-kit/witan-workflow"><img src="https://agentmods.dev/badge/skills/mitodl/agent-kit/witan-workflow.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 89 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,594 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00089 $0.01594
Opus 5.5 $0.00036 $0.00638
Sonnet 5.5 $0.00018 $0.00319
Haiku 4.5 $0.00009 $0.00159

Measured yesterday against content hash 759b1cf7e0cd, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

witan-workflow scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

mcp/servers/witan/witan/skills/witan-workflow/SKILL.md · 176 lines

How it starts

The opening of the file, as written. The whole thing — 176 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Workflow Session Manager

Interactive entry point for the workflow tracking system. Invoke with /witan-workflow at the start of a session, or /witan-workflow end before stopping.

Asking the user

Several steps below ask the user to choose or type something. Ask the same way on every agent:

  • If a structured question tool is actually available to you (e.g. Claude Code's AskUserQuestion, or a question tool a Pi extension registers), use it with the header, question and options given. Where a step also needs free text, use whatever free-text entry that tool offers; if it offers none, ask for the text in a plain message.
  • Otherwise, ask the same question in a normal message — number the options, say what free-text answer is accepted — and end your turn and wait for the reply. Do not guess an answer or pick a default on the user's behalf.

Never add an option the step does not list just to get a free-text box. Either way, nothing that changes the graph (claiming a task, creating or starting a project or session) happens until the user has answered.

On invocation

Step 1 — Check args.

If the user passed list: call workflow_project_list() with no filters, print a table of all projects (slug, title, phase, status, repo), and stop.

If the user passed end: go to the End session section below.

If the user passed new: skip to Create new project below.

Otherwise (no args or unrecognized): proceed to Step 2.

Step 2 — List active projects.

Call workflow_project_list() (no args — defaults to active projects in the current repo). If the MCP call fails, tell the user the witan server is not connected and stop.

Step 3 — Ask the user what to link to.

Ask one question (see Asking the user):

  • Header: "Link session"
  • Question: "Which project does this session belong to?"
  • If there are 1–3 active projects: offer each as a labelled option (label = title, description = "slug: {slug} · phase: {phase}"), plus "Create new project" and (if >0 projects exist) "None / untracked".
  • If there are 0 active projects: offer "Create new project" and "None / untracked" only.
  • If there are 4+ active projects: list them as text, ask the user to type a slug or "new", then use workflow_project_get(slug) to confirm the choice.

Read the full file on GitHub · 176 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. yesterday Changed · +1 lines 759b1cf7e0cd
  2. 15d ago Changed d1ece379fa9a
  3. 22d ago Changed · +34 lines 4d8eb60c67c2
  4. 1mo ago First seen · 141 lines · 89 tokens per session scan A cc56f85bc6d7

Subscribe to this mod's changes

witan-workflow is a skill published in the GitHub repository mitodl/agent-kit (5 stars, last pushed yesterday), licensed BSD-3-Clause. It adds 89 tokens to every session and 1,594 once invoked, about $0.0004 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

gsd-ns-manage

config workspace | workstreams thread update ship inbox.

open-gsd/gsd-core · 16 tokens

feature-prioritisation

Aplica marcos de priorización (RICE, MoSCoW, Kano, ICE, Opportunity Scoring) para clasificar características e items del backlog. Úsalo cuando se te pida priorizar características, clasificar un backlog, decidir qué construir a continuación, o evaluar compensaciones entre ideas competidoras. Produce una lista de…

mohitagw15856/pm-claude-skills · 103 tokens

design-handoff-brief

Transform feature briefs into structured design briefs that give designers the context they need before opening Figma. Use when asked to write a design brief, create a design handoff, brief a designer on a new feature, or translate a PRD into design requirements. Produces a brief with user goal, emotional context…

mohitagw15856/pm-claude-skills · 83 tokens

triage-inbox

Triage academic email and calendar (Gmail / Google Calendar via the session's MCP) into a prioritized digest plus a referee-obligations tracker — classifying referee requests, R&R and editor correspondence, co-author threads, seminar and conference invites, and grant/admin deadlines, and proposing a human-gated action…

pedrohcgs/claude-code-my-workflow · 132 tokens

cs-escalation-brief

Redacta un informe de escalada estructurado para una cuenta de cliente en riesgo. Úsalo cuando una cuenta haya escalado, cuando un cliente amenace con cancelar, cuando un problema de cliente P1 requiera atención ejecutiva, o cuando prepares un plan de retención interno. Produce un informe de escalada preciso con…

mohitagw15856/pm-claude-skills · 94 tokens

ai-assisted-performance-review

Evaluate performance fairly when output is AI-assisted — what still measures the human, what now measures the tooling, and how to run the review conversation. Use when reviewing someone whose work is heavily AI-assisted, when output volume stopped meaning anything, when calibrating a team with uneven AI adoption, or…

mohitagw15856/pm-claude-skills · 122 tokens