humla: Instructions file for Codex

AGENTS.md

humla AGENTS.md is an instructions file for Codex, OpenCode from michaelwilhelmsen/humla. It costs 6,852 tokens per session, scanned A, original, MIT.

Project instructions for Humla, a personal macOS meeting-notes app. The app records microphone and system audio, transcribes them, and combines the transcripts with typed notes into an AI summary.

In plain words
What is it for?
Use them when changing or troubleshooting Humla's recording, audio chunking, transcription, diarization, notes, or summary features. They also describe its local SQLite storage and use of personal API keys.
Why use it?
They give an agent the project context needed to work safely with its local data, audio streams, transcription flow, and architecture. This is especially useful because microphone and system audio are handled separately.

Instructions file for CodexOpenCode

Written for Codex and OpenCode: the file is AGENTS.md.

This is michaelwilhelmsen/humla's own configuration. It tells Codex and OpenCode how to work on humla itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything humla configures →

Reuse

Borrowing it

Nothing to install: this file belongs to michaelwilhelmsen/humla. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.

Copy the file
curl -O https://raw.githubusercontent.com/michaelwilhelmsen/humla/main/AGENTS.md
Clone the repo
git clone --depth 1 https://github.com/michaelwilhelmsen/humla

Made for: Codex, OpenCode.

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 humla AGENTS.md

