user-model-builder
Skill41 starsChanged 7 months agoMITView on GitHub
Build complete userModels for people Claudicle collaborates with. Creates core persona files, social dossiers with voice analysis, content archives, and INDEX registration. Use when asked to create a user model, build a persona, or document someone's voice and identity.
We split this skill into the rules it gives an agent
9 rules. About 0 are common, 6 are distinctive, and 3 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈6
Distinctive · estimate
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 21
Ask clarifying questions: if the relationship or scope is ambiguous.
- Distinctive: line 25
Create the userModel directory and core persona file.
- Very specific: line 28
Write {name}Model.md following references/persona-model-template.md
- Very specific: line 64
Write archive/INDEX.md — table of all files with dates, titles, approximate word counts.
- Distinctive: line 68
Read the entire archived corpus before beginning analysis.
- Very specific: line 91
Add a "Supplementary Dossiers" section to {name}Model.md listing all dossiers and archive
- Distinctive: line 93
Add/update the subject's section with a Files table
- Distinctive: line 94
Add Data Collections subsection for archive directories
- Distinctive: line 95
Add Related links (Substack, LinkedIn, etc.)
≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
User Model Builder
Build a complete userModel for $ARGUMENTS following the 7-phase workflow below. Each phase must complete before moving to the next. The output is a folder at ~/.claude/userModels/{name}/ containing a core persona, platform-specific dossiers, a content archive, and INDEX registration.
Phase 1: Discovery
Gather available information about the subject before creating any files.
Determine:
- Relationship to the user (collaborator, partner, observed figure)
- Publishing platforms (Substack, Twitter, blog, LinkedIn)
- Scrapeable content availability — dead domains require Wayback Machine CDX API
- Basic identity: full name, email (
~if unknown), phone (~if unknown), location, primary roles
Ask clarifying questions if the relationship or scope is ambiguous. Proceed autonomously once direction is clear.
Phase 2: Folder & Core Persona
Create the userModel directory and core persona file.
- Create
~/.claude/userModels/{name}/ - Write
{name}Model.mdfollowingreferences/persona-model-template.md - Frontmatter per
references/frontmatter-schema.md—type: user-model,category: persona - Required sections: Persona, Education (if known), Career Timeline, Worldview, Writing Voice (brief), Personal, Online Presence
- Adapt to subject — omit sections that don't apply, add domain-specific sections as needed
Phase 3: Content Scraping & Archive
Scrape all discoverable published content into archive/.
Per platform:
| Platform | Tool | Archive path |
| Substack | Firecrawl | archive/substack/YYYY-MM-DD-slug.md |
| Jina (Firecrawl blocks Twitter) | archive/tweets/ | |
| Dead domains | Wayback CDX API → Firecrawl | archive/{platform}/ |
GDPR export via linkedin-export skill | archive/linkedin/ |
Wayback discovery:
https://web.archive.org/cdx/search/cdx?url=DOMAIN&output=json&fl=timestamp,original&collapse=urlkeyEach archived file gets frontmatter:
---
title: "Post Title"
date: YYYY-MM-DD
source_url: "https://..."
archived_from: "{platform}"
archive_date: YYYY-MM-DD
---Naming convention: YYYY-MM-DD-slug.md (kebab-case slug from title).
Write archive/INDEX.md — table of all files with dates, titles, approximate word counts.
Phase 4: Voice Analysis & Dossiers
Read the entire archived corpus before beginning analysis. Analyze each platform's content for voice, worldview, and biographical signals.
For each platform, create a social dossier following references/social-dossier-template.md.
Frontmatter: type: social-dossier, category: {platform}-analysis, include corpus field.
Required dossier sections:
- Source — URLs, scraping method, verification date
- Platform Profile — Handle, legal entity, tagline, cadence, engagement metrics
- Post/Content Index — Table: date, title, type, themes
- Voice Analysis — Registers, tonal range, sentence mechanics, characteristic phrases. Follow
references/voice-analysis-guide.md - Worldview Markers — Minimum 5 recurring themes with evidence
- Biographical Signals — Per-post table of facts revealed. Separate distinct events.
- Calibration Quotes — 10-15 verbatim quotes. Copy directly from archive files. Verify character-by-character: opening words, punctuation, emphasis, quote mark style. Never paraphrase.
Include a Voice Evolution section when the corpus spans 3+ years or crosses a major life transition.
Name dossiers descriptively: {platform}-{publication-name}.md.
Phase 5: Cross-References & Registration
Wire everything together.
- Add a "Supplementary Dossiers" section to
{name}Model.mdlisting all dossiers and archive - Update
~/.claude/userModels/INDEX.md:- Add/update the subject's section with a Files table
- Add Data Collections subsection for archive directories
- Add Related links (Substack, LinkedIn, etc.)
Phase 6: Review
Launch a code-reviewer subagent to audit all files against references/review-checklist.md.
Priority checks:
- Calibration quotes are verbatim (opening words, punctuation, quote style)
- Author bios are verbatim (not paraphrased)
- Biographical facts match source (names, dates, locations — distinct events not merged)
- Frontmatter schema compliance
- INDEX.md consistency with files on disk
- Cross-references resolve to real files
Fix all critical and moderate findings before declaring complete.
Automated validation:
uv run ~/.claude/skills/user-model-builder/scripts/validate_usermodel.py ~/.claude/userModels/{name}/Phase 7: Summary
Report what was built:
- Files created (with paths)
- Corpus stats (post count, word count, date range)
- Key findings (voice registers, worldview themes, biographical discoveries)
- Suggested next steps (RLAMA collection, voice model for composition, etc.)
Reference Files
| File | Purpose |
references/persona-model-template.md | Core persona section skeleton |
references/social-dossier-template.md | Social dossier section skeleton |
references/frontmatter-schema.md | YAML frontmatter spec for all file types |
references/voice-analysis-guide.md | Open Souls voice analysis methodology |
references/review-checklist.md | Post-build verification checklist |
scripts/validate_usermodel.py | Structural + quote accuracy validation |
In this repository99 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- agents-md-managerSkill
- architecture-md-builderSkill
- autoresearchSkill
- claude-agent-sdkSkill
- claude-md-managerSkill
- claude-usageSkill
- dag-typesafeSkill
- fableSkill
- glossarySkill
- openrouter-usageSkill
- react-best-practicesSkill
- skill-optimizerSkill
- stop-slopSkill
- tamarruSkill
- test-harness-auditorSkill
- atmosphere-shaderSkill
- component-gallerySkill
- conductor-motionSkill
- design-auditSkill
- design-critiqueSkill
- design-mdSkill
- design-polishSkill
- gemini-claude-resonanceSkill
- gemini-forgeSkill
- gpt-atelierSkill
- grainientSkill
- image-forgeSkill
- image-wellSkill
- meshySkill
- mindnode-uiSkill
- minoan-frontend-designSkill
- nano-banana-proSkill
- overwatch-slidedeckSkill
- paper-designSkill
- particle-swarm-simSkill
- pellicolaSkill
- photo-to-slack-emojiSkill
- pretextSkill
- recordlySkill
- rocaille-shaderSkill
- scroll-cinemaSkill
- shadcnSkill
- shapeSkill
- smolvlmSkill
- speak-responseSkill
- sprite-forgeSkill
- threejs-particle-canvasSkill
- vellum-editorialSkill
- webgpu-threejs-tslSkill
- agent-browserSkill
- beautiful-mermaidSkill
- classical-887Skill
- claude-peersSkill
- cloudflareSkill
- codex-ctoSkill
- codex-orchestratorSkill
- disc-forgeSkill
- figma-mcpSkill
- linkedin-exportSkill
- The first 60 shown.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

