Social Media App Researcher
Example output: github.com/elchrysaki/social-app-teardown — a full five-platform run (Threads, LinkedIn, Instagram, X, Reddit) produced by this skill, including the brand & marketing kits. Useful as a reference for the expected depth and format.
Companion skill: platform-content-optimizer takes this research and rewrites a piece of
content to actually reward a platform's real ranking signals, instead of generic engagement
folklore. This skill researches; that one writes — deliberately kept separate (see its own
description for why).
Turn "research these social apps" into a structured, categorized, cited reference library —
not a vague summary. The point of this skill is exhaustiveness and precision: a feature isn't
logged until you can say exactly what it does and exactly why it's designed that way, and a UI
element isn't logged until you can name the actual psychological/design mechanism behind it
(see references/ux-ui-framework.md for the vocabulary — "feels good" is not an answer).
Mobile-first, rebuild-from-scratch precision. These are mobile products first — the
interaction design that actually matters (gestures, animations, thumb-zone layout) lives on
mobile, not desktop web. Always research with a mobile viewport as the primary lens (see
references/research-playbook.md for how). And hold the UX/UI catalog to a standard where
someone could hand it to a designer/engineer and get back a near-exact rebuild of the screen —
that means real measurements and values (spacing, colors, corner radii, font sizes, animation
durations/easing) wherever they're extractable, not just qualitative descriptions. The playbook
covers a technique for pulling exact CSS values instead of eyeballing screenshots — use it.
This is a thoroughness task, not a speed task. Work through every category in
feature-taxonomy.md and every screen/component in ux-ui-framework.md for real — don't stop
after a representative sample. If it feels like you're done after covering a handful of
categories or screens, that's a signal to keep sweeping, not a signal the research is complete.
Do multiple passes through the app if that's what it takes to catch what you missed the first
time.
Five reference files carry the real detail so this file stays short:
references/feature-taxonomy.md— the full checklist of feature categories to work through per platform (account & identity, content creation, feed/algorithm, per-post actions, social graph, notifications, messaging, discovery, moderation & safety, privacy, monetization, gamification, accessibility, platform-specific signature features).references/ux-ui-framework.md— how to catalog screens and components, the specific list of animations to always check (pull-to-refresh, like-burst, page transitions, skeleton loading, story progress bars, etc.), and a glossary of real UX/psychology mechanisms to use when explaining why something works.references/brand-marketing-framework.md— for marketing/branding/design-system-flavored requests: brand identity (color, type, logo/icon style, voice, positioning), a design-tokens reference table meant to be directly reused (not read as prose) plus a machine-readable export (JSON/CSS/Tailwind files, not just markdown), growth/lifecycle marketing mechanics (acquisition funnel, activation, retention loops, referral/virality), and copywriting patterns. Only produce this file when the request has that angle — it's not part of the default sweep.references/psychology-persuasion-framework.md— for behavioral/addiction/dark-pattern- flavored requests: Cialdini's six principles of persuasion, the Hook Model habit loop (trigger → action → variable reward → investment), and a dark-patterns audit against Brignull's named taxonomy — every claim mapped to a real, already-documented feature, framed as an audit, not a manipulation playbook. Only produce this file when the request has that angle.references/research-playbook.md— the methodology: source hierarchy (direct observation > official docs > reputable secondary sources > recalled/unverified), how to use the browser tools to observe real UI and animations, web-research query patterns, and a ready-to-use subagent prompt template for parallelizing research across platforms.
Workflow
1. Scope the research
Default scope, if the user doesn't narrow it: Threads, LinkedIn, Instagram, X, and Reddit — all three research areas (features, algorithm/mindset, UX/UI). If the user's request already implies a narrower scope (one platform, one feature area, one specific feature like "just the report flow"), just run with that — don't force the full five-platform sweep when they asked for something smaller.
Pick an output directory. Default to ./social-media-research/ in the current working
directory unless the user specifies otherwise or the cwd is clearly not a sensible place for
it (e.g. an unrelated project) — in that case ask or use a neutral location.
2. Research each platform in parallel
For anything beyond a single small lookup, spawn one subagent per platform rather than
researching serially — this is genuinely a lot of ground to cover per platform (15 feature
categories, multiple screens, a dozen-plus animations, the ranking algorithm) and platforms
don't depend on each other. Use the subagent prompt template in
references/research-playbook.md — it points each subagent at the taxonomy, framework, and
playbook files to read itself, and specifies the three output files it should produce:
<output_dir>/<platform>/feature-catalog.md
<output_dir>/<platform>/algorithm-and-mindset.md
<output_dir>/<platform>/ux-ui-catalog.md
<output_dir>/<platform>/brand-marketing-kit.md (only if the request has a marketing/branding/design-system angle)
<output_dir>/<platform>/design-tokens.json/.css/.js (alongside brand-marketing-kit.md, the machine-readable export)
<output_dir>/<platform>/psychology-and-persuasion.md (only if the request has a behavioral/addiction/dark-pattern angle)Run these in the background (they'll take real research time — live browsing plus multiple web searches per platform) and continue once notified, rather than blocking the conversation.
For a single-platform or single-feature-area request, it's fine to do the research directly yourself instead of spawning a subagent — reach for the subagent fan-out when the scope is broad enough that parallelizing actually saves time.
3. Synthesize across platforms
Once all platform research is in, write <output_dir>/00-synthesis.md: a cross-platform view
that a single-platform file can't give you —
- A comparison table of how each platform handles the same category (e.g. how "report" flows differ, how each ranks its feed, how each platform's core loop differs)
- The patterns that recur across most/all of them (what they've all converged on, and why — usually because it works)
- What's genuinely unique per platform and what that reveals about its specific strategy (Reddit's karma economy optimizes for different behavior than LinkedIn's endorsement system)
- A short "what makes each one work" verdict per platform, grounded in the mechanisms named in the individual catalogs — not a generic "it's addictive" hand-wave
4. Deliver
Point the user to the output directory and summarize the headline findings in the conversation — don't make them open files to learn anything important. If the catalogs are substantial and the user would benefit from browsing them (not just reading raw markdown), offer to publish a browsable version as an Artifact; don't do this by default, since plain files are often what's actually wanted (e.g. as reference material for a project).
Quality bar
Carried over from the playbook, worth restating because it's the whole point of this skill:
- Direct observation beats documentation beats secondary sources beats memory — and every claim should make clear which tier it came from when it's not obvious.
- "Why it works" needs a named mechanism (variable reward schedule, optimistic UI, Fitts's Law, loss aversion, etc. — see the glossary), tied to a specific outcome, not an adjective.
- Enumerate real lists in full (actual report reasons, actual privacy options) rather than summarizing them as "various options."
- Name gaps explicitly (login walls, undocumented behavior) instead of silently omitting them.
- Label anything recalled from training data rather than freshly observed/researched — these apps change features often enough that unverified memory is a real risk of staleness.
- When producing a psychology/persuasion audit, treat it as diagnostic writing, not a manipulation playbook — every mechanism gets named and explained the way a security researcher documents a known issue, not as instructions for building a more addictive product.
- When exporting design tokens as code (JSON/CSS/Tailwind), only include values that are actually sourced — never stub a plausible-looking value into a machine-readable file just to keep it complete.