Huginn, Odin's raven of thought: matches model and effort to each step. Skills that set the effort for the rest of the turn without breaking the prompt cache…

My Claude Code mods in one marketplace. /mods opens one pane with a tab per mod: no per-mod slash commands to remember.
| Mod | Source | What it does |
|---|---|---|
| mods | tauantcamargo/claude-mods-hub (fork of mvacoimbra's, plus a Muninn tab) | The /mods pane |
| muninn | plugins/muninn | Muninn, Odin's raven of memory: your ai-memory in a /muninn pane and a /mods tab (the project's memory, the last handoff, search, recent pages), a count in the status line and a toast when a handoff arrives. Also for the Codex app, below |
| huginn | plugins/huginn | Huginn, Odin's raven of thought: matches model and effort to each step. /huginn:deep (xhigh), /huginn:quick (low) and /huginn:max (max) set the effort for the rest of the turn and keep the prompt cache; the huginn:light, huginn:deep and huginn:max subagents take delegated work on Sonnet, Opus and Fable; a session-start policy tells Claude when to use which, and a ᚺ deep·xhigh chip in the status line shows the tier until the next prompt |
| cache-tax | mvacoimbra fork | Keeps the prompt cache warm (costs tokens) |
| skins | mvacoimbra fork | Themes and richer tool rows |
| filetree | mvacoimbra fork | File tree of what Claude touches |
| savvy-progress | mvacoimbra fork | Subagent progress and agents panel |
| replay-theater | mvacoimbra fork | Replay the last turn's edits |
| blast-radius | mvacoimbra/claude-code-playground | Holds risky shell commands for confirmation |
| reflect-mod | mvacoimbra/claude-reflect | Saves your corrections to CLAUDE.md |
claude plugin marketplace add tauantcamargo/claude-mods
claude plugin install mods@tauan-mods
claude plugin install muninn@tauan-mods
claude plugin install huginn@tauan-mods
claude plugin install cache-tax@tauan-mods
claude plugin install skins@tauan-mods
claude plugin install filetree@tauan-mods
claude plugin install savvy-progress@tauan-mods
claude plugin install replay-theater@tauan-mods
claude plugin install blast-radius@tauan-mods
claude plugin install reflect-mod@tauan-mods
Restart Claude Code, then open /mods. Uninstall the same mods from their original marketplaces first so nothing loads twice.
The same marketplace serves Codex (.agents/plugins/marketplace.json). Muninn there is an MCP App (codex/muninn): the Codex app draws its panel, and the $muninn skill points Codex at it.
codex plugin marketplace add tauantcamargo/claude-mods
codex plugin add muninn@tauan-modshooks/register.ts 32 lines1import type { Register } from 'claude-code'
2
3// Huginn, Odin's raven of thought: a chip in the status line naming the tier a huginn skill set
4// (`ᚺ deep·xhigh`). The skill's effort lasts for the rest of the turn, so the chip goes on the
5// next prompt. Skills, subagents and the session-start policy need no code; this is all of it.
6
7const PLUGIN = 'huginn'
8const RUNE = 'ᚺ'
9
10export const register: Register = on => {
11 on('skill.prompt', async ($, e, next) => {
12 const done = await next(e)
13 const ours = e.pluginName === PLUGIN || e.skill.startsWith(`${PLUGIN}:`)
14
15 if (ours) {
16 const tier = e.skill.slice(e.skill.lastIndexOf(':') + 1)
17 const effort = typeof e.frontmatter.effort === 'string' ? e.frontmatter.effort : undefined
18 $.ui.status(effort ? `${RUNE} ${tier}·${effort}` : `${RUNE} ${tier}`)
19 }
20
21 return done
22 })
23
24 // A typed `/huginn:deep` passes here before the skill expands, so its own chip survives.
25 // Never in a prompt's way: should clearing fail, the prompt goes on as sent.
26 on('prompt.submit', async ($, e, next) => {
27 $.ui.status(undefined)
28
29 return next(e)
30 }).catch(($, e, next) => next(e))
31}
32