siluzan-cso-cli 1.1.29-beta.6 → 1.1.29-beta.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/index.js +2 -2
- package/dist/skill/_meta.json +2 -2
- package/dist/skill/scripts/install.ps1 +1 -1
- package/dist/skill/scripts/install.sh +1 -1
- package/dist/skill/three-lib-content-workflow/collaboration.md +17 -15
- package/dist/skill/three-lib-content-workflow/content-writer.workflow.md +20 -19
- package/dist/skill/three-lib-content-workflow/persona-onboarding.md +29 -28
- package/dist/skill/three-lib-content-workflow/persona-reverse-sop.md +56 -118
- package/dist/skill/three-lib-content-workflow/persona-schema.md +87 -203
- package/dist/skill/three-lib-content-workflow/sop.md +159 -154
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -54,7 +54,7 @@ siluzan-cso init -d /path/to/skills # 写入自定义目录
|
|
|
54
54
|
siluzan-cso init --force # 强制覆盖已存在文件
|
|
55
55
|
```
|
|
56
56
|
|
|
57
|
-
> **注意**:当前为测试版(1.1.29-beta.
|
|
57
|
+
> **注意**:当前为测试版(1.1.29-beta.8),供内部测试使用。正式发布后安装命令将改为 `npm install -g siluzan-cso-cli`。
|
|
58
58
|
|
|
59
59
|
| 助手 | 建议 `--ai` |
|
|
60
60
|
| ----------------------- | ------------------------------------ |
|
package/dist/index.js
CHANGED
|
@@ -7277,7 +7277,7 @@ async function runPersonaList(options) {
|
|
|
7277
7277
|
const includeStyleGuide = options.includeStyleGuide !== false;
|
|
7278
7278
|
const results = list.map((p) => projectPersonaForJson(p, includeStyleGuide));
|
|
7279
7279
|
console.log(JSON.stringify({ results, totalResultCount: total }, null, 2));
|
|
7280
|
-
if (!options.name) {
|
|
7280
|
+
if (!options.name && !options.id) {
|
|
7281
7281
|
console.log("\n\u4EBA\u8BBE\u5217\u8868\u5DF2\u8F93\u51FA\u3002\u8BF7\u6CE8\u610F\uFF1A\u5982\u9700\u4E3A\u7528\u6237\u5199\u6587\u6848\uFF0C\u8BF7\u52A1\u5FC5\u8BE2\u95EE\u7528\u6237\u9009\u62E9\u5177\u4F53\u7684\u4EBA\u8BBE\uFF0C\u5207\u52FF\u9ED8\u8BA4\u6216\u64C5\u81EA\u66FF\u7528\u6237\u51B3\u5B9A\u3002");
|
|
7282
7282
|
}
|
|
7283
7283
|
return;
|
|
@@ -7308,7 +7308,7 @@ ${hint}`);
|
|
|
7308
7308
|
}));
|
|
7309
7309
|
const tableOpts2 = options.unicode ? { plain: false } : void 0;
|
|
7310
7310
|
printCliTable(rows, columns, tableOpts2);
|
|
7311
|
-
if (!options.name) {
|
|
7311
|
+
if (!options.name && !options.id) {
|
|
7312
7312
|
console.log("\n\u63D0\u793A\uFF1A\u4EBA\u8BBE\u5217\u8868\u5DF2\u8F93\u51FA\u3002\u8BF7\u6CE8\u610F\uFF1A\u5982\u9700\u4E3A\u7528\u6237\u5199\u6587\u6848\uFF0C\u8BF7\u52A1\u5FC5\u8BE2\u95EE\u7528\u6237\u9009\u62E9\u5177\u4F53\u7684\u4EBA\u8BBE\uFF0C\u5207\u52FF\u9ED8\u8BA4\u6216\u64C5\u81EA\u66FF\u7528\u6237\u51B3\u5B9A\u3002");
|
|
7313
7313
|
}
|
|
7314
7314
|
console.log("\n\u63D0\u793A\uFF1A\u5B8C\u6574 styleGuide\uFF08Markdown\uFF09\u8BF7\u4F7F\u7528 --json \u67E5\u770B\u6BCF\u6761\u8BB0\u5F55\u7684 styleGuide \u5B57\u6BB5\u3002");
|
package/dist/skill/_meta.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"slug": "siluzan-cso",
|
|
3
|
-
"version": "1.1.29-beta.
|
|
4
|
-
"publishedAt":
|
|
3
|
+
"version": "1.1.29-beta.8",
|
|
4
|
+
"publishedAt": 1781581703327,
|
|
5
5
|
"homepage": "https://www.siluzan.com",
|
|
6
6
|
"source": "https://dev.azure.com/jack4it/Sammamish/_git/siluzan-skill",
|
|
7
7
|
"requiredBinaries": [
|
|
@@ -9,7 +9,7 @@ $ErrorActionPreference = 'Stop'
|
|
|
9
9
|
# -- Package info (injected at build time) ------------------------------------
|
|
10
10
|
$PKG_NAME = 'siluzan-cso-cli'
|
|
11
11
|
# PKG_VERSION 锁定到与本脚本同批构建产物一致的版本,避免与 dist/skill 错位
|
|
12
|
-
$PKG_VERSION = '1.1.29-beta.
|
|
12
|
+
$PKG_VERSION = '1.1.29-beta.8'
|
|
13
13
|
$CLI_BIN = 'siluzan-cso'
|
|
14
14
|
$SKILL_LABEL = 'Siluzan CSO'
|
|
15
15
|
$INSTALL_CMD = 'npm install -g siluzan-cso-cli@beta'
|
|
@@ -9,7 +9,7 @@ set -euo pipefail
|
|
|
9
9
|
# -- Package info (injected at build time) ------------------------------------
|
|
10
10
|
readonly PKG_NAME="siluzan-cso-cli"
|
|
11
11
|
# PKG_VERSION 锁定到与本脚本同批构建产物一致的版本,避免与 dist/skill 错位
|
|
12
|
-
readonly PKG_VERSION="1.1.29-beta.
|
|
12
|
+
readonly PKG_VERSION="1.1.29-beta.8"
|
|
13
13
|
readonly CLI_BIN="siluzan-cso"
|
|
14
14
|
readonly SKILL_LABEL="Siluzan CSO"
|
|
15
15
|
readonly INSTALL_CMD="npm install -g siluzan-cso-cli@beta"
|
|
@@ -5,7 +5,9 @@
|
|
|
5
5
|
**人设是变量,三库是骨架。** 三库都不内置任何人设腔调。
|
|
6
6
|
- 人设卡通过用户注入,统一走 CSO 平台(详见 `persona-schema.md` 和 `persona-onboarding.md`)
|
|
7
7
|
- 三库提供通用结构 / 因子 / 方法
|
|
8
|
-
-
|
|
8
|
+
- 写稿时,人设卡(styleGuide 的 6 个章节)被注入到三库选出的结构里
|
|
9
|
+
|
|
10
|
+
> 人设 = styleGuide 的 6 个章节:`一句话定位` / `目标受众` / `内容 DNA`(开场惯用方式·标志性表达·口头禅·节奏·价值观锚点)/ `推荐用词` / `禁用表达 · 禁忌` / `<平台> 平台适配建议`。平台**没有**结构化字段,下面提到的"风格倾向 / 结构偏好 / 质检尺子"都从这些章节**推断**,推不出来用库内通用默认。
|
|
9
11
|
|
|
10
12
|
## 总原则
|
|
11
13
|
|
|
@@ -27,7 +29,7 @@
|
|
|
27
29
|
|
|
28
30
|
这是**选题和流量入口**。
|
|
29
31
|
|
|
30
|
-
|
|
32
|
+
从人设「一句话定位」+「目标受众」推断行业,决定挂哪些行业因子包。
|
|
31
33
|
|
|
32
34
|
### 2. 产品资产库:决定"写什么能长期有价值"
|
|
33
35
|
|
|
@@ -39,7 +41,7 @@
|
|
|
39
41
|
|
|
40
42
|
这是**内容背后的商业沉淀层**。
|
|
41
43
|
|
|
42
|
-
|
|
44
|
+
从人设「内容 DNA」+「一句话定位」推断风格倾向,过滤可用模板。
|
|
43
45
|
|
|
44
46
|
### 3. 烹调方法库:决定"怎么写最好看"
|
|
45
47
|
|
|
@@ -52,28 +54,28 @@
|
|
|
52
54
|
|
|
53
55
|
这是**表达和结构层**。
|
|
54
56
|
|
|
55
|
-
|
|
57
|
+
从人设「内容 DNA · 开场惯用方式 / 节奏」推断开头与推进偏好,选具体方法;推不出来用库内通用默认。
|
|
56
58
|
|
|
57
59
|
### 4. 人设卡:决定"以谁的口气说"
|
|
58
60
|
|
|
59
61
|
负责判断:
|
|
60
|
-
-
|
|
61
|
-
-
|
|
62
|
-
-
|
|
63
|
-
-
|
|
64
|
-
-
|
|
62
|
+
- 用什么句式 / 口头禅 / 比喻(「内容 DNA · 标志性表达 / 口头禅」)
|
|
63
|
+
- 用什么关键词(「推荐用词」)
|
|
64
|
+
- 用什么语气与节奏(「内容 DNA · 节奏」及整体口吻)
|
|
65
|
+
- 避开什么表达 / 话题(「禁用表达 / 禁忌」)
|
|
66
|
+
- 写完用什么尺子检查(从「价值观锚点」+「一句话定位」提炼,无则通用清单)
|
|
65
67
|
|
|
66
68
|
这是**腔调与边界层**。三库都不持有这些信息。人设卡即 CSO 平台的 styleGuide。
|
|
67
69
|
|
|
68
70
|
## 工作顺序
|
|
69
71
|
|
|
70
72
|
1. **先加载人设**(从 CSO 平台 `siluzan-cso persona list` 拉取;无人设则走 `persona-onboarding.md`)。
|
|
71
|
-
2.
|
|
72
|
-
3.
|
|
73
|
-
4.
|
|
74
|
-
5.
|
|
75
|
-
6.
|
|
76
|
-
7.
|
|
73
|
+
2. 从流量因子库挑题(从「一句话定位 / 目标受众」推断行业挂行业包)。
|
|
74
|
+
3. 从产品资产库找落点(从「内容 DNA / 一句话定位」推断风格倾向过滤模板)。
|
|
75
|
+
4. 从烹调方法库选结构(从「内容 DNA · 开场惯用方式 / 节奏」推断,无则通用默认)。
|
|
76
|
+
5. 最后生成文案,**腔调从人设卡注入**(「内容 DNA」+「推荐用词」,避「禁用表达 / 禁忌」)。
|
|
77
|
+
6. 质检(从「价值观锚点 / 一句话定位」提炼尺子,叠加通用清单)。
|
|
78
|
+
7. 写完反哺人设卡(把新句式/口头禅并入「内容 DNA」、新禁忌并入「禁用表达 / 禁忌」、新词并入「推荐用词」,平台模式下存为新版本)。
|
|
77
79
|
|
|
78
80
|
## 一句话总结
|
|
79
81
|
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
|
|
16
16
|
- **三库**(流量因子 / 产品资产 / 烹调方法)= 通用骨架,不带任何腔调
|
|
17
17
|
- **人设卡** = 注入骨架的"风味与边界",**统一走 CSO 平台**(`siluzan-cso persona`)
|
|
18
|
-
- **赛道包**(`packs/`)=
|
|
18
|
+
- **赛道包**(`packs/`)= 特定平台的专属扩展,按人设「`<平台> 平台适配建议`」章节的平台挂载
|
|
19
19
|
|
|
20
20
|
---
|
|
21
21
|
|
|
@@ -28,7 +28,7 @@ flowchart TD
|
|
|
28
28
|
Start([开始]) --> S1[第 1 步:读取必读文件<br/>collaboration.md / sop.md]
|
|
29
29
|
|
|
30
30
|
S1 --> S2{第 2 步:加载人设<br/>判断人设来源}
|
|
31
|
-
S2 -->|本次提供人设卡| P1[按 persona-schema
|
|
31
|
+
S2 -->|本次提供人设卡| P1[按 persona-schema 6 章节校验<br/>缺章节补问 → A1 确认<br/>persona create 保存]
|
|
32
32
|
S2 -->|已指定人设名| P2[直接拉取 styleGuide]
|
|
33
33
|
S2 -->|均无| P3{persona list<br/>平台是否已有人设?}
|
|
34
34
|
P3 -->|非空| P3a[列出人设 → 用户确认选定<br/>再拉取 styleGuide]
|
|
@@ -40,7 +40,7 @@ flowchart TD
|
|
|
40
40
|
|
|
41
41
|
S3{第 3 步:确定三库内容<br/>按优先级判断} -->|优先级 1:用户本次提供文件| L1[写入 content-library 目录<br/>读取并按需优化]
|
|
42
42
|
S3 -->|优先级 2:用户目录已有文件| L2[直接读取使用<br/>可按效果修改]
|
|
43
|
-
S3 -->|优先级 3:均无,兜底| L3[load-libraries
|
|
43
|
+
S3 -->|优先级 3:均无,兜底| L3[load-libraries --out 可读目录<br/>拉取内置三库后完整读取]
|
|
44
44
|
L1 --> S4
|
|
45
45
|
L2 --> S4
|
|
46
46
|
L3 --> S4
|
|
@@ -55,18 +55,13 @@ flowchart TD
|
|
|
55
55
|
Output --> End([结束])
|
|
56
56
|
```
|
|
57
57
|
|
|
58
|
-
### 第 1
|
|
59
|
-
|
|
60
|
-
1. `collaboration.md`
|
|
61
|
-
2. `sop.md`
|
|
62
|
-
|
|
63
|
-
### 第 2 步:加载人设
|
|
58
|
+
### 第 1 步:加载人设
|
|
64
59
|
|
|
65
60
|
所有腔调、句式、共鸣切入点都依赖人设卡。按以下优先级判断:
|
|
66
61
|
|
|
67
62
|
> 确定人设名后,统一用 `siluzan-cso persona list --name <人设名> --json` 读 `styleGuide` 字段作为人设卡;不存在或异常则请用户核对名称。
|
|
68
63
|
|
|
69
|
-
1. **本次提供了人设卡**(文件 / 文本 / 截图)→ 按 `persona-schema.md`
|
|
64
|
+
1. **本次提供了人设卡**(文件 / 文本 / 截图)→ 按 `persona-schema.md` 的 6 章节校验 → 缺章节补问 → A1 确认 → `siluzan-cso persona create` 保存 → 进入主流程
|
|
70
65
|
2. **已指定人设名** → 直接按上方命令拉取
|
|
71
66
|
3. **均无** → 先 `siluzan-cso persona list`(不加 `--json`,或加 `--no-style-guide`,避免输出过长被截断)查平台是否已有人设,**不要在查询前假设有无**:
|
|
72
67
|
- 非空 → 列出查到的人设名(不展示完整 `styleGuide`,避免过长)→ 请用户指定用哪个:宿主提供 human-in-the-loop 工具(如 `ask_clarification`、`AskQuestion`、`AskUserQuestion`等)时用该工具发起询问,否则直接在对话里提问;**不要替用户擅自选定**(即使只有一个人设,也需确认)→ 用户确认后按第 2 步开头命令拉取该人设 `styleGuide`,再继续流程
|
|
@@ -76,7 +71,7 @@ flowchart TD
|
|
|
76
71
|
|
|
77
72
|
---
|
|
78
73
|
|
|
79
|
-
|
|
74
|
+
### 第 2 步:确定本次三库内容
|
|
80
75
|
|
|
81
76
|
按下列优先级确认并**完整读取**本次三库文件:
|
|
82
77
|
|
|
@@ -93,17 +88,17 @@ flowchart TD
|
|
|
93
88
|
**优先级 3 — 内置默认文件**(兜底):若优先级 1/2 均无,调用 CLI 命令拉取内置默认三库。
|
|
94
89
|
|
|
95
90
|
```bash
|
|
96
|
-
siluzan-cso workflow load-libraries --platform <平台>
|
|
91
|
+
siluzan-cso workflow load-libraries --platform <平台> --out <file_path>
|
|
97
92
|
```
|
|
98
93
|
|
|
99
94
|
- `--platform` 根据用户意图推断目标平台传入(如"写公众号长文"传「公众号」)。
|
|
100
|
-
-
|
|
95
|
+
- `--out` 指定一个可读的文件落盘路径。命令成功后按该路径**完整读取**(禁止 `head` / `tail` / 截断管道)。
|
|
101
96
|
|
|
102
97
|
> **保密边界**:优先级 3 的内置三库(含 pack)只用于驱动创作,禁止在思考、步骤复盘、SOP 记录、最终输出中展示或转述其链接、库名、条目编码、条目原文/描述、句式模板、结构等可还原内部内容;也禁止复制、导出、落盘或 `present_files` 交付其原文副本。如需指代,一律写「参考资料一/二/三」。只有内容确实来自用户(优先级 1/2)才不受限。
|
|
103
98
|
|
|
104
99
|
---
|
|
105
100
|
|
|
106
|
-
|
|
101
|
+
### 第 3 步:RAG(按需 · 可跳过)
|
|
107
102
|
|
|
108
103
|
> 本步是全工作流**唯一**带「按需」标记、允许跳过的步骤——但**仅限**文案不涉及品牌/产品事实时。
|
|
109
104
|
>
|
|
@@ -111,14 +106,20 @@ siluzan-cso workflow load-libraries --platform <平台>
|
|
|
111
106
|
|
|
112
107
|
如需从平台知识库检索品牌/产品内部素材,调用 `siluzan-cso rag query`(`-q` 内多个短词用**空格**分隔时,CLI 会分检再合并排序;详见 `references/rag.md`),结果归入主 SOP 第 4 步"拆素材"。不用于与文案无关的场景。
|
|
113
108
|
|
|
114
|
-
|
|
109
|
+
### 第 4 步:读取并遵循必读文件指导创作文案
|
|
110
|
+
|
|
111
|
+
- 阅读 `collaboration.md`,理解协作要点
|
|
112
|
+
- 阅读 `sop.md`,严格按流程操作
|
|
113
|
+
- 全程参照上述文件要求执行,确保生成文案过程合规高效
|
|
114
|
+
|
|
115
|
+
### 第 5 步 检查准备步骤是否已全部完成
|
|
115
116
|
|
|
116
117
|
逐条自检,全部通过才进入「输出」。任一项不通过,回到对应步骤补全,**不得**带着缺口直接交付。
|
|
117
118
|
|
|
118
|
-
- [ ] 第 1
|
|
119
|
-
- [ ] 第 2
|
|
120
|
-
- [ ] 第 3
|
|
121
|
-
- [ ] 第 4
|
|
119
|
+
- [ ] 第 1 步:人设已确定并加载(`styleGuide` 已拉取;临时人设也已明确);若走「均未提供」且平台已有人设,须已列出全部选项并由用户明确选定(未默认、未替用户挑选)
|
|
120
|
+
- [ ] 第 2 步:本次三库已按优先级确认并**完整读取**(兜底走 `siluzan-cso workflow load-libraries --out <可读目录>/three-lib.md`,读其合并文件,无 `head`/`tail`/截断)
|
|
121
|
+
- [ ] 第 3 步:RAG 已执行或已明确判定跳过(涉及品牌/产品事实时不得跳过)
|
|
122
|
+
- [ ] 第 4 步:生成阶段已严格依照 `sop.md` 流程执行且全部要求落实
|
|
122
123
|
|
|
123
124
|
---
|
|
124
125
|
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
|
|
44
44
|
临时人设的处理:
|
|
45
45
|
- 仅在会话内存中,**不**保存到 CSO 平台
|
|
46
|
-
-
|
|
46
|
+
- 各章节按"待确认"对待,写完再请用户拍板
|
|
47
47
|
- 写完后主动问一次:"这版的腔调你喜欢吗?要不要保存?"
|
|
48
48
|
- 用户说"保存"才入库(`siluzan-cso persona create`)
|
|
49
49
|
|
|
@@ -62,24 +62,24 @@
|
|
|
62
62
|
|
|
63
63
|
**收到后:**
|
|
64
64
|
- 调用 `persona-reverse-sop.md` 流程
|
|
65
|
-
-
|
|
65
|
+
- 输出 styleGuide(符合 `persona-schema.md` 的 6 章节)
|
|
66
66
|
- 进入 **A1 确认环节**(见下方"落盘前确认流程")
|
|
67
67
|
|
|
68
68
|
**作品数量兜底:**
|
|
69
69
|
- 只给 1–2 篇:
|
|
70
|
-
> 可以,但 1–2
|
|
70
|
+
> 可以,但 1–2 篇里有些章节我没法稳定推出来(口头禅、禁忌、平台适配这些)。这些我会标"待确认",最后我们一条条过一遍。你愿意补充更多作品吗?或者直接进确认环节,缺的部分你来填?
|
|
71
71
|
|
|
72
72
|
- 给超过 5 篇:
|
|
73
73
|
> 这么多篇我可以全读,但建议挑你最想延续风格的 3–5 篇就好——多了反而难找共性。你来挑,还是我读完所有的之后告诉你哪几篇最有代表性?
|
|
74
74
|
|
|
75
75
|
### 分支 ② 描述路径
|
|
76
76
|
|
|
77
|
-
**AI 主动按
|
|
77
|
+
**AI 主动按 6 章节顺序问,不要把空表格甩给用户:**
|
|
78
78
|
|
|
79
79
|
```
|
|
80
|
-
Q1
|
|
81
|
-
Q2
|
|
82
|
-
Q3
|
|
80
|
+
Q1(→ 一句话定位): 先说定位——这个账号是干嘛的?想解决什么问题、给受众什么价值?
|
|
81
|
+
Q2(→ 目标受众): 写给谁看?他们的职业 / 阶段(新手 / 老手 / 决策者 / 围观者)、最关心什么问题?
|
|
82
|
+
Q3(→ 内容 DNA·风格&立场): 想让人感觉这个号是什么风格?给几个倾向参考(可多选):
|
|
83
83
|
- 强判断(先下结论,立场鲜明)
|
|
84
84
|
- 务实步骤(教程感,可执行)
|
|
85
85
|
- 故事感(有画面,节奏慢)
|
|
@@ -88,27 +88,28 @@ Q3: 想让人感觉这个号是什么风格?我给你几个倾向你挑:
|
|
|
88
88
|
- 温和分享(生活化)
|
|
89
89
|
- 专业权威(知识密度高)
|
|
90
90
|
- 接地气(口语化)
|
|
91
|
-
|
|
92
|
-
Q4
|
|
93
|
-
Q5
|
|
94
|
-
Q6
|
|
95
|
-
Q7
|
|
96
|
-
Q8
|
|
97
|
-
Q9:(可选)你希望我每次写完检查哪些点?比如"是不是足够具体""有没有可执行的动作"——这是你这个号特有的判断标准。
|
|
91
|
+
再补一句:这个号始终在「捍卫」或「反对」什么?(→ 价值观锚点)
|
|
92
|
+
Q4(→ 内容 DNA·节奏): 节奏偏好——快(句句推进)、中等、还是稳一点的慢节奏?
|
|
93
|
+
Q5(→ 内容 DNA·开场&口头禅): 习惯怎么起开头?有没有口头禅、固定开场、标志性比喻?想到几条算几条。
|
|
94
|
+
Q6(→ 推荐用词): 有哪些你常用、希望多出现的词?尽量给 6 个以上具体词。
|
|
95
|
+
Q7(→ 禁用表达 / 禁忌): 有什么是你绝对不讲的话题?或者绝不能用的表达?(没有就说"无",我按常识补红线再跟你确认)
|
|
96
|
+
Q8(→ <平台> 平台适配建议): 这个号主要发哪个平台?(抖音 / 视频号 / 公众号 / 小红书…)我按该平台写适配建议。
|
|
98
97
|
```
|
|
99
98
|
|
|
100
|
-
|
|
99
|
+
> 这 8 问对应 styleGuide 的 6 个章节(Q3+Q4+Q5 一起喂「内容 DNA」的开场 / 句式 / 节奏 / 立场)。常讲话题、行业范围不单独设字段——从 Q1/Q2 的定位与受众里推断即可。
|
|
100
|
+
|
|
101
|
+
问完按 `persona-schema.md` 模板整理成 6 章节 styleGuide → **A1 确认环节**。
|
|
101
102
|
|
|
102
103
|
### 分支 ③ 已有卡路径
|
|
103
104
|
|
|
104
105
|
**AI 说:**
|
|
105
|
-
> 发给我,任何格式都行。我读完按标准
|
|
106
|
+
> 发给我,任何格式都行。我读完按标准 6 章节重排版,缺的章节补问你,然后保存到 CSO 平台。
|
|
106
107
|
|
|
107
108
|
**收到后:**
|
|
108
|
-
-
|
|
109
|
-
-
|
|
110
|
-
-
|
|
111
|
-
-
|
|
109
|
+
- 解析内容,重排版到 `persona-schema.md` 的 6 个章节
|
|
110
|
+
- 缺失的必填章节(一句话定位 / 目标受众 / 内容 DNA / 推荐用词 / 禁用表达·禁忌 / 平台适配)→ 单独问用户
|
|
111
|
+
- 章节信息不全但能从已有内容推断 → 写推断版并标"待确认"
|
|
112
|
+
- 完全没线索的章节 → 留占位 + 标"待确认"
|
|
112
113
|
- 进入 **A1 确认环节**
|
|
113
114
|
|
|
114
115
|
## 落盘前确认流程(A1)
|
|
@@ -116,27 +117,27 @@ Q9:(可选)你希望我每次写完检查哪些点?比如"是不是足够
|
|
|
116
117
|
所有路径最终都汇到这里。**强制执行**,不允许跳过。
|
|
117
118
|
|
|
118
119
|
**AI 说:**
|
|
119
|
-
>
|
|
120
|
+
> 我整理了一份 styleGuide,咱们一条条过一遍。我会列出每个章节和我的判断,你确认 / 修改 / 补充。
|
|
120
121
|
>
|
|
121
122
|
> 过完之后保存到 CSO 平台,下次写稿可以直接用 `siluzan-cso persona list` 取回。
|
|
122
123
|
|
|
123
|
-
|
|
124
|
+
**逐条过的展示形式(按 6 个章节):**
|
|
124
125
|
|
|
125
126
|
```
|
|
126
|
-
✅ 已确认 [
|
|
127
|
+
✅ 已确认 [章节名]: <内容>
|
|
127
128
|
—— 来源:作品 A 反复出现 / 你刚才描述的 / 你提供的卡
|
|
128
129
|
—— 要改吗?
|
|
129
130
|
|
|
130
|
-
⚠️ 高概率 [
|
|
131
|
+
⚠️ 高概率 [章节名]: <内容>
|
|
131
132
|
—— 来源:作品 B 出现 1 次,需要确认
|
|
132
133
|
—— 保留 / 修改 / 删除?
|
|
133
134
|
|
|
134
|
-
❓
|
|
135
|
+
❓ 待确认 [章节名]: <内容>
|
|
135
136
|
—— 我推不出来,需要你确认
|
|
136
137
|
—— 你的回答?
|
|
137
138
|
```
|
|
138
139
|
|
|
139
|
-
|
|
140
|
+
每个章节三选一:保留 / 改 / 删。过完后 6 个章节都为"已确认",才允许保存到平台。
|
|
140
141
|
|
|
141
142
|
**最后一步:命名 + 保存**
|
|
142
143
|
|
|
@@ -168,8 +169,8 @@ siluzan-cso persona create --name "<name>" --style-guide-file <临时文件路
|
|
|
168
169
|
|
|
169
170
|
## 与其他文件的关系
|
|
170
171
|
|
|
171
|
-
-
|
|
172
|
+
- 章节结构定义:见 `persona-schema.md`
|
|
172
173
|
- 反推具体步骤:见 `persona-reverse-sop.md`
|
|
173
174
|
- 平台命令细节:见 `references/persona.md`
|
|
174
175
|
- 入口集成:见 `content-writer.workflow.md` 第 0 步
|
|
175
|
-
-
|
|
176
|
+
- 章节如何被消费:见 `sop.md` 各步骤
|
|
@@ -2,21 +2,29 @@
|
|
|
2
2
|
|
|
3
3
|
## 这份文件是什么
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
输入若干篇代表作品,输出一份符合 `persona-schema.md` 的 styleGuide(6 个章节)。
|
|
6
6
|
|
|
7
7
|
本流程是 `persona-onboarding.md` 的"分支 ①"具体执行步骤。
|
|
8
8
|
|
|
9
9
|
## 输出契约
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
最终产物是一段 **styleGuide markdown**,必须严格符合 `persona-schema.md` 的 6 章节结构:
|
|
12
|
+
|
|
13
|
+
`一句话定位` / `目标受众` / `内容 DNA` / `推荐用词(≥6 个)` / `禁用表达 / 禁忌(≥3 条)` / `<平台> 平台适配建议`。
|
|
14
|
+
|
|
15
|
+
落盘(保存到 CSO 平台)前必须走 A1 强制逐条确认,再用 `siluzan-cso persona create` 保存。
|
|
16
|
+
|
|
17
|
+
> ⚠️ 平台 styleGuide 没有结构化字段。反推产物就是这 6 个章节,不要输出 `style_tags: ...`、`opening_preferences: ...` 之类的"字段行"。
|
|
12
18
|
|
|
13
19
|
## 输入要求
|
|
14
20
|
|
|
15
21
|
最佳:3–5 篇代表作品。
|
|
16
|
-
最低:1
|
|
22
|
+
最低:1 篇(不推荐,多数章节只能弱推断、需用户补)。
|
|
17
23
|
|
|
18
24
|
如有以下补充信息一并提供:
|
|
25
|
+
|
|
19
26
|
- 账号名称或用途
|
|
27
|
+
- 主运营平台(决定「`<平台> 平台适配建议`」章节怎么写)
|
|
20
28
|
- 你对这个账号的直觉判断
|
|
21
29
|
- 你希望重点关注的点
|
|
22
30
|
|
|
@@ -24,165 +32,95 @@
|
|
|
24
32
|
|
|
25
33
|
逐篇扫描,找以下信息(**只采集,不下判断**):
|
|
26
34
|
|
|
27
|
-
-
|
|
28
|
-
- 面向谁
|
|
35
|
+
- 主题是什么、面向谁
|
|
29
36
|
- 语气怎么样
|
|
30
|
-
-
|
|
31
|
-
- 中段怎么推
|
|
32
|
-
- 结尾怎么收
|
|
37
|
+
- 开头怎么起、中段怎么推、结尾怎么收
|
|
33
38
|
- 有没有固定套路
|
|
34
|
-
-
|
|
35
|
-
- 有没有反复出现的句式 / 关键词 / 比喻
|
|
36
|
-
|
|
37
|
-
读完所有作品后,**先找共性**:哪些是反复出现的?哪些只出现一次?哪些是 1–2 篇里偶发的?
|
|
38
|
-
|
|
39
|
-
## 第二步:按 schema 字段反推
|
|
40
|
-
|
|
41
|
-
对每个字段,按"作品里有没有支撑"标置信度:
|
|
42
|
-
- **`confirmed`**:多篇作品反复出现,明确
|
|
43
|
-
- **`likely`**:1–2 篇出现,倾向明显但不确定
|
|
44
|
-
- **`unverified`**:作品里完全没线索
|
|
45
|
-
|
|
46
|
-
### 必填字段反推
|
|
47
|
-
|
|
48
|
-
#### positioning(定位)
|
|
49
|
-
回答:这组作品整体在解决什么问题?偏认知 / 方法 / 情绪 / 转化?
|
|
50
|
-
- ≥3 篇有同一倾向 → `confirmed`
|
|
51
|
-
- 仅 1–2 篇 → `likely`
|
|
52
|
-
|
|
53
|
-
#### audience(受众)
|
|
54
|
-
回答:明显在写给谁?他们的成熟度?
|
|
55
|
-
- 作品里明确点名或预设受众 → `confirmed`
|
|
56
|
-
- 只能从话题推测 → `likely`
|
|
57
|
-
|
|
58
|
-
#### core_task(核心任务)
|
|
59
|
-
回答:它在提供判断 / 方法 / 灵感 / 案例 / 安慰 / 转化?(可多选)
|
|
60
|
-
- 多篇主线一致 → `confirmed`
|
|
61
|
-
- 各篇任务不同 → 列出所有,标 `likely`
|
|
62
|
-
|
|
63
|
-
#### style_tags(风格标签,1–3 个)
|
|
64
|
-
从枚举里选:
|
|
65
|
-
`strong_opinion` / `practical_steps` / `story_driven` / `interactive` / `reframe` / `gentle_sharing` / `expert_authority` / `grounded`
|
|
66
|
-
|
|
67
|
-
判断方法:
|
|
68
|
-
- ≥3 篇都体现某标签 → `confirmed`
|
|
69
|
-
- 仅 1–2 篇 → `likely`
|
|
70
|
-
- 推不出来 → `unverified`,提示用户必须确认
|
|
71
|
-
|
|
72
|
-
#### tone(语气)
|
|
73
|
-
用一句话描述。从作品里找形容词级别的特征(强势 / 温和 / 犀利 / 稳重 / 紧迫 / 真诚)。
|
|
39
|
+
- 有没有强烈的情绪或判断(捍卫什么 / 反对什么)
|
|
40
|
+
- 有没有反复出现的句式 / 关键词 / 比喻 / 口头禅
|
|
74
41
|
|
|
75
|
-
|
|
76
|
-
- `fast`:短句、高密度、句句推进
|
|
77
|
-
- `medium`:长短交替
|
|
78
|
-
- `steady`:长句、节奏舒缓、铺陈型
|
|
42
|
+
读完所有作品后,**先找共性**:哪些反复出现?哪些只出现一次?哪些是 1–2 篇里偶发的?
|
|
79
43
|
|
|
80
|
-
|
|
81
|
-
列出作品涉及的所有具体话题方向,去重后保留高频项。
|
|
44
|
+
> 标置信度(自己心里有数即可,A1 会用到):多篇反复出现 = 高;1–2 篇 = 中;完全没线索 = 缺,A1 让用户补。
|
|
82
45
|
|
|
83
|
-
|
|
84
|
-
- 如果作品里明显避开某些话题 → 写下来
|
|
85
|
-
- 没线索 → 留 `unverified`,确认环节请用户补
|
|
46
|
+
## 第二步:把共性归并到 6 个章节
|
|
86
47
|
|
|
87
|
-
###
|
|
48
|
+
### 1) `## 一句话定位`
|
|
88
49
|
|
|
89
|
-
|
|
90
|
-
|
|
50
|
+
回答:这组作品整体在解决什么问题?偏认知 / 方法 / 情绪 / 转化?给受众什么价值?
|
|
51
|
+
写成一句话定位 / 价值主张。这一句同时承载了主 SOP 里"核心任务"的判断,所以要写实、写具体。
|
|
91
52
|
|
|
92
|
-
|
|
93
|
-
根据作品形态判断:公众号长文 → 填 `公众号`;短视频口播脚本 → 填 `短视频`;不确定则留空,A1 环节问用户。
|
|
53
|
+
### 2) `## 目标受众`
|
|
94
54
|
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
- opening:开头句式
|
|
98
|
-
- transition:过渡句式
|
|
99
|
-
- ending:结尾句式
|
|
100
|
-
- cta:行动号召句式
|
|
55
|
+
回答:明显在写给谁?职业 / 阶段(新手 / 老手 / 决策者 / 围观者)/ 他们关心什么问题?
|
|
56
|
+
作品里明确点名或预设受众 → 写实;只能从话题推测 → 写推测版并在 A1 标注待确认。
|
|
101
57
|
|
|
102
|
-
|
|
58
|
+
### 3) `## 内容 DNA`(4 条要点,最关键)
|
|
103
59
|
|
|
104
|
-
|
|
105
|
-
- 高频关键词:词频统计后挑 top 5–10
|
|
106
|
-
- 标志性比喻:作品里反复用的形象化表达
|
|
107
|
-
- 禁忌表达:作品里明显回避的词(如果观察不到,留空)
|
|
60
|
+
这是反推**最有价值**的部分,逐条抓:
|
|
108
61
|
|
|
109
|
-
|
|
110
|
-
|
|
62
|
+
- **开场惯用方式**:作品反复用的起手式(反差 / 设问 / 结论先行 / 故事 / 危机信号…),用人话描述,不要写枚举码。
|
|
63
|
+
- **标志性表达 / 口头禅**:反复出现的句式、口头禅、标志性比喻——每类尽量抓 2 条以上。同时这里隐含了**语气**(强势 / 温和 / 犀利 / 稳重 / 紧迫 / 真诚)。
|
|
64
|
+
- **节奏**:`快`(短句、高密度、句句推进)/ `中`(长短交替)/ `慢`(长句、铺陈舒缓)。
|
|
65
|
+
- **价值观锚点**:这个号始终在捍卫 / 反对的立场。这一条后续会成为主 SOP 第 10 步"质检尺子"的来源,务必写出来。
|
|
111
66
|
|
|
112
|
-
|
|
113
|
-
- `contrast`(反差开头)
|
|
114
|
-
- `question`(设问开头)
|
|
115
|
-
- `conclusion_first`(结论先行)
|
|
116
|
-
- `story`(故事开头)
|
|
117
|
-
- `crisis_signal`(危机信号开头)
|
|
67
|
+
### 4) `## 推荐用词(≥6 个)`
|
|
118
68
|
|
|
119
|
-
|
|
120
|
-
- `three_points`(三点拆解)
|
|
121
|
-
- `phenomenon_to_essence`(现象→本质)
|
|
122
|
-
- `problem_to_solution`(问题→解法)
|
|
123
|
-
- `case_to_judgment`(案例→判断)
|
|
69
|
+
词频统计后挑高频/标志性词条,凑够 ≥6 个具体词(不要给"专业词汇"这种抽象类目)。
|
|
124
70
|
|
|
125
|
-
|
|
126
|
-
- `punchline`(金句收尾)
|
|
127
|
-
- `action_call`(行动提醒)
|
|
128
|
-
- `interaction`(评论互动)
|
|
129
|
-
- `next_episode`(下期预告)
|
|
130
|
-
- `boundary_reminder`(边界提醒)
|
|
71
|
+
### 5) `## 禁用表达 / 禁忌(≥3 条)`
|
|
131
72
|
|
|
132
|
-
|
|
133
|
-
|
|
73
|
+
- 作品里明显回避的词 / 话题 → 写下来
|
|
74
|
+
- 凑不够 3 条时,结合定位与受众补常识性红线,并在 A1 请用户确认
|
|
75
|
+
- 既写"禁用表达"(绝不能用的词/句式),也写"话题禁忌"(绝不碰的话题)
|
|
134
76
|
|
|
135
|
-
|
|
136
|
-
- 是不是每篇都有具体动作?→ 加一条 "有没有可执行的动作"
|
|
137
|
-
- 是不是每篇都有明确判断?→ 加一条 "有没有清晰的判断"
|
|
138
|
-
- 是不是每篇都让人感觉"这事和我有关"?→ 加一条 "有没有让受众产生代入感"
|
|
139
|
-
- 是不是每篇都避免说教?→ 加一条 "有没有避开说教感"
|
|
77
|
+
### 6) `## <平台> 平台适配建议`
|
|
140
78
|
|
|
141
|
-
|
|
79
|
+
按作品形态与用户告知的主平台判断(公众号长文 → 「公众号」;短视频口播 → 「抖音 / 视频号」…),把章节标题里的 `<平台>` 换成真实平台名,正文写该平台的内容形态、长度、互动、SEO/封面要点。平台不确定 → A1 问用户。
|
|
142
80
|
|
|
143
81
|
## 第三步:写"作品证据"
|
|
144
82
|
|
|
145
|
-
|
|
83
|
+
**不允许只写主观判断**。每个章节的关键结论都要带证据:
|
|
146
84
|
|
|
147
85
|
```
|
|
148
|
-
|
|
149
|
-
证据:作品 A 第二段、作品 C
|
|
86
|
+
内容 DNA · 价值观锚点:始终反对"低价内卷"
|
|
87
|
+
证据:作品 A 第二段、作品 C 整体倾向(多篇反复)→ 高置信
|
|
150
88
|
```
|
|
151
89
|
|
|
152
|
-
|
|
90
|
+
证据写清楚,A1 确认时用户能快速判断对不对。
|
|
153
91
|
|
|
154
|
-
##
|
|
92
|
+
## 第四步:组装成 styleGuide,进入 A1 确认
|
|
155
93
|
|
|
156
|
-
按 `persona-schema.md`
|
|
94
|
+
按 `persona-schema.md` 的完整模板把 6 个章节拼成一段 markdown。置信度诚实标注,**不要把"中/缺"偷偷写成"已确认"**。
|
|
157
95
|
|
|
158
96
|
进入 `persona-onboarding.md` 的"落盘前确认流程(A1)",确认完成后用 `siluzan-cso persona create --style-guide-file` 保存到平台。
|
|
159
97
|
|
|
160
|
-
##
|
|
98
|
+
## 第五步:强烈建议写实的 3 项
|
|
161
99
|
|
|
162
|
-
|
|
100
|
+
这三项缺了,主 SOP 第 7 步 / 第 9 步会被迫用通用默认值:
|
|
163
101
|
|
|
164
|
-
1.
|
|
165
|
-
2.
|
|
166
|
-
3.
|
|
102
|
+
1. **开场惯用方式**(「内容 DNA」)
|
|
103
|
+
2. **节奏**(「内容 DNA」)
|
|
104
|
+
3. **价值观锚点**(「内容 DNA」,决定质检尺子)
|
|
167
105
|
|
|
168
|
-
A1
|
|
106
|
+
A1 确认环节碰到这三项空泛时,主动追问用户。
|
|
169
107
|
|
|
170
108
|
## 标准工作流
|
|
171
109
|
|
|
172
|
-
**拿作品 → 找共性 →
|
|
110
|
+
**拿作品 → 找共性 → 归并到 6 个章节(带证据 + 置信度) → 组装 styleGuide → A1 强制逐条确认 → 命名 → `persona create` 保存到 CSO 平台**
|
|
173
111
|
|
|
174
112
|
## 最实用的判断原则
|
|
175
113
|
|
|
176
114
|
只靠作品反推,最怕两件事:
|
|
177
115
|
|
|
178
|
-
1.
|
|
179
|
-
2.
|
|
116
|
+
1. **过度脑补**:看到一篇就写死。**对策**:1–2 篇出现的标"中置信",A1 让用户拍板。
|
|
117
|
+
2. **只看风格,不看任务与立场**:只填「内容 DNA」的表层句式,「一句话定位」「价值观锚点」含糊。**对策**:每个章节都要有作品证据,没证据宁可留空让用户填。
|
|
180
118
|
|
|
181
|
-
记住核心公式:**人设 = 定位 + 受众 +
|
|
119
|
+
记住核心公式:**人设 = 定位 + 受众 + 内容 DNA(开场/句式/节奏/立场)+ 推荐用词 + 禁忌 + 平台适配**,不是只有风格。
|
|
182
120
|
|
|
183
121
|
## 与其他文件的关系
|
|
184
122
|
|
|
185
|
-
-
|
|
123
|
+
- 输出结构标准:见 `persona-schema.md`
|
|
186
124
|
- 引导入口:见 `persona-onboarding.md`
|
|
187
125
|
- 平台保存命令:见 `references/persona.md`
|
|
188
|
-
- 反推产物如何被消费:见 `sop.md` 第1步及各步骤
|
|
126
|
+
- 反推产物如何被消费:见 `sop.md` 第 1 步及各步骤
|