planning-with-files
Optional persistent file-based planning for multi-phase or long-running work that benefits from recovery across sessions or…
Read and search Microsoft Teams chats, channel threads, and channel files through the user's signed-in Teams client over the Chrome DevTools Protocol, without a Teams MCP server or Graph access. Use when the user needs Teams messages, someone's posts in a channel, thread
$ npx -y skills add khaneliman/khanelinix --skill microsoft-teams --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/microsoft-teamsContext preview
The summary Claude sees to decide when to auto-load this skill.
Read and search Microsoft Teams chats, channel threads, and channel files through the user's signed-in Teams client over the Chrome DevTools Protocol, without a Teams MCP server or Graph access. Use when the user needs Teams messages, someone's posts in a channel, thread
name: microsoft-teams description: Read and search Microsoft Teams chats, channel threads, and channel files through the user's signed-in Teams client over the Chrome DevTools Protocol, without a Teams MCP server or Graph access. Use when the user needs Teams messages, someone's posts in a channel, thread replies, or channel files.
Read Teams through the user's signed-in client over the Chrome DevTools Protocol (CDP). The client's session does the authentication, so no tokens, Graph permissions, or admin consent are involved. Run every command as `node <skill-dir>/scripts/teams_cdp.mjs <command>` (Node 22+); without arguments it prints usage and exit codes.
the signed-in page or frame.
`${XDG_CACHE_HOME:-$HOME/.cache}/teams-export` with mode 700.
screen, no call, nobody typing. Opening a conversation marks it read, so name it to the user first. One agent drives the UI at a time.
1. **Check access.** Use a working Teams MCP server or Graph access instead of this skill. Otherwise run `status`; exit 3 means no debug endpoint or Teams page, so follow [references/connect.md](references/connect.md). 2. **Find the conversation.** `cache-list --kind channel --name Design` lists matching conversations with their ids and teams. 3. **Read the cache.** `cache-read "<name-or-id>" --from self` returns cached messages. This step is done when the output covers the request, or when it returns a `hint` or stops short of the dates needed. 4. **Search for the rest.** `search '<query>' --in "<conversation>"` covers history the cache lacks. On exit 5 (call) or 6 (window off screen), wait for the user and retry. 5. **Read an open view** only for content neither source returns: open the conversation, then `read` or `read --all`. 6. **Fetch files.** `sp-download <private-dir> <path>` takes the attachment paths from `cache-read` or files listed by `sp-list /teams/<Site>`.
The cache commands read Teams' IndexedDB. They never touch the UI, mark nothing read, and work while the window is hidden.
with `--kind` (chat, channel, meeting, community, other), `--name`, and `--team`.
`isRoot`, time, author, subject, and attachments with SharePoint `path`s. Filters: `--from self|"Display Name"`, `--thread ID`, `--since` and `--until` (ISO), `--limit` (default 500, newest kept), `--all-types` for call records. `--body` adds text, capped by `--max-chars` (default 4000).
candidates. Every team has a General channel; add `--team` or use the id.
cached, and cached ones usually hold recent history only, so `completeness` is always `unknown`. Deleted messages are skipped and counted.
Schema and limits: [references/cache.md](references/cache.md).
conversation. A new query clears the filter, so the script reapplies it.
then its team; `--team TEXT` picks among same-named channels.
(default 10) and sets `more: true` when it stops early.
thread ids.
`read --all` scrolls a channel or thread toward its start; its `settledAtTop` flag means loading stopped, not that the first message was reached.
`sp-download` writes mode-600 files under the output directory, refuses to overwrite without `--force`, and exits 1 if any download fails.
runs in each `ppt/slides/slideN.xml`.
every guard. Selectors and UI quirks: [references/teams-dom.md](references/teams-dom.md).
Unverified: `read --all`, `--team`, in-page search submission, and sending.
Run packages directly with: Or install from the packages output. For example:
Optional persistent file-based planning for multi-phase or long-running work that benefits from recovery across sessions or…
Audit coding-agent sessions and mine cross-harness history for recurring corrections, skill-routing gaps, and harness faults. Use…
Design and audit agent instructions, skills, plugins, subagents, prompts, hooks, and provider configuration. Use for AI-tool…
Sketch interfaces, state, and module structure before code. Use for explicit design-led implementation or as a caller-owned…
Spawn N parallel candidates at the same task, pick a base, graft the strongest parts of the losers into it. Use for /arena,…
Bevy workflows for ECS, migrations, first-party UI/input/rendering/assets/shaders, plugin selection, scenes, scheduling, hot…