CtrlK
BlogDocsLog inGet started
Tessl Logo

voice-dossier-builder

Use when the user asks to "codify how our founder sounds", "build a founder voice dossier", or "set our content pillars"; runs an 80%-extraction interview over the user's OWN posts, emails, and decks (never competitor scraping, never an invented persona) and produces the versioned voice record — a per-platform register map (incl. 小红书/微信公众号), banned phrases, per-context disclosure lines (the ECHO C2 upstream), a few-shot bank built exclusively from own posts, and 3-5 content pillars with Estimated %-allocations — submitted via memory/events/channels.ndjson for channel-registry to store as voice-dossier.md, the record every Craft-phase skill reads first. Not for the brand-level voice canon — use brand-language-codifier; not for audience/persona research — use audience-mapper. 声音档案/品牌语气/创始人语气/内容支柱/披露声明

64

Quality

80%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./social/explore/voice-dossier-builder/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

67%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A well-structured, actionable skill body with a clear sequenced workflow and good reference navigation. The main weakness is recurring boilerplate around the registry-events submission pattern that inflates token cost.

Suggestions

Define the "submit via an authorized operation: propose request to registry-events.py" pattern once in Skill Contract and reference it by a short label in each step to remove the repeated boilerplate.

Move the ECHO C6/C7/C2 mapping and the detailed scope guard into echo-benchmark.md / skill-contract.md and link to them, keeping the body as an overview.

Add an explicit validate→fix→resubmit loop for the channels.ndjson and claims.ndjson proposal step (e.g., what to do when registry-events rejects an event) to lift workflow clarity.

DimensionReasoningScore

Conciseness

Mostly efficient and free of elementary concept explanation, but the boilerplate "via an authorized operation: propose request to registry-events.py" and the channel-registry sole-writer point recur ~5 times across the body, adding padding that could be tightened.

3 / 5

Actionability

Concrete file paths, named scripts (registry-events.py, bluesky.py), numeric thresholds (10+ posts, NEEDS_INPUT stop) and a done-when checklist make the guidance mostly executable, with only minor gaps in literal extraction technique.

4 / 5

Workflow Clarity

A clear 9-step sequence with explicit checkpoints (NEEDS_INPUT stop, done-when criteria) and handoff routing; a small gap is the absence of an explicit validate→fix→retry loop for the submission/claims events.

4 / 5

Progressive Disclosure

Well-organized sections with a clearly signaled, one-level-deep Reference Materials list; some dense inline material (ECHO C6/C7 mapping, scope guard) could live in a reference file, which is the minor gap below the top anchor.

4 / 5

Total

15

/

20

Passed

Description

92%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A strong, third-person description that pairs concrete deliverables with natural trigger phrases and explicit out-of-scope boundaries. Minor synonym coverage keeps trigger quality just below the top anchor.

DimensionReasoningScore

Specificity

Lists multiple concrete actions — per-platform register map, banned phrases, per-context disclosure lines, own-posts few-shot bank, 3-5 content pillars with Estimated %-allocations, submission via channels.ndjson — giving comprehensive coverage.

5 / 5

Completeness

Explicitly answers both what ("produces the versioned voice record…") and when ("Use when the user asks to…") with concrete trigger phrases and a clear negative-boundary clause.

5 / 5

Trigger Term Quality

Natural triggers like "codify how our founder sounds", "build a founder voice dossier", and "set our content pillars" plus Chinese keywords cover the space well, though a few common synonyms (e.g. "brand voice guide", "voice profile") are missing.

4 / 5

Distinctiveness Conflict Risk

A clear niche is stated and two explicit "Not for…" redirects (brand-language-codifier, audience-mapper) sharply reduce overlap/conflict risk.

5 / 5

Total

19

/

20

Passed

Validation

75%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation12 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_field

'metadata' should map string keys to string values

Warning

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

relative_links

Relative link issues: 29 suspicious

Warning

referenced_paths_exist

Referenced path issues: 1 missing, 1 deeper-than-1-level

Warning

Total

12

/

16

Passed

Repository
aaron-he-zhu/aaron-marketing-skills
Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.