بنقرة واحدة
user-research
User research skill — plan interviews, synthesize findings, and generate personas
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
User research skill — plan interviews, synthesize findings, and generate personas
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Onboard a new client/company onto this platform's real Agentic OS: create the company record, scan its websites/repos, auto-provision specialist agents, activate its 24x7 agency runtime, and know exactly which "OS" building blocks (memory, integrations, dashboard) already exist versus which are roadmap gaps. ADAPTED FROM: a third-party giveaway skill ("agentic-os-installer" by Gennaro Santoro / Operations Heroes) that described a generic vault + Google-suite + skill-pack installer. That skill's product (Obsidian vault, Gmail/Calendar/ Drive wiring, "skill packs") does not exist in this repo and its promotional content (Skool community link) does not belong here. This is a clean-room rewrite that keeps the useful idea — "stand up a working agency OS for a client from a short checklist" — and maps every step to the real module that already implements it in this codebase, per CLAUDE.md architecture rules.
Agile sprint planning, velocity tracking, and burndown metrics for agent-managed projects
Initiative-level portfolio management with dependency tracking and milestone coordination
AI-assisted engineering impact analysis — productivity metrics and code quality insights
Cross-harness agent patterns — standardize agent execution across different coding assistants
Temporal context graph for agent memory — track entity relationships and state changes over time
| name | user-research |
| description | User research skill — plan interviews, synthesize findings, and generate personas |
Module:
agent/user_research_skill.pyAgent tools registered:user_research_plan,user_research_qual,user_research_quant,user_research_synthesizeCapability tag:user_research(sub-tags:plan,qualitative,quantitative,synthesis) Maturity: stable
Structured user-research workflows for the agent platform. Implements the four core capabilities adapted from the cookiy-ai/user-research-skill reference architecture:
| Capability | Tool name | What it does |
|---|---|---|
| Plan | user_research_plan | Produce a structured research plan (objectives, hypotheses, methods, sample size, timeline) from a research question. |
| Qual | user_research_qual | Extract themes, pain points, and desires from interview transcripts or open-ended survey responses. |
| Quant | user_research_quant | Compute descriptive statistics (mean, median, σ, distribution, segment cuts) for a numeric series. |
| Synthesize | user_research_synthesize | Combine qual + quant into a decision-ready research brief with executive summary, findings, and recommendations. |
The skill is implemented as a pure-function library with a thin tool-wrapping layer:
plan_research, analyze_qualitative,
analyze_quantitative, synthesize_research) that take and return
Pydantic v2 models.ToolRegistry via the
@registry.agent_tool decorator, so the agent loop can invoke them
like any other tool.All inputs and outputs use Pydantic v2 with extra="forbid" so the executor
cannot smuggle unknown fields past validation:
ResearchPlan — output of PlanResearchObjective, ResearchHypothesis, ResearchMethod — sub-modelsQualAnalysis, QualTheme, QualQuote — output of QualQuantAnalysis, QuantSegment — output of QuantResearchBrief — output of Synthesizefrom agent.user_research_skill import (
plan_research, analyze_qualitative,
analyze_quantitative, synthesize_research,
)
# 1. Plan
plan = plan_research(
title="Why do users churn after onboarding?",
primary_question="What causes week-1 churn?",
audience="Product team",
objectives=[{"statement": "Identify the top 3 friction points"}],
methods=[{"method": "interview", "target_participants": 8}],
)
print(plan.target_sample_size) # computed from method target + stats
# 2. Qual
qual = analyze_qualitative(
source="8 customer interviews",
transcripts=[
"Login is broken and slow, hate it.",
"Login is broken, otherwise fine.",
"Love the new dashboard, but login is broken.",
],
)
for theme in qual.pain_points:
print(theme.name, theme.frequency)
# 3. Quant
quant = analyze_quantitative(
source="NPS survey Q4",
values=[9, 9, 8, 10, 9, 8, 9, 10, 7, 9],
metric_name="NPS",
metric_type="rating",
)
print(quant.mean, quant.median, quant.stdev)
# 4. Synthesize
brief = synthesize_research(title="Q4 NPS + Interview Synthesis",
quant=quant, qual=qual)
print(brief.executive_summary)
print(brief.recommendations)
After auto_register() is called (or after agent/capability_registry.py
discovers the module), the agent loop can invoke:
# In an agent prompt, the model can call:
{
"tool": "user_research_plan",
"args": {
"title": "Onboarding friction study",
"primary_question": "What blocks first-week activation?",
"audience": "Product",
"objectives": [{"statement": "Identify top 3 blockers"}],
"methods": [{"method": "interview", "target_participants": 6}]
}
}
…and receive a validated ResearchPlan back.
The plan_research function computes the target sample size from the
larger of:
target_participants across all methods.population_size is supplied.Formula: n0 = z² · p(1-p) / e², then n = n0 / (1 + (n0-1)/N).
Default z=1.96 (95% confidence), e=0.05, p=0.5.
The analyze_qualitative function uses a small rule-based sentiment
classifier (positive / neutral / negative) and a keyword-based theme
extractor. Themes are filtered by min_theme_frequency (default 2) to
avoid single-mention noise. Real production sentiment should use an
LLM call — these heuristics are deliberately minimal so the skill
scaffolding is fast and testable.
tests/test_user_research_skill.py covers:
Run with:
pytest -x tests/test_user_research_skill.py -v
The skill auto-registers with the module-level ToolRegistry singleton
on first import of agent.user_research_skill. To force registration
in a custom registry, call register_user_research_tools(registry)
explicitly.
| File | Purpose |
|---|---|
agent/user_research_skill.py | Pydantic models + 4 capability functions + tool registration |
tests/test_user_research_skill.py | 35+ tests covering all capabilities and edge cases |
.claude/skills/user-research/SKILL.md | This document |
agent/capability_registry.py — the dynamic tool registry.claude/skills/research/SKILL.md — general-purpose research skill (broader scope, this skill is user-research-specific)