# Pattern Radar

> Scan the user's recent Microsoft 365 signals (emails, active chats/channels, calendar subjects) to surface recurring patterns worth productizing — either as a blog post (the user explains the same thing repeatedly) or as an automation (the user does the same multi-step task repeatedly). Use when the user asks "what should I write about?", "what could I automate?", "find patterns in my work", or invokes "/pattern-radar".

- Skill: `kody-w/pattern-radar` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add kody-w/pattern-radar`
- Raw SKILL.md: https://api.skillmd.com/api/skills/kody-w/pattern-radar/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: kody-w (https://skillmd.com/u/kody-w)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/kody-w/pattern-radar

---


# Pattern Radar

Find recurring patterns in the user's recent work signals that could be turned
into leverage — a **blog post** (the user keeps explaining the same thing) or an
**automation** (the user keeps doing the same manual, multi-step task). Give
blog and automation candidates equal weight; bias toward automation candidates,
since offloading repetitive work is usually the bigger win.

Default lookback window: **the last 7 days** from the current date/time. Treat
the provided current datetime as authoritative — never reason from training-data
dates.

> **Tool names.** This skill refers to Microsoft 365 tools as `m365_*`. If your
> host exposes them under different names, map them to the equivalent capability.

## Inputs — collect breadth, not depth

1. **Email** — list Inbox and Sent from the last 7 days (subjects + first-line
   previews only; do not open bodies). **Pay special attention to Sent items**:
   they reveal the user's own repeated outbound actions (forwards, intros, status
   pings, FYIs, "looping in X" handoffs, RSVPs, reschedules).
2. **Active chats** — list recent chats; for each chat the user has posted in
   over the last ~30 days, fetch the last 7 days of messages. Strip @-mention
   noise.
3. **Active channels** — for channels the user has posted in over the last ~30
   days, fetch the last 7 days of messages. Skip silent channels.
4. **Calendar** — list events from the last 7 days (**subjects only** — no
   bodies, no attendee lists). Look for repeated reschedules, repeated tentative
   responses, recurring conflict patterns, and meeting-prep cadences.

## Clustering — what counts as a pattern

A signal qualifies only if it appears **≥3 times across ≥2 distinct people /
chats / customers / threads / events** in the window. Be ruthless — one-offs are
noise.

**Blog cluster types**

- **Repeated explanation** — the user answers the same question or explains the
  same concept to 3+ different people. → blog candidate.
- **Recurring FAQ** — the same question shows up in 3+ chats/channels from
  different askers. → blog / FAQ candidate.

**Automation cluster types (cast a wide net)**

- **Repeated multi-step manual task** — the same sequence of clicks / drafts /
  file moves / API calls, repeatedly. → automation candidate.
- **Repeated handoff / triage** — forwarding, "looping in", or intro'ing the
  same kinds of items to the same people 3+ times. → auto-route by rule or
  classifier.
- **Repeated status pings / FYIs** — the same kind of update to the same audience
  on a cadence. → scheduled digest.
- **Repeated meeting reschedules** for the same root cause. → auto-propose
  alternates.
- **Repeated RSVPs / tentative responses** to recurring meetings with consistent
  reasoning. → auto-respond by rule.
- **Repeated meeting prep** — gathering the same context before recurring
  meetings. → pre-meeting brief.
- **Repeated doc/wiki updates** — manually appending the same kind of content on
  a cadence. → scheduled ingest.
- **Repeated approvals / sign-offs** of the same class of request. → rule-based
  pre-screen.
- **Repeated file/data shuttling** — move/rename/reformat between systems. →
  pipeline.
- **Repeated drafting** — near-identical emails/messages (welcome notes,
  onboarding intros, availability, "I have a conflict" replies, follow-ups). →
  template + auto-fill.

**Anti-patterns — do NOT surface**

- Normal recurring meeting cadence (standups, weekly syncs) UNLESS there's
  repetitive *manual* work around them that could be automated.
- Anything needing the body of an excluded/private email to reason about.
- Automations the user already runs.

## Output

List **0–3 candidates max**. If signal is thin (< 3 reinforcing data points
across all clusters), output: `✅ No new patterns this run.`

Prefer a **mix** — include at least one automation candidate when one qualifies,
even if a blog candidate is stronger.

Per candidate (≤3 lines each):

```
💡 **<theme in 5–8 words>**
   _evidence:_ <1–2 anonymized signals, e.g. "forwarded 4 customer asks to the
   same engineer this week" or "explained X to 4 different people in chats">
   **<blog|automation>** · <1-line rationale. For automation, name the trigger
   and the action, e.g. "trigger: incoming request → action: auto-route + draft
   reply".>
