Wave 2 / Step 5 of the remediation plan (coupled criticals: voice-leak + placeholder-detection). Voice profile (the adopter-default leak): - Ship a PII-free placeholder at authentic-voice-samples.md carrying a <!-- VOICE_PLACEHOLDER --> sentinel + neutral default voice principles. - Migrate the author's real profile to gitignored authentic-voice-samples.local.md (already matched by *.local.md; added an explicit, commented .gitignore entry so the intent is unmissable). NO git-history rewrite — the historical file is attributed authorship, not a secret (per the plan threat model). - Add authentic-voice-samples.template.md — a clean fill-in template for adopters. - personalization-score.mjs: detect the sentinel (deterministic) instead of the unreliable `[Your Name]` heuristic, so the placeholder scores 0 voice points and a populated profile (sentinel removed) earns the 25. - Both voice writers replace-not-append on the placeholder: setup.md (merge -> replace-if-placeholder) and onboarding.md (append -> replace-if-placeholder), so populating removes the sentinel; updated setup.md's stale heuristic table. Operator decisions (deviations from plan-literal, approved this session): - KEEP the plugin.json author name. The plan said scrub author -> neutral/org, but that contradicts its own LICENSE reasoning (intentional MIT attribution) and all 5 sibling plugins keep author = the author; scrubbing only this one would create inconsistency for zero security gain (the name is public-by-design). The voice placeholder fully fixes the adopter-inheritance bug. - Scrub the stale "January 2026 360Brew" brand from the plugin.json description and the "360brew" keyword (locked decision: no publishable model name/date). This is a Wave-1 propagation miss surfaced here because plugin.json was in Step 5's touch-scope. Flagged for follow-up (NOT done here — out of Session 2 scope): - The lint's stat-consistency grep (scripts/test-runner.sh) scans references/, commands/, skills/, hooks/prompts/, CLAUDE.md, README.md — but NOT .claude-plugin/plugin.json, which is why the 360Brew brand slipped Wave 1. Needs a Session-1-scoped lint extension to add plugin.json to the scan set. - Readers (user-prompt-context.mjs, voice-guardian.md, state-update-reminder.md) read the tracked .md (placeholder), per the plan. The operator's real voice now lives in the gitignored .local.md, which nothing reads. To use it, readers + the voice score should prefer .local.md (matching the user-profile.local.md precedent). Deferred as a coherence follow-up for operator review. Test-first: hooks/scripts/__tests__/personalization-score.test.mjs (red on the placeholder scoring 25 under the old heuristic, green after the sentinel fix). Hook suite 62/62, structural lint 0 failed. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| analytics | ||
| audience-insights | ||
| case-studies | ||
| checklists | ||
| drafts | ||
| examples | ||
| frameworks | ||
| plans | ||
| templates | ||
| voice-samples | ||
| quick-post-resources.md | ||
| README.md | ||
Personal LinkedIn Assets
This folder contains YOUR personalized content, frameworks, and insights that make this skill uniquely valuable to you.
How Assets Are Used
When you ask Claude to create content, it will:
- Check your PERSONALIZATION SETTINGS in SKILL.md
- Reference relevant assets from these folders
- Blend your authentic voice/examples with LinkedIn best practices
- Generate content that sounds like YOU, optimized for the algorithm
Folder Structure
/examples/
Store your best-performing posts for pattern analysis. Claude will study these to understand what works for YOUR audience and replicate those patterns in new content.
/templates/
Your custom post templates. When you develop a structure that works consistently, save it here so Claude can apply it to new content.
/frameworks/
Your proprietary frameworks, models, and methodologies. When creating content, Claude will reference YOUR frameworks instead of generic ones.
/case-studies/
Real examples from your work. Claude uses these for credibility and specificity instead of making up generic scenarios.
/research/
Industry research, data, and trends specific to your domain. Helps Claude create data-driven posts with current, relevant information.
/voice-samples/
Examples of your authentic writing from various contexts. Claude analyzes these to match your natural voice and style.
/audience-insights/
Your analytics, demographics, and engagement patterns. Claude uses this to optimize content for YOUR specific audience, not generic best practices.
/competitors/
Analysis of peers and influencers in your space. Helps identify content gaps and opportunities for differentiation.
Maintenance Schedule
Weekly (5 minutes)
- Add your best post from the week to
/examples/ - Update posting time insights in
/audience-insights/engagement-patterns.md
Monthly (15 minutes)
- Analyze patterns in
/examples/and document learnings - Update demographics in
/audience-insights/based on LinkedIn analytics - Add any new frameworks developed to
/frameworks/
Quarterly (30 minutes)
- Refresh industry data in
/research/ - Update competitor analysis in
/competitors/ - Review and refine voice samples in
/voice-samples/
Priority Hierarchy
If there's a conflict between:
- Generic best practices (in
/references/) - Your personal patterns (in
/assets/)
→ Claude will prioritize YOUR patterns (with optimization suggestions if needed)
Exception: If your patterns actively harm algorithmic reach (external links, engagement bait), Claude will flag this and suggest alignment with platform mechanics while maintaining your authentic voice.
Getting Started
- Week 1: Fill in PERSONALIZATION SETTINGS in SKILL.md (15 minutes)
- Week 2-4: Add 2-3 voice samples to
/voice-samples/(20 minutes) - Month 2: Start populating
/examples/with your successful posts (ongoing) - Month 3: Add frameworks and case studies as they develop (ongoing)
The more you populate these folders, the more personalized and valuable this skill becomes. Think of it as a system that learns YOUR patterns over time.