feat(linkedin): progressive onboarding — hide score until 3+ posts, suppress voice guardian noise
- session-start.mjs: count published posts, gate personalization score display and reminder behind >= 3 published posts - voice-guardian.md: suppress LOW CONFIDENCE messages, silently skip drift scoring when < 5 samples - state-file.template.md: add "general" default for expertise_areas - onboarding.md: show friendly defaults message for new users, move score dashboard to returning-user flow Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
d7a562fc45
commit
8606abf5ee
4 changed files with 44 additions and 6 deletions
|
|
@ -162,6 +162,13 @@ if (existsSync(STATE_FILE)) {
|
|||
// Non-critical: don't block session start on pruning failure
|
||||
}
|
||||
|
||||
// Count published posts for progressive onboarding
|
||||
const recentPostsSection = stateContent.match(/^## Recent Posts\n([\s\S]*?)(?=\n## [^R]|\n## $|$)/m);
|
||||
let publishedPostCount = 0;
|
||||
if (recentPostsSection) {
|
||||
publishedPostCount = (recentPostsSection[1].match(/^\s*[-\[]/gm) || []).length;
|
||||
}
|
||||
|
||||
// Build status line
|
||||
let statusLine = `LinkedIn: ${postsThisWeek}/${weeklyGoal} posts this week | Streak: ${currentStreak} days`;
|
||||
if (lastPostDate && lastPostDate !== 'null') {
|
||||
|
|
@ -177,12 +184,14 @@ if (existsSync(STATE_FILE)) {
|
|||
statusLine += ` | ${followerCount}/${followerTarget} followers (${milestonePhase})`;
|
||||
}
|
||||
|
||||
// Personalization score
|
||||
// Personalization score (only show after 3+ published posts — progressive onboarding)
|
||||
let pScore = null;
|
||||
try {
|
||||
const { score } = calculateScore(PLUGIN_ROOT);
|
||||
pScore = score;
|
||||
statusLine += ` | Personalization: ${score}%`;
|
||||
if (publishedPostCount >= 3) {
|
||||
statusLine += ` | Personalization: ${score}%`;
|
||||
}
|
||||
} catch { /* ignore */ }
|
||||
|
||||
// New creator window
|
||||
|
|
@ -272,8 +281,8 @@ if (existsSync(STATE_FILE)) {
|
|||
reminders += `- ${weekRemaining} posts remaining to hit weekly goal of ${weeklyGoal}. It's late in the week.\\n`;
|
||||
}
|
||||
|
||||
// Personalization score check
|
||||
if (pScore !== null && pScore < 50) {
|
||||
// Personalization score check (only after 3+ posts — progressive onboarding)
|
||||
if (pScore !== null && pScore < 50 && publishedPostCount >= 3) {
|
||||
reminders += `- Personalization score is ${pScore}%. Run /linkedin:setup to improve content quality with your real voice, case studies, and audience data.\\n`;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue