expxagents 0.1.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.
Files changed (92) hide show
  1. package/assets/agents/_catalog.yaml +11 -0
  2. package/assets/agents/commercial/account-executive.agent.md +41 -0
  3. package/assets/agents/commercial/crm-manager.agent.md +41 -0
  4. package/assets/agents/commercial/pricing-strategist.agent.md +41 -0
  5. package/assets/agents/commercial/proposal-writer.agent.md +41 -0
  6. package/assets/agents/commercial/sdr.agent.md +41 -0
  7. package/assets/agents/development/backend-developer.agent.md +42 -0
  8. package/assets/agents/development/code-reviewer.agent.md +41 -0
  9. package/assets/agents/development/devops-engineer.agent.md +41 -0
  10. package/assets/agents/development/frontend-developer.agent.md +92 -0
  11. package/assets/agents/development/product-manager.agent.md +41 -0
  12. package/assets/agents/development/qa-engineer.agent.md +41 -0
  13. package/assets/agents/development/tech-lead.agent.md +42 -0
  14. package/assets/agents/development/ux-design-expert.agent.md +108 -0
  15. package/assets/agents/marketing/brand-guardian.agent.md +40 -0
  16. package/assets/agents/marketing/content-creator.agent.md +41 -0
  17. package/assets/agents/marketing/email-marketing.agent.md +41 -0
  18. package/assets/agents/marketing/landing-page-builder.agent.md +73 -0
  19. package/assets/agents/marketing/marketing-analyst.agent.md +41 -0
  20. package/assets/agents/marketing/paid-ads-manager.agent.md +41 -0
  21. package/assets/agents/marketing/seo-specialist.agent.md +41 -0
  22. package/assets/agents/marketing/social-media-manager.agent.md +41 -0
  23. package/assets/core/best-practices/_catalog.yaml +85 -0
  24. package/assets/core/best-practices/api-documentation.md +137 -0
  25. package/assets/core/best-practices/blog-post.md +86 -0
  26. package/assets/core/best-practices/blog-seo.md +91 -0
  27. package/assets/core/best-practices/code-review.md +97 -0
  28. package/assets/core/best-practices/copywriting.md +75 -0
  29. package/assets/core/best-practices/data-analysis.md +93 -0
  30. package/assets/core/best-practices/deploy-checklist.md +99 -0
  31. package/assets/core/best-practices/email-newsletter.md +84 -0
  32. package/assets/core/best-practices/email-sales.md +91 -0
  33. package/assets/core/best-practices/image-design.md +78 -0
  34. package/assets/core/best-practices/instagram-feed.md +70 -0
  35. package/assets/core/best-practices/instagram-reels.md +75 -0
  36. package/assets/core/best-practices/instagram-stories.md +68 -0
  37. package/assets/core/best-practices/landing-page.md +279 -0
  38. package/assets/core/best-practices/linkedin-article.md +83 -0
  39. package/assets/core/best-practices/linkedin-post.md +84 -0
  40. package/assets/core/best-practices/researching.md +89 -0
  41. package/assets/core/best-practices/review.md +95 -0
  42. package/assets/core/best-practices/sprint-planning.md +91 -0
  43. package/assets/core/best-practices/strategist.md +95 -0
  44. package/assets/core/best-practices/technical-writing.md +104 -0
  45. package/assets/core/best-practices/twitter-post.md +75 -0
  46. package/assets/core/best-practices/twitter-thread.md +92 -0
  47. package/assets/core/best-practices/whatsapp-broadcast.md +95 -0
  48. package/assets/core/best-practices/youtube-script.md +80 -0
  49. package/assets/core/best-practices/youtube-shorts.md +76 -0
  50. package/assets/core/prompts/insight-hunter.prompt.md +62 -0
  51. package/assets/core/runner.pipeline.md +117 -0
  52. package/assets/core/skills.engine.md +65 -0
  53. package/assets/core/solution-architect.agent.md +181 -0
  54. package/assets/templates/_expxagents/_memory/company.md +25 -0
  55. package/assets/templates/_expxagents/_memory/preferences.md +6 -0
  56. package/assets/templates/squads/_memory/memories.md +16 -0
  57. package/bin/expxagents.js +3 -0
  58. package/dist/cli/src/__tests__/cli.test.d.ts +1 -0
  59. package/dist/cli/src/__tests__/cli.test.js +23 -0
  60. package/dist/cli/src/commands/create.d.ts +1 -0
  61. package/dist/cli/src/commands/create.js +53 -0
  62. package/dist/cli/src/commands/doctor.d.ts +1 -0
  63. package/dist/cli/src/commands/doctor.js +86 -0
  64. package/dist/cli/src/commands/init.d.ts +1 -0
  65. package/dist/cli/src/commands/init.js +164 -0
  66. package/dist/cli/src/commands/install.d.ts +1 -0
  67. package/dist/cli/src/commands/install.js +65 -0
  68. package/dist/cli/src/commands/list.d.ts +1 -0
  69. package/dist/cli/src/commands/list.js +58 -0
  70. package/dist/cli/src/commands/onboarding.d.ts +1 -0
  71. package/dist/cli/src/commands/onboarding.js +39 -0
  72. package/dist/cli/src/commands/run.d.ts +1 -0
  73. package/dist/cli/src/commands/run.js +226 -0
  74. package/dist/cli/src/commands/server.d.ts +1 -0
  75. package/dist/cli/src/commands/server.js +22 -0
  76. package/dist/cli/src/commands/stop.d.ts +1 -0
  77. package/dist/cli/src/commands/stop.js +23 -0
  78. package/dist/cli/src/commands/uninstall.d.ts +1 -0
  79. package/dist/cli/src/commands/uninstall.js +12 -0
  80. package/dist/cli/src/index.d.ts +1 -0
  81. package/dist/cli/src/index.js +57 -0
  82. package/dist/cli/src/utils/config.d.ts +34 -0
  83. package/dist/cli/src/utils/config.js +79 -0
  84. package/dist/core/skills-loader.d.ts +16 -0
  85. package/dist/core/skills-loader.js +61 -0
  86. package/dist/core/squad-loader.d.ts +26 -0
  87. package/dist/core/squad-loader.js +51 -0
  88. package/dist/core/state-manager.d.ts +45 -0
  89. package/dist/core/state-manager.js +90 -0
  90. package/dist/core/vitest.config.d.ts +2 -0
  91. package/dist/core/vitest.config.js +7 -0
  92. package/package.json +49 -0
