@lifeaitools/rdc-skills 0.24.6 → 0.24.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.
Files changed (51) hide show
  1. package/.claude-plugin/plugin.json +20 -5
  2. package/.github/workflows/self-test.yml +34 -34
  3. package/MANIFEST.md +23 -0
  4. package/README.md +37 -0
  5. package/commands/build.md +181 -181
  6. package/commands/collab.md +180 -180
  7. package/commands/deploy.md +148 -148
  8. package/commands/fixit.md +105 -105
  9. package/commands/handoff.md +173 -173
  10. package/commands/overnight.md +218 -218
  11. package/commands/plan.md +158 -158
  12. package/commands/preplan.md +131 -131
  13. package/commands/prototype.md +145 -145
  14. package/commands/report.md +99 -99
  15. package/commands/review.md +120 -120
  16. package/commands/status.md +86 -86
  17. package/commands/workitems.md +127 -127
  18. package/git-sha.json +1 -1
  19. package/guides/agent-bootstrap.md +195 -195
  20. package/guides/agents/backend.md +102 -102
  21. package/guides/agents/content.md +94 -94
  22. package/guides/agents/cs2.md +56 -56
  23. package/guides/agents/data.md +86 -86
  24. package/guides/agents/design.md +77 -77
  25. package/guides/agents/frontend.md +91 -91
  26. package/guides/agents/infrastructure.md +81 -81
  27. package/guides/agents/setup.md +272 -272
  28. package/guides/agents/verify.md +119 -119
  29. package/guides/agents/viz.md +106 -106
  30. package/hooks/task-completed-gate.js +25 -3
  31. package/package.json +1 -1
  32. package/scripts/self-test.mjs +1458 -1458
  33. package/skills/build/SKILL.md +554 -554
  34. package/skills/channel-formatter/SKILL.md +174 -9
  35. package/skills/collab/SKILL.md +239 -239
  36. package/skills/deploy/SKILL.md +541 -541
  37. package/skills/design/SKILL.md +205 -205
  38. package/skills/fixit/SKILL.md +165 -165
  39. package/skills/handoff/SKILL.md +200 -200
  40. package/skills/overnight/SKILL.md +251 -251
  41. package/skills/plan/SKILL.md +314 -314
  42. package/skills/preplan/SKILL.md +90 -90
  43. package/skills/prototype/SKILL.md +150 -150
  44. package/skills/release/SKILL.md +140 -140
  45. package/skills/report/SKILL.md +100 -100
  46. package/skills/review/SKILL.md +152 -152
  47. package/skills/self-test/SKILL.md +123 -123
  48. package/skills/status/SKILL.md +99 -99
  49. package/skills/watch/SKILL.md +90 -90
  50. package/skills/workitems/SKILL.md +151 -151
  51. package/tests/harness-gates.test.mjs +30 -0
@@ -1,6 +1,6 @@
1
1
  ---
2
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. This skill FORMATS/STRUCTURES text only — for actual .docx/.pptx ↔ Markdown FILE conversion (either direction) use `rdc:convert` (build-corpus), not this skill. Self-contained: all channel rules are inlined below (no external reference files)."
3
+ description: "Usage `rdc:channel-formatter <channel|pack> [content]` — Apply precise, channel-native formatting and content repurposing to any output: LinkedIn, Twitter/X, Slack/Teams, Email (external/internal), Pitch Deck slides, Word/DOCX, PDF Report, Web/Landing Page, and multi-output content packs. Use EVERY TIME the user names an output channel/platform/document type, asks to 'write a post', 'draft an email', 'format this for', 'make this a slide', 'send to LinkedIn', 'write a tweet', 'social media post', 'turn this article into posts', 'make a content pack', 'make a social pack', or 'repurpose this article'. Each channel has its own Unicode strategy, emphasis system, length limits, and structure — never apply generic markdown to channel-specific output. This skill FORMATS, STRUCTURES, and REPURPOSES text only — for actual .docx/.pptx ↔ Markdown FILE conversion (either direction) use `rdc:convert` (build-corpus), not this skill. Self-contained: all channel and pack rules are inlined below (no external reference files)."
4
4
  ---
5
5
 
6
6
  > **⚠️ OUTPUT CONTRACT (READ FIRST):** `guides/output-contract.md`
@@ -13,12 +13,45 @@ description: "Usage `rdc:channel-formatter <channel> [content]` — Apply precis
13
13
 
14
14
  # Channel Formatter
15
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.
16
+ Format or repurpose output precisely for the target channel. This skill is
17
+ **self-contained** — every channel and pack rule is inlined below. Detect the
18
+ channel or pack, jump to its section, apply its rules exactly. Never apply
19
+ generic markdown to a channel that doesn't render it.
19
20
 
20
21
  ---
21
22
 