README.md
[![agentmods](https://agentmods.dev/badge/instructions/michaelwilhelmsen/humla/agents-md/github.svg)](https://agentmods.dev/instructions/michaelwilhelmsen/humla/agents-md)
Your own site
<a href="https://agentmods.dev/instructions/michaelwilhelmsen/humla/agents-md"><img src="https://agentmods.dev/badge/instructions/michaelwilhelmsen/humla/agents-md/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 humla AGENTS.md

Your own site · 80×15
<a href="https://agentmods.dev/instructions/michaelwilhelmsen/humla/agents-md"><img src="https://agentmods.dev/badge/instructions/michaelwilhelmsen/humla/agents-md.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 6,852 This file is loaded in full into every session.
When invoked 6,852 The same file — it is already loaded in full.
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.06852 $0.06852
Opus 5.5 $0.02741 $0.02741
Sonnet 5.5 $0.01370 $0.01370
Haiku 4.5 $0.00685 $0.00685

Measured 1mo ago against content hash 18a51b8d7fa7, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

humla AGENTS.md 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 1mo ago.

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.

AGENTS.md · 270 lines

How it starts

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

Humla — project notes

What this app is

Humla is a personal macOS meeting-notes app inspired by Granola. You take freeform notes during a meeting; in parallel, the app records mic + system audio, transcribes the call, and produces a structured AI summary that fuses your notes with the transcript. Built for personal/small-team use, not SaaS — your data, your API keys, local SQLite, no backend.

The name is Norwegian for "bumblebee" (think: small, hum, personal).

Core capabilities

  • Hybrid capture (parallel streams) — mic input + macOS system audio recorded simultaneously via a Swift sidecar, kept as two separate streams end-to-end (no mixdown). Each gets its own VAD-bounded chunk WAVs, its own full.wav, its own Whisper invocations with its own initial_prompt trail context, and its own diarization treatment. In-person meetings produce only mic chunks (system stays silent → no chunks emitted) and the diarizer runs on the mic stream so multiple humans in the same room get distinct labels. Remote calls produce both streams: mic chunks get tagged "You" by channel attribution (no diarize needed — every mic chunk is the same person) and system chunks get diarized for remote-side speakers.
  • Two transcription providers — pick per-note between OpenAI (Whisper / gpt-4o-transcribe / gpt-4o-mini-transcribe / gpt-4o-transcribe-diarize) or on-device Whisper via Metal.
  • Whisper quality preset — Fast (greedy, snappy) / Balanced (beam=3) / Quality (beam=5, low no_speech threshold) for the local provider; bundles sampling strategy + confidence thresholds together so the user picks one knob.
  • Per-note transcription language — global Settings → Language is the default for new notes; each note has its own language chip that overrides for that note.
  • Offline speaker diarization on stop — a second Swift sidecar (speaker-diarize, FluidAudio CoreML) runs after recording_stop. Uses FluidAudio's OfflineDiarizerManager (community-1 segmentation + VBx clustering with PLDA) — the upgrade from the 3.1-based streaming DiarizerManager we used initially. Branches on which streams produced content: in-person mode (mic-only) diarizes mic_full.wav and emits Speaker 1: / Speaker 2: for the room's voices; remote/hybrid mode (both streams have content) labels every mic chunk You: and runs the diarizer only on sys_full.wav to separate remote-side speakers. Picked over streaming online ID because the streaming path drifts on long recordings (the failure mode that drove the switch was a 13-min 2-speaker call producing 9 speakers) and because community-1 counts/assigns speakers more accurately on dense single-mic captures (e.g. in-person meetings where everyone shares the same acoustic context).
  • Speaker rename + colour-coded pills — each unique speaker gets one of four semantic colours from the design tokens (interactive blue, success green, warning gold, accent red, cycling for 5+). A chip strip above the transcript lets the user click any speaker to rename inline; rename is a regex line-anchored rewrite of the transcript text — no separate metadata table.
  • Two-source summaries — the model gets [Notater] (your typed notes) and [Transkripsjon] (the meeting transcript) as separate inputs, with a system prompt that tells it to favour your notes for intent and the transcript for facts.
  • Per-note presets — Meeting / 1:1 / Lecture / Interview / Brainstorm / Voice memo, each with its own summary prompt. Custom prompts also supported.
  • Custom vocabulary — a per-user list of names, tech terms, and phrases sent as part of Whisper's initial_prompt to bias decoding toward those tokens.
  • Trailing transcript context — every chunk's transcription receives the last ~150 committed words alongside the custom vocabulary as Whisper's initial_prompt, so decoding stays anchored to the conversation rather than treating each chunk as a cold start. Single biggest mitigation against silence-driven hallucinations and proper-noun drift across the meeting.
  • VAD-bounded chunks — the audio-capture sidecar rotates each chunk at natural speech pauses (min 1.0 s / max 15 s / 500 ms silence trigger) instead of a fixed timer, so chunk boundaries land mid-pause rather than mid-word.
  • Reasoning-model temperature handling — gpt-5.x and o-series models reject custom temperature; openai::summarize detects them via is_reasoning_model() and omits the parameter, while keeping temperature=0.2 for traditional chat models.
  • Folders — flat folder list, per-note assignment, search across titles/bodies/transcripts/folder names with auto-expand on hits.
  • Click-to-edit transcript — styled view by default with coloured pills + plain text; clicking enters a textarea for edits. Locked while a recording is in flight to avoid clobber.

Read the full file on GitHub · 270 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. 1mo ago Changed · +2 lines · +114 tokens per session 18a51b8d7fa7
  2. 2mo ago First seen · 268 lines · 6,738 tokens per session scan A 8103cb782f5c

Subscribe to this mod's changes

humla AGENTS.md is an instructions file published in the GitHub repository michaelwilhelmsen/humla (339 stars, last pushed 5d ago), licensed MIT. It adds 6,852 tokens to every session, about $0.0274 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-30.

Related

humla AGENTS.md compared with instructions from other repositories

humla AGENTS.md next to 6 instructions from other repositories
ModTypeStarsLast pushLicenceScanTokensWorks with
humla AGENTS.mdmichaelwilhelmsen/humlaInstructions file3395d agoMITA6,852Codex, OpenCode
vscode buildNext.instructions.mdmicrosoft/vscodeInstructions file195kyesterdayMITA9,719GitHub Copilot
next.js AGENTS.mdvercel/next.jsInstructions file143ktodayMITA7,461Codex, OpenCode
langchain AGENTS.mdlangchain-ai/langchainInstructions file149kyesterdayMITA4,680Codex, OpenCode
vscode oss-third-party-notices.instructions.mdmicrosoft/vscodeInstructions file195kyesterdayMITA5,516GitHub Copilot
vscode copilot-instructions.mdmicrosoft/vscodeInstructions file195kyesterdayMITA3,093GitHub Copilot
deepseek-harness AGENTS.mddeepseek-ai/deepseek-harnessInstructions file274k2d agoMITA4,313Codex, OpenCode