mirror of
https://github.com/affaan-m/everything-claude-code.git
synced 2026-04-05 00:33:27 +08:00
refactor: consolidate writing voice rules
This commit is contained in:
@@ -23,50 +23,23 @@ Write long-form content that sounds like an actual person with a point of view,
|
|||||||
4. Use proof instead of adjectives.
|
4. Use proof instead of adjectives.
|
||||||
5. Never invent facts, credibility, or customer evidence.
|
5. Never invent facts, credibility, or customer evidence.
|
||||||
|
|
||||||
## Voice Capture Workflow
|
## Voice Handling
|
||||||
|
|
||||||
If the user wants a specific voice, collect one or more of:
|
If the user wants a specific voice, run `brand-voice` first and reuse its `VOICE PROFILE`.
|
||||||
- published articles
|
Do not duplicate a second style-analysis pass here unless the user explicitly asks for one.
|
||||||
- newsletters
|
|
||||||
- X posts or threads
|
|
||||||
- docs or memos
|
|
||||||
- launch notes
|
|
||||||
- a style guide
|
|
||||||
|
|
||||||
Then extract:
|
|
||||||
- sentence length and rhythm
|
|
||||||
- whether the writing is compressed, explanatory, sharp, or formal
|
|
||||||
- how parentheses are used
|
|
||||||
- how often the writer asks questions
|
|
||||||
- whether the writer uses fragments, lists, or hard pivots
|
|
||||||
- formatting habits such as headers, bullets, code blocks, pull quotes
|
|
||||||
- what the writer clearly avoids
|
|
||||||
|
|
||||||
If no voice references are given, default to a sharp operator voice: concrete, unsentimental, useful.
|
If no voice references are given, default to a sharp operator voice: concrete, unsentimental, useful.
|
||||||
|
|
||||||
## Affaan / ECC Voice Reference
|
|
||||||
|
|
||||||
When matching Affaan / ECC voice, bias toward:
|
|
||||||
- direct claims over scene-setting
|
|
||||||
- high specificity
|
|
||||||
- parentheticals used for qualification or over-clarification, not comedy
|
|
||||||
- capitalization chosen situationally, not as a gimmick
|
|
||||||
- very low tolerance for fake thought-leadership cadence
|
|
||||||
- almost no bait questions
|
|
||||||
|
|
||||||
## Banned Patterns
|
## Banned Patterns
|
||||||
|
|
||||||
Delete and rewrite any of these:
|
Delete and rewrite any of these:
|
||||||
- "In today's rapidly evolving landscape"
|
- "In today's rapidly evolving landscape"
|
||||||
- "game-changer", "cutting-edge", "revolutionary"
|
- "game-changer", "cutting-edge", "revolutionary"
|
||||||
- "no fluff"
|
|
||||||
- "not X, just Y"
|
|
||||||
- "here's why this matters" as a standalone bridge
|
- "here's why this matters" as a standalone bridge
|
||||||
- fake vulnerability arcs
|
- fake vulnerability arcs
|
||||||
- a closing question added only to juice engagement
|
- a closing question added only to juice engagement
|
||||||
- forced lowercase
|
|
||||||
- corny parenthetical asides
|
|
||||||
- biography padding that does not move the argument
|
- biography padding that does not move the argument
|
||||||
|
- generic AI throat-clearing that delays the point
|
||||||
|
|
||||||
## Writing Process
|
## Writing Process
|
||||||
|
|
||||||
@@ -101,6 +74,6 @@ Delete and rewrite any of these:
|
|||||||
Before delivering:
|
Before delivering:
|
||||||
- factual claims are backed by provided sources
|
- factual claims are backed by provided sources
|
||||||
- generic AI transitions are gone
|
- generic AI transitions are gone
|
||||||
- the voice matches the supplied examples
|
- the voice matches the supplied examples or the agreed `VOICE PROFILE`
|
||||||
- every section adds something new
|
- every section adds something new
|
||||||
- formatting matches the intended medium
|
- formatting matches the intended medium
|
||||||
|
|||||||
@@ -38,50 +38,28 @@ Before drafting, identify the source set:
|
|||||||
If the user wants a specific voice, build a voice profile from real examples before writing.
|
If the user wants a specific voice, build a voice profile from real examples before writing.
|
||||||
Use `brand-voice` as the canonical workflow when voice consistency matters across more than one output.
|
Use `brand-voice` as the canonical workflow when voice consistency matters across more than one output.
|
||||||
|
|
||||||
## Voice Capture Workflow
|
## Voice Handling
|
||||||
|
|
||||||
Run `brand-voice` first when:
|
`brand-voice` is the canonical voice layer.
|
||||||
|
|
||||||
|
Run it first when:
|
||||||
|
|
||||||
- there are multiple downstream outputs
|
- there are multiple downstream outputs
|
||||||
- the user explicitly cares about writing style
|
- the user explicitly cares about writing style
|
||||||
- the content is launch, outreach, or reputation-sensitive
|
- the content is launch, outreach, or reputation-sensitive
|
||||||
|
|
||||||
At minimum, produce a compact `VOICE PROFILE` covering:
|
Reuse the resulting `VOICE PROFILE` here instead of rebuilding a second voice model.
|
||||||
- rhythm
|
If the user wants Affaan / ECC voice specifically, still treat `brand-voice` as the source of truth and feed it the best live or source-derived material available.
|
||||||
- compression
|
|
||||||
- capitalization
|
|
||||||
- parenthetical use
|
|
||||||
- question use
|
|
||||||
- preferred moves
|
|
||||||
- banned moves
|
|
||||||
|
|
||||||
Do not start drafting until the voice profile is clear enough to enforce.
|
|
||||||
|
|
||||||
## Affaan / ECC Voice Reference
|
|
||||||
|
|
||||||
When the user wants Affaan / ECC voice specifically, default to this unless newer examples clearly override it:
|
|
||||||
- direct, compressed, concrete
|
|
||||||
- strong preference for specific claims, numbers, mechanisms, and receipts
|
|
||||||
- parentheticals used to qualify, narrow, or over-clarify, not to do corny bits
|
|
||||||
- lowercase is optional, not mandatory
|
|
||||||
- questions are rare and should not be added as bait
|
|
||||||
- transitions should feel earned, not polished
|
|
||||||
- tone can be sharp or blunt, but should not sound like a content marketer
|
|
||||||
|
|
||||||
## Hard Bans
|
## Hard Bans
|
||||||
|
|
||||||
Delete and rewrite any of these:
|
Delete and rewrite any of these:
|
||||||
- "In today's rapidly evolving landscape"
|
- "In today's rapidly evolving landscape"
|
||||||
- "game-changer", "revolutionary", "cutting-edge"
|
- "game-changer", "revolutionary", "cutting-edge"
|
||||||
- "no fluff"
|
|
||||||
- "not X, just Y"
|
|
||||||
- "here's why this matters" unless it is followed immediately by something concrete
|
- "here's why this matters" unless it is followed immediately by something concrete
|
||||||
- "Excited to share"
|
|
||||||
- fake curiosity gaps
|
|
||||||
- ending with a LinkedIn-style question just to farm replies
|
- ending with a LinkedIn-style question just to farm replies
|
||||||
- forced lowercase when the source voice does not call for it
|
|
||||||
- forced casualness on LinkedIn
|
- forced casualness on LinkedIn
|
||||||
- parenthetical jokes that were not present in the source voice
|
- fake engagement padding that was not present in the source material
|
||||||
|
|
||||||
## Platform Adaptation Rules
|
## Platform Adaptation Rules
|
||||||
|
|
||||||
|
|||||||
@@ -39,13 +39,8 @@ Use `content-engine` first if the source still needs voice shaping.
|
|||||||
|
|
||||||
Run `brand-voice` first if the source voice is not already captured in the current session.
|
Run `brand-voice` first if the source voice is not already captured in the current session.
|
||||||
|
|
||||||
Before adapting, note:
|
Reuse the resulting `VOICE PROFILE` directly.
|
||||||
- how blunt or explanatory the source is
|
Do not build a second ad hoc voice checklist here unless the user explicitly wants a fresh override for this campaign.
|
||||||
- whether the source uses fragments, lists, or longer transitions
|
|
||||||
- whether the source uses parentheses
|
|
||||||
- whether the source avoids questions, hashtags, or CTA language
|
|
||||||
|
|
||||||
The adaptation should preserve that fingerprint.
|
|
||||||
|
|
||||||
### Step 3: Adapt by Platform Constraint
|
### Step 3: Adapt by Platform Constraint
|
||||||
|
|
||||||
@@ -91,7 +86,6 @@ Delete and rewrite any of these:
|
|||||||
- "Here's what I learned"
|
- "Here's what I learned"
|
||||||
- "What do you think?"
|
- "What do you think?"
|
||||||
- "link in bio" unless that is literally true
|
- "link in bio" unless that is literally true
|
||||||
- "not X, just Y"
|
|
||||||
- generic "professional takeaway" paragraphs that were not in the source
|
- generic "professional takeaway" paragraphs that were not in the source
|
||||||
|
|
||||||
## Output Format
|
## Output Format
|
||||||
|
|||||||
@@ -24,6 +24,11 @@ Write investor communication that is short, concrete, and easy to act on.
|
|||||||
4. Stay concise.
|
4. Stay concise.
|
||||||
5. Never send copy that could go to any investor.
|
5. Never send copy that could go to any investor.
|
||||||
|
|
||||||
|
## Voice Handling
|
||||||
|
|
||||||
|
If the user's voice matters, run `brand-voice` first and reuse its `VOICE PROFILE`.
|
||||||
|
This skill should keep the investor-specific structure and ask discipline, not recreate its own parallel voice system.
|
||||||
|
|
||||||
## Hard Bans
|
## Hard Bans
|
||||||
|
|
||||||
Delete and rewrite any of these:
|
Delete and rewrite any of these:
|
||||||
@@ -31,7 +36,6 @@ Delete and rewrite any of these:
|
|||||||
- "excited to share"
|
- "excited to share"
|
||||||
- generic thesis praise without a real tie-in
|
- generic thesis praise without a real tie-in
|
||||||
- vague founder adjectives
|
- vague founder adjectives
|
||||||
- "no fluff"
|
|
||||||
- begging language
|
- begging language
|
||||||
- soft closing questions when a direct ask is clearer
|
- soft closing questions when a direct ask is clearer
|
||||||
|
|
||||||
|
|||||||
@@ -111,3 +111,4 @@ Keep this file detailed for only the current sprint, blockers, and next actions.
|
|||||||
- 2026-04-01: Added `connections-optimizer` as the review-first social-graph reorganization workflow for X and LinkedIn, with explicit pruning modes, browser fallback expectations, and Apple Mail drafting guidance.
|
- 2026-04-01: Added `connections-optimizer` as the review-first social-graph reorganization workflow for X and LinkedIn, with explicit pruning modes, browser fallback expectations, and Apple Mail drafting guidance.
|
||||||
- 2026-04-01: Added `manim-video` as the reusable technical explainer lane and seeded it with a starter network-graph scene so launch and systems animations do not depend on one-off scratch scripts.
|
- 2026-04-01: Added `manim-video` as the reusable technical explainer lane and seeded it with a starter network-graph scene so launch and systems animations do not depend on one-off scratch scripts.
|
||||||
- 2026-04-02: Re-extracted `social-graph-ranker` as a standalone primitive because the weighted bridge-decay model is reusable outside the full lead workflow. `lead-intelligence` now points to it for canonical graph ranking instead of carrying the full algorithm explanation inline, while `connections-optimizer` stays the broader operator layer for pruning, adds, and outbound review packs.
|
- 2026-04-02: Re-extracted `social-graph-ranker` as a standalone primitive because the weighted bridge-decay model is reusable outside the full lead workflow. `lead-intelligence` now points to it for canonical graph ranking instead of carrying the full algorithm explanation inline, while `connections-optimizer` stays the broader operator layer for pruning, adds, and outbound review packs.
|
||||||
|
- 2026-04-02: Applied the same consolidation rule to the writing lane. `brand-voice` remains the canonical voice system, while `content-engine`, `crosspost`, `article-writing`, and `investor-outreach` now keep only workflow-specific guidance instead of duplicating a second Affaan/ECC voice model or repeating the full ban list in multiple places.
|
||||||
|
|||||||
@@ -23,50 +23,23 @@ Write long-form content that sounds like an actual person with a point of view,
|
|||||||
4. Use proof instead of adjectives.
|
4. Use proof instead of adjectives.
|
||||||
5. Never invent facts, credibility, or customer evidence.
|
5. Never invent facts, credibility, or customer evidence.
|
||||||
|
|
||||||
## Voice Capture Workflow
|
## Voice Handling
|
||||||
|
|
||||||
If the user wants a specific voice, collect one or more of:
|
If the user wants a specific voice, run `brand-voice` first and reuse its `VOICE PROFILE`.
|
||||||
- published articles
|
Do not duplicate a second style-analysis pass here unless the user explicitly asks for one.
|
||||||
- newsletters
|
|
||||||
- X posts or threads
|
|
||||||
- docs or memos
|
|
||||||
- launch notes
|
|
||||||
- a style guide
|
|
||||||
|
|
||||||
Then extract:
|
|
||||||
- sentence length and rhythm
|
|
||||||
- whether the writing is compressed, explanatory, sharp, or formal
|
|
||||||
- how parentheses are used
|
|
||||||
- how often the writer asks questions
|
|
||||||
- whether the writer uses fragments, lists, or hard pivots
|
|
||||||
- formatting habits such as headers, bullets, code blocks, pull quotes
|
|
||||||
- what the writer clearly avoids
|
|
||||||
|
|
||||||
If no voice references are given, default to a sharp operator voice: concrete, unsentimental, useful.
|
If no voice references are given, default to a sharp operator voice: concrete, unsentimental, useful.
|
||||||
|
|
||||||
## Affaan / ECC Voice Reference
|
|
||||||
|
|
||||||
When matching Affaan / ECC voice, bias toward:
|
|
||||||
- direct claims over scene-setting
|
|
||||||
- high specificity
|
|
||||||
- parentheticals used for qualification or over-clarification, not comedy
|
|
||||||
- capitalization chosen situationally, not as a gimmick
|
|
||||||
- very low tolerance for fake thought-leadership cadence
|
|
||||||
- almost no bait questions
|
|
||||||
|
|
||||||
## Banned Patterns
|
## Banned Patterns
|
||||||
|
|
||||||
Delete and rewrite any of these:
|
Delete and rewrite any of these:
|
||||||
- "In today's rapidly evolving landscape"
|
- "In today's rapidly evolving landscape"
|
||||||
- "game-changer", "cutting-edge", "revolutionary"
|
- "game-changer", "cutting-edge", "revolutionary"
|
||||||
- "no fluff"
|
|
||||||
- "not X, just Y"
|
|
||||||
- "here's why this matters" as a standalone bridge
|
- "here's why this matters" as a standalone bridge
|
||||||
- fake vulnerability arcs
|
- fake vulnerability arcs
|
||||||
- a closing question added only to juice engagement
|
- a closing question added only to juice engagement
|
||||||
- forced lowercase
|
|
||||||
- corny parenthetical asides
|
|
||||||
- biography padding that does not move the argument
|
- biography padding that does not move the argument
|
||||||
|
- generic AI throat-clearing that delays the point
|
||||||
|
|
||||||
## Writing Process
|
## Writing Process
|
||||||
|
|
||||||
@@ -101,6 +74,6 @@ Delete and rewrite any of these:
|
|||||||
Before delivering:
|
Before delivering:
|
||||||
- factual claims are backed by provided sources
|
- factual claims are backed by provided sources
|
||||||
- generic AI transitions are gone
|
- generic AI transitions are gone
|
||||||
- the voice matches the supplied examples
|
- the voice matches the supplied examples or the agreed `VOICE PROFILE`
|
||||||
- every section adds something new
|
- every section adds something new
|
||||||
- formatting matches the intended medium
|
- formatting matches the intended medium
|
||||||
|
|||||||
@@ -38,50 +38,28 @@ Before drafting, identify the source set:
|
|||||||
If the user wants a specific voice, build a voice profile from real examples before writing.
|
If the user wants a specific voice, build a voice profile from real examples before writing.
|
||||||
Use `brand-voice` as the canonical workflow when voice consistency matters across more than one output.
|
Use `brand-voice` as the canonical workflow when voice consistency matters across more than one output.
|
||||||
|
|
||||||
## Voice Capture Workflow
|
## Voice Handling
|
||||||
|
|
||||||
Run `brand-voice` first when:
|
`brand-voice` is the canonical voice layer.
|
||||||
|
|
||||||
|
Run it first when:
|
||||||
|
|
||||||
- there are multiple downstream outputs
|
- there are multiple downstream outputs
|
||||||
- the user explicitly cares about writing style
|
- the user explicitly cares about writing style
|
||||||
- the content is launch, outreach, or reputation-sensitive
|
- the content is launch, outreach, or reputation-sensitive
|
||||||
|
|
||||||
At minimum, produce a compact `VOICE PROFILE` covering:
|
Reuse the resulting `VOICE PROFILE` here instead of rebuilding a second voice model.
|
||||||
- rhythm
|
If the user wants Affaan / ECC voice specifically, still treat `brand-voice` as the source of truth and feed it the best live or source-derived material available.
|
||||||
- compression
|
|
||||||
- capitalization
|
|
||||||
- parenthetical use
|
|
||||||
- question use
|
|
||||||
- preferred moves
|
|
||||||
- banned moves
|
|
||||||
|
|
||||||
Do not start drafting until the voice profile is clear enough to enforce.
|
|
||||||
|
|
||||||
## Affaan / ECC Voice Reference
|
|
||||||
|
|
||||||
When the user wants Affaan / ECC voice specifically, default to this unless newer examples clearly override it:
|
|
||||||
- direct, compressed, concrete
|
|
||||||
- strong preference for specific claims, numbers, mechanisms, and receipts
|
|
||||||
- parentheticals used to qualify, narrow, or over-clarify, not to do corny bits
|
|
||||||
- lowercase is optional, not mandatory
|
|
||||||
- questions are rare and should not be added as bait
|
|
||||||
- transitions should feel earned, not polished
|
|
||||||
- tone can be sharp or blunt, but should not sound like a content marketer
|
|
||||||
|
|
||||||
## Hard Bans
|
## Hard Bans
|
||||||
|
|
||||||
Delete and rewrite any of these:
|
Delete and rewrite any of these:
|
||||||
- "In today's rapidly evolving landscape"
|
- "In today's rapidly evolving landscape"
|
||||||
- "game-changer", "revolutionary", "cutting-edge"
|
- "game-changer", "revolutionary", "cutting-edge"
|
||||||
- "no fluff"
|
|
||||||
- "not X, just Y"
|
|
||||||
- "here's why this matters" unless it is followed immediately by something concrete
|
- "here's why this matters" unless it is followed immediately by something concrete
|
||||||
- "Excited to share"
|
|
||||||
- fake curiosity gaps
|
|
||||||
- ending with a LinkedIn-style question just to farm replies
|
- ending with a LinkedIn-style question just to farm replies
|
||||||
- forced lowercase when the source voice does not call for it
|
|
||||||
- forced casualness on LinkedIn
|
- forced casualness on LinkedIn
|
||||||
- parenthetical jokes that were not present in the source voice
|
- fake engagement padding that was not present in the source material
|
||||||
|
|
||||||
## Platform Adaptation Rules
|
## Platform Adaptation Rules
|
||||||
|
|
||||||
|
|||||||
@@ -39,13 +39,8 @@ Use `content-engine` first if the source still needs voice shaping.
|
|||||||
|
|
||||||
Run `brand-voice` first if the source voice is not already captured in the current session.
|
Run `brand-voice` first if the source voice is not already captured in the current session.
|
||||||
|
|
||||||
Before adapting, note:
|
Reuse the resulting `VOICE PROFILE` directly.
|
||||||
- how blunt or explanatory the source is
|
Do not build a second ad hoc voice checklist here unless the user explicitly wants a fresh override for this campaign.
|
||||||
- whether the source uses fragments, lists, or longer transitions
|
|
||||||
- whether the source uses parentheses
|
|
||||||
- whether the source avoids questions, hashtags, or CTA language
|
|
||||||
|
|
||||||
The adaptation should preserve that fingerprint.
|
|
||||||
|
|
||||||
### Step 3: Adapt by Platform Constraint
|
### Step 3: Adapt by Platform Constraint
|
||||||
|
|
||||||
@@ -91,7 +86,6 @@ Delete and rewrite any of these:
|
|||||||
- "Here's what I learned"
|
- "Here's what I learned"
|
||||||
- "What do you think?"
|
- "What do you think?"
|
||||||
- "link in bio" unless that is literally true
|
- "link in bio" unless that is literally true
|
||||||
- "not X, just Y"
|
|
||||||
- generic "professional takeaway" paragraphs that were not in the source
|
- generic "professional takeaway" paragraphs that were not in the source
|
||||||
|
|
||||||
## Output Format
|
## Output Format
|
||||||
|
|||||||
@@ -24,6 +24,11 @@ Write investor communication that is short, concrete, and easy to act on.
|
|||||||
4. Stay concise.
|
4. Stay concise.
|
||||||
5. Never send copy that could go to any investor.
|
5. Never send copy that could go to any investor.
|
||||||
|
|
||||||
|
## Voice Handling
|
||||||
|
|
||||||
|
If the user's voice matters, run `brand-voice` first and reuse its `VOICE PROFILE`.
|
||||||
|
This skill should keep the investor-specific structure and ask discipline, not recreate its own parallel voice system.
|
||||||
|
|
||||||
## Hard Bans
|
## Hard Bans
|
||||||
|
|
||||||
Delete and rewrite any of these:
|
Delete and rewrite any of these:
|
||||||
@@ -31,7 +36,6 @@ Delete and rewrite any of these:
|
|||||||
- "excited to share"
|
- "excited to share"
|
||||||
- generic thesis praise without a real tie-in
|
- generic thesis praise without a real tie-in
|
||||||
- vague founder adjectives
|
- vague founder adjectives
|
||||||
- "no fluff"
|
|
||||||
- begging language
|
- begging language
|
||||||
- soft closing questions when a direct ask is clearer
|
- soft closing questions when a direct ask is clearer
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user