SuperAPI AI Directory

create-soul

General & other

View repository

Updated 10-15 23:48

About this skill

/create-soul

Create a conversational AI persona from raw source material. Fully interactive guidance, zero configuration.


Process Overview

① 确认人物 → ② 采集素材 → ③ 蒸馏 → ④ 组装 skill → ⑤ 验证 → ⑥ 安装指引

Step 1: Confirm the Persona

Ask the user:

  1. Persona name(Chinese and English)
  2. One-sentence description(who they are, what they do)
  3. Source material status— do they already have material (file/directory path) or does it need to be collected on the spot?

Determine from the answers:

  • {person_name} — persona name
  • {slug} — English slug (used for the directory name and skill name, e.g. wei-ran)
  • {output_dir} — output path, default ./{slug}-soul/

Step 2: Collect Source Material

If the user already has a source material directory

Read it directly and list the files. Skip to Step 3.

If material needs to be collected on the spot

Guide the user to provide items one by one, in priority order:

First priority (must have at least one category):

  • Podcast/interview URL → use collectors/youtube_transcript.py to fetch
  • Blog/article URL → use collectors/fetch_url.py to fetch
  • Jike profile URL → use collectors/jike_export.py to fetch

Second priority (bonus items):

  • Twitter self-service export package path → use collectors/twitter_archive.py to parse
  • Text pasted directly by the user (chat logs, notes, etc.)

Collection rules:

  • The output of each collection script is stored in the {output_dir}/_raw/ corresponding subdirectory
  • After collection is complete, output a manifest: file name, type, word count
  • Minimum threshold: at least 5 source files or 10,000 characters cumulatively. If not met, remind the user to add more, but do not forcibly block

Step 3: Distillation (3-Pass)

Pass 1: Read each piece + annotate

Read all files under _raw/ . For each piece of material:

  1. Read in full(no skimming, not just the first few lines)
  2. Extract the following signals:
    • Views and positions (including specific statements)
    • Way of thinking (how they reason, give examples, make judgments)
    • Language features (catchphrases, sentence rhythm, word preferences)
    • Emotions and attitudes (what excites/angers/makes them hesitate)
    • Quotes worth keeping (quote-worthy)
  3. Annotate by type: personality signal / knowledge signal / mixed

Checkpoint: output reading progress and confirm every piece was read.

Pass 2: Aggregate + deduplicate

Aggregate all signals by topic:

  • Merge semantically duplicate views (keep the best-worded version)
  • Identify core themes (3-8)
  • Annotate position evolution (statements on the same topic in different periods)
  • Select top quotes (≥20)

Pass 3: Structured writing

Write the aggregated results into the following files:

_persona/rules.md

  • Identity information (what they do now, what they did in the past, public presence)
  • Core personality traits (5-8 items, each with evidence)
  • Thinking framework (TA's distinctive analytical approach, not a generic framework)
  • Decision-making style
  • Catchphrases (verbatim quotes)
  • Hard boundaries (things TA would absolutely never say/do, ≥5 items)

_persona/communication.md

  • Language patterns (distinguish at least 2 scenarios, each with ≥8 real sentence samples)
  • Style differences between long-form vs short-form writing
  • Colloquial features (if podcast material is available)
  • Punctuation and formatting habits
  • Language-mixing rules (Chinese-English code-switching habits)

_persona/values.md

  • Arrange beliefs in tiers (deep convictions / strong tendencies / under exploration)
  • Each item accompanied by a verbatim quote
  • Belief evolution trajectory (if material spans multiple time periods)

_knowledge/{topic}.md(one file per core topic)

  • Core viewpoints (with verbatim quotes)
  • Viewpoint evolution
  • Reasoning chain (why TA thinks this way)

_quotes/iconic.md

  • ≥20 representative quotes, grouped by topic
  • Annotate sources

_quotes/internal.md(if informal material is available)

  • Verbatim quotes from private/casual settings
  • Show what TA is like when not putting on airs

_meta/sources.md

  • Material inventory + coverage rate

Step 4: Assemble SKILL.md

In the {output_dir}/ root directory, generate SKILL.md:

---
name: {slug}-chat
description: "Chat with AI {person_name}. Distilled from {N} sources."
---

# AI {person_name}

You are **{person_name}**, {一句话描述}.

## Activation

1. Load persona files:

\```
./_persona/rules.md
./_persona/communication.md
./_persona/values.md
./_quotes/iconic.md
./_quotes/internal.md
\```

2. Load knowledge docs on demand — only when the conversation topic matches:

\```
./_knowledge/
\```

## Core Rules

### Identity
{从 rules.md 提取 3-5 条核心身份描述}

### Thinking Style
{从 rules.md 提取思维方式要点}

### Language
{从 communication.md 提取关键语言规则}

### Hard Boundaries
{从 rules.md 提取硬边界清单}

### Catchphrases
{从 rules.md 提取口头禅}

## Start

Use `$ARGUMENTS` as the user's first message and respond in character.

Step 5: Verify

Completeness check

Output checklist:

□ _persona/rules.md — 身份 + 人格 + 思维框架 + 硬边界 ≥5 条
□ _persona/communication.md — ≥2 种语言模式,每种 ≥8 条真实句式
□ _persona/values.md — 分层信念 + 引用
□ _knowledge/ — ≥2 个主题文件
□ _quotes/iconic.md — ≥20 条引语
□ _meta/sources.md — 素材覆盖率
□ SKILL.md — 完整可用

Fill in any missing items first, then continue.

Fidelity test

Use the generated persona to simulate answers to 3 questions:

  1. An opinion question in a domain TA is good at
  2. A casual/light topic
  3. A domain TA may not understand (to test boundaries)

Output the simulation results and let the user judge whether it feels similar.


Step 6: Installation guide

Tell the user how to use the generated skill:

Claude Code:

cp -r {slug}-soul/ ~/.claude/commands/{slug}/
# 然后在 Claude Code 中使用 /{slug}-chat

OpenClaw:

cp -r {slug}-soul/ ~/.openclaw/skills/{slug}/

Moxt: Upload the {slug}-soul/ directory to the Workspace's System/Skills/ under.


Behavior rules

  1. Read every piece before writing. Scanning only the first few lines and then starting to generate is not allowed.
  2. Verbatim quotes take priority. communication.md and quotes must contain the original text from the material, not AI rewrites.
  3. Do not fabricate. Do not guess or fill in information not present in the material. Mark "not covered by material" in the file.
  4. Hard boundaries must be specific. Do not write useless statements like "does not use vulgar language"; write directly executable rules like "does not say XXX".
  5. If the material is insufficient, say so. If there is too little material (<5 files), generate a basic version and clearly tell the user which dimensions lack material.