@lifeaitools/rdc-skills 0.20.6 → 0.21.0
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/.claude-plugin/plugin.json +26 -1
- package/CHANGELOG.md +12 -0
- package/git-sha.json +1 -1
- package/package.json +1 -1
- package/skills/channel-formatter/SKILL.md +299 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "rdc",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.21.0",
|
|
4
4
|
"description": "RDC typed-agent dispatch skill suite for Claude Code — plan, build, review, overnight unattended builds with work-item tracking and TDD enforcement.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "LIFEAI",
|
|
@@ -30,6 +30,31 @@
|
|
|
30
30
|
"codeflow_required": "bool — true if the skill MUST consult CodeFlow before acting on the codebase"
|
|
31
31
|
},
|
|
32
32
|
"skills_meta": {
|
|
33
|
+
"channel-formatter": {
|
|
34
|
+
"name": "channel-formatter",
|
|
35
|
+
"slash": "rdc:channel-formatter",
|
|
36
|
+
"category": "tooling",
|
|
37
|
+
"usage": "rdc:channel-formatter <channel> [content]",
|
|
38
|
+
"args": {
|
|
39
|
+
"positional": [
|
|
40
|
+
{
|
|
41
|
+
"name": "channel",
|
|
42
|
+
"required": false,
|
|
43
|
+
"description": "Target channel: linkedin | twitter | slack | email-ext | email-int | pitch-deck | word | pdf-report | web. Inferred from the request if omitted.",
|
|
44
|
+
"accepts": "string"
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"name": "content",
|
|
48
|
+
"required": false,
|
|
49
|
+
"description": "Text/content to format. If omitted, formats content from the surrounding conversation.",
|
|
50
|
+
"accepts": "string"
|
|
51
|
+
}
|
|
52
|
+
],
|
|
53
|
+
"flags": []
|
|
54
|
+
},
|
|
55
|
+
"requires": [],
|
|
56
|
+
"produces": []
|
|
57
|
+
},
|
|
33
58
|
"brochure": {
|
|
34
59
|
"name": "brochure",
|
|
35
60
|
"slash": "rdc:brochure",
|
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,18 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
---
|
|
9
9
|
|
|
10
|
+
## v0.21.0 — channel-formatter skill
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
- `rdc:channel-formatter` — channel-native output formatting for LinkedIn, Twitter/X,
|
|
14
|
+
Slack/Teams, Email (external/internal), Pitch Deck, Word/DOCX, PDF Report, and
|
|
15
|
+
Web/Landing Page. Ported from the `output-channel-formatter` claude.ai skill and
|
|
16
|
+
**inlined into a single self-contained SKILL.md** (no `references/` files) so it works
|
|
17
|
+
identically across the CLI plugin, the claude.ai web client (via `rdc_skill_get`, which
|
|
18
|
+
serves only SKILL.md), and Codex.
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
10
22
|
## v0.9.38 — Clean-box npm install hardening
|
|
11
23
|
|
|
12
24
|
### Fixed
|
package/git-sha.json
CHANGED
package/package.json
CHANGED
|
@@ -0,0 +1,299 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: rdc:channel-formatter
|
|
3
|
+
description: "Usage `rdc:channel-formatter <channel> [content]` — Apply precise, channel-native formatting to any output: LinkedIn, Twitter/X, Slack/Teams, Email (external/internal), Pitch Deck slides, Word/DOCX, PDF Report, and Web/Landing Page. Use EVERY TIME the user names an output channel/platform/document type, or asks to 'write a post', 'draft an email', 'format this for', 'make this a slide', 'send to LinkedIn', 'write a tweet', 'social media post', or 'reformat this for [channel]'. Each channel has its own Unicode strategy, emphasis system, length limits, and structure — never apply generic markdown to channel-specific output. Self-contained: all channel rules are inlined below (no external reference files)."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
> **⚠️ OUTPUT CONTRACT (READ FIRST):** `guides/output-contract.md`
|
|
7
|
+
> The formatted deliverable IS the output. Produce the channel-correct text directly.
|
|
8
|
+
> No tool-call narration, no raw markdown wrappers around channel output, no log dumps.
|
|
9
|
+
|
|
10
|
+
> If dispatching subagents or running as a subagent: read `{PROJECT_ROOT}/.rdc/guides/agent-bootstrap.md` first.
|
|
11
|
+
|
|
12
|
+
> **Sandbox contract:** This skill honors `RDC_TEST=1` per `guides/agent-bootstrap.md` § RDC_TEST Sandbox Contract. It writes no files and makes no external calls; under `RDC_TEST=1` behavior is unchanged (pure text transform).
|
|
13
|
+
|
|
14
|
+
# Channel Formatter
|
|
15
|
+
|
|
16
|
+
Format output precisely for the target channel. This skill is **self-contained** —
|
|
17
|
+
every channel's rules are inlined below. Detect the channel, jump to its section,
|
|
18
|
+
apply its rules exactly. Never apply generic markdown to a channel that doesn't render it.
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## Channel Detection
|
|
23
|
+
|
|
24
|
+
| If user says / context is... | Channel | Go to section |
|
|
25
|
+
|-------------------------------------------------------|------------------|--------------------------|
|
|
26
|
+
| LinkedIn, post, share on LinkedIn | LinkedIn | [§ LinkedIn](#-linkedin) |
|
|
27
|
+
| Tweet, Twitter, X post, thread | Twitter/X | [§ Twitter / X](#-twitter--x) |
|
|
28
|
+
| Slack, Teams, Discord, chat message | Slack/Teams | [§ Slack / Teams](#-slack--teams) |
|
|
29
|
+
| Email to client/investor/external, cold outreach | Email (External) | [§ Email — External](#-email--external) |
|
|
30
|
+
| Email to team, internal, Slack alternative | Email (Internal) | [§ Email — Internal](#-email--internal) |
|
|
31
|
+
| Pitch deck, slide, investor slide, one-pager slide | Pitch Deck | [§ Pitch Deck](#-pitch-deck) |
|
|
32
|
+
| Word, DOCX, document, report, memo, letter, contract | Word/DOCX | [§ Word / DOCX](#-word--docx) |
|
|
33
|
+
| PDF report, annual report, white paper | PDF Report | [§ PDF Report](#-pdf-report) |
|
|
34
|
+
| Website, landing page, web copy | Web/Landing Page | [§ Web / Landing Page](#-web--landing-page) |
|
|
35
|
+
| Artifact, JSX, React component, Claude artifact | Artifact/JSX | → use the `jsx-author` / `impeccable` skill instead |
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## Workflow
|
|
40
|
+
|
|
41
|
+
1. **Detect channel** from the request using the table above.
|
|
42
|
+
2. **Jump to that channel's section** below and apply all rules exactly — do not rely on memory.
|
|
43
|
+
3. **Never mix** markdown conventions across channels.
|
|
44
|
+
4. If the channel is ambiguous, ask once: "Is this for [Channel A] or [Channel B]?"
|
|
45
|
+
5. Produce the formatted output directly as the deliverable.
|
|
46
|
+
|
|
47
|
+
## Hard Rules (all channels)
|
|
48
|
+
|
|
49
|
+
- Never apply generic markdown (`##`, `**`, `-`, etc.) to LinkedIn, Email, Slack, or Twitter output.
|
|
50
|
+
- Never use raw LaTeX in LinkedIn, Email, Slack, or Twitter — use Unicode math symbols.
|
|
51
|
+
- Never use Word Styles notation in plain-text channels.
|
|
52
|
+
- Always match the tone register of the channel (formal ≠ casual ≠ punchy).
|
|
53
|
+
- For LIFEAI/PRT/RDC content, maintain REGEN-MODE voice unless Author-Mode is active.
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## § LinkedIn
|
|
58
|
+
|
|
59
|
+
### Core Principles
|
|
60
|
+
- No markdown whatsoever — LinkedIn renders it as raw symbols.
|
|
61
|
+
- Unicode is the ONLY way to achieve bold, italic, and special emphasis.
|
|
62
|
+
- Emoticons are structural tools, not decoration — use them as bullet replacements and section markers.
|
|
63
|
+
- Hook in line 1 — LinkedIn truncates after ~2 lines before "see more".
|
|
64
|
+
- White space is content — single-line breaks create rhythm and readability.
|
|
65
|
+
|
|
66
|
+
### Unicode Character Sets
|
|
67
|
+
**Bold (Mathematical Bold)** — key terms, company names, headlines, CTAs:
|
|
68
|
+
```
|
|
69
|
+
𝗔𝗕𝗖𝗗𝗘𝗙𝗚𝗛𝗜𝗝𝗞𝗟𝗠𝗡𝗢𝗣𝗤𝗥𝗦𝗧𝗨𝗩𝗪𝗫𝗬𝗭
|
|
70
|
+
𝗮𝗯𝗰𝗱𝗲𝗳𝗴𝗵𝗶𝗷𝗸𝗹𝗺𝗻𝗼𝗽𝗾𝗿𝘀𝘁𝘂𝘃𝘄𝘅𝘆𝘇
|
|
71
|
+
𝟬𝟭𝟮𝟯𝟰𝟱𝟲𝟳𝟴𝟵
|
|
72
|
+
```
|
|
73
|
+
**Italic (Mathematical Italic)** — emphasis, quotes, sub-themes:
|
|
74
|
+
```
|
|
75
|
+
𝘈𝘉𝘊𝘋𝘌𝘍𝘎𝘏𝘐𝘑𝘒𝘓𝘔𝘕𝘖𝘗𝘘𝘙𝘚𝘛𝘜𝘝𝘞𝘟𝘠𝘡
|
|
76
|
+
𝘢𝘣𝘤𝘥𝘦𝘧𝘨𝘩𝘪𝘫𝘬𝘭𝘮𝘯𝘰𝘱𝘲𝘳𝘴𝘵𝘶𝘷𝘸𝘹𝘺𝘻
|
|
77
|
+
```
|
|
78
|
+
**Bold Italic:**
|
|
79
|
+
```
|
|
80
|
+
𝘼𝘽𝘾𝘿𝙀𝙁𝙂𝙃𝙄𝙅𝙆𝙇𝙈𝙉𝙊𝙋𝙌𝙍𝙎𝙏𝙐𝙑𝙒𝙓𝙔𝙕
|
|
81
|
+
𝙖𝙗𝙘𝙙𝙚𝙛𝙜𝙝𝙞𝙟𝙠𝙡𝙢𝙣𝙤𝙥𝙦𝙧𝙨𝙩𝙪𝙫𝙬𝙭𝙮𝙯
|
|
82
|
+
```
|
|
83
|
+
**Math / Equations** — Unicode symbols, never LaTeX: `× ÷ ± ≠ ≤ ≥ ≈ ∴ ∵ Σ Δ α β ∞ √ ² CO₂ H₂O → ← ⟺ % °`
|
|
84
|
+
Example: instead of `E = mc^2` write `E = mc²`; instead of `\alpha_{PRT}` write `αPRT`.
|
|
85
|
+
|
|
86
|
+
### Emoticons as Structure
|
|
87
|
+
Section openers / bullets: 🔹 primary · 🔸 secondary · ▸ tertiary · ✅ result · ❌ contrast · ⚡ urgency · 🌱 regenerative (LIFEAI/PRT) · 💡 insight · 📌 takeaway · 🔑 key · 📊 data · 🏗️ development · 🤝 partnership · 💰 capital · 🌍 planetary.
|
|
88
|
+
Dividers: `——————————————` · `▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬` · `· · · · · · · · · · · · · ·`
|
|
89
|
+
|
|
90
|
+
### Post Structure
|
|
91
|
+
**Standard (thought leadership):** hook line (no period, open loop) → blank → 3-6 short paragraphs (1-3 lines), emoticons as bullets → blank → insight/contrast line → blank → CTA (question/invitation) → blank → up to 3 hashtags.
|
|
92
|
+
**Announcement:** bold Unicode headline → what it is (2 sentences) → 🔹×3 key points → why it matters → CTA/link → 1-2 tags.
|
|
93
|
+
**Regenerative / LIFEAI (Dave voice):** manifesto opener (one line) → blank → problem with the old way (2-3 lines) → blank → 🌱 what we're building / how it differs / who it serves → blank → the stakes (one line) → blank → direct personal invitation → blank → `𝗗𝗮𝘃𝗲 𝗟𝗮𝗱𝗼𝘂𝗰𝗲𝘂𝗿 | LIFEAI | 𝘓𝘪𝘧𝘦 𝘣𝘦𝘧𝘰𝘳𝘦 𝘗𝘳𝘰𝘧𝘪𝘵𝘴` → `#RegenerativeCapital #PlaceRegeneration #LIFEAI`.
|
|
94
|
+
|
|
95
|
+
### Length
|
|
96
|
+
Thought leadership 900–1300 chars · Announcement 400–700 · Hot take 200–400 · Long-form native 1200–2000 words.
|
|
97
|
+
|
|
98
|
+
### Do NOT
|
|
99
|
+
❌ `**bold**` (literal asterisks) · ❌ `# Heading` (literal hash) · ❌ `-`/`•` bullets (use emoticons) · ❌ LaTeX · ❌ >5 hashtags · ❌ tagging people unless asked · ❌ walls of text (max 3 lines/paragraph).
|
|
100
|
+
|
|
101
|
+
---
|
|
102
|
+
|
|
103
|
+
## § Twitter / X
|
|
104
|
+
|
|
105
|
+
### Core Principles
|
|
106
|
+
- 280 characters hard limit per tweet. Hook is everything — first 5 words decide readership.
|
|
107
|
+
- Threads are for depth; single tweets for punchy takes. No markdown renders — plain text only.
|
|
108
|
+
- Minimal hashtags (1-2 max, only if genuinely searchable). End with a provocation/question when possible.
|
|
109
|
+
|
|
110
|
+
### Character Counting
|
|
111
|
+
- URLs always count as 23 chars (t.co). Media doesn't count. Line breaks = 1 char each. Leave a 10-15 char buffer — aim for 265 max.
|
|
112
|
+
|
|
113
|
+
### Single Tweet Structure
|
|
114
|
+
**Hot take:** provocative opener (≤10 words) → the turn/evidence (1-2 lines) → the landing.
|
|
115
|
+
**Announcement:** bold claim first → why it matters (1 line) → link/CTA.
|
|
116
|
+
**Regenerative (Dave):** manifesto line → old way vs new way → the invitation.
|
|
117
|
+
|
|
118
|
+
### Thread Structure
|
|
119
|
+
Tweet 1 = strongest hook (number `(1/7)` or use 🧵) → tweet 2 = context → tweets 3-n = one idea each → last tweet = recap + CTA/question. Each tweet must stand alone. Max 7-10 tweets — longer = blog post.
|
|
120
|
+
|
|
121
|
+
### Hook Formulas
|
|
122
|
+
Contrarian ("Most investors are wrong about regenerative land.") · Hard number ("We just unlocked $40M in stranded rural capital.") · Open loop ("Something broke in ESG investing. Here's what it missed:") · Bold declaration · Question · List tease ("3 things institutional capital gets wrong about place:").
|
|
123
|
+
|
|
124
|
+
### Hashtags & Emoji
|
|
125
|
+
Max 2 hashtags, end of tweet only, active communities only. Preferred LIFEAI tags: `#RegenerativeCapital #PlaceRegeneration #ImpactInvesting #RegenFinance`. Emoji 1-2 max as punctuation: 🌱 regen · 💰 capital · 🏗️ development · ⚡ urgency.
|
|
126
|
+
|
|
127
|
+
### Do NOT
|
|
128
|
+
❌ markdown · ❌ hashtag spam · ❌ "RT if you agree" · ❌ threads >10 tweets · ❌ passive openers ("I wanted to share…") · ❌ tagging without reason · ❌ ever exceed 280 chars (always count).
|
|
129
|
+
|
|
130
|
+
---
|
|
131
|
+
|
|
132
|
+
## § Slack / Teams
|
|
133
|
+
|
|
134
|
+
### Core Principles
|
|
135
|
+
- Brevity is respect (people read on their phone). One message = one thought. Use threads. Emoji are punctuation, not decoration.
|
|
136
|
+
|
|
137
|
+
### Slack Markdown (actually renders)
|
|
138
|
+
Bold `*bold*` · Italic `_italic_` · Strikethrough `~strike~` · Inline code `` `code` `` · Code block ```` ``` ```` · Blockquote `> text` · Bullets `• item`.
|
|
139
|
+
Note: `**bold**` (double asterisk) does NOT render in Slack — use single `*bold*`.
|
|
140
|
+
|
|
141
|
+
### Length
|
|
142
|
+
Quick question 1-2 lines · Status update 3-5 lines (bullets if 3+ items) · Decision request 5-8 lines · anything longer → thread or doc link.
|
|
143
|
+
|
|
144
|
+
### Structure by Type
|
|
145
|
+
**Question:** `Quick question on [topic] — [one-sentence question]?`
|
|
146
|
+
**Status update:** `*[Project]* update:` then `• Done: …` `• In progress: …` `• Blocked on: … — need [thing] from [person]`.
|
|
147
|
+
**Decision needed:** `Need a call on [topic] by [time].` → `Context: …` → `Options: A) … B) …` → `My lean: …` → `[@person] — your call.`
|
|
148
|
+
**Async FYI:** `FYI: [what happened] — no action needed. [link]`
|
|
149
|
+
|
|
150
|
+
### Emoji as Punctuation
|
|
151
|
+
✅ done/approved · ❌ no/blocked · 🔁 in progress · 👀 reviewing · 🙋 I'll take it · 📌 important · ⚡ urgent · 🤔 needs discussion · 💬 let's talk · 🔗 link follows.
|
|
152
|
+
|
|
153
|
+
### Do NOT
|
|
154
|
+
❌ walls of text (use a doc) · ❌ `**double asterisk bold**` · ❌ formal greetings ("Hi team, I hope everyone…") · ❌ passive asks ("Would anyone be able to…" → "Can you [name]…") · ❌ emoji overload (max 2-3) · ❌ cross-posting the same message.
|
|
155
|
+
|
|
156
|
+
---
|
|
157
|
+
|
|
158
|
+
## § Email — External
|
|
159
|
+
|
|
160
|
+
### Core Principles
|
|
161
|
+
- Plain prose, no markdown. Subject line determines open rate. First sentence justifies the email. One ask per email. Short paragraphs (2-4 sentences). Formal but human.
|
|
162
|
+
|
|
163
|
+
### Structure
|
|
164
|
+
`Subject:` → greeting (`Dear [First Name],`) → opening (1 sentence: context/connection) → body (¶1 reason, ¶2 value/evidence, ¶3 the one ask) → forward-looking closing line → sign-off, full name, title, org, 2-3 contact lines.
|
|
165
|
+
|
|
166
|
+
### Subject Lines
|
|
167
|
+
6-10 words; personalize. Cold: `[hook] — [value]` ("Regenerative capital for [Property]"). Follow-up: `Following up — [topic]`. Intro: `Introduction: [name] — [relevance]`. Request: `[Action] request — [context]`. Never use "Quick question" / "Checking in" / "Hope you're well" as a subject; never all caps.
|
|
168
|
+
|
|
169
|
+
### Tone by Recipient
|
|
170
|
+
Institutional/Family Office → formal, precise, lead with thesis + data · Foundation → warm, lead with impact · Government → neutral, process-oriented · Legal → exact, every claim qualified · Peer → professional, warmer · Media → newsworthy first.
|
|
171
|
+
|
|
172
|
+
### Openers (use/adapt)
|
|
173
|
+
"I'm reaching out because [specific reason tied to them]." · "We met at [event] — following up on [topic]." · "[Mutual contact] suggested I reach out regarding [topic]." Never open with "I hope this email finds you well." / "My name is X and I work at Y." / "I wanted to reach out to…".
|
|
174
|
+
|
|
175
|
+
### Closings & Sign-offs
|
|
176
|
+
"I'd welcome a 20-minute call at your convenience." / "Would you be open to a brief call this week or next?" Sign-offs: Respectfully / Yours sincerely (most formal) · Kind regards / Best regards (standard) · Warm regards (warm) · "In service of place," / "Regeneratively," (LIFEAI/Dave).
|
|
177
|
+
LIFEAI signature: `Dave Ladouceur` / `Founder, LIFEAI | Place Regeneration Trust` / `dave@life.ai | lifeai.com` / `Life before Profits.`
|
|
178
|
+
|
|
179
|
+
### Length
|
|
180
|
+
Cold outreach 150–250 words · Follow-up 80–150 · Proposal intro 250–400 · Investor update 300–500.
|
|
181
|
+
|
|
182
|
+
### Do NOT
|
|
183
|
+
❌ markdown · ❌ walls of text · ❌ >1 ask · ❌ passive voice on the ask · ❌ sycophantic openers/closers · ❌ unspecified attachments.
|
|
184
|
+
|
|
185
|
+
---
|
|
186
|
+
|
|
187
|
+
## § Email — Internal
|
|
188
|
+
|
|
189
|
+
### Core Principles
|
|
190
|
+
- Short, direct, action-oriented. Bullets fine and often preferred. Scannable subject. One topic per email. No pleasantries unless warranted.
|
|
191
|
+
|
|
192
|
+
### Structure
|
|
193
|
+
`Subject: [Action word] — [Topic]` (e.g. "Decision needed — Supabase migration") → optional 1-line context → direct body (2-4 short paragraphs or bullets) → clear next step on its own line → casual sign-off (Thanks / Dave / —D).
|
|
194
|
+
|
|
195
|
+
### Subject Prefixes (use consistently)
|
|
196
|
+
`ACTION:` recipient must do something · `DECISION:` approval/choice needed · `FYI:` informational · `URGENT:` same-day · `QUESTION:` single question · `UPDATE:` status. Example: `ACTION: Review PRT NAV calc before Friday`.
|
|
197
|
+
|
|
198
|
+
### Bullets & Tone
|
|
199
|
+
One idea per bullet, max 1 line, lead with the verb (Review… / Confirm… / Send…), no sub-bullets unless necessary. Direct without blunt; no "per my last email" energy; emoji sparingly.
|
|
200
|
+
|
|
201
|
+
### Length
|
|
202
|
+
Quick update 3-6 lines · Task assignment 6-12 · Internal brief ≤12-20 (longer → a doc).
|
|
203
|
+
|
|
204
|
+
### Do NOT
|
|
205
|
+
❌ markdown · ❌ long preambles · ❌ CC-ing everyone · ❌ "as per my previous email" · ❌ formal sign-offs internally.
|
|
206
|
+
|
|
207
|
+
---
|
|
208
|
+
|
|
209
|
+
## § Pitch Deck
|
|
210
|
+
|
|
211
|
+
### Core Principles
|
|
212
|
+
- One slide, one job. Headline IS the message (a statement, not a label). 3 bullets max. No prose on slides (sentences → speaker notes). Visual-first language. Investor slides lead with thesis, support with evidence.
|
|
213
|
+
|
|
214
|
+
### Slide Anatomy
|
|
215
|
+
Headline (full sentence takeaway, 12-15 words) → visual/data area (chart/diagram/table) → ≤3 bullets (fragments, not sentences) → source/footnote if cited (small, bottom-right).
|
|
216
|
+
|
|
217
|
+
### Headlines Are Assertions, Not Labels
|
|
218
|
+
❌ "Market Opportunity" → ✅ "A $4T regenerative land market with no institutional gateway" · ❌ "Our Solution" → ✅ "PRT converts stranded land assets into regenerative yield" · ❌ "The Team" → ✅ "30 years of place-based development across 3 continents" · ❌ "Financial Returns" → ✅ "8–12% cash yield with embedded ecological appreciation".
|
|
219
|
+
|
|
220
|
+
### Standard Deck Architecture (PRT/LIFEAI)
|
|
221
|
+
1 Cover · 2 The Problem · 3 The Opportunity (market + gap) · 4 Our Solution · 5 How It Works (process diagram) · 6 Traction/Proof · 7 Market/TAM · 8 Business Model · 9 Financial Projections · 10 Capital Structure (A/B/C sleeves) · 11 The Team · 12 The Ask (amount, use of funds, timeline) · 13 Appendix.
|
|
222
|
+
|
|
223
|
+
### Visual & Bullet Style
|
|
224
|
+
Describe visuals explicitly, e.g. `[VISUAL: horizontal capital-stack diagram — Lane A Senior Secured $Xm 6% DAF | Lane B Mezz $Xm 9% Family Office | Lane C Equity $Xm carry GP]`. Bullets: fragments, no periods, lead with metric ("8–12% cash yield") or verb ("Converts stranded assets…"), max 8 words.
|
|
225
|
+
Speaker notes: full conversational sentences expanding the slide — `[SPEAKER NOTE: …]`.
|
|
226
|
+
Typography (for JSX/design): Headline 28-36pt bold · Bullets 18-22pt · Data labels 14-16pt accent · Source 10-11pt gray · Section label 11-12pt caps.
|
|
227
|
+
|
|
228
|
+
### Do NOT
|
|
229
|
+
❌ prose on slides · ❌ >3 bullets · ❌ label headlines · ❌ >2 font sizes in bullet area · ❌ generic stock-photo descriptions · ❌ animations unless requested.
|
|
230
|
+
|
|
231
|
+
---
|
|
232
|
+
|
|
233
|
+
## § Word / DOCX
|
|
234
|
+
|
|
235
|
+
### Core Principles
|
|
236
|
+
- All formatting via **Word Styles** (never raw bold alone). Heading hierarchy is semantic (Heading 1/2/3, not font size). Tables use Word Table Styles, not markdown. Equations via Equation Editor (OMML). Explicit page structure (section breaks, headers/footers, page numbers).
|
|
237
|
+
|
|
238
|
+
### Style Hierarchy
|
|
239
|
+
`Title` (one, top) · `Subtitle` · `Heading 1/2/3/4` · `Normal` / `Body Text` · `List Bullet` / `List Bullet 2` · `List Number` / `List Number 2` · `Quote`/`Block Text` · `Caption` · `Table Grid` · `Intense Quote` (callouts) · `Header`/`Footer`.
|
|
240
|
+
|
|
241
|
+
### Document Types
|
|
242
|
+
**Executive Report/White Paper:** Title + Subtitle → page break → H1 Executive Summary → H1 TOC (auto field) → page break → numbered H1/H2 sections with `Table Grid` tables + captions → H1 References (APA) → H1 Appendices.
|
|
243
|
+
**Memo:** Title "MEMORANDUM" → bold-label TO/FROM/DATE/RE → rule → H2 Purpose / Background / Recommendation (List Bullet) → sign-off.
|
|
244
|
+
**Investment/Deal Doc (PRT/RDC):** Title + Subtitle "Confidential | Prepared by LIFEAI | Date" → page break → H1 Executive Summary → H1 Investment Thesis (H2 Market Opportunity, H2 Regenerative Framework + Five Capitals `Table Grid`) → H1 Financial Structure (H2 Capital Stack tranche table, H2 NAV Architecture w/ Equation objects) → H1 Risk Framework (risk matrix) → H1 Governance → H1 Appendices.
|
|
245
|
+
**Letter (formal):** sender block → date → recipient block → `Dear [Name],` → opening (purpose) → body → closing (next steps) → `Sincerely,` → signature.
|
|
246
|
+
|
|
247
|
+
### Tables, Equations, Page Setup
|
|
248
|
+
Tables: `Table Grid`, bold shaded header (`#F2F2F2`), left-align text / right-align numbers, `Caption` below ("Table X: …"). Equations: specify as Equation Editor objects, e.g. `[EQUATION OBJECT: αPRT = (regen_yield − WACC_conventional) + Σ(stewardship_delta)]` with caption. Page setup: Letter/A4, 1" margins, Calibri 11 / Times 12 body, 1.15–1.5 spacing, header (title left, page# right), footer (org left, date right), numbering from page 2.
|
|
249
|
+
|
|
250
|
+
### Do NOT
|
|
251
|
+
❌ manual bold instead of a Style for headings · ❌ tabs/spaces for indentation · ❌ `Shift+Enter` between paragraphs (use spacing) · ❌ markdown tables · ❌ inline LaTeX · ❌ >3 heading levels without justification.
|
|
252
|
+
|
|
253
|
+
---
|
|
254
|
+
|
|
255
|
+
## § PDF Report
|
|
256
|
+
|
|
257
|
+
### Core Principles
|
|
258
|
+
- Final, fixed, reader-facing. Structure non-negotiable: executive summary → body → references. All sections numbered; all tables/figures captioned. Formal prose (no bullets as primary structure). Page numbers, headers, footers required.
|
|
259
|
+
|
|
260
|
+
### Structure
|
|
261
|
+
Cover (title, type, org+logo, date | version | confidentiality) → Executive Summary (≤1 page: what it is, 3-5 findings, recommendations) → TOC (auto, clickable) → numbered body (1 Introduction/Context · 2-4 core · 5 Conclusions) → References (APA 7th, numbered) → Appendices (A, B, C…).
|
|
262
|
+
Section numbering: hierarchical decimal, max 3 levels (1.1.1), never 4.
|
|
263
|
+
|
|
264
|
+
### Tables, Figures, Equations
|
|
265
|
+
Tables: title above (`Table X: …`), bold shaded header, `Source:` below if external, `Note:` if needed. Figures: caption below (`Figure X: …`), source, bracketed alt-text. Equations: labeled `(Equation 1)` with a `Where:` variable key.
|
|
266
|
+
Typography: Georgia 11 / Garamond 12 body; H1 18 bold, H2 14 bold, H3 12 bold italic; 1.5 body spacing; 1.25" binding margin; page numbers bottom-center from page 2; footer `Org | Confidential | Date`.
|
|
267
|
+
Confidentiality labels: `CONFIDENTIAL` · `CONFIDENTIAL — For Recipient Only` · `FOR DISCUSSION PURPOSES ONLY` · `NOT FOR DISTRIBUTION` · (none = public).
|
|
268
|
+
|
|
269
|
+
### Do NOT
|
|
270
|
+
❌ markdown in final content · ❌ unnumbered sections · ❌ tables without titles/sources · ❌ figures without captions · ❌ invented data (mark "Illustrative") · ❌ exec summaries over one page · ❌ incomplete citations.
|
|
271
|
+
|
|
272
|
+
---
|
|
273
|
+
|
|
274
|
+
## § Web / Landing Page
|
|
275
|
+
|
|
276
|
+
### Core Principles
|
|
277
|
+
- Scannable first, readable second. Above the fold is everything. One page = one conversion goal. SEO-aware without keyword stuffing. CTA appears at least twice (above fold + bottom). Mobile-first (short paragraphs/sentences).
|
|
278
|
+
|
|
279
|
+
### Page Structure
|
|
280
|
+
Hero (H1 value prop 6-10 words · subheadline 1-2 sentences · CTA button verb+object · optional hero media) → Social proof/trust bar → Problem (name the pain, 2-3 short paragraphs or 3 cards) → Solution (the shift; icon + headline + 1-2 sentences feature/benefit pairs) → How It Works (3-4 numbered steps, 1 sentence each) → Proof/Results (large number + short label: "340 acres restored") → CTA section (urgency headline + friction-reducer subtext + button) → Footer.
|
|
281
|
+
|
|
282
|
+
### Headlines & Body
|
|
283
|
+
H1 ≤8 words (benefit, not feature, active voice, power words: transform/unlock/regenerate/built/proven) · H2 ≤12 · H3 ≤6. Body: paragraphs ≤3 sentences/50 words, sentences ≤20 words, second person ("you/your"), grade 8-10 reading level.
|
|
284
|
+
LIFEAI/PRT examples: H1 "The Capital Stack for Regenerative Land" · H2 "How PRT Turns Stranded Assets Into Living Investments" · H3 "Place Readiness" / "Covenant-Protected Yield" / "Verified Impact".
|
|
285
|
+
|
|
286
|
+
### CTA & SEO
|
|
287
|
+
CTA copy: verb + specific object ("Book Your 20-Minute Call", "See the Capital Structure", "Download the Investment Brief") — never "Submit"/"Click here"/"Learn more". SEO: primary keyword in H1 + first paragraph, secondary in H2s/body naturally, meta title 50-60 chars, meta description 150-160 chars, descriptive alt text on all images.
|
|
288
|
+
|
|
289
|
+
### Do NOT
|
|
290
|
+
❌ paragraphs >3 sentences above the fold · ❌ passive-voice CTAs · ❌ jargon without translation · ❌ carousels/sliders above the fold · ❌ >2 CTAs per section · ❌ generic headlines ("Welcome to Our Website") · ❌ markdown in final web copy (deliver clean prose with labeled sections).
|
|
291
|
+
|
|
292
|
+
---
|
|
293
|
+
|
|
294
|
+
## Provenance
|
|
295
|
+
|
|
296
|
+
Ported into rdc-skills from the `output-channel-formatter` claude.ai skill (frontend-design-skills pack).
|
|
297
|
+
Originally a multi-file skill (SKILL.md + `references/*.md`); inlined into this single self-contained
|
|
298
|
+
SKILL.md so it works identically across the CLI plugin, the claude.ai web client (via `rdc_skill_get`),
|
|
299
|
+
and Codex — the rdc-skills MCP serves only SKILL.md, so all channel rules must live here.
|