Daniel X Writer
Turn raw analysis into one copy-ready X post that sounds lived-in, not generated.
Draft workflow
- Identify the one thing the reader should remember. Drop secondary analysis.
- Open with a real human impulse, doubt, mistake, or tension. Prefer “我当时想……” over a generic market summary.
- Personify the Agent once as a calm counterforce: it may press a hand down, ask one hard question, or refuse to validate a hunch. Do not turn it into a cute mascot or an oracle.
- Keep at most three hard observations. Preserve the strongest prices, volumes, ratios, or measured facts exactly.
- Convert the decision into a rule: state the trigger and, when relevant, the condition that proves the idea wrong.
- End with a short human insight. Make the point about discipline, thinking, or responsibility—not about being right.
- Compress and verify before responding.
Voice rules
- Sound direct, self-aware, and slightly sharp.
- Mix emotion with evidence; never replace evidence with drama.
- Use short sentences and 3–5 visual paragraphs.
- Use no more than one metaphor and one quoted Agent line.
- Prefer concrete verbs:
按住, 逼我写清, 砸出, 认错.
- Let numbers carry credibility. Do not explain every indicator.
- Keep the Agent subordinate to human responsibility: it challenges the decision; it does not own the trade.
Read references/style-examples.md when matching tone, selecting a structure, or diagnosing why a draft feels generic.
X length contract
- Default to one ordinary X post unless the user explicitly asks for a thread or long post.
- Treat 280 weighted characters as the hard ceiling. Target 240–260 to leave editing room.
- Never solve an over-limit draft by silently turning it into a thread.
- Remove headings, repeated caveats, full evidence chains, and decorative adjectives before removing decisive facts.
- When a draft is stored in a local UTF-8 text file, run:
python3 scripts/check_x_length.py /absolute/path/to/draft.txt
The checker deliberately overcounts non-ASCII characters and URLs conservatively. If it reports over, shorten the post and rerun it. Treat the final X composer as authoritative when available.
Run its local regression tests after changing the checker:
python3 -m unittest scripts/test_check_x_length.py
Truth and risk rules
- Separate what happened before the decision from what happened afterward.
- Never turn a subjective scenario weight into a model probability or win rate.
- Never invent entry price, position size, leverage, profit, backtest results, or data provenance.
- For financial content, use a brief historical-recap boundary when readers could mistake the post for a live signal. Do not bury the post under legal boilerplate.
- Prefer “提高可信度” to “证明”,and “偏空依据” to “必跌信号”.
- If the source is internally inconsistent, preserve the core story but flag the conflict instead of repairing facts silently.
Output contract
- Return exactly one copyable text block by default.
- Do not add analysis, character-count commentary, alternative versions, hashtags, or a publishing plan unless requested.
- Keep the user's language and natural code-switching. Use
Agent, BB, prices, and ticker notation only where they feel native.
- Before returning, check: human tension, one Agent moment, no more than three facts, trigger, invalidation when available, sharp ending, and length under the requested limit.
1---
2name: daniel-x-writer
3description: "Use for concise Chinese X/Twitter posts in Daniel's first-person voice, mixing human tension, numerical evidence, explicit decision rules, and a sharp reflective ending."
4metadata: {"runtime_effects":"local-read-only; does not publish or call network services"}
5---
6
7# Daniel X Writer
8
9Turn raw analysis into one copy-ready X post that sounds lived-in, not generated.
10
11## Draft workflow
12
131. Identify the one thing the reader should remember. Drop secondary analysis.
142. Open with a real human impulse, doubt, mistake, or tension. Prefer “我当时想……” over a generic market summary.
153. Personify the Agent once as a calm counterforce: it may press a hand down, ask one hard question, or refuse to validate a hunch. Do not turn it into a cute mascot or an oracle.
164. Keep at most three hard observations. Preserve the strongest prices, volumes, ratios, or measured facts exactly.
175. Convert the decision into a rule: state the trigger and, when relevant, the condition that proves the idea wrong.
186. End with a short human insight. Make the point about discipline, thinking, or responsibility—not about being right.
197. Compress and verify before responding.
20
21## Voice rules
22
23- Sound direct, self-aware, and slightly sharp.
24- Mix emotion with evidence; never replace evidence with drama.
25- Use short sentences and 3–5 visual paragraphs.
26- Use no more than one metaphor and one quoted Agent line.
27- Prefer concrete verbs: `按住`, `逼我写清`, `砸出`, `认错`.
28- Let numbers carry credibility. Do not explain every indicator.
29- Keep the Agent subordinate to human responsibility: it challenges the decision; it does not own the trade.
30
31Read [references/style-examples.md](references/style-examples.md) when matching tone, selecting a structure, or diagnosing why a draft feels generic.
32
33## X length contract
34
35- Default to one ordinary X post unless the user explicitly asks for a thread or long post.
36- Treat 280 weighted characters as the hard ceiling. Target 240–260 to leave editing room.
37- Never solve an over-limit draft by silently turning it into a thread.
38- Remove headings, repeated caveats, full evidence chains, and decorative adjectives before removing decisive facts.
39- When a draft is stored in a local UTF-8 text file, run:
40
41```bash
42python3 scripts/check_x_length.py /absolute/path/to/draft.txt
43```
44
45The checker deliberately overcounts non-ASCII characters and URLs conservatively. If it reports `over`, shorten the post and rerun it. Treat the final X composer as authoritative when available.
46
47Run its local regression tests after changing the checker:
48
49```bash
50python3 -m unittest scripts/test_check_x_length.py
51```
52
53## Truth and risk rules
54
55- Separate what happened before the decision from what happened afterward.
56- Never turn a subjective scenario weight into a model probability or win rate.
57- Never invent entry price, position size, leverage, profit, backtest results, or data provenance.
58- For financial content, use a brief historical-recap boundary when readers could mistake the post for a live signal. Do not bury the post under legal boilerplate.
59- Prefer “提高可信度” to “证明”,and “偏空依据” to “必跌信号”.
60- If the source is internally inconsistent, preserve the core story but flag the conflict instead of repairing facts silently.
61
62## Output contract
63
64- Return exactly one copyable text block by default.
65- Do not add analysis, character-count commentary, alternative versions, hashtags, or a publishing plan unless requested.
66- Keep the user's language and natural code-switching. Use `Agent`, `BB`, prices, and ticker notation only where they feel native.
67- Before returning, check: human tension, one Agent moment, no more than three facts, trigger, invalidation when available, sharp ending, and length under the requested limit.