/discover-patterns
Discover repeated workflow patterns from screen activity and suggest automations
$ npx -y skills add deusXmachina-dev/memorylane --skill discover-patterns --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/discover-patterns
Context preview
The summary Claude sees to decide when to auto-load this skill.
Discover repeated workflow patterns from screen activity and suggest automations
SKILL.md
discover-patterns.SKILL.mdname: discover-patterns
allowed-tools: mcp__memorylane__browse_timeline, mcp__memorylane__search_context, mcp__memorylane__get_activity_details
description: Discover repeated workflow patterns from screen activity and suggest automations
Discover Patterns
Mine the user's screen activity for repeated workflows worth automating — via native integrations, n8n/Make/Zapier, or custom scripts. This command scans timeline data directly, applies aggressive filtering to discard casual activity, and surfaces only patterns with real automation potential.
Before you start
If the `browse_timeline` tool is not available, stop and reply with exactly:
> MemoryLane isn't connected to Claude yet. Open the MemoryLane app, go to **Integrations**, click **Add to Claude**, then restart Claude Desktop and run this again.
Do not suggest plugin settings, Retry, or toggling the plugin.
Instructions
Step 1 — Scan Day by Day
Pattern detection requires **sequential context** — the order of app switches within a day reveals the loops.
Iterate backwards, one day at a time:
1. `browse_timeline(startTime="today", endTime="now", limit=50, sampling="uniform")` 2. `browse_timeline(startTime="2 days ago", endTime="1 day ago", limit=50, sampling="uniform")` 3. Continue for at least 7 days. 4. If < 10 total activities after 7 days, extend to 14 days. 5. If < 5 total activities after 14 days, tell the user there isn't enough data yet. Stop.
After each day's scan, run Step 2 on that batch before moving to the next day.
Step 2 — Identify Candidates
For each day's batch, apply the analysis structure below, then run every candidate through the **Automation Fitness Filter**.
Analysis Per Batch
STEP 1 — App frequency
Which apps appear most? What pairs appear together?
STEP 2 — Semantic clustering
Group activities by what they describe. Are there clusters of similar descriptions?
STEP 3 — Temporal sequences
Within each cluster, do activities follow a consistent order?
STEP 4 — Repetition detection
For each sequence, does it repeat? How many times? Over what time span?
STEP 4.5 — Automation fitness check
Apply the filter below. Discard anything on the DISCARD list.
Only keep candidates that match a REPORT category.
STEP 5 — Variation analysis
Within repeated sequences, what changes between iterations? What stays the same?
STEP 6 — Automation assessment
For the "stays the same" parts — can these be scripted, scheduled, or API-driven?
Automation Fitness Filter
The core question for every candidate: **"Could a native integration, n8n/Make/Zapier workflow, or custom script replace this entire workflow end-to-end?"**
If no, discard it. If yes, classify it into one of the categories below.
**REPORT — these 5 categories only:**
| Category | Badge Color | Signal | Example | | -------------------- | ---------------- | -------------------------------------------- | ------------------------------------- | | **Data Shuttle** | blue `#3b82f6` | Copy-paste structured data between apps | Stripe → Sheets, CRM → billing | | **Reporting Ritual** | purple `#8b5cf6` | Same app sequence on a schedule | Monday: analytics → chart → Slack | | **Review Pipeline** | pink `#ec4899` | Queue → cross-reference → decide | Expense PDF → policy check → approve | | **Data Entry** | orange `#f97316` | Read source, type into forms | Contract email → CRM fields → billing | | **Alert Response** | teal `#14b8a6` | Notification → switch → act → return, 5+/day | Zendesk alert → dashboard → respond |
**DISCARD — explicit noise list:**
- **Personal messaging** — iMessage, WhatsApp, Telegram, Discord DMs, Signal
- **Learning/studying** — docs, tutorials, papers, Stack Overflow, course platforms
- **General browsing** — Reddit, HN, news sites, shopping, social media
- **Programming** — writing code, debugging, tests, PRs, commits, code review (core creative work, not automatable)
- **Entertainment** — Spotify, Netflix, YouTube non-work, games
- **Email/Slack triage** — general inbox checking, message reading (unless it's a trigger for a specific cross-app workflow)
- **IDE usage alone** — "uses VS Code" or "writes code in Cursor" is too broad
- **File management** — unless part of a larger cross-app workflow
Maintain a running candidate list across all days. A pattern spotted on multiple days is stronger evidence — merge duplicates and increase confidence.
Step 3 — Confirm Top Candidates
For each candidate with 3+ occurrences:
1. `search_context(query)` — widen to 30 days to verify the pattern holds beyond the scan window. 2. `get_activity_details(ids)` — only for high-confidence candidates where OCR text would reveal automation-relevant specifics (URLs, field names, data being moved). Keep to a minimum.
Step 4 — Present Results as HTML
Rank patterns by **automation impact** — frequency x time per loop x ease of automation.
**Write the HTML to a file** — save it as `pattern-report.html` in the current working directory using the Write tool. Do NOT output raw HTML in your response. After writing the file, tell the user the report has been saved and they can open it. Repeat the pattern card block for each detected pattern.
<div
style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; max-width: 720px; margin: 0 auto; color: #0f172a;"
>
<!-- HEADER -->
<div
style="background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%); border-radius: 16px; padding: 32px; margin-bottom: 28px; color: white;"
>
<div style="font-size: 24px; font-weight: 800; margin-bottom: 6px; letter-spacing: -0.5px;">
Pattern Report
</div>
<div style="font-size: 14px; opacity: 0.85; line-height: 1.5;">
{analysis_window} · {total_activities_analyzed} activities analyzed · {pattern_count} pattRead more
name: discover-patterns allowed-tools: mcp__memorylane__browse_timeline, mcp__memorylane__search_context, mcp__memorylane__get_activity_details description: Discover repeated workflow patterns from screen activity and suggest automations
Discover Patterns
Mine the user's screen activity for repeated workflows worth automating — via native integrations, n8n/Make/Zapier, or custom scripts. This command scans timeline data directly, applies aggressive filtering to discard casual activity, and surfaces only patterns with real automation potential.
Before you start
If the `browse_timeline` tool is not available, stop and reply with exactly:
> MemoryLane isn't connected to Claude yet. Open the MemoryLane app, go to **Integrations**, click **Add to Claude**, then restart Claude Desktop and run this again.
Do not suggest plugin settings, Retry, or toggling the plugin.
Instructions
Step 1 — Scan Day by Day
Pattern detection requires **sequential context** — the order of app switches within a day reveals the loops.
Iterate backwards, one day at a time:
1. `browse_timeline(startTime="today", endTime="now", limit=50, sampling="uniform")` 2. `browse_timeline(startTime="2 days ago", endTime="1 day ago", limit=50, sampling="uniform")` 3. Continue for at least 7 days. 4. If < 10 total activities after 7 days, extend to 14 days. 5. If < 5 total activities after 14 days, tell the user there isn't enough data yet. Stop.
After each day's scan, run Step 2 on that batch before moving to the next day.
Step 2 — Identify Candidates
For each day's batch, apply the analysis structure below, then run every candidate through the **Automation Fitness Filter**.
Analysis Per Batch
STEP 1 — App frequency Which apps appear most? What pairs appear together? STEP 2 — Semantic clustering Group activities by what they describe. Are there clusters of similar descriptions? STEP 3 — Temporal sequences Within each cluster, do activities follow a consistent order? STEP 4 — Repetition detection For each sequence, does it repeat? How many times? Over what time span? STEP 4.5 — Automation fitness check Apply the filter below. Discard anything on the DISCARD list. Only keep candidates that match a REPORT category. STEP 5 — Variation analysis Within repeated sequences, what changes between iterations? What stays the same? STEP 6 — Automation assessment For the "stays the same" parts — can these be scripted, scheduled, or API-driven?
Automation Fitness Filter
The core question for every candidate: **"Could a native integration, n8n/Make/Zapier workflow, or custom script replace this entire workflow end-to-end?"**
If no, discard it. If yes, classify it into one of the categories below.
**REPORT — these 5 categories only:**
| Category | Badge Color | Signal | Example | | -------------------- | ---------------- | -------------------------------------------- | ------------------------------------- | | **Data Shuttle** | blue `#3b82f6` | Copy-paste structured data between apps | Stripe → Sheets, CRM → billing | | **Reporting Ritual** | purple `#8b5cf6` | Same app sequence on a schedule | Monday: analytics → chart → Slack | | **Review Pipeline** | pink `#ec4899` | Queue → cross-reference → decide | Expense PDF → policy check → approve | | **Data Entry** | orange `#f97316` | Read source, type into forms | Contract email → CRM fields → billing | | **Alert Response** | teal `#14b8a6` | Notification → switch → act → return, 5+/day | Zendesk alert → dashboard → respond |
**DISCARD — explicit noise list:**
- **Personal messaging** — iMessage, WhatsApp, Telegram, Discord DMs, Signal
- **Learning/studying** — docs, tutorials, papers, Stack Overflow, course platforms
- **General browsing** — Reddit, HN, news sites, shopping, social media
- **Programming** — writing code, debugging, tests, PRs, commits, code review (core creative work, not automatable)
- **Entertainment** — Spotify, Netflix, YouTube non-work, games
- **Email/Slack triage** — general inbox checking, message reading (unless it's a trigger for a specific cross-app workflow)
- **IDE usage alone** — "uses VS Code" or "writes code in Cursor" is too broad
- **File management** — unless part of a larger cross-app workflow
Maintain a running candidate list across all days. A pattern spotted on multiple days is stronger evidence — merge duplicates and increase confidence.
Step 3 — Confirm Top Candidates
For each candidate with 3+ occurrences:
1. `search_context(query)` — widen to 30 days to verify the pattern holds beyond the scan window. 2. `get_activity_details(ids)` — only for high-confidence candidates where OCR text would reveal automation-relevant specifics (URLs, field names, data being moved). Keep to a minimum.
Step 4 — Present Results as HTML
Rank patterns by **automation impact** — frequency x time per loop x ease of automation.
**Write the HTML to a file** — save it as `pattern-report.html` in the current working directory using the Write tool. Do NOT output raw HTML in your response. After writing the file, tell the user the report has been saved and they can open it. Repeat the pattern card block for each detected pattern.
<div
style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; max-width: 720px; margin: 0 auto; color: #0f172a;"
>
<!-- HEADER -->
<div
style="background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%); border-radius: 16px; padding: 32px; margin-bottom: 28px; color: white;"
>
<div style="font-size: 24px; font-weight: 800; margin-bottom: 6px; letter-spacing: -0.5px;">
Pattern Report
</div>
<div style="font-size: 14px; opacity: 0.85; line-height: 1.5;">
{analysis_window} · {total_activities_analyzed} activities analyzed · {pattern_count} pattOther skills on memorylane.
automation-instruction…
Write step-by-step automation instructions for a workflow, tailored to your tool (Claude, n8n or Zapier). Best run right after…
last-30-minutes
Summarize what you've been doing in the last 30 minutes.
pattern-to-pdf
Generate a process description document as a downloadable PDF from a detected pattern
process-analyst-new
(new) Find a person's repeated tasks from their screen activity, and what each one is worth automating, with the time and money…
process-to-n8n
(BETA) Turn one process from a MemoryLane analysis, report or screen recording into a simple working n8n workflow, plus a short…

