wewrite-write

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

wewrite-write — 任务书、证据与初稿

wewrite-write — Task Brief, Evidence and First Draft

前置

Prerequisites

运行
wewrite run show
读取当前任务。没有任务但用户给了选题时,以
draft
模式创建;没有 选题则转
wewrite-topic
。本模块只写
artifacts.brief
、
artifacts.claims
和
artifacts.draft
;
artifacts.article
由审稿模块在通过后生成。
读取
{home}/style.yaml
;不存在则先执行
wewrite-style
。按优先级读取自定义人格
{home}/personas/<name>.yaml
、内置
personas/<name>.yaml
,最后回退
midnight-friend
。 人格只控制表达偏好,不能覆盖事实、个人材料和文章任务书。
进入时运行
wewrite run step write in_progress
。
Run
wewrite run show
to read the current task. If there is no task but the user has provided a topic, create it in
draft
mode; if there is no topic, redirect to
wewrite-topic
. This module only writes
artifacts.brief
,
artifacts.claims
, and
artifacts.draft
;
artifacts.article
is generated by the review module after approval.
Read
{home}/style.yaml
; if it does not exist, execute
wewrite-style
first. Read custom personas
{home}/personas/<name>.yaml
, built-in
personas/<name>.yaml
in order of priority, and finally fall back to
midnight-friend
. Personas only control expression preferences and cannot override facts, personal materials, and article task briefs.
Run
wewrite run step write in_progress
upon entry.

3. 文章任务与素材

3. Article Tasks and Materials

完整读取:
text
读取: {skill_dir}/references/article-brief.md
读取: {skill_dir}/references/editorial-quality.md
读取: {skill_dir}/references/frameworks-quick.md
读取: {skill_dir}/references/content-enhance.md
Read in full:
text
读取: {skill_dir}/references/article-brief.md
读取: {skill_dir}/references/editorial-quality.md
读取: {skill_dir}/references/frameworks-quick.md
读取: {skill_dir}/references/content-enhance.md

3.1 先定义文章

3.1 Define the Article First

明确目标读者、阅读情境、真正问题、读后收获、核心判断、新增价值、适用边界和最强反方。 从痛点、故事、清单、对比、热点解读、观点、复盘中选最适合的一种。把结果写入
artifacts.brief
,不得直接跳到正文。
同时记录本次个人材料:只有用户在当前任务明确提供的经历、观察或原话才算可用。
personal_materials.available=false
时,可以写第一人称判断,禁止编造亲历、朋友同事、采访、 对话、时间地点、动作和感官场景。人格要求故事或私人开场时,改用观察、问题或判断开场。
Clarify the target audience, reading context, real problems, takeaways, core judgments, added value, applicable boundaries, and the strongest counterarguments. Select the most suitable type from pain points, stories, checklists, comparisons, hot topic interpretations, opinions, and retrospectives. Write the results to
artifacts.brief
, and do not jump directly to the main text.
Also record the personal materials for this session: only experiences, observations, or exact words explicitly provided by the user in the current task are considered usable. When
personal_materials.available=false
, first-person judgments can be written, but fabricating personal experiences, friends/colleagues, interviews, conversations, time/place, actions, and sensory scenes is prohibited. When the persona requires a story or personal opening, use an observation, question, or judgment opening instead.

3.2 建立主张与证据

3.2 Build Claims and Evidence

围绕文章真正需要证明的 3-6 个主张搜索。每条进入文章的具体数据、引述、案例或时效性事实, 都要在原页面核对并立即记录:
bash
wewrite sources add --url "{原始页面}" --title "{标题}" --publisher "{发布方}" \
  --published-at "{日期}" --claim "{该页面支持的具体主张}" --status verified
优先原始报告、官方文档和当事方信息。用户材料标为
user_provided
;不得把搜索摘要、模型 记忆或范文标为
verified
;尤其不得把模型记忆标为
verified
。把事实、推断、意见和用户经历写入
artifacts.claims
,引用
sources.yaml
的来源编号。
unsupported
的主张不得进入初稿。
搜索不可用时,只写不依赖最新数据的分析和有边界的判断;删除无法核实的数字、引述和 “研究显示”,并在任务中记录降级。
Search around the 3-6 claims that the article really needs to prove. Each specific data, quote, case, or time-sensitive fact included in the article must be verified on the original page and recorded immediately:
bash
wewrite sources add --url "{原始页面}" --title "{标题}" --publisher "{发布方}" \
  --published-at "{日期}" --claim "{该页面支持的具体主张}" --status verified
Prioritize original reports, official documentation, and information from the parties involved. User materials are marked as
user_provided
; search summaries, model memories, or sample essays must not be marked as
verified
; in particular, model memories must not be marked as
verified
. Write facts, inferences, opinions, and user experiences into
artifacts.claims
, citing the source numbers from
sources.yaml
.
unsupported
claims must not be included in the first draft.
When search is unavailable, only write analyses that do not rely on the latest data and bounded judgments; delete unverifiable numbers, quotes, and "studies show" statements, and record the downgrade in the task.

