Agent skill
user-profile-reader
Read user profile from workspace and calculate content relevance. Use to personalize output based on user interests.
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/marketing/user-profile-reader-memorysaver-looplia-core
SKILL.md
User Profile Reader Skill
Read and interpret user preferences for content personalization.
What This Skill Does
- Reads
user-profile.jsonfrom workspace root - Provides user context to other processing
- Calculates relevance scores for content
User Profile Location
~/.looplia/user-profile.json
User Profile Schema
{
"userId": "string",
"topics": [
{ "topic": "string", "interestLevel": 1-5 }
],
"style": {
"tone": "beginner" | "intermediate" | "expert" | "mixed",
"targetWordCount": 100-10000,
"voice": "first-person" | "third-person" | "instructional"
}
}
Relevance Scoring Algorithm
Calculate score.relevanceToUser (0-1):
1. For each user topic:
- weight = interestLevel / 5
- matched = content tags/themes contain topic (case-insensitive)
2. Calculate score:
- matchedWeight = sum of weights for matched topics
- totalWeight = sum of all topic weights
- score = matchedWeight / totalWeight
3. If no user topics defined:
- score = 0.5 (neutral)
Example Calculation
User profile:
{
"topics": [
{ "topic": "AI", "interestLevel": 5 },
{ "topic": "productivity", "interestLevel": 3 },
{ "topic": "cooking", "interestLevel": 2 }
]
}
Content tags: ["AI", "safety", "alignment"]
Calculation:
- AI: matched, weight = 5/5 = 1.0 (contributes to matchedWeight)
- productivity: not matched, weight = 3/5 = 0.6 (contributes to totalWeight only)
- cooking: not matched, weight = 2/5 = 0.4 (contributes to totalWeight only)
- matchedWeight = 1.0
- totalWeight = 1.0 + 0.6 + 0.4 = 2.0
- score = 1.0 / 2.0 = 0.5
Usage in Other Skills
When content-documenter needs relevance score:
- Read user-profile.json
- Compare content tags/themes to user topics
- Apply algorithm above
- Return score in
score.relevanceToUserfield
Handling Edge Cases
- No user profile file: Use score = 0.5
- Empty topics array: Use score = 0.5
- Invalid JSON: Use score = 0.5, log warning
- All topics matched: score = 1.0
- No topics matched: score = 0.0
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
Didn't find tool you were looking for?