一键导入
looking-up-members
Internal shared skill to resolve member names or email addresses to provider user IDs. Not intended for direct user invocation.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Internal shared skill to resolve member names or email addresses to provider user IDs. Not intended for direct user invocation.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Creates, updates, deletes, and queries tasks in the configured data source. Handles task creation with required confirmations, state transitions, "next task" recommendations, and personal task dashboard. Use this skill for ANY task-related request — create, update, delete, query, list, filter by status/priority/assignee, mark done, block, assign to self, change priority, view personal dashboards, or ask "what's next". Also handles task dependencies and links: block, unblock, blocked by, blocking, dependency/dependencies, parent task, subtask, child task, link tasks, relation, connect tasks. Also scoped queries such as "tasks for <store/project>" or "filter tasks by store/project". If the user mentions tasks in any way, use this skill. Invoke this skill for any Tasks DB write — do not call `notion-create-pages`, `notion-update-page`, or `notion-update-relation` on task pages directly, even for single-field edits. Direct writes skip quality gates (AC/EP rubric, executor invariants, Acknowledged At auto-set, sub
Deterministic field validation for task status transitions. Returns pass/fail with errors and warnings as JSON. Used by managing-tasks, executing-tasks, and running-daily-tasks.
Renders task data as interactive HTML dashboards (Kanban, List, Calendar, Gantt). In cli / claude-desktop the dashboard is served by a local view server on localhost:3456. In Cowork the dashboard is registered as a Live Artifact that fetches Notion data directly via window.cowork.callMcpTool. Use this skill whenever the user wants to see tasks visually — board views, timelines, calendars, or any kind of task visualization or dashboard display. Read-only views only. For any write, or a scoped filter that may lead to a mutation, route through `managing-tasks` instead. Triggers on: "kanban", "list view", "show tasks", "view", "visualize", "gantt", "calendar", "board", "timeline", "display tasks", "open dashboard".
Notion-specific provider implementation for waggle. Loaded when the active provider is notion.
Set up Notion as the waggle provider. Trigger phrases - "setup notion", "configure notion for waggle".
SQLite-specific provider implementation for waggle. Loaded when the active provider is sqlite.
| name | looking-up-members |
| description | Internal shared skill to resolve member names or email addresses to provider user IDs. Not intended for direct user invocation. |
| user-invocable | false |
Resolve a member name or email to a provider user ID.
Uses the org_members cache populated by resolving-identity.
Silent operation: This skill runs as an internal step of an invoking skill. Return results to the invoking flow without user-facing narration — the caller owns all user communication. Only errors, warnings, and prompts required to proceed may surface directly.
active_provider must already be determined.org_members must already be populated (caller must trigger resolving-identity Step 2 first).Before running the Resolution Algorithm, check if the query matches a team name rather than a person name:
teamsDatabaseId is available in headless_config:
a. Fetch team names from the Teams database (Name/title property of each row).
b. If the query (case-insensitive) exactly matches any team name, or if any team name contains the query as a substring:
[] with metadata: { "teamMatch": true, "teamName": "<matched team name>" }teamsDatabaseId is not available, skip this check and proceed to the Resolution Algorithm.Given a query string (name or email fragment):
org_members[*].email. Return immediately if exactly one match.org_members[*].name. Return immediately if exactly one match.name contains the query string (case-insensitive). Collect all matches.[]. Do not error — let the caller handle the missing case.[{ id, name, email }].If org_members is empty (provider does not support member listing), fall back to TeamsDB:
teamsDatabaseId is not in headless_config, return empty array [] (no fallback available).teamsDatabaseId from config.Members (people-type) field across all teams.org_members for the session.The caller (delegating-tasks, ingesting-messages, managing-tasks) must:
current_user.id directly from resolving-identity.