23
+ ## When to Use
24
+
25
+ Use this skill whenever the user asks to write, format, adapt, or repurpose
26
+ content for a specific channel, platform, document type, or output pack.
27
+
28
+ Common triggers:
29
+ - "write a LinkedIn post"
30
+ - "turn this article into social posts"
31
+ - "make a content pack"
32
+ - "make a social pack"
33
+ - "repurpose this article"
34
+ - "write a tweet/thread"
35
+ - "draft an email"
36
+ - "format this for Slack"
37
+ - "make this a slide"
38
+ - "write landing-page copy"
39
+
40
+ Do not use this skill for binary file conversion, PDF rendering, Brochurify
41
+ orchestration, or brochure JSX authoring; delegate those to the specialist
42
+ skills named in the scope boundary.
43
+
44
+ ## Arguments
45
+
46
+ `rdc:channel-formatter <channel|pack> [content]`
47
+
48
+ - `<channel|pack>`: optional target such as `linkedin`, `twitter`,
49
+ `twitter-thread`, `slack`, `email-ext`, `email-int`, `pitch-deck`, `word`,
50
+ `pdf-report`, `web`, `strict-format`, `social-pack`, `campaign-pack`,
51
+ `exec-pack`, or `launch-pack`.
52
+ - `[content]`: optional source text, path reference, article, report, transcript,
53
+ rough draft, or surrounding conversation content.
54
+
22
55
  ## Channel Detection
23
56
 
24
57
  | If user says / context is... | Channel | Go to section |
