totem: Skill for Claude Code

.agents/skills/signon/SKILL.md

signon is a skill for Claude Code from mmnto-ai/totem. It costs 32 tokens per session (2,037 once invoked), scanned A, original, Apache-2.0.

A session-start procedure for an agent working in a coordinated engineering project. It reads the current project orientation and mail, checks that the information belongs to the right working seat, and derives next steps.

In plain words
What is it for?
It is for beginning a work session, checking journals and messages, reviewing open work and project state, and waiting for an operator decision before mutations or dispatches.
Why use it?
It reduces the risk of acting on stale, incomplete, or another operator's project information before making changes or sending instructions.

Skill for Claude Code

Written for Claude Code: SessionStart hook event. Also seen: installed under .agents/ (shared by several agents).

This is mmnto-ai/totem's own configuration. It tells Claude Code how to work on totem 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 totem configures →

Reuse

Borrowing it

Nothing to install: this file belongs to mmnto-ai/totem. 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/mmnto-ai/totem/main/.agents/skills/signon/SKILL.md
Clone the repo
git clone --depth 1 https://github.com/mmnto-ai/totem

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 signon

README.md
[![agentmods](https://agentmods.dev/badge/skills/mmnto-ai/totem/signon/github.svg)](https://agentmods.dev/skills/mmnto-ai/totem/signon)
Your own site
<a href="https://agentmods.dev/skills/mmnto-ai/totem/signon"><img src="https://agentmods.dev/badge/skills/mmnto-ai/totem/signon/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 signon

Your own site · 80×15
<a href="https://agentmods.dev/skills/mmnto-ai/totem/signon"><img src="https://agentmods.dev/badge/skills/mmnto-ai/totem/signon.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 32 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,037 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. Third-party audits
  • NVIDIA SkillSpector warn 7 Sept 2026
SkillSpector: 1 finding, up to high

These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →

  • high Prompt Injection · line 6
    Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.
    Fix: Audit all comments and invisible characters. Remove any instructions that direct the agent to perform unauthorized actions. Use plain, reviewable content.
How audits are shown
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.00032 $0.02037
Opus 5 $0.00016 $0.01019
Sonnet 5 $0.00006 $0.00407
Haiku 4.5 $0.00003 $0.00204

Measured 2d ago against content hash 752da08a2fec, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-10, from the pricing page.

Security

Grade A, and why

signon 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 2d 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/skills/signon/SKILL.md · 25 lines

How it starts

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

Session-start bring-up. Read-only — no mutations, no dispatches, no board edits until the operator rules on next steps (Proposal 295 d2: read-only orient + grounded next-work). Solo — no agent fleet (feedback_session_start_derive_cheaply: cheap derivation IS the validation dogfood).

  1. Derive the seat FIRST — before orient, before any journal read, before any knowledge search (mmnto-ai/totem#2801). Read the INHERITED TOTEM_SELF_AGENT this session was launched with; totem mail --derive-seat is the probe — one stdout line seat=<id> source=env and exit 0 when the inherited env names exactly one seat this repo hosts, otherwise a stderr refusal (exit 2) naming the supplied value (or unset) and every seat this repo hosts. Hosts means one thing everywhere: config.json host_agents, else the seat dirs, else the cohort map keyed on the origin repository — never the env you supplied, which is the thing being checked. Set → that is your seat: use it, and never write a different one. An inline TOTEM_SELF_AGENT=<seat> on any later command may only RESTATE the inherited value; writing a different seat over it silently re-points every step below at a seat that is not yours, and once overridden the tool can no longer see what you inherited — the operator's account is the only witness left. Set but REFUSED (the probe exits 2 while the env names a seat): your declaration and this repo disagree, so act as if you have no seat — put the refusal line itself in front of the operator, verbatim, and change nothing to make it pass; signon is read-only, so totem seat add is never run here. On a repo with no seat registration at all the refusal says the repo cannot CORROBORATE you, not that your seat is wrong: totem mail --as <your-seat> and a per-shell poll still serve your declaration, because a declaration on the command line is yours to make and this probe only checks one. Empty → STOP and ask the operator. Do not guess, do not fall back to the crown, do not derive a seat from the repo basename, the branch, or the only seat in sight; a bring-up on an unknown identity is worse than no bring-up. Report exactly one line and wait: Failure Mode: Hook-less session launched without TOTEM_SELF_AGENT set.

  2. Assignment mail before orient — poll since last signoff, seat-anchored. On a hook-less seat the order is fixed: assignment mail before orient, before any journal read, and before any knowledge search — an assignment can turn every one of those into a disclosure (step 2), and the managed hook derives neither the poll nor the journal for you (step 3). Poll AS YOUR SEAT: per-shell TOTEM_SELF_AGENT=<your-seat> (the mmnto-ai/totem#2629 scope ruling — never user/machine scope; prefer the inline form TOTEM_SELF_AGENT=<seat> totem mail where shell state does not persist between tool calls, and on a session whose step-0 env is already set that inline form RESTATES that seat and never another) or totem mail --as <your-seat>. S0 identity check: the banner's Self agents: line must name exactly your seat. Since @mmnto/cli 1.117.0 an identity-less multi-seat poll gates itself (broadcast-only serve, directed mail withheld as a count, exit 2 — the mmnto-ai/totem#2204 deterministic floor), so the residual S0 catches is the WRONG-single-identity class: a mis-scoped or inherited env naming a foreign seat resolves single-seat, ungated, and serves that seat's directed mail. A banner naming a FOREIGN seat = STOP: act on nothing served, propagate nothing from it, fix the identity, re-poll. A GATED poll's LISTING is broadcast-only by construction — but warning lines can still name an unclassifiable or unresolvable file (an ECL basename is recipient + compressed subject — the CLI's named limit), so propagate nothing from a gated poll's warnings either: fix the identity and re-poll for your directed mail. An Error: line is the same surface: since the mmnto-ai/totem#2685 fix a poll whose OWN outbox (one this repo hosts for a resolved seat) carries a dispatch with an unresolvable to: exits 4 (SENDER FAULT) — the verdict IS derived, read it, but the to: is yours to fix first (one recipient per dispatch, or broadcast; a comma list is never a recipient), and propagate nothing from the fault line; exit 2 stays NOT-DERIVED and wins when both hold. Unread = inbound − handled: consumption is tracked by processed/ marks (feedback_check_outbox_before_replying), so the CLI path needs no cutoff stamp. Read every hit before proceeding — new mail can reprioritize everything below. (Fallback — a seat that must stamp-poll instead derives the cutoff from the newest journal's CONTENT date, the filename stamp or frontmatter, never file mtime, which git resets on clone/worktree and silently reports "inbox clean" over waiting mail; mmnto-ai/totem-strategy#813.)

Read the full file on GitHub · 25 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. 2d ago Changed · +4 lines 752da08a2fec
  2. 11d ago First seen · 21 lines · 32 tokens per session scan A 945bcaee4e17

Subscribe to this mod's changes

signon is a skill published in the GitHub repository mmnto-ai/totem (17 stars, last pushed yesterday), licensed Apache-2.0. It adds 32 tokens to every session and 2,037 once invoked, about $0.0002 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-30.

Related

Other skills, from other repositories

cn-check

Install and run the Continue CLI (cn) to execute AI agent checks on local code changes. Use when asked to "run checks", "lint with AI", "review my changes with cn", or set up Continue CI locally.

continuedev/continue · 49 tokens

printing-press-output-review

Internal sub-skill: agentic review of a printed CLI's sampled command output for plausibility issues that rule-based checks can't encode (substring-match relevance, format bugs, silent source drops, ranking failures). Invoked via the Skill tool by the main printing-press skill at Phase 4.85 and printing-press-polish…

mvanhorn/cli-printing-press · 102 tokens

review

Validate plans, execution, or PRs against wish criteria — returns SHIP / FIX-FIRST / BLOCKED with severity-tagged gaps.

automagik-dev/genie · 29 tokens

review

Adversarial fresh-context review of an increment before it ships. Every finding cites path:line and is re-verified. Use when saying "review", "grill this", or "critique the implementation".

anton-abyzov/specweave · 43 tokens

genie-orca-review

Independent, read-only review of a group, a wish, or a PR on Orca — SHIP / FIX-FIRST / BLOCKED with severity-tagged findings. Council and retro are this skill with a different input.

automagik-dev/genie · 50 tokens

argot-check

Score your working changes with argot — flag code foreign to this repo's own patterns (unfamiliar dependencies, APIs, constructs), functions the repo already has, code filed in the wrong place, imports that break the repo's layering, and tests weakened, disabled, or deleted alongside a production change — before…

get-tmonier/argot · 110 tokens