feat(linkedin-studio): research-engine config layer — sources + scoring modes + MCP profile (§5 slice 2a) [skip-docs]
Declaration/config groundwork that slice 2b's trend-spotter upgrade reads.
Standalone (no agent wiring yet — that's 2b), mirroring slice 1's pattern;
[skip-docs] for the same reason slice 1 was — user-facing docs land when 2b
wires the engine live.
- references/trend-scoring-modes.md: methodology SSOT for two rubrics —
kortform (feed post, timing 20%) + long-form (chronicle, depth 25% / timing 10%,
per tema-research-motor-spec §4.2). Both sum to 100%. trend-spotter renders from
this in 2b instead of inlining a matrix (S12-consistent).
- config/trends-sources.template.md: shipped generic source-list defaults →
user override at ${LINKEDIN_STUDIO_DATA}/trends/sources.md (data-dir, survives
reinstall; same template->data-dir pattern as user-profile).
- user-profile.template.md: new "Research Tooling" section — declared research MCPs
(Tavily/Gemini/Perplexity/Other) + WebSearch/WebFetch floor. 2b routes MCP-first.
- setup.md Step 3f + onboarding.md Phase 2: ask "which research MCPs?" -> profile.
Store only what the user declares; no hard-coded MCP names.
- test-runner.sh: EXPECT_REFS 26->27; generalized the M0 +1 delta-guard into a
named-post-M0-additions guard (POSTM0_REFS) so a legit later ref doc passes while
the anti-masking intent holds. Gate green 84/0/0.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RBMKqPSVbvSZHtQ4heM1UY
This commit is contained in:
parent
be21788321
commit
b89868e3b1
6 changed files with 225 additions and 11 deletions
|
|
@ -154,6 +154,7 @@ file must contain no `<!-- VOICE_PLACEHOLDER -->`.
|
|||
3. Job title / role
|
||||
4. 5 expertise areas (these become your content pillars)
|
||||
5. Target audience description
|
||||
6. Research MCPs connected (Tavily / Gemini deep research / Perplexity — or "none"; WebSearch + WebFetch are the always-available floor). Store only what they name — don't invent MCP names.
|
||||
|
||||
Save to `${LINKEDIN_STUDIO_DATA:-$HOME/.claude/linkedin-studio}/profile/user-profile.md`.
|
||||
|
||||
|
|
|
|||
|
|
@ -336,8 +336,13 @@ Guide through each section of the profile:
|
|||
- "Current follower count?"
|
||||
- "90-day growth goal?"
|
||||
|
||||
7. Read `config/user-profile.template.md` for structure
|
||||
8. Write the completed profile to `${LINKEDIN_STUDIO_DATA:-$HOME/.claude/linkedin-studio}/profile/user-profile.md`
|
||||
7. **Research tooling:**
|
||||
- "Which research MCPs do you have connected? (e.g., Tavily, Gemini deep research, Perplexity — or none)"
|
||||
- Record exactly what they name. If they have none, that's fine — WebSearch + WebFetch are the always-available floor.
|
||||
- This populates the **Research Tooling** section of the profile; the trend/research engine routes to a declared MCP first and falls back to the floor. Do not invent MCP names — store only what the user declares.
|
||||
|
||||
8. Read `config/user-profile.template.md` for structure
|
||||
9. Write the completed profile to `${LINKEDIN_STUDIO_DATA:-$HOME/.claude/linkedin-studio}/profile/user-profile.md`
|
||||
|
||||
**Important:** This file is gitignored (`.local.md` pattern), so personal data stays private.
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue