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 iBrain-BVBA/gutt-claude-code-plugin --skill story-creationgit clone --depth 1 https://github.com/iBrain-BVBA/gutt-claude-code-pluginWrote 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/ibrain-bvba/gutt-claude-code-plugin/story-creation)<a href="https://agentmods.dev/skills/ibrain-bvba/gutt-claude-code-plugin/story-creation"><img src="https://agentmods.dev/badge/skills/ibrain-bvba/gutt-claude-code-plugin/story-creation.svg" alt="Measured on agentmods" height="20"></a>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.00161 | $0.02898 |
| Opus 5 | $0.00081 | $0.01449 |
| Sonnet 5 | $0.00032 | $0.00580 |
| Haiku 4.5 | $0.00016 | $0.00290 |
Grade A, and why
story-creation 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 8d 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 — 215 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Story Creation & Management
The distance between "we agreed this in a meeting" and "a developer can start" is a story someone still has to write. This skill writes it — from a transcript, a page, or a sentence — and keeps it honest once filed: drafts that cite where each claim came from, acceptance criteria a reviewer could check, dependencies named in Jira's own vocabulary, and edits that change exactly what the user meant to change. Everything is a proposal until the user approves it; Jira is written to only then.
Underneath, memory-search owns the search ladder and the relevance gate,
graph-traversal owns relationship walking when a summary names a thing without
stating it, and memory-capture owns any durable write; all three ship with the
gutt-pro plugin (this plugin depends on it) — without them, follow the rules
below and note the gap in one line. Jira access comes from whatever Atlassian
tooling the session surfaces; find it in your tool list — names and prefixes
vary per install.
Hard rules (non-negotiable — read first)
- Jira writes exist here, and every one is gated. Stories are created, and fields edited, only when the user asks for that in this session and approves the exact content as it will be written — per story, or as an explicitly named batch. A batch counts as named only where the text the user reads before answering carries every draft and what happens to each — a count or a label standing for them is not that text. Creating and editing issues is outward-facing and not undone by an apology: approval is the gate, and silence is not approval. The one other permitted write is a comment, drafted and posted only after the user approves the exact text. Write markdown and set the tool's content-format parameter to markdown when it exposes one.
- Every draft cites its source, and gaps stay visible — a dismissal is a claim too. Each draft names where it came from — the transcript passage, the page section, the user's ask. What the source does not say is not invented to round a story out: it goes under open questions, in the draft, where refinement can see it. A plausible detail with no source is the costliest failure here, because it reads exactly like the real thing. Deciding not to draft something carries the same bar: already built, already decided, already filed — each cites what establishes it, and code having shipped is not the tracker agreeing. Where the evidence came back partial — truncated by an output limit, narrowed to one field or one subject — the scope goes inside the claim rather than a footnote under it, because a narrowed search cannot support an absence. A wrong dismissal drops the work silently; a wrong draft only earns a comment.
- Editing is a diff against the fetched story, never a rewrite — and the diff is shown before the write, always. Read the story as it stands before proposing changes. The proposal shows each field — what it says now, what it would say, and why — and touches nothing the user did not ask about. A one-field change that arrives as a regenerated description resets wording the team already argued over. An ask that already spells out both the old and the new value does not retire the step: only the fetched story settles whether the old value is still what the field says, and the diff is the last place a wrong target or a stale value is visible. Going from fetch straight to write leaves the tool's own confirmation prompt as the only checkpoint, which is not one this skill gets to rely on.
- Acceptance criteria are checkable or the draft says why not. Each criterion states an observable outcome someone other than the author could verify. Where the source does not support one, the draft carries the open question rather than a vague criterion dressed as a testable one.
- Work from a captured copy of the source. Take the transcript or page once — pasted or fetched — and draft against that copy. Live re-reads per draft multiply cost and drift; fetch again only when the user says the source changed.
- Every read passes explicit
group_ids, starting with the first one. Take the org group's name from session results or ask; never guess one, and treat scope as server-decided. Where the session has surfaced no group yet, ask before the first read rather than running one unscoped and repairing after. An omittedgroup_idsdoes not mean the org group — it means an unspecified set that includes personal scope, and the opening pass, made before there is anything to check results against, is where that goes unnoticed. Scope is then checked again at the output: nothing from another client's engagement enters a draft or a filed story; personal-scope material stays in the in-session proposal, marked as personal. Bare tool names, probed with ToolSearch before concluding one is missing; themcp__…__prefix varies per install. - Memory writes go through
memory-capture— and accepted stories are worth one. Once the user has approved and the stories are filed, offer to capture the outcome — what was asked, what was created, the keys — throughmemory-capture's gate into the engagement's own group, chosen deliberately on rule 6's never-guess terms and targeted by whatever meansmemory-capturesays targets it. Rejected drafts are not captured; they were proposals. - Issue types, fields, and link names come from the organization, not from this skill. Read what the project actually exposes before drafting to it: its issue types, the fields its create screen carries, the link types the instance defines. Never hardcode one and never assume a shape exists because it is common; where what a draft needs is not exposed, say so and draft to what is.
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.
- 8d ago First seen · 215 lines · 161 tokens per session scan A 0e21644a0d24
story-creation is a skill published in the GitHub repository iBrain-BVBA/gutt-claude-code-plugin (5 stars, last pushed 6d ago), licensed MIT. It adds 161 tokens to every session and 2,898 once invoked, about $0.0008 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-08-31.
Other skills, from other repositories
recipe-create-meet-space
Create a Google Meet meeting space and share the join link.
workthreads
SpecStory Workthreads - a weekly work-thread rollup across a team's repos from SpecStory coding histories (any agent - Claude Code, Codex, Cursor, Gemini, and more). It groups the window's sessions into threads of work per project and labels each new / open / recently closed, so a lead sees what shipped, what is still…
atmos-config
Atmos root configuration: atmos.yaml discovery, precedence, deep merging, basepath, imports, minimal bootstrap, and routing to narrower Atmos skills.
story-readiness
Validate that a story file is implementation-ready. Checks for embedded GDD requirements, ADR references, engine notes, clear acceptance criteria, and no open design questions. Produces READY / NEEDS WORK / BLOCKED verdict with specific gaps. Use when user says 'is this story ready', 'can I start on this story', 'is…
autotask-creator
Rules for automation CRUD from the group-chat commander. The commander does not call mutation tools and does not edit cloud/autotasks files directly. It emits one or more top-level ... containers in its final text; the bus parses and applies them after the turn.
monorepo-management
Master monorepo management with Turborepo, Nx, and pnpm workspaces to build efficient, scalable multi-package repositories with optimized builds and dependency management. Use when setting up monorepos, optimizing builds, or managing shared dependencies.