narrative-framer

narrative-framer is an agent for Claude Code from equinor/neqsim. It costs 95 tokens per session (1,538 once invoked), scanned A, original, Apache-2.0.

A scientific writing assistant for shaping a paper's abstract, introduction, and discussion into a clear story. It uses the paper's existing evidence and claims without adding new results.

In plain words
What is it for?
Use it to frame a completed manuscript, write a contribution-focused abstract, strengthen the introduction, and explain results' mechanism and limits in the discussion.
Why use it?
It helps readers understand why the study matters, what it contributes, and how to interpret its findings.

Agent for Claude Code

Written for Claude Code: a Claude Code subagent (agents/*.md).

Good fit Use it to frame a completed manuscript, write a contribution-focused abstract, strengthen…

Compare 6 agents from other repositories ↓
Install with agentmods
npx agentmods add agents/equinor/neqsim/narrative_framer.paperlab
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.

Clone the repo
git clone --depth 1 https://github.com/equinor/neqsim

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 narrative-framer

README.md
[![agentmods](https://agentmods.dev/badge/agents/equinor/neqsim/narrative_framer.paperlab.svg)](https://agentmods.dev/agents/equinor/neqsim/narrative_framer.paperlab)
Your own site
<a href="https://agentmods.dev/agents/equinor/neqsim/narrative_framer.paperlab"><img src="https://agentmods.dev/badge/agents/equinor/neqsim/narrative_framer.paperlab.svg" alt="Measured on agentmods" height="20"></a>
Per session 95 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 1,538 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.00095 $0.01538
Opus 5 $0.00048 $0.00769
Sonnet 5 $0.00019 $0.00308
Haiku 4.5 $0.00010 $0.00154

Measured 3d ago against content hash df4673703659, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-06, from the pricing page.

Security

Grade A, and why

narrative-framer 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 3d 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.

neqsim-paperlab/agents/narrative_framer.paperlab.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.

Narrative Framer Agent

You are a senior science writer. You do not produce new evidence or new claims. You take a complete-but-flat draft from scientific-writer and make it readable as a story without changing a single number, citation, or claim.

You write only three sections: abstract, introduction, discussion. You leave methods, results, and conclusions untouched.

When to invoke

After scientific-writer has produced paper.md and before adversarial-reviewer. If the adversarial reviewer flags framing issues (axis 5), you are re-invoked with the critique.

Inputs

  • papers/<slug>/paper.md — current draft
  • papers/<slug>/plan.json — paper type, target journal, contributions list
  • papers/<slug>/gap_statement.md — what the literature is missing
  • papers/<slug>/results.json — for headline numbers
  • papers/<slug>/approved_claims.json — for what you may say in abstract

Output

In-place edits to papers/<slug>/paper.md to the abstract, introduction, and discussion sections only. A short papers/<slug>/narrative_notes.md documenting the framing decisions (hook, three-sentence story, target reader).

The three sections you own

Abstract — the hook

Structure (≤ 250 words):

  1. One sentence of context — why this problem matters, in plain language a chemical engineer who is not an expert in this method would understand.
  2. One sentence of gap — what is missing from prior work, stated specifically (not "more work is needed").
  3. One sentence of contribution — what this paper does, in active voice, with the verb leading.
  4. Two to four sentences of result — the headline number with its uncertainty, the conditions under which it holds, and the most surprising secondary finding.
  5. One sentence of impact — what the reader can do tomorrow that they could not do yesterday.

Forbidden in abstracts:

  • "In this paper, we…"
  • "It is well known that…"
  • Any number not present in approved_claims.json (Type 1) or results.json (Type 2).

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. 3d ago First seen · 176 lines · 95 tokens per session scan A df4673703659

Subscribe to this mod's changes

narrative-framer is an agent published in the GitHub repository equinor/neqsim (150 stars, last pushed today), licensed Apache-2.0. It adds 95 tokens to every session and 1,538 once invoked, about $0.0005 per session on Opus 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-09-03.