@@ -0,0 +1,279 @@
1
+ # Landing Page — Best Practices
2
+
3
+ ## Princípios de Design
4
+
5
+ ### 1. Design System First
6
+ Toda landing page DEVE começar com um design system definido via CSS custom properties. Zero valores hardcoded.
7
+
8
+ ```css
9
+ :root {
10
+ /* === CORE TOKENS === */
11
+ /* Colors — use off-black/off-white, never pure #000/#fff */
12
+ --color-base-900: #0f172a;
13
+ --color-base-800: #1e293b;
14
+ --color-base-700: #334155;
15
+ --color-base-100: #f1f5f9;
16
+ --color-base-50: #f8fafc;
17
+ --color-white: #ffffff;
18
+
19
+ /* Accent — single brand color + hover state */
20
+ --color-accent: oklch(0.65 0.25 15); /* vibrant, perceptually uniform */
21
+ --color-accent-hover: oklch(0.58 0.25 15);
22
+ --color-accent-subtle: oklch(0.65 0.25 15 / 0.1);
23
+
24
+ /* Semantic */
25
+ --color-surface: var(--color-white);
26
+ --color-surface-alt: var(--color-base-50);
27
+ --color-surface-dark: var(--color-base-900);
28
+ --color-on-surface: var(--color-base-800);
29
+ --color-on-surface-muted: var(--color-base-700);
30
+ --color-on-dark: var(--color-base-50);
31
+ --color-success: oklch(0.72 0.19 150);
32
+
33
+ /* === SPACING (4px base unit) === */
34
+ --space-1: 0.25rem; /* 4px */
35
+ --space-2: 0.5rem; /* 8px */
36
+ --space-3: 0.75rem; /* 12px */
37
+ --space-4: 1rem; /* 16px */
38
+ --space-6: 1.5rem; /* 24px */
39
+ --space-8: 2rem; /* 32px */
40
+ --space-12: 3rem; /* 48px */
41
+ --space-16: 4rem; /* 64px */
42
+ --space-20: 5rem; /* 80px */
43
+ --space-24: 6rem; /* 96px */
44
+ --space-32: 8rem; /* 128px */
45
+
46
+ /* Section spacing — generous */
47
+ --section-py: clamp(var(--space-16), 10vw, var(--space-32));
48
+ --section-px: var(--space-6);
49
+ --container-max: 1200px;
50
+ --container-narrow: 720px;
51
+
52
+ /* === TYPOGRAPHY === */
53
+ --font-display: 'Plus Jakarta Sans', 'Inter', system-ui, sans-serif;
54
+ --font-body: 'Inter', system-ui, sans-serif;
55
+ --font-mono: 'JetBrains Mono', 'Fira Code', monospace;
56
+
57
+ /* Fluid type scale — min @ 320px, max @ 1200px */
58
+ --text-display: clamp(2.5rem, 5vw + 1rem, 4.5rem);
59
+ --text-h1: clamp(2rem, 4vw + 0.5rem, 3.5rem);
60
+ --text-h2: clamp(1.5rem, 3vw + 0.25rem, 2.25rem);
61
+ --text-h3: clamp(1.125rem, 2vw + 0.25rem, 1.5rem);
62
+ --text-body: clamp(1rem, 1vw + 0.5rem, 1.125rem);
63
+ --text-small: 0.875rem;
64
+ --text-caption: 0.75rem;
65
+
66
+ --leading-tight: 1.15;
67
+ --leading-normal: 1.6;
68
+ --leading-relaxed: 1.8;
69
+
70
+ --tracking-tight: -0.02em;
71
+ --tracking-normal: 0;
72
+ --tracking-wide: 0.05em;
73
+ --tracking-widest: 0.1em;
74
+
75
+ /* === RADIUS === */
76
+ --radius-sm: 0.375rem; /* 6px — inputs, small elements */
77
+ --radius-md: 0.75rem; /* 12px — cards, containers */
78
+ --radius-lg: 1rem; /* 16px — featured cards */
79
+ --radius-xl: 1.5rem; /* 24px — hero elements */
80
+ --radius-full: 9999px; /* pills, avatars */
81
+
82
+ /* === SHADOWS (multi-layered for realism) === */
83
+ --shadow-sm:
84
+ 0 1px 2px oklch(0 0 0 / 0.04),
85
+ 0 1px 3px oklch(0 0 0 / 0.06);
86
+ --shadow-md:
87
+ 0 2px 4px oklch(0 0 0 / 0.04),
88
+ 0 4px 8px oklch(0 0 0 / 0.06),
89
+ 0 8px 16px oklch(0 0 0 / 0.04);
90
+ --shadow-lg:
91
+ 0 4px 8px oklch(0 0 0 / 0.03),
92
+ 0 8px 16px oklch(0 0 0 / 0.06),
93
+ 0 16px 32px oklch(0 0 0 / 0.06),
94
+ 0 32px 64px oklch(0 0 0 / 0.04);
95
+ --shadow-xl:
96
+ 0 8px 16px oklch(0 0 0 / 0.04),
97
+ 0 16px 32px oklch(0 0 0 / 0.08),
98
+ 0 32px 64px oklch(0 0 0 / 0.08),
99
+ 0 64px 128px oklch(0 0 0 / 0.06);
100
+ --shadow-accent:
101
+ 0 4px 12px oklch(0.65 0.25 15 / 0.25),
102
+ 0 8px 24px oklch(0.65 0.25 15 / 0.15);
103
+
104
+ /* === TRANSITIONS === */
105
+ --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
106
+ --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
107
+ --duration-fast: 150ms;
108
+ --duration-normal: 250ms;
109
+ --duration-slow: 400ms;
110
+ }
111
+ ```
112
+
113
+ ### 2. Layout Patterns
114
+
115
+ **Container:**
116
+ ```css
117
+ .container {
118
+ max-width: var(--container-max);
119
+ margin: 0 auto;
120
+ padding: 0 var(--section-px);
121
+ }
122
+ .container--narrow { max-width: var(--container-narrow); }
123
+ ```
124
+
125
+ **Section rhythm — alternating density:**
126
+ ```
127
+ [HERO — full-bleed, dense, dark]
128
+ [PROBLEM — spacious, light, breathing room]
129
+ [SOLUTION — medium density, alternating columns]
130
+ [PROOF — full-bleed, dark, contrasting]
131
+ [CTA — full-bleed, gradient, dense]
132
+ ```
133
+
134
+ **Grid patterns:**
135
+ - Stats/numbers: `grid-template-columns: repeat(auto-fit, minmax(200px, 1fr))`
136
+ - Cards: `grid-template-columns: repeat(auto-fill, minmax(300px, 1fr))`
137
+ - Two-column content: `grid-template-columns: 1fr 1fr` with `gap: var(--space-16)`
138
+ - Asymmetric: `grid-template-columns: 1.2fr 0.8fr`
139
+
140
+ ### 3. Typography Rules
141
+
142
+ - **Display (hero):** --font-display, weight 800, --leading-tight, --tracking-tight
143
+ - **Headings:** --font-display, weight 700, --leading-tight
144
+ - **Body:** --font-body, weight 400-500, --leading-normal
145
+ - **Labels/badges:** --font-body, weight 600, uppercase, --tracking-widest, --text-caption
146
+ - **NEVER** use font-size less than 16px for body text on mobile
147
+ - **ALWAYS** use clamp() for fluid sizing between breakpoints
148
+
149
+ ### 4. Color Usage
150
+
151
+ - Background alternation: --color-surface → --color-surface-alt → --color-surface-dark
152
+ - Text: --color-on-surface for primary, --color-on-surface-muted for secondary
153
+ - Accent: ONLY on CTAs, key numbers, highlights, and active states (<15% of page)
154
+ - Gradients: Use subtle gradients (same hue, different lightness) for backgrounds
155
+ - Never use opacity for text colors — use explicit muted color tokens
156
+
157
+ ### 5. Component Patterns
158
+
159
+ **Button/CTA:**
160
+ ```css
161
+ .btn-primary {
162
+ background: var(--color-accent);
163
+ color: var(--color-white);
164
+ padding: var(--space-4) var(--space-8);
165
+ border-radius: var(--radius-md);
166
+ font-weight: 700;
167
+ font-size: var(--text-body);
168
+ box-shadow: var(--shadow-accent);
169
+ transition: all var(--duration-normal) var(--ease-out);
170
+ }
171
+ .btn-primary:hover {
172
+ background: var(--color-accent-hover);
173
+ transform: translateY(-2px);
174
+ box-shadow: var(--shadow-lg);
175
+ }
176
+ ```
177
+
178
+ **Card:**
179
+ ```css
180
+ .card {
181
+ background: var(--color-surface);
182
+ border-radius: var(--radius-lg);
183
+ padding: var(--space-8);
184
+ box-shadow: var(--shadow-md);
185
+ border: 1px solid oklch(0 0 0 / 0.05);
186
+ transition: all var(--duration-normal) var(--ease-out);
187
+ }
188
+ .card:hover {
189
+ transform: translateY(-4px);
190
+ box-shadow: var(--shadow-lg);
191
+ }
192
+ ```
193
+
194
+ **Badge/Pill:**
195
+ ```css
196
+ .badge {
197
+ display: inline-flex;
198
+ align-items: center;
199
+ gap: var(--space-2);
200
+ padding: var(--space-1) var(--space-3);
201
+ border-radius: var(--radius-full);
202
+ font-size: var(--text-caption);
203
+ font-weight: 600;
204
+ letter-spacing: var(--tracking-wide);
205
+ text-transform: uppercase;
206
+ background: var(--color-accent-subtle);
207
+ color: var(--color-accent);
208
+ }
209
+ ```
210
+
211
+ ### 6. Animation Guidelines
212
+
213
+ **Scroll reveals (IntersectionObserver):**
214
+ ```css
215
+ .reveal {
216
+ opacity: 0;
217
+ transform: translateY(24px);
218
+ transition: opacity var(--duration-slow) var(--ease-out),
219
+ transform var(--duration-slow) var(--ease-out);
220
+ }
221
+ .reveal.visible {
222
+ opacity: 1;
223
+ transform: translateY(0);
224
+ }
225
+ ```
226
+
227
+ - Stagger children: `transition-delay: calc(var(--index) * 80ms)`
228
+ - Only animate `opacity` and `transform` — never width, height, margin, or padding
229
+ - Use `will-change: transform, opacity` on animated elements
230
+ - Respect `prefers-reduced-motion` media query
231
+
232
+ ### 7. Responsive Strategy
233
+
234
+ - Mobile-first: base styles are mobile, media queries add desktop
235
+ - Breakpoints: 640px (sm), 768px (md), 1024px (lg), 1280px (xl)
236
+ - Use `clamp()` for fluid values between breakpoints
237
+ - Stack columns on mobile, grid on desktop
238
+ - Touch targets: minimum 44x44px on mobile
239
+ - Hide non-essential content on mobile (less is more)
240
+
241
+ ### 8. Performance Requirements
242
+
243
+ - Single HTML file with inline CSS and JS
244
+ - Fonts: max 2 families, preconnect + font-display: swap
245
+ - Images: WebP, lazy loading, explicit dimensions (aspect-ratio)
246
+ - JS: vanilla only, defer/async, IntersectionObserver for scroll effects
247
+ - Target: Lighthouse 95+ on all categories
248
+ - Above-the-fold content must render without JS
249
+
250
+ ### 9. Accessibility Minimum
251
+
252
+ - Semantic HTML: header, nav, main, section, article, footer
253
+ - Heading hierarchy: single H1, sequential H2-H6
254
+ - Color contrast: 4.5:1 for text, 3:1 for UI elements
255
+ - Focus-visible on all interactive elements
256
+ - ARIA attributes on custom widgets (accordion, modal)
257
+ - Skip-to-content link
258
+ - Form labels and error messages
259
+ - lang attribute on html element
260
+
261
+ ### 10. Quality Checklist
262
+
263
+ Before finalizing any landing page:
264
+
265
+ - [ ] All values use CSS custom properties (zero hardcoded)
266
+ - [ ] Typography uses clamp() for fluid sizing
267
+ - [ ] Shadows are multi-layered (min 2 layers)
268
+ - [ ] Whitespace between sections is generous (80-128px)
269
+ - [ ] Max 3 colors used (base + surface + accent)
270
+ - [ ] CTAs have accent shadow (--shadow-accent)
271
+ - [ ] Cards/elements have subtle borders (1px, <5% opacity)
272
+ - [ ] Scroll animations use IntersectionObserver
273
+ - [ ] Respects prefers-reduced-motion
274
+ - [ ] Mobile-first CSS with min-width media queries
275
+ - [ ] All images have alt text
276
+ - [ ] Form inputs have associated labels
277
+ - [ ] Focus states are visible and styled
278
+ - [ ] Lighthouse score >90 in all categories
279
+ - [ ] "Squint test" passes — hierarchy is clear at a glance
@@ -0,0 +1,83 @@
1
+ ---
2
+ platform: linkedin
3
+ format: article
4
+ constraints:
5
+ max_chars: null
6
+ image_ratio: "1.91:1"
7
+ max_hashtags: 5
8
+ ---
9
+
10
+ # Best Practices: LinkedIn — Article
11
+
12
+ ## Format Rules
13
+
14
+ - No character limit; ideal length is 1500–3000 words for depth without drop-off
15
+ - Title: up to 100 characters; should include the primary keyword
16
+ - Cover image: 1200x627px minimum; shown prominently in article header and feed preview
17
+ - Supports full rich text: headers (H1–H3), bold, italic, bullet lists, numbered lists, block quotes, images, and embedded media
18
+ - Articles are indexed by LinkedIn search and Google — treat them as SEO assets
19
+ - Published articles appear in the "Articles" tab of your profile permanently
20
+
21
+ ## Structure
22
+
23
+ ```
24
+ [TITLE — keyword-forward, benefit-driven, under 70 characters]
25
+
26
+ [COVER IMAGE — relevant, high quality]
27
+
28
+ [INTRODUCTION — 100–150 words]
29
+ - Hook sentence
30
+ - State the problem or opportunity
31
+ - Preview what the reader will get
32
+
33
+ [H2 SECTION 1 — first main point]
34
+ [2–3 paragraphs, each under 100 words]
35
+
36
+ [H2 SECTION 2 — second main point]
37
+ [Include an example, case study, or data point]
38
+
39
+ [H2 SECTION 3 — practical application]
40
+ [Numbered list or actionable steps]
41
+
42
+ [PULL QUOTE — one memorable sentence formatted as block quote]
43
+
44
+ [CONCLUSION — 100–150 words]
45
+ - Summarize key takeaways
46
+ - Reinforce the transformation
47
+ - End with a call to action (share, comment, follow)
48
+ ```
49
+
50
+ ## Guidelines
51
+
52
+ - **Thought leadership, not content marketing.** Articles should advance a real argument or reveal a genuine insight, not just summarize common knowledge.
53
+ - Open with a story, a counterintuitive claim, or a specific scenario — not background context.
54
+ - Use H2 and H3 headers generously; they improve readability and LinkedIn search indexing.
55
+ - Include one original data point, personal case study, or proprietary framework per article.
56
+ - Link to external sources sparingly; keep readers in the article.
57
+ - Add a professional author bio section at the end with a link to your profile or website.
58
+ - Republish blog content to LinkedIn Articles after a 2-week delay (canonical URL won't conflict significantly).
59
+ - Share the article as a native post to get initial distribution; articles alone have limited feed visibility.
60
+
61
+ ## Examples
62
+
63
+ **Strong title patterns:**
64
+ - "The Hidden Cost of [Common Practice] (And What to Do Instead)"
65
+ - "How [Company/Person] Achieved [Result] Using [Method]"
66
+ - "Why [Popular Belief] Is Wrong — And What the Data Shows"
67
+
68
+ **Introduction template:**
69
+ ```
70
+ [Opening line that challenges an assumption or tells a story]
71
+
72
+ [1–2 sentences of context]
73
+
74
+ In this article, I'll share [specific takeaway 1], [specific takeaway 2], and [specific takeaway 3] — based on [your experience/data/research].
75
+
76
+ [Transition sentence that pulls the reader into Section 1]
77
+ ```
78
+
79
+ **Conclusion CTA:**
80
+ ```
81
+ If this resonated, share it with someone navigating the same challenge.
82
+ I publish one article each month on [topic]. Follow me to stay in the loop.
83
+ ```
@@ -0,0 +1,84 @@
1
+ ---
2
+ platform: linkedin
3
+ format: post
4
+ constraints:
5
+ max_chars: 3000
6
+ image_ratio: "1.91:1"
7
+ max_hashtags: 5
8
+ ---
9
+
10
+ # Best Practices: LinkedIn — Feed Post
11
+
12
+ ## Format Rules
13
+
14
+ - Character limit: 3000 characters
15
+ - Preview cutoff: ~210 characters before "...see more" on desktop; ~140 on mobile
16
+ - Images: 1200x627px (1.91:1) for single images; 1080x1080px also works well
17
+ - Hashtags: 3–5 is the LinkedIn-recommended range; more dilutes reach
18
+ - No external links in the post body — they suppress reach. Use first comment for links.
19
+ - Polls, documents (carousels), and native video get boosted distribution
20
+
21
+ ## Structure
22
+
23
+ ```
24
+ [HOOK — 1–2 lines, no period, make them click "see more"]
25
+
26
+ [BLANK LINE]
27
+
28
+ [SETUP — 2–3 lines establishing context or problem]
29
+
30
+ [BLANK LINE]
31
+
32
+ [BODY — 3–7 short paragraphs or a numbered/bulleted list]
33
+ - Each point on its own line
34
+ - White space is critical for readability
35
+
36
+ [BLANK LINE]
37
+
38
+ [PERSONAL INSIGHT or LESSON]
39
+
40
+ [BLANK LINE]
41
+
42
+ [CTA — one direct question to invite comments]
43
+
44
+ [HASHTAGS — 3–5 at the end]
45
+ ```
46
+
47
+ ## Guidelines
48
+
49
+ - **Lead with the hook, not with context.** "I was wrong about X" beats "Let me share some thoughts about X."
50
+ - Write conversationally. LinkedIn users skim; short paragraphs hold attention.
51
+ - Personal stories outperform general advice by 3–5x engagement. "I" > "You" > "One."
52
+ - End with an open question that is easy to answer in one sentence — lowers the comment friction.
53
+ - Engage within the first 60 minutes after posting to signal activity to the algorithm.
54
+ - Tag people sparingly and only when directly relevant — avoid tag-baiting.
55
+ - Native documents (uploaded PDFs formatted as carousels) have the highest dwell time.
56
+ - Post 3–5 times per week for consistent reach growth.
57
+
58
+ ## Examples
59
+
60
+ **Hook variants:**
61
+ - "I turned down a $500K offer. Here's why."
62
+ - "3 things every senior engineer knows that junior engineers don't"
63
+ - "My biggest career mistake — and what it taught me"
64
+
65
+ **Full post (condensed):**
66
+ ```
67
+ I spent 2 years building the wrong product.
68
+
69
+ We had 100+ users. Revenue was growing. The team was motivated.
70
+
71
+ But I ignored every signal that told me to pivot.
72
+
73
+ Here's what I learned:
74
+
75
+ 1. Revenue isn't validation — it's a lagging indicator
76
+ 2. Churn rate tells the real story
77
+ 3. Your best users are not your average users
78
+
79
+ The hardest decision isn't to quit. It's to redirect.
80
+
81
+ What's a hard pivot you've made that you don't regret?
82
+
83
+ #startups #productmanagement #entrepreneurship
84
+ ```
@@ -0,0 +1,89 @@
1
+ ---
2
+ platform: universal
3
+ format: research
4
+ constraints:
5
+ max_chars: null
6
+ image_ratio: null
7
+ max_hashtags: null
8
+ ---
9
+
10
+ # Best Practices: Research Methodology
11
+
12
+ ## Core Principles
13
+
14
+ Quality research is the foundation of credible content. It involves systematic source discovery, critical evaluation, and structured synthesis.
15
+
16
+ - **Primary over secondary.** Original data, firsthand accounts, and official publications outweigh summaries and aggregations.
17
+ - **Triangulate claims.** Any key fact should be verified by at least 2–3 independent sources.
18
+ - **Date everything.** A statistic from 2018 may be misleading in 2025. Always surface the publication date.
19
+ - **Follow the chain.** When a source cites a study, find and read the original study — not the summary.
20
+
21
+ ## Research Process
22
+
23
+ ### Phase 1: Define the Research Question
24
+ - State the specific question being answered
25
+ - Identify what type of evidence is needed (quantitative, qualitative, expert opinion, case study)
26
+ - Define the scope: time range, geography, industry, audience
27
+
28
+ ### Phase 2: Source Discovery
29
+ - Academic: Google Scholar, PubMed, ResearchGate, JSTOR
30
+ - Industry: Gartner, Forrester, McKinsey, Statista, Nielsen
31
+ - News: Reuters, AP, Bloomberg, industry trade publications
32
+ - Primary: original surveys, interviews, experiments, official reports
33
+ - Social: forums, communities (Reddit, Quora) for sentiment and pain points (not as citable fact)
34
+
35
+ ### Phase 3: Source Evaluation — SIFT Method
36
+ - **Stop** — pause before sharing or using any source
37
+ - **Investigate the source** — who wrote it, who published it, what are their incentives?
38
+ - **Find better coverage** — look for the original source or corroboration
39
+ - **Trace claims** — follow citations back to their origin
40
+
41
+ ### Phase 4: Synthesis
42
+ - Group findings by theme, not by source
43
+ - Note consensus vs. disagreement across sources
44
+ - Identify gaps in the existing research
45
+
46
+ ## Structure
47
+
48
+ ```
49
+ [RESEARCH BRIEF]
50
+ - Question:
51
+ - Context:
52
+ - Required evidence type:
53
+ - Date range:
54
+
55
+ [SOURCE LIST]
56
+ - Source 1: [Title, Author, Publication, Date, URL]
57
+ - Source 2: ...
58
+ - Credibility rating: High / Medium / Low
59
+
60
+ [KEY FINDINGS]
61
+ - Finding 1: [Claim] — Source: [Citation] — Date: [YYYY]
62
+ - Finding 2: ...
63
+
64
+ [GAPS AND CAVEATS]
65
+ - What the research does NOT address
66
+ - Potential biases in the sources
67
+
68
+ [SYNTHESIS]
69
+ - What the evidence collectively supports
70
+ - Recommended interpretation for the content piece
71
+ ```
72
+
73
+ ## Guidelines
74
+
75
+ - Reject statistics without a clear source. "Studies show..." with no citation is not evidence.
76
+ - Note the difference between correlation and causation in quantitative findings.
77
+ - For content, prefer the most recent data available — but note when a dated source is used.
78
+ - When expert opinions conflict, present the disagreement honestly rather than cherry-picking.
79
+ - Keep a research log for every project; it enables fact-checking and updates later.
80
+ - Wikipedia is acceptable for orientation — not as a primary citation.
81
+
82
+ ## Source Quality Tiers
83
+
84
+ | Tier | Examples | Use For |
85
+ |------|----------|---------|
86
+ | 1 - Primary | Original studies, official data, direct interviews | Core claims, statistics |
87
+ | 2 - Expert | Industry reports, peer-reviewed journals | Supporting evidence |
88
+ | 3 - Reputable media | Reuters, NYT, Bloomberg | Context and news |
89
+ | 4 - Secondary | Blogs, influencers, aggregators | Leads to primary sources only |
@@ -0,0 +1,95 @@
1
+ ---
2
+ platform: universal
3
+ format: content-review
4
+ constraints:
5
+ max_chars: null
6
+ image_ratio: null
7
+ max_hashtags: null
8
+ ---
9
+
10
+ # Best Practices: Content Review and Quality Assurance
11
+
12
+ ## Core Principles
13
+
14
+ A content review is not just proofreading — it is a structured quality gate that ensures accuracy, brand alignment, strategic fit, and platform appropriateness before publication.
15
+
16
+ - Review with fresh eyes: wait at least 30 minutes after writing before reviewing.
17
+ - Review for the reader, not the writer — what the audience will understand matters more than what the author intended.
18
+ - Use a checklist, not memory — cognitive load causes reviewers to miss consistent categories of errors.
19
+
20
+ ## Review Layers
21
+
22
+ ### Layer 1: Structural Review
23
+ - Does the piece fulfill its stated objective?
24
+ - Is the structure logical and easy to navigate?
25
+ - Is the hook strong enough for the platform?
26
+ - Is the CTA clear, singular, and appropriate?
27
+
28
+ ### Layer 2: Accuracy Review
29
+ - Are all statistics cited with a source and date?
30
+ - Are all factual claims verifiable?
31
+ - Are product names, brand names, and prices correct?
32
+ - Are there any legal or compliance risks (unverified health claims, competitor comparisons, testimonials)?
33
+
34
+ ### Layer 3: Brand and Voice Review
35
+ - Does the tone match the brand voice guide?
36
+ - Are brand-specific terminology and spellings consistent?
37
+ - Is the content appropriate for the audience (reading level, cultural sensitivity)?
38
+
39
+ ### Layer 4: Platform Review
40
+ - Does the format meet platform constraints (character limits, image specs, hashtag counts)?
41
+ - Is the content optimized for the platform's algorithm (SEO keywords, engagement triggers)?
42
+ - Are links, tags, and mentions correct?
43
+
44
+ ### Layer 5: Copy Edit
45
+ - Grammar, spelling, and punctuation
46
+ - Sentence flow and readability (aim for Flesch-Kincaid Grade 7–9 for general audiences)
47
+ - Consistency in tense, voice, and formatting
48
+
49
+ ## Structure (Review Report)
50
+
51
+ ```
52
+ [CONTENT TITLE / ID]
53
+ [REVIEWER NAME]
54
+ [REVIEW DATE]
55
+ [PLATFORM AND FORMAT]
56
+
57
+ [SUMMARY VERDICT]
58
+ - Status: Approved / Approved with changes / Requires revision / Rejected
59
+ - Priority issues: [list]
60
+
61
+ [STRUCTURAL NOTES]
62
+ [ACCURACY FLAGS]
63
+ [BRAND ALIGNMENT NOTES]
64
+ [PLATFORM COMPLIANCE NOTES]
65
+ [COPY EDITS — inline or attached]
66
+
67
+ [REVISION REQUIRED BY (date)]
68
+ ```
69
+
70
+ ## Guidelines
71
+
72
+ - Never approve content with unverified statistics or missing source citations.
73
+ - Flag but do not unilaterally change strategic decisions — escalate to the content strategist.
74
+ - Use a shared annotation tool (Google Docs comments, Notion inline comments) to keep feedback traceable.
75
+ - Distinguish between required changes and suggested improvements — use clear labels.
76
+ - Final approval requires sign-off from at least one reviewer who did not write the content.
77
+ - For regulated industries (health, finance, legal), require specialist compliance review before publishing.
78
+
79
+ ## Review Checklist Template
80
+
81
+ ```
82
+ [ ] Objective clearly met
83
+ [ ] Hook appropriate for platform
84
+ [ ] One clear CTA
85
+ [ ] All facts cited with source + date
86
+ [ ] No unverifiable claims
87
+ [ ] Brand voice consistent
88
+ [ ] No competitor disparagement without legal clearance
89
+ [ ] Platform constraints met (chars, image specs, hashtags)
90
+ [ ] SEO/algorithm elements present (keywords, alt text)
91
+ [ ] Grammar and spelling clean
92
+ [ ] All links functional
93
+ [ ] Author bio / attribution correct (if applicable)
94
+ [ ] Legal/compliance sign-off (if required)
95
+ ```