3.3 安全增强

3.3 Safety Enhancement

按
content-enhance.md
为当前框架补足新增角度、行动条件、真实细节或决策标准。增强内容也 必须进入主张和来源清单。材料不足就缩小主张或换框架,不得强行反转、补故事或制造“内幕”。
Supplement the current framework with new angles, action conditions, real details, or decision-making criteria according to
content-enhance.md
. Enhanced content must also be added to the claim and source list. If materials are insufficient, narrow down the claims or change the framework; forced reversals, added stories, or fabricated "inside information" are prohibited.

4. 写初稿

4. Write the First Draft

先运行
wewrite learn-edits --summarize --json
获取仍在有效期内的规则,不直接相信旧
playbook.md
的缓存分数。只使用与当前 content_type/framework/persona 匹配的规则:
hard=true
才是硬约束,其余仅作参考;全局结构或语气规则若只是单次修改,不得强制执行。
范文库最多读取 2 篇相关范文:
  • 标明
    ownership=user
    且为用户本人创作/修改的范文,可帮助校准声音和结构。
  • 第三方或缺少元数据的旧范文一律按第三方处理,只能参考节奏与结构。
  • 任何范文都不能提供可复用的个人经历、人物、对话、具体细节、观点或句子。
写作要求:
  • 标题准确、有明确对象和利益点;正文通常 1200-2500 字,可按任务书调整。
  • 开头尽快进入读者问题或核心判断;每一节服务
    brief.sections
    和对应 claim。
  • 清楚区分事实、推断和个人意见;写出反方和适用边界,不用共识或套话凑字数。
  • 账号声音来自 style、persona 和经过筛选的学习结果,但内容与证据永远优先。
  • 禁止编造亲历、身份、采访、数字、评价、引用和来源中不存在的细节。
若
flags.use_writer_model=true
,把
brief.yaml
、
claims.yaml
、来源账本、风格和上述边界作为 完整输入调用
wewrite llm-write
,输出到
artifacts.draft
;失败则当前 Agent 直接写。否则 直接写初稿。两种方式都要按任务书和主张清单通读一次,修正归属、重复、跳跃和越界内容。
完成后更新任务:
bash
wewrite run update --patch '{"framework":"...","enhance_strategy":"...","persona":"...","word_count":0,"provenance":{"verified_sources":0,"unverified_sources":0,"exemplars":[],"playbook_rules":[]}}'
wewrite run step write completed
单独调用时告诉用户初稿、任务书和主张清单路径,并建议继续
wewrite-review
;不要把初稿称为 已经审过的成稿。
First run
wewrite learn-edits --summarize --json
to get rules that are still valid, and do not directly trust the cached scores of the old
playbook.md
. Only use rules that match the current content_type/framework/persona: only rules with
hard=true
are hard constraints, the rest are for reference only; global structure or tone rules that are only single modifications must not be enforced.
Read up to 2 relevant sample essays from the sample library:
  • Sample essays marked
    ownership=user
    and created/modified by the user themselves can help calibrate tone and structure.
  • Third-party or old sample essays lacking metadata are all treated as third-party, and can only be referenced for rhythm and structure.
  • No sample essay may provide reusable personal experiences, characters, conversations, specific details, opinions, or sentences.
Writing requirements:
  • The title should be accurate, with a clear target audience and benefit points; the main text is usually 1200-2500 words, which can be adjusted according to the task brief.
  • The opening should address the reader's problem or core judgment as soon as possible; each section serves
    brief.sections
    and the corresponding claim.
  • Clearly distinguish between facts, inferences, and personal opinions; include counterarguments and applicable boundaries, and do not use consensus or clichés to pad word count.
  • The account's tone comes from style, persona, and filtered learning results, but content and evidence always take priority.
  • Fabricating personal experiences, identities, interviews, numbers, evaluations, quotes, and details not present in sources is prohibited.
If
flags.use_writer_model=true
, call
wewrite llm-write
with
brief.yaml
,
claims.yaml
, source ledger, style, and the above boundaries as complete input, and output to
artifacts.draft
; if it fails, the current Agent writes directly. Otherwise, write the first draft directly. In both cases, read through the entire draft according to the task brief and claim list, and correct attribution, repetition, jumps, and out-of-bounds content.
Update the task after completion:
bash
wewrite run update --patch '{"framework":"...","enhance_strategy":"...","persona":"...","word_count":0,"provenance":{"verified_sources":0,"unverified_sources":0,"exemplars":[],"playbook_rules":[]}}'
wewrite run step write completed
When called independently, inform the user of the paths to the first draft, task brief, and claim list, and recommend proceeding with
wewrite-review
; do not refer to the first draft as a reviewed final article.