scribe
Use when drafting board updates, emails, LinkedIn posts, or talks in the operator's voice, building or evolving a voice profile from their best writing…
Skill by sciknow-io
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/sciknow-io-scribe
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: testing, writing
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Python package
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/scribe
What's inside
- Skill name
scribe- Description
- Use when drafting board updates, emails, LinkedIn posts, or talks in the operator's voice, building or evolving a voice profile from their best writing, audience-testing a draft against reader personas, or iterating on a piece with dimension-scored feedback
- License
- MIT
- Instructions
- 274 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
Files (23)
- plugin.json · .claude-plugin/
- .python-version
- .standalone-db
- SKILL.md
- persona-cards.tsx · dashboard/components/
- pieces-board.tsx · dashboard/components/
- score-trajectory.tsx · dashboard/components/
- voice-profile-panel.tsx · dashboard/components/
- lib.ts · dashboard/
- page.tsx · dashboard/pages/scribe/
- page.tsx · dashboard/pages/scribe/piece/[id]/
- route.ts · dashboard/routes/personas/
- route.ts · dashboard/routes/piece/[id]/
- route.ts · dashboard/routes/pieces/
- route.ts · dashboard/routes/profile/
- hub.yaml · dashboard/views/
- piece.yaml · dashboard/views/
- hooks.json · hooks/
- pyproject.toml
- quality-checks.yaml
- schema.tql
- scribe.py
- skill.yaml
SKILL.md (first lines)
# Scribe — The Communication Expert
Writing in *your* voice for *your* audience is the widest gap between basic and
advanced AI use. Scribe closes it with three assets: a **voice profile** built
from your best writing plus aspirational samples, **audience personas** that
review every draft, and **dimension-scored feedback** instead of "I don't like
it". The bar is "sounds exactly like you"; the failure mode is
generic-pleasant-forgettable.
**Key principle:** the script stores and queries; Claude does the sensemaking —
the linguist analysis, the drafting in voice, the persona role-play, and the
scoring. Follow [operating-principles.md](../../docs/operating-principles.md):
primer notes, interview-first, plan/execute split, and explicit
⏸ OPERATOR CHECKPOINT moments.
---
## 1. Quick Start
```bash
# All commands: uv run python skills/scribe/scribe.py <command> --flags
CLI="uv run python skills/scribe/scribe.py"
# Store your best writing
$CLI add-sample --name "Q3 board update" --kind own --doc-type board-update \
--content-file q3-update.md --why-it-works "Landed a hard message without spin"
# Create the voice profile
$CLI create-profile --name "Default Voice"
# Define a reader persona
$CLI add-persona --name "Skeptical board member" \
--cares-about "runway, focus, evidence over narrative" \
--skeptical-of "hockey-stick projections, adjectives without numbers" \
--action-drivers "a clear ask with a deadline" \
--reading-context "board packet, 20 pieces to read, 90 seconds each"
# Open a piece — ALWAYS capture the primer
$CLI create-piece --name "Series B announcement email" --type team-email \
--goal "Team feels momentum, nobody worries about dilution" \
--primer "ok so the thing I keep coming back to is..." \
--targets persona-abc123 persona-def456
# Draft → review → score → iterate
$CLI add-draft --piece piece-xyz --content-file draft1.md
$CLI add-review --draft draft-1a2b --persona persona-abc123 --would-act no \
--content "Clear until para 3. I'd stop at the dilution hand-wave. Missing: the number."
$CLI add-scores --draft draft-1a2b --clarity 7 --concision 5 --voice 8 --persuasion 6 --overall 6 \
--content "Structure is right. Paras 3-4 hedge; cut 40% and state the dilution number plainly."
```
**Command output pattern:** every command emits a single JSON object to stdout;
`report-piece` emits Markdown. `uv run` emits a `VIRTUAL_ENV` warning to stderr —
always use `2>/dev/null` when piping output to a JSON parser, never `2>&1`.
---
## 2. Voice Profiling Workflow
The goal: a living style guide that captures how the operator actually writes —
and how they *want* to write.
**⏸ OPERATOR CHECKPOINT — collect the corpus.** Ask the operator for their best
writing across doc types: board updates, team emails, LinkedIn posts, talks,
essays. "Best" means *they* are proud of it, not that it performed well. Store
each with `add-sample --kind own --doc-type ... --why-it-works ...`. Ask why
each one works — that answer is data.
**Agent-as-linguist analysis.** Read every `own` sample and write an analysis
that names the patterns the operator cannot articulate about themselves:
- **Rhythm** — sentence length variance, where they punch short, where they run long
- **Sentence structure** — fronting habits, clause stacking, fragment tolerance
- **Rhetorical preferences** — how they open, how they land an ask, humor register,
concrete-vs-abstract ratio, favorite pivots ("but here's the thing")
- **Tells** — words and constructions that make text unmistakably theirs
Store it: `add-analysis --about <profile-or-sample-id> --content-file analysis.md`.
**Aspirational samples.** Ask which writers the operator admires and store
excerpts with `--kind aspirational`. This is not copying — it's augmentation
toward how they *want* to sound. Analyze what the admired writing does that the
operator's doesn't yet.
**Merge into the living style guide.** Synthesize own-analysis + aspirational
gaps into a style guide (concrete rules with examples, not adjectives) and save
it with `create-profile --guide-file` or `update-profile --guide-file`.
**⏸ OPERATOR CHECKPOINT — approve the guide.** Walk the operator through it.
When they say "yes, that's me / that's who I want to be", set
`update-profile --status active`. The guide is *living*: after pieces ship,
fold in what the operator edited by hand (`--status evolving` while reworking).
---
## 3. Audience Personas
Every piece is written *for someone*. Build detailed reader personas — not
demographics, but decision psychology:
- `--cares-about` — what this reader actually cares about
- `--skeptical-of` — what triggers their doubt
- `--action-drivers` — what makes them act rather than nod
- `--reading-context` — where/when/how they read (phone at 11pm; board packet
among 20 others; LinkedIn feed at half-attention)
Interview the operator to build these — they know their readers; the personas
make that knowledge executable. Reuse personas across pieces via
`--targets` / `--add-target`.
---
## 4. Piece Workflow
Statuses: `planning → drafting → persona-review → operator-review → final → shipped`.
1. **Create (⏸ OPERATOR CHECKPOINT — primer).** `create-piece --primer "..."`.
The primer is the operator's messy brain dump — voice-dictated is ideal.
Never require structure; never skip it. Link `--targets` personas.From sciknow-io/alhazen-skill-personal-assistant, MIT.
More from sciknow-io/alhazen-skill-personal-assistant
- 0.507score
advisor
sciknow-io
Use when facing a strategic or sensitive decision you can't yet take to the board or the team, when you need a no-ego sounding board, when you want a…
SkillCFreshness: C★ 2Claude Code +9 - 0.507score
analyst
sciknow-io
Use when researching a question that serves a decision, running market/competitive/internal research, verifying AI-generated research, or aggregating…
SkillCFreshness: C★ 2Claude Code +9 - 0.507score
chief-of-staff
sciknow-io
Use when the operator asks for a cross-cutting view of everything in flight — daily agenda, weekly review, "what needs me today", or orchestration across the…
SkillCFreshness: C★ 2Claude Code +9 - 0.507score
ops
sciknow-io
Use when the operator wants a morning brief, meeting prep, stakeholder context before a meeting, commitment tracking, a new recurring report/monitor designed…
SkillCFreshness: C★ 2Claude Code +9 - 0.495score
career
sciknow-io
Manage your career graph — people, collaborators, projects, and potential new positions — plus the opportunity pipeline, skill gaps, and learning plan
SkillCFreshness: C★ 2Claude Code +9
Signals
- Stars
- 2
- Forks
- 1
- Open issues
- 0
- Last commit (this folder)
- Jul 5, 2026 (3 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from sciknow-io
- 0.554score
agentic-memory
sciknow-io
TypeDB-backed ontological memory with schema-driven retrieval.
SkillCFreshness: C★ 24Claude Code +9 - 0.554score
alhazen-core
sciknow-io
REQUIRED FIRST — starts TypeDB + dashboard via Docker, loads the Alhazen base schema.
SkillCFreshness: C★ 24Claude Code +9 - 0.551score
curation-skill-builder
sciknow-io
Design and implement TypeDB-backed curation skills using the Skillful Alhazen methodology
SkillCFreshness: C★ 24Claude Code +9 - 0.551score
typedb-notebook
sciknow-io
Store and retrieve knowledge in the Alhazen TypeDB knowledge graph - remember, recall, organize papers and notes
SkillCFreshness: C★ 24Claude Code +9 - 0.551score
web-search
sciknow-io
Search the web using SearXNG (self-hosted metasearch - no API key needed)
SkillCFreshness: C★ 24Claude Code +9 - 0.544score
your-domain-name
sciknow-io
Brief description of what this skill does
SkillCFreshness: C★ 24Claude Code +9
Cite this page
scribe skill. Agent Mart. https://agentmart.dev/skills/sciknow-io-scribe (last updated 2026-10-24)