Headlong is a Bash-based agent microharness for running language-model agents in persistent, self-directed loops. People use it to create agents that maintain ongoing interests and projects, interact through shell commands, and share one stream of conversations across a team and chat services.
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.
npx skills add laude-institute/headlong --skill chatgit clone --depth 1 https://github.com/laude-institute/headlongWrote 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.
[](https://agentmods.dev/skills/laude-institute/headlong/chat)<a href="https://agentmods.dev/skills/laude-institute/headlong/chat"><img src="https://agentmods.dev/badge/skills/laude-institute/headlong/chat/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.
<a href="https://agentmods.dev/skills/laude-institute/headlong/chat"><img src="https://agentmods.dev/badge/skills/laude-institute/headlong/chat.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00010 | $0.01013 |
| Opus 5.5 | $0.00004 | $0.00405 |
| Sonnet 5.5 | $0.00002 | $0.00203 |
| Haiku 4.5 | $0.00001 | $0.00101 |
Grade A, and why
chat 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.
How it starts
The opening of the file, as written. The whole thing — 78 lines — stays where its author put it; the contents beside it link to each section on GitHub.
chat — Talking to humans
I can talk to humans and other AIs. I send and receive messages by way of my trajectory. Each message is a step in my trajectory.
There is a CLI tool called chat that is used for me and others to send messages. Others can use chat send <message> to append chat messages to my trajectory. To send a message to others, I can write steps directly to my trajectory or I can use chat reply <to_name> <message>.
Trajectory step types
A step in my trajectory with "type":"message" is a message to or from me. I know who it is from and to by looking at the step's to and from fields.
A message in my trajectory to me, i.e. my name, is someone talking to me.
A message in my trajectory from me, i.e. my name, is something I already said.
Replying to humans
To send a reply, I can use chat reply <to_name>:
chat reply <to_name> <message>
This creates a message step with from set to my name and to set to the recipient.
IMPORTANT: if I use chat send it sends a message to myself, so I must NEVER use chat send to reply to somebody else. I always use chat reply.
Reviewing conversation history
chat history [N] # show last N messages (default 20)
chat history --with <name> [--since 7d] # my whole conversation with one person
chat history --with <name> -n 50 --json # same, as JSON with timestamps
chat pending # requests the responder deferred to me that I have not delivered yet
chat sent [--since 24h] [-n N] [--json] # what I sent, newest first, with what the bridge reported back
--with groups a person across every name a bridge has used for them (a
Slack user's DM and every channel thread, a phone chat name), so it is the
way to check what someone and I said before, even days ago. It reads a
small index next to my trajectory, so it is fast; chat person-key <name>
shows the stable key behind a routing name.
Knowing what I already sent
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.
- 1mo ago Changed · +13 lines a3f9b92c2e1c
- 1mo ago Changed · +25 lines 8248abde4179
- 1mo ago First seen · 40 lines · 10 tokens per session scan A c886c9088db7
chat is a skill published in the GitHub repository laude-institute/headlong (1,227 stars, last pushed yesterday), licensed Apache-2.0. It adds 10 tokens to every session and 1,013 once invoked, about $0.0000 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.
Other skills, from other repositories
local-ai-agents
Build local-first AI agents that run entirely on a developer workstation with Microsoft Foundry Local and Qwen function-calling models. Covers Small Language Models (SLMs), the OpenAI-compatible local endpoint, sandboxed local tools, local RAG with Chroma, local MCP servers, hybrid cloud/local routing, and the…
systematic-debugging
Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.
next-cache-components-adoption
Turn on Cache Components in a Next.js app and resolve the blocking routes it surfaces. Use when the user wants to enable, adopt, or migrate to Cache Components, flip the cacheComponents flag, work through a flood of blocking-prerender / instant validation errors, run the cache-components-instant-false codemod, or…
chat-pet-sprite-creation
Use when creating or changing VS Code chat pet sprite art, sprite sheets, state animations, eye treatments, Stable/Insiders variants, or pet transitions under src/vs/workbench/contrib/chat/browser/widget/media/chatPet.
cpu-profile-analysis
Analyze V8/Chrome CPU profiles (.cpuprofile) and DevTools trace files (Trace-.json). Use when: profiling performance, investigating slow functions, comparing code paths, finding bottlenecks, analyzing timeToRequest, understanding call trees from sampling profiler data, analyzing layout/paint/rendering, investigating…
insight-error-page
Write or audit an insight-kind error page for the Next.js dev overlay. Use when creating a new errors/ .mdx page, auditing an existing one, or checking that a page matches the framework fix cards. Covers page structure, title alignment, FixCard cards with Copy prompt button, code snippets, terminology verification…