```

## Privacy & guardrails

- **Read-only.** Never send any email, chat, channel reply, or Teams message from
  this skill. Producing the report is the only output.
- **Anonymize.** Never include customer/team names, attendee names, meeting
  times/locations, file paths, or full subjects containing customer identifiers.
  Say "3 different customers", not the actual names.
- **Respect exclusions.** Never open or paraphrase content the user has marked as
  private or excluded (e.g. performance-review or confidential emails).
- When in doubt that a candidate is a real pattern vs. coincidence, drop it —
  silence is safer than noise.

<!-- toaster:generated:begin -->

## Run this — do not improvise

This capability's deterministic implementation is a RAPP single-file agent, linked beside this file as `pattern_radar_agent.py` and embedded as the fenced Python below (sha256 c94dc99e397fadd5…; a byte-exact copy is also vaulted in the capsule comment at the end of this file). On a host with sandbox execution, run the linked file directly — if it is missing, write the fence contents verbatim to `pattern_radar_agent.py` first:

```bash
python3 pattern_radar_agent.py '{"key": "value"}'      # arguments as one JSON object
echo '{"key": "value"}' | python3 pattern_radar_agent.py   # or on stdin
python3 pattern_radar_agent.py --tool                      # emit the JSON tool contract
```

Treat stdout as a tool result. If it reports missing or unresolved inputs, stop and collect them. If it returns `steps`, execute those steps in order exactly as returned; if it returns `instructions`, follow them with the supplied inputs. Otherwise use the result verbatim. Do not invent behavior beyond that output. On a host without code execution, treat the Parameters schema and the code below as the exact specification and never paraphrase a step. Never edit inside the generated markers; a converter-equipped host can instead restore the original file checksum-verified with the installed `rapp-agent-converter/scripts/toast.py convert SKILL.md --to agent`.

````python  # rapp:deterministic
"""PatternRadar -- Scan the user's recent Microsoft 365 signals (emails, active chats/channels, calendar subjects) to surface recurring patterns worth productizing — either as a blog post (the user explains the same thing repeatedly) or as an automation (the user does the same multi-step task repeatedly). Use when the user asks "what should I write about?", "what could I automate?", "find patterns in my work", or invokes "/pattern-radar".

Generated by the rapp skill from pattern-radar. The RCI capsule at the bottom of this file carries the full original; `toast.py convert` restores it byte-exact."""

import json
import re
import sys

try:
    from agents.basic_agent import BasicAgent
except ImportError:  # running OUTSIDE a brainstem -- stay executable anyway.
    class BasicAgent:  # noqa: D101 - minimal stand-in, same contract
        def __init__(self, name=None, metadata=None):
            if name:
                self.name = name
            if metadata:
                self.metadata = metadata

        def perform(self, **kwargs):
            return "Not implemented."

        def system_context(self):
            return None

        def to_tool(self):
            return {"type": "function", "function": {
                "name": self.name,
                "description": self.metadata.get("description", ""),
                "parameters": self.metadata.get("parameters", {})}}

# The procedural layer, verbatim from the source capability.
INSTRUCTIONS = '# Pattern Radar\n\nFind recurring patterns in the user's recent work signals that could be turned\ninto leverage — a **blog post** (the user keeps explaining the same thing) or an\n**automation** (the user keeps doing the same manual, multi-step task). Give\nblog and automation candidates equal weight; bias toward automation candidates,\nsince offloading repetitive work is usually the bigger win.\n\nDefault lookback window: **the last 7 days** from the current date/time. Treat\nthe provided current datetime as authoritative — never reason from training-data\ndates.\n\n> **Tool names.** This skill refers to Microsoft 365 tools as `m365_*`. If your\n> host exposes them under different names, map them to the equivalent capability.\n\n## Inputs — collect breadth, not depth\n\n1. **Email** — list Inbox and Sent from the last 7 days (subjects + first-line\n   previews only; do not open bodies). **Pay special attention to Sent items**:\n   they reveal the user's own repeated outbound actions (forwards, intros, status\n   pings, FYIs, "looping in X" handoffs, RSVPs, reschedules).\n2. **Active chats** — list recent chats; for each chat the user has posted in\n   over the last ~30 days, fetch the last 7 days of messages. Strip @-mention\n   noise.\n3. **Active channels** — for channels the user has posted in over the last ~30\n   days, fetch the last 7 days of messages. Skip silent channels.\n4. **Calendar** — list events from the last 7 days (**subjects only** — no\n   bodies, no attendee lists). Look for repeated reschedules, repeated tentative\n   responses, recurring conflict patterns, and meeting-prep cadences.\n\n## Clustering — what counts as a pattern\n\nA signal qualifies only if it appears **≥3 times across ≥2 distinct people /\nchats / customers / threads / events** in the window. Be ruthless — one-offs are\nnoise.\n\n**Blog cluster types**\n\n- **Repeated explanation** — the user answers the same question or explains the\n  same concept to 3+ different people. → blog candidate.\n- **Recurring FAQ** — the same question shows up in 3+ chats/channels from\n  different askers. → blog / FAQ candidate.\n\n**Automation cluster types (cast a wide net)**\n\n- **Repeated multi-step manual task** — the same sequence of clicks / drafts /\n  file moves / API calls, repeatedly. → automation candidate.\n- **Repeated handoff / triage** — forwarding, "looping in", or intro'ing the\n  same kinds of items to the same people 3+ times. → auto-route by rule or\n  classifier.\n- **Repeated status pings / FYIs** — the same kind of update to the same audience\n  on a cadence. → scheduled digest.\n- **Repeated meeting reschedules** for the same root cause. → auto-propose\n  alternates.\n- **Repeated RSVPs / tentative responses** to recurring meetings with consistent\n  reasoning. → auto-respond by rule.\n- **Repeated meeting prep** — gathering the same context before recurring\n  meetings. → pre-meeting brief.\n- **Repeated doc/wiki updates** — manually appending the same kind of content on\n  a cadence. → scheduled ingest.\n- **Repeated approvals / sign-offs** of the same class of request. → rule-based\n  pre-screen.\n- **Repeated file/data shuttling** — move/rename/reformat between systems. →\n  pipeline.\n- **Repeated drafting** — near-identical emails/messages (welcome notes,\n  onboarding intros, availability, "I have a conflict" replies, follow-ups). →\n  template + auto-fill.\n\n**Anti-patterns — do NOT surface**\n\n- Normal recurring meeting cadence (standups, weekly syncs) UNLESS there's\n  repetitive *manual* work around them that could be automated.\n- Anything needing the body of an excluded/private email to reason about.\n- Automations the user already runs.\n\n## Output\n\nList **0–3 candidates max**. If signal is thin (< 3 reinforcing data points\nacross all clusters), output: `✅ No new patterns this run.`\n\nPrefer a **mix** — include at least one automation candidate when one qualifies,\neven if a blog candidate is stronger.\n\nPer candidate (≤3 lines each):\n\n```\n💡 **<theme in 5–8 words>**\n   _evidence:_ <1–2 anonymized signals, e.g. "forwarded 4 customer asks to the\n   same engineer this week" or "explained X to 4 different people in chats">\n   **<blog|automation>** · <1-line rationale. For automation, name the trigger\n   and the action, e.g. "trigger: incoming request → action: auto-route + draft\n   reply".>\n```\n\n## Privacy & guardrails\n\n- **Read-only.** Never send any email, chat, channel reply, or Teams message from\n  this skill. Producing the report is the only output.\n- **Anonymize.** Never include customer/team names, attendee names, meeting\n  times/locations, file paths, or full subjects containing customer identifiers.\n  Say "3 different customers", not the actual names.\n- **Respect exclusions.** Never open or paraphrase content the user has marked as\n  private or excluded (e.g. performance-review or confidential emails).\n- When in doubt that a candidate is a real pattern vs. coincidence, drop it —\n  silence is safer than noise.'

# Ordered commands lifted verbatim from the capability's own documentation.
STEPS = []


class PatternRadarAgent(BasicAgent):
    def __init__(self):
        self.name = 'PatternRadar'
        self.metadata = {
          "name": "PatternRadar",
          "description": "Scan the user's recent Microsoft 365 signals (emails, active chats/channels, calendar subjects) to surface recurring patterns worth productizing \u2014 either as a blog post (the user explains the same thing repeatedly) or as an automation (the user does the same multi-step task repeatedly). Use when the user asks \"what should I write about?\", \"what could I automate?\", \"find patterns in my work\", or invokes \"/pattern-radar\".",
          "parameters": {
            "type": "object",
            "properties": {},
            "required": []
          }
        }
        super().__init__(name=self.name, metadata=self.metadata)

    def perform(self, **kwargs):  # toaster:generated-perform
        return json.dumps({"status": "ok", "instructions": INSTRUCTIONS,
                           "inputs": kwargs,
                           "note": "Prose-only capability: follow INSTRUCTIONS "
                                   "with the given inputs."}, indent=2)

if __name__ == "__main__":
    #     echo '{"arg": "value"}' | python3 pattern_radar_agent.py
    #     python3 pattern_radar_agent.py '{"arg": "value"}'
    #     python3 pattern_radar_agent.py --tool          # emit the JSON tool contract
    _a = sys.argv[1:]
    if _a and _a[0] == "--tool":
        print(json.dumps(PatternRadarAgent().to_tool(), indent=2))
    else:
        _raw = _a[0] if _a else (sys.stdin.read().strip() or "{}")
        print(PatternRadarAgent().perform(**json.loads(_raw)))

# rci-capsule:v1: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
````

<!-- toaster:generated:end -->

<!-- rci-capsule:v1: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

…(truncated)