@@ -34,15 +67,27 @@ apply its rules exactly. Never apply generic markdown to a channel that doesn't
34
67
  | Website, landing page, web copy | Web/Landing Page | [§ Web / Landing Page](#-web--landing-page) |
35
68
  | Artifact, JSX, React component, Claude artifact | Artifact/JSX | → use the `jsx-author` / `impeccable` skill instead |
36
69
 
70
+ ### Pack Detection
71
+
72
+ | If user says / context is... | Mode | Go to section |
73
+ |-------------------------------------------------------|------------------|-------------------------------|
74
+ | social pack, content pack, posts from this, repurpose this article for social | `social-pack` | [§ Content Repurposing Packs](#-content-repurposing-packs) |
75
+ | campaign pack, launch campaign, article into email + social + web | `campaign-pack` | [§ Content Repurposing Packs](#-content-repurposing-packs) |
76
+ | exec pack, executive pack, leadership summary, internal briefing | `exec-pack` | [§ Content Repurposing Packs](#-content-repurposing-packs) |
77
+ | launch pack, announce this, launch posts | `launch-pack` | [§ Content Repurposing Packs](#-content-repurposing-packs) |
78
+ | strict format, preserve wording, do not rewrite | `strict-format` | [§ Repurposing Modes](#-repurposing-modes) |
79
+
37
80
  ---
38
81
 
39
82
  ## Workflow
40
83
 
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.
84
+ 1. **Detect channel or pack mode** from the request using the tables above.
85
+ 2. **Classify the source**: already-drafted copy, long article/report, transcript, notes, or brief.
86
+ 3. **For long sources**, extract thesis, audience, proof points, CTA, constraints, and factual risks before writing.
87
+ 4. **Jump to the target channel or pack section** below and apply all rules exactly do not rely on memory.
88
+ 5. **Never mix** markdown conventions across channels.
89
+ 6. If the channel or pack is ambiguous, ask once: "Is this for [Channel A] or [Channel B]?"
90
+ 7. Produce the formatted or repurposed output directly as the deliverable.
46
91
 
47
92
  ## Hard Rules (all channels)
48
93
 
@@ -51,6 +96,8 @@ apply its rules exactly. Never apply generic markdown to a channel that doesn't
51
96
  - Never use Word Styles notation in plain-text channels.
52
97
  - Always match the tone register of the channel (formal ≠ casual ≠ punchy).
53
98
  - For LIFEAI/PRT/RDC content, maintain REGEN-MODE voice unless Author-Mode is active.
99
+ - When repurposing a long source, preserve the source thesis and never invent unsupported statistics, quotes, names, dates, citations, results, or commitments.
100
+ - If the source lacks a needed CTA, audience, proof point, or date, either use a clearly generic placeholder or state the assumption before the polished output.
54
101
 
55
102
  > ## ⛔ Scope boundary — this skill FORMATS text; it does NOT convert files
56
103
  > This skill governs **how to structure and format content** for a channel. It never
@@ -63,6 +110,124 @@ apply its rules exactly. Never apply generic markdown to a channel that doesn't
63
110
 
64
111
  ---
65
112
 
113
+ ## § Repurposing Modes
114
+
115
+ Use these modes when the input is longer than the requested output, such as an
116
+ article, memo, transcript, report, rough draft, or notes.
117
+
118
+ ### `strict-format`
119
+ Preserve the source wording and argument as much as the channel allows. Use this
120
+ when the user says "format only", "do not rewrite", "preserve wording", or when
121
+ legal/compliance precision matters. You may adjust line breaks, headings,
122
+ emphasis, bullet symbols, and channel-specific structure, but do not add new
123
+ claims or reframe the argument.
124
+
125
+ ### `single-channel`
126
+ Repurpose the source into one target channel. Extract the usable argument,
127
+ choose the strongest hook for that channel, compress or expand to the channel's
128
+ native length, and produce one finished output.
129
+
130
+ ### `social-pack`
131
+ Repurpose one source into a coordinated set of social outputs:
132
+ - LinkedIn thought-leadership post
133
+ - Short LinkedIn announcement or teaser variant
134
+ - Twitter/X single post
135
+ - Twitter/X thread
136
+ - Slack/Teams internal share
137
+
138
+ ### `campaign-pack`
139
+ Repurpose one source into a small campaign kit:
140
+ - Everything in `social-pack`
141
+ - External email intro/blurb
142
+ - Web excerpt
143
+ - SEO meta title and meta description
144
+ - 3 CTA variants
145
+
146
+ ### `exec-pack`
147
+ Repurpose one source for internal leadership alignment:
148
+ - Internal email summary
149
+ - Slack/Teams update
150
+ - Executive-summary paragraph
151
+ - 3 talking points
152
+ - Decision/ask line if the source supports one
153
+
154
+ ### `launch-pack`
155
+ Repurpose one source for an announcement:
156
+ - LinkedIn launch post
157
+ - Twitter/X launch post
158
+ - Slack/Teams launch note
159
+ - External email blurb
160
+ - Web hero headline/subheadline/CTA
161
+ - 3 CTA variants
162
+
163
+ ### Long-Source Extraction Checklist
164
+ Before writing from a long source, identify:
165
+ - **Thesis:** the central argument or announcement
166
+ - **Audience:** who this is for
167
+ - **Proof:** facts, examples, data, names, dates, or quotes explicitly present
168
+ - **CTA:** what the reader should do next
169
+ - **Tone:** formal, conversational, punchy, executive, regenerative, etc.
170
+ - **Constraints:** length, compliance, brand voice, channel quirks
171
+ - **Gaps:** missing proof, missing CTA, unsupported claims, unclear audience
172
+
173
+ ### Source-Fidelity Rules
174
+ - Do not invent statistics, dates, quotes, citations, partnerships, revenue,
175
+ legal claims, customer names, or outcomes.
176
+ - Do not upgrade tentative language into certainty.
177
+ - Do not turn illustrative examples into facts.
178
+ - Preserve caveats when they affect meaning.
179
+ - If a stronger hook needs a proof point the source does not provide, write a
180
+ proof-neutral hook instead.
181
+ - When assumptions are material, include a short "Assumptions:" line before the
182
+ deliverable rather than burying uncertainty in polished copy.
183
+
184
+ ---
185
+
186
+ ## § Content Repurposing Packs
187
+
188
+ When a pack is requested, label each output clearly and make every item
189
+ channel-native. A pack is not a generic summary repeated in several lengths.
190
+
191
+ ### `social-pack` Output Shape
192
+ 1. `LinkedIn thought-leadership post` — 900-1300 characters, hook-first, white space, Unicode emphasis only when useful, up to 3 hashtags.
193
+ 2. `LinkedIn short variant` — 400-700 characters, announcement or teaser style.
194
+ 3. `Twitter/X single post` — 265 characters or fewer unless the user asks otherwise.
195
+ 4. `Twitter/X thread` — 5-7 tweets, each self-contained and below 280 characters.
196
+ 5. `Slack/Teams internal share` — 3-6 lines, direct, with a clear FYI/action/decision framing.
197
+
198
+ ### `campaign-pack` Output Shape
199
+ 1. Full `social-pack`
200
+ 2. `External email intro` — subject line plus 80-150 word blurb with one ask
201
+ 3. `Web excerpt` — 80-120 words, scannable, CTA-ready
202
+ 4. `Meta title` — 50-60 characters
203
+ 5. `Meta description` — 150-160 characters
204
+ 6. `CTA variants` — 3 verb-led CTAs
205
+
206
+ ### `exec-pack` Output Shape
207
+ 1. `Internal email summary` — subject plus 6-12 lines
208
+ 2. `Slack/Teams update` — 3-5 lines
209
+ 3. `Executive summary paragraph` — 100-150 words
210
+ 4. `Talking points` — 3 concise bullets/fragments
211
+ 5. `Decision or ask` — one line, only if supported by source
212
+
213
+ ### `launch-pack` Output Shape
214
+ 1. `LinkedIn launch post` — announcement structure
215
+ 2. `Twitter/X launch post` — single post
216
+ 3. `Slack/Teams launch note` — internal update
217
+ 4. `External email blurb` — subject plus short body
218
+ 5. `Web hero` — headline, subheadline, CTA
219
+ 6. `CTA variants` — 3 options
220
+
221
+ ### Pack Quality Rules
222
+ - Vary hooks by channel; do not repeat the same first sentence everywhere.
223
+ - Keep the source thesis consistent across all outputs.
224
+ - Adapt CTA strength to the channel: softer on thought leadership, direct in
225
+ email/web, concise in Slack.
226
+ - Use channel-specific formatting rules from the sections below.
227
+ - If source proof is weak, use curiosity and framing instead of inflated claims.
228
+
229
+ ---
230
+
66
231
  ## § LinkedIn
67
232
 
68
233
  ### Core Principles