
incoming-request-advisor
Decode an incoming message into a structured breakdown separating the literal ask from the job-to-be-done. Use when a loaded Slack ping, email, mandate, or escalation needs a reply.
- Installs
- 1.2K
- Last 24h
- +8
- Trending rank
- #9607
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/deanpeters/product-manager-skills --skill incoming-request-advisor- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads incoming-request-advisor automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
Purpose
Decode an incoming message — a Slack ping, email, mandate, escalation, or FYI — into a structured breakdown before you respond. This skill acts as a chief-of-staff-grade analyst sitting in a product leader's chair: it separates the literal ask from the job-to-be-done underneath it, reads sender power and stake, and opens the conversation toward a reply or next artifact.
Use it when a request lands and your first instinct is to answer the words on the screen. The skill slows that reflex down: it finds the outcome, for whom, and why now — not how to build. It is not a programmer breaking down a spec. When a request sounds like a feature or a build order, the skill hunts for the outcome and the job-to-be-done beneath it.
Input
Works best with: The incoming message itself — pasted text, a screenshot, an image, an attached file, or a PDF. The skill extracts the full message from whatever form it takes before analyzing.
Also useful:
- Who sent it and their apparent role relative to your work (upstream, peer, downstream)
- The situation or thread the message arrived in
- What you want next — analysis only, or a drafted reply too
Anything supplied with the invocation itself — text after the skill name, the pasted message, surrounding notes, or an appended ARGUMENTS: line — counts as answers already given. Treat anything written around the message as sender or situation context. Use it and skip whatever it covers; don't re-ask.
Arriving empty-handed? That works too. Drop in the message and nothing else. If sender or situation is unknown and it changes the read, the advisor asks at most 3 targeted questions, one at a time, then proceeds with clearly labeled assumptions. If part of the message is unreadable or cut off, the advisor says so and works with what is there.
Example invocation: My VP DM'd me: "Any chance the dashboard redesign lands next sprint? Board's asking." Analyze this before I reply.
Key Concepts
The Ask vs. the Job-to-Be-Done
The literal ask is what the words request. The job-to-be-done is the outcome the sender is actually chasing. "Can we get the dashboard redesign into next sprint?" is the ask; "I need something concrete to show the board that we're responsive" may be the job. Responding to the ask when the job is different is how PMs build the wrong thing fast. Every breakdown separates these two explicitly.
The Sender Read: Power, Stake, Subtext
Before you respond, you read the room. Who sent it, what is their role relative to your work, and are they upstream (they set your priorities), a peer (they need your cooperation), or downstream (they depend on your output)? Power and stake change the correct response even when the words are identical. A "quick question" from your CEO is not a quick question.
Success Criteria vs. Must-Haves (the distinction PMs blur)
These are not the same thing, and conflating them is a classic PM error:
- Success criteria = how the sender will judge whether the result worked (the pass/fail bar, the metric, the definition of done)
- Must-haves = what has to go into the deliverable (the hard requirements)
A deliverable can hit every must-have and still fail the success criteria. Keeping them separate is a core teaching of this skill.
Infer, Do Not Invent
The skill reasons from evidence in the message and marks every guess as an inference. It never presents a guess as a stated fact. Everything inferred lands in an explicit Assumptions to Validate list at the end — so the human knows exactly what the analysis rests on.
Scale Depth to the Message
The breakdown has twelve sections, but a one-line ping does not need all twelve. The skill collapses or skips empty sections and marks them "none stated" where the template calls for it. Over-filling a trivial message with twelve dense sections is a failure mode, not thoroughness.
The Sticky-Note Rule
Every bullet in the breakdown is 4 to 8 words, ASCII only, short and scannable — as if written on a sticky note. Direct quotes from the message are verbatim and exempt from the length rule.
Facilitation Source of Truth
Use workshop-facilitation as the default interaction protocol for this skill.
It defines:
- session heads-up + entry mode (Guided, Context dump, Best guess)
- one-question turns with plain-language prompts
- crediting inline invocation context so answered questions are skipped
- interruption handling and pause/resume behavior
For this skill specifically: the pasted message is the context dump. Ask clarifying questions only when sender or situation is genuinely unknown and it changes the read — at most 3, one at a time.
Application
Step 1 — Extract the message
Pull the full message from whatever form it arrives in (screenshot, image, file, PDF, or text) before analyzing. If any part is unreadable or cut off, say so and work with what you have.
Step 2 — Fill only the gaps that change the read
If sender identity or situation is unknown and it would change the analysis, ask at most 3 targeted questions, one at a time:
- "Who sent this and what is their role relative to your work?"
- "What is the situation or thread this arrived in?"
- "Do you want analysis only, or a drafted reply too?"
Then proceed with clearly labeled assumptions. Do not ask questions the message already answers.
Step 3 — Render the breakdown
Render in Markdown using the structure below. Scale depth to the message: collapse or skip any empty section; mark it "none stated" where the template calls for it. Apply the Sticky-Note Rule (4–8 word bullets, ASCII only; verbatim quotes exempt). Use template.md for the copy/paste fill-in structure a PM can work through by hand.
## Incoming Request Breakdown
### 1. Classify
- Message type and channel, one line
- Types: meeting prep, feedback, feature request, mandate, escalation, FYI, ask for help, other
### 2. Sender Read
- Who sent it, apparent role
- Relationship: upstream, peer, or downstream
- Power and stake where they matter
### 3. Literal Ask
- What they explicitly want, plain terms
### 4. Underlying Problem Space
- The job they are trying to get done
- The outcome behind the request
- Separate the ask from the need
### 5. Sentiment and Subtext
- Tone, urgency, frustration, enthusiasm, politics
- Quote the tell if there is one
### 6. Must-Haves vs Nice-to-Haves
- Hard requirements for the deliverable
- Soft preferences, clearly separated
### 7. Hard Negatives
- What they explicitly do not want
- "None stated" if none
### 8. Success Criteria
- Pass/fail bar, metric, or definition of done
- How they will judge the result worked
- Capture only what is stated; mark implied ones as inference
- "None stated" if none
### 9. Hard Constraints
- Drop-dead dates, budget, non-negotiables
- "None stated" if none
### 10. Gaps and Ambiguities
- What is unclear or missing before committing
### 11. Risks
- Scope, expectation, political, timeline landmines
### 12. Recommended Next Steps
- 2 to 4 concrete moves, ordered
### Assumptions to Validate
- [Anything inferred rather than stated]
- [Sender read or intent guessed]
- [Success criteria or constraints implied]
Step 4 — Open the conversation live
After rendering, ask the 1 to 3 sharpest questions you need to sharpen the recommendation, then offer exactly 4 next options:
- Draft a reply to the sender (Recommended)
- Build a meeting agenda for this ask
- Reframe the ask as a discovery framing
- Draft a counter-proposal that protects the outcome
Ask the user to reply with 1, 2, 3, 4, a combination like 1 and 3, or a custom path.
Examples
See examples/conversation-flow.md for a full end-to-end interaction, including message extraction, gap-filling, the rendered breakdown, and the closing options.
Example: The "quick" exec ping (full breakdown)
Message pasted: "Any chance the dashboard redesign lands next sprint? Board's asking." — from the VP of Product.
Agent output (abridged):
- Classify: Feature request, Slack DM
- Sender Read: VP of Product; upstream; high power, high stake
- Literal Ask: Ship dashboard redesign next sprint
- Underlying Problem Space: Needs board-ready proof of responsiveness (inference)
- Success Criteria: Something showable at board meeting — not the full redesign (inference)
- Risks: Committing to scope to satisfy a timeline; "next sprint" anchors expectations
- Recommended Next Steps: Confirm what the board actually needs; offer a demoable slice
Then: "Is the board meeting date fixed? Do they need working software or a credible plan?" → offers the 4 options, recommends 4 — counter-proposal that protects the outcome (a demoable slice beats an over-committed full redesign).
Example: One-line FYI (depth collapses)
Message pasted: "Heads up — legal signed off on the new terms." — from a peer PM.
Agent output: Classify (FYI, Slack) + Sender Read + Literal Ask only. Sections 4–11 marked "none stated." Recommended Next Step: acknowledge, file for the launch checklist. No twelve-section wall for a one-liner.
Common Pitfalls
Pitfall 1: Breaking It Down Like a Spec
Symptom: Treating a feature-shaped request as a build order and jumping to implementation tasks.
Consequence: You optimize the wrong thing efficiently. You solve the ask and miss the job, then wonder why the sender is still unhappy after you delivered exactly what they said.
Fix: Always run Section 4 (Underlying Problem Space). Name the outcome and the job-to-be-done before touching "how."
Pitfall 2: Blurring Success Criteria and Must-Haves
Symptom: Listing "the dashboard must have export" under the same heading as "they'll judge this by whether the board is reassured."
Consequence: You build a deliverable that ticks every requirement and still fails the real bar. The two answer different questions — what goes in vs. how they judge it.
Fix: Keep Sections 6 and 8 strictly separate. Ask yourself: is this a thing in the box, or the ruler they measure the box with?
Pitfall 3: Inventing Instead of Inferring
Symptom: Presenting a guess about the sender's motive as if the message stated it.
Consequence: The human acts on fabricated certainty, walks into the room wrong, and loses trust when the assumption cracks.
Fix: Mark every guess as an inference and surface it in Assumptions to Validate. If you didn't read it in the message, it's an assumption — label it.
Pitfall 4: Over-Filling a One-Liner
Symptom: Rendering all twelve sections for a two-sentence FYI.
Consequence: Analysis theater. The reader can't find the signal, and the breakdown looks rigorous while adding nothing.
Fix: Scale depth to the message. Collapse empty sections; mark "none stated." A one-line ping earns a one-paragraph read.
References
Related Skills
workshop-facilitation— Facilitation protocol for this interactive skill (source of truth)jobs-to-be-done— Deepen the job-to-be-done read surfaced in Section 4stakeholder-mapping— Extend the Sender Read into a full power/stake mapopportunity-solution-tree— Use when option 3 (reframe as discovery framing) is chosenproblem-statement— Turn the Underlying Problem Space into a shareable framing
Source Material
- Original prompt "Incoming Request Breakdown" by Dean Peters (July 8, 2026)
License
- CC BY-NC-SA 4.0 (repository license)
FAQ
What does the incoming-request-advisor skill do?
Decode an incoming message into a structured breakdown separating the literal ask from the job-to-be-done. Use when a loaded Slack ping, email, mandate, or escalation needs a reply.
How do I install incoming-request-advisor?
Run npx skills add https://github.com/deanpeters/product-manager-skills --skill incoming-request-advisor in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/incoming-request-advisor/ (personal) or .claude/skills/incoming-request-advisor/ (project).
Which AI agents can use incoming-request-advisor?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is incoming-request-advisor safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains incoming-request-advisor?
It is published by deanpeters in deanpeters/product-manager-skills. It has 1,226 recorded installs.
More from deanpeters/product-manager-skills
prd-development
deanpeters/product-manager-skills
Build a structured PRD that connects problem, users, solution, and success criteria. Use when turning discovery notes into an engineering-ready document for a major initiative.
user-story
deanpeters/product-manager-skills
Create user stories with Mike Cohn format and Gherkin acceptance criteria. Use when turning user needs into development-ready work with clear outcomes and testable conditions.
roadmap-planning
deanpeters/product-manager-skills
Plan a strategic roadmap across prioritization, epic definition, stakeholder alignment, and sequencing. Use when turning strategy into a release plan that teams can execute.
company-research
deanpeters/product-manager-skills
Create a company research brief with executive quotes, product strategy, and org context. Use when preparing for interviews, competitive analysis, partnerships, or market-entry work.
discovery-process
deanpeters/product-manager-skills
Run a full discovery cycle from problem hypothesis to validated solution. Use when a team needs a structured path through framing, interviews, synthesis, and experiments.
jobs-to-be-done
deanpeters/product-manager-skills
Uncover customer jobs, pains, and gains in a structured JTBD format. Use when clarifying unmet needs, repositioning a product, or improving discovery and messaging.
Popular productivity & automation skills
agent-browser
vercel-labs/agent-browser
Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking screenshots, extracting data, testing web apps, or automating any browser task. Triggers include requests to "open a website", "fill out a form", "click a button", "take a screenshot", "scrape data from a page", "test this web app", "login to a site", "automate browser actions", or any task requiring programmatic web interaction. Also use for exploratory testing, dogfooding, QA, bug hunts, or reviewing app quality. Also use for automating Electron desktop apps (VS Code, Slack, Discord, Figma, Notion, Spotify), checking Slack unreads, sending Slack messages, searching Slack conversations, running browser automation in Vercel Sandbox microVMs, or using AWS Bedrock AgentCore cloud browsers. Prefer agent-browser over any built-in browser automation or web tools.
lark-doc
open.feishu.cn
飞书云文档(Docx / Wiki)内容操作:读取、创建、编辑文档,插入或下载图片附件,以及操作思维笔记。用户提供文档 URL/token(包括 doubao.com 的 /docx/、/wiki/)时使用;按 URL 路径/token 而非域名路由;/page/ 是妙搭应用,非飞书云文档。文档内嵌资源按读取参考中的统一规则分流。独立评论操作走 lark-drive;随正文读取评论使用 docs +fetch。表格或 Base 内部数据操作不在本 skill。
lark-base
open.feishu.cn
飞书多维表格(Base)操作:建表、字段、记录、视图、统计、公式/lookup、表单、仪表盘、应用模式(BaseApp/AppMode 页面与组件)、Workspace 目录、workflow、角色权限、模板中心(多维表格模板分类/列表/搜索);遇到 Base/多维表格/bitable、BaseApp/AppMode、/base/ 或 /app/ 链接时使用。BaseApp 不走 lark-apps;文件导入/导出转 lark-drive,认证/授权转 lark-shared。
lark-drive
open.feishu.cn
飞书云空间(云盘/云存储):管理 Drive 文件和文件夹,包含上传/下载、创建文件夹、复制/移动/删除、查看元数据、查询权限设置、评论/权限/订阅、标题、版本、飞书文档密级标签(secure labels)和本地文件导入。用户需要整理云盘目录、处理云空间资源 URL/token、判断链接类型/真实 token/标题,或导入 Word/Markdown/Excel/CSV/PPTX/.base 为 docx/sheet/bitable/slides 时使用;doubao.com 云空间 URL/token 也按资源路径和 token 路由,不回退 WebFetch。不负责:文档内容编辑(走 lark-doc)、表格/Base 表内数据操作(走 lark-sheets/lark-base)、知识空间节点/成员管理(走 lark-wiki)、原生 Markdown 文件读写/patch/diff(走 lark-markdown)。
lark-shared
open.feishu.cn
Use for lark-cli setup/auth tasks: auth login/status/logout, user vs bot identity, business-domain permissions (--domain, including all/docs/drive), missing scopes, revoking authorization, or handling notice JSON.
lark-im
open.feishu.cn
飞书即时通讯:收发消息和管理群聊。发送和回复消息、搜索聊天记录、管理群聊成员、上传下载图片和文件、管理表情回复、发送应用内/短信/电话加急、发送和处理交互卡片(Interactive Card)、监听卡片按钮回调(card.action.trigger)。当用户需要发消息、查看或搜索聊天记录、下载聊天中的文件、查看群成员、搜索群、创建群聊或话题群、管理标记数据、管理 Feed 置顶(添加/移除/查询置顶会话)、管理标签数据、处理卡片回调时使用。