agentleFS
joyehuangjoyehuang/skills/user-insight-research/SKILL.md

user-insight-research

Skill9 starsChanged 6 months agoApache-2.0View on GitHub

Generate a weekly plan of 7 user-insight research topics (one per day) from users/{userId}/USER.md by combining profile context with recent web_search signals. Saves the result as a JSON file in the user's root folder for downstream consumption by create-project (UserInsight type).

The file

We split this skill into the rules it gives an agent

12 rules. About 0 are common, 4 are distinctive, and 8 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈4

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 8

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Read profile from users/{userId}/USER.md

    line 11
  2. Very specific:

    Search recent external signals with web_search

    line 12
  3. Distinctive:

    Do not use fallback paths.

    line 27
  4. Very specific:

    Always output exactly 7 topics, each assigned a unique scheduled_date.

    line 33
  5. Very specific:

    Every topic must set kind to "insights".

    line 35
  6. Very specific:

    Read users/{userId}/USER.md and extract:

    line 44
  7. Very specific:

    Use web_search to gather recent information (prefer last 90-180 days):

    line 55
  8. Distinctive:

    Write the complete JSON to:

    line 89
  9. Very specific:

    If users/{userId}/USER.md does not exist or is unreadable, return strict JSON (do not write file):

    line 131
  10. Very specific:

    If external signals are limited, still return 7 topics and state in each rationale that it is based on limited public signals.

    line 141
  11. Distinctive:

    Before writing the output file, validate:

    line 145
  12. Distinctive:

    all topics are user-insight oriented and independent of each other

    line 150

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

User Insight Research Weekly Topic Planner

This skill generates exactly 7 user-insight research topics as strict JSON — one topic per day for a 7-day period starting from today. The JSON is saved as a file in the user's root folder.

It is designed for one workflow only:

  1. Read profile from users/{userId}/USER.md
  2. Search recent external signals with web_search
  3. Generate 7-topic JSON and write it to file users/{userId}/YYYYMMDD-user-insight.json

The output file is consumed by the create-project skill (UserInsight type) to create 7 projects and a daily cron job.

Required Input

  • userId (string)

Input Source

Always read:

users/{userId}/USER.md

Do not use fallback paths.

Core Rules

  1. Support both subject types: company or person (auto-detect from USER.md content).
  2. Generate user-insight topics only.
  3. Always output exactly 7 topics, each assigned a unique scheduled_date.
  4. scheduled_date values are 7 consecutive days starting from the current date (the day this skill is invoked). The start day can be any day of the week.
  5. Every topic must set kind to "insights".
  6. The 7 topics must be independent of each other — each covers a different user-insight angle.
  7. Output must be strict JSON only (no markdown code fences, no extra prose).
  8. The JSON must be written to file, not just returned as text output.

Workflow

Step 1: Load and Parse USER.md

Read users/{userId}/USER.md and extract:

  • subject name (company name or personal name/identity)
  • subject type (company or person, internal use only)
  • product/service or personal business focus
  • target users/customers/audience
  • business model or monetization context
  • key goals, constraints, and open questions

Step 2: Gather Recent External Signals

Use web_search to gather recent information (prefer last 90-180 days):

  • Subject recent moves (product, positioning, partnership, channel, narrative)
  • Industry and category shifts relevant to target users
  • Competitor or substitute behavior changes
  • Regulation/platform/environment changes if relevant

For company subjects, prioritize company + product + industry queries. For person subjects, prioritize role/track + audience + creator/professional ecosystem queries.

Step 3: Generate 7 User-Insight Topics

Generate 7 distinct, independent topics that focus on user behavior and decisions, not generic strategy.

Each topic must include:

  • scheduled_date: the date this topic should be executed (YYYY-MM-DD), assigned sequentially from today for 7 days
  • title: concise research topic title
  • content: direct, execution-ready research prompt text for atypica study creation (in Chinese)
  • rationale: why this topic matters based on USER.md + recent external signals
  • kind: always "insights"

Coverage should span 7 different user-insight angles, such as:

  • decision journey and trigger events
  • motivation vs friction
  • segmentation by context or role
  • value perception and willingness-to-pay logic
  • switching behavior and retention dynamics
  • trust, risk, and objection patterns
  • information sources and influence chain

Step 4: Write JSON to File

Write the complete JSON to:

users/{userId}/YYYYMMDD-user-insight.json

Where YYYYMMDD is the week_start date (the first topic's scheduled_date).

Example: if today is 2026-02-12, the file path is users/{userId}/20260212-user-insight.json.

Output Contract

The JSON written to file must have this exact top-level structure:

{
  "generated_at": "YYYY-MM-DD",
  "subject": "string",
  "week_start": "YYYY-MM-DD",
  "week_end": "YYYY-MM-DD",
  "topics": [
    {
      "scheduled_date": "YYYY-MM-DD",
      "title": "string",
      "content": "string",
      "rationale": "string",
      "kind": "insights"
    }
  ]
}

Constraints:

  • topics.length must be 7
  • all topics[*].kind must be "insights"
  • generated_at uses current date in YYYY-MM-DD
  • week_start is the current date (same as generated_at)
  • week_end is week_start + 6 days
  • topics[0].scheduled_date == week_start, topics[6].scheduled_date == week_end
  • each scheduled_date must be unique and consecutive

Error Handling

If users/{userId}/USER.md does not exist or is unreadable, return strict JSON (do not write file):

{
  "error_code": "USER_PROFILE_NOT_FOUND",
  "message": "Cannot read users/{userId}/USER.md",
  "user_id": "string"
}

If external signals are limited, still return 7 topics and state in each rationale that it is based on limited public signals.

Quality Checklist

Before writing the output file, validate:

  1. strict JSON only
  2. top-level keys: generated_at, subject, week_start, week_end, topics
  3. exactly 7 topics
  4. all topics are user-insight oriented and independent of each other
  5. each topic has scheduled_date, title, content, rationale, kind
  6. each kind is "insights"
  7. scheduled_date values are 7 consecutive days starting from week_start
  8. each content is directly reusable as research input (in Chinese)
  9. file is written to users/{userId}/YYYYMMDD-user-insight.json

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.