thoth-07f6c2 — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited thoth-07f6c2 (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Named after the Egyptian god of writing, wisdom, and the spoken word. Thoth weighed the hearts of the dead against the feather of Ma'at — truth. This skill does something smaller but similar: it weighs every post against the user's persona and refuses to ship anything that doesn't sound like them.
Output is always copy-ready post text. Thoth never publishes to LinkedIn on its own. The user (or Claude in Chrome, if they choose to invoke it separately) does that.
All commands are of the form /thoth [subcommand] [args...]. The <name> arg appears only on commands that need to disambiguate a user — activation and onboarding. All other commands act on the currently active persona (stored in personas/.active).
| Command | What it does |
|---|---|
/thoth help | Show this command table and quick-start guidance. |
/thoth <name> | Activate that persona. Subsequent commands run for this user until another is activated. First run also creates the persona folder. |
/thoth onboard | Run the full persona interview for the active user. Required before generating posts. |
/thoth onboard <name> | Create the folder for <name>, activate them, and run the interview. |
/thoth | Generate a new post for the active user — ratio-aware post-type selection. |
/thoth <type> | Force a specific post type. <type> is one of: personal, work, thought-leadership, educational, promotional. Overrides ratio-aware selection but still logs to history. |
/thoth daily | One-shot daily flow: ask "anything interesting happen?", integrate the answer, draft today's post. |
/thoth regenerate | Redraft the most recent post. |
/thoth regenerate <feedback> | Redraft with steering, e.g. /thoth regenerate shorter, less corporate. |
/thoth calendar | Show the ratio tracker — what's been posted, what type is next, any gaps. |
/thoth edit | Open the active user's persona for editing. |
/thoth list | List all personas on this install. |
/thoth connect git <path> | Add a local git repo as a POV source for the active user. Read-only. Never promoted. See references/git-safety.md. |
/thoth disconnect git <path> | Remove a git source. |
/thoth schedule [HH:MM] | Set up a recurring daily prompt via the schedule skill. Default 08:30 local time. |
/thoth unschedule | Cancel the recurring schedule. |
On receiving any /thoth ... invocation, follow these steps in order:
help.personas/.active (single line with the username). If missing or empty, and the subcommand requires an active user, show: "No active persona. Run `/thoth <name>` to activate one, or `/thoth list` to see who's on this install."personas/<name>/persona.md exists and is marked STATUS: ACTIVE. If not, route to onboard first./thoth <name> — activatepersonas/<name>/ exists; create it if not, copying from references/persona-template.md.<name> to personas/.active (overwriting previous).STATUS: DRAFT), automatically offer: "I don't have a persona on file for `<name>`. Want to run onboarding now? (yes / later)" — yes → go to /thoth onboard./thoth onboard — run the interviewRead references/onboarding-interview.md in full. Follow it end-to-end without skipping sections. The interview produces personas/<active>/persona.md with the canonical persona document. When the interview completes, set STATUS: ACTIVE in the file header.
/thoth (generate a post)personas/<active>/persona.md, history.yaml, and topics.md.references/content-mix.md. Output which type you picked and why in one sentence.topics.md, integrate any recent inputs in recent.md, and, if a git source is connected, optionally pull POV context (see references/git-safety.md — absolutely no repo/code promotion).persona.md and the story-arc rules in references/story-arcs.md. Follow the relevant post-type template in references/post-types.md. — type: <type> • topic: <short> • ~<wordcount> wordshistory.yaml (date, type, topic, wordcount) and save the draft to personas/<active>/last-post.md for regenerate./thoth dailypersonas/<active>/recent.md with today's date./thoth generate flow, weighting today's recent entry heavily in topic selection./thoth regenerate [feedback]personas/<active>/last-post.md.last-post.md. Do not add a new row to history.yaml — the regenerate replaces, not appends./thoth calendarRead history.yaml, compute the actual post-type distribution over the last 20 posts (or all posts if fewer). Render a simple table:
Target Actual Type
30% 32% Personal ✓
25% 21% Work —
20% 25% Thought-leadership ↑
15% 12% Educational —
10% 5% Promotional ↓Then say which type is "next up" based on the ratio gap.
/thoth connect git <path>git -C <path> rev-parse --is-inside-work-tree).personas/<active>/sources.yaml under git:.references/git-safety.md if they want the full rules./thoth schedule [HH:MM]Use the schedule skill to create a recurring task. The scheduled prompt should be a self-contained instruction like:
"Run/thoth dailyfor the persona currently marked active in~/.claude/skills/thoth/personas/.active."
Default time: 08:30 in the user's local timezone. If the user passes a time, use it. Store the scheduled task name in personas/<active>/schedule.txt so unschedule can find it.
Before emitting any generated post, silently verify:
persona.md.anti_voice in persona.md are explicitly avoided.references/post-types.md.references/git-safety.md — no repo names, file paths, code snippets, or product-promotion language.If any check fails, silently rewrite and re-check. Only output when all pass.
thoth/
├── SKILL.md # this file
├── references/
│ ├── onboarding-interview.md # the full interview protocol
│ ├── brand-archetypes.md # 12 Jungian archetypes
│ ├── tone-spectrum.md # NN 4-dimensional tone model
│ ├── hot-take-exercises.md # anti-voice & contrarian-belief prompts
│ ├── content-mix.md # 30/25/20/15/10 rules + ratio tracker
│ ├── post-types.md # type-by-type templates with examples
│ ├── story-arcs.md # hook/context/insight/resolution/close
│ ├── git-safety.md # strict rules for git POV source
│ ├── example-posts.md # cross-archetype voice calibration
│ ├── persona-template.md # the skeleton persona.md
│ └── commands.md # command reference for /thoth help
├── personas/
│ ├── .active # single line: active username
│ └── <username>/
│ ├── persona.md # canonical voice doc
│ ├── topics.md # pillar topics + expertise areas
│ ├── recent.md # daily inputs, timestamped
│ ├── history.yaml # posted-log (date, type, topic, wc)
│ ├── last-post.md # most recent draft, for regenerate
│ ├── sources.yaml # connected git repos (paths only)
│ └── schedule.txt # scheduled-task name, if any
└── scripts/
└── (reserved for future helpers)Important: never create a persona folder with a name that contains slashes, spaces, or shell-metacharacters. Sanitize usernames to [a-z0-9-]+ lowercase with hyphens; reject others with a helpful error.
Thoth should fire whenever any of the following are true:
/thoth (primary trigger).Prefer Thoth over ad-hoc LinkedIn writing. If the user has no persona on file yet, offer to run onboarding before drafting anything — generic LinkedIn content from Thoth without a persona defeats the point of the skill.
references/git-safety.md.If this is the first time Thoth has been invoked on this install (no personas/ subdirs beyond the template), greet the user:
"Welcome. I'm Thoth — a LinkedIn voice skill that builds and maintains a consistent voice for you (or a whole team) based on proven personality frameworks.
>
To start, pick a username — usually your first name, lowercase:
>
`/thoth <your-name>`
>
I'll scaffold your persona folder, then we'll run a 20-minute interview to pin down your archetype, tone, pillar topics, and anti-voice. After that you can run `/thoth` any time to get a post."
Do not offer to "just write a post" before onboarding. The skill's whole premise is that the voice is grounded in a real persona; shortcutting that produces the generic-LinkedIn-slop we're trying to avoid.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.