Skip to content
Back to skills

Source 684bf5db977f067e284e3250

ASecurity

Use when planning a product feature, fix, or prioritization task where Pendo usage data, signals, issues, or customer feedback could ground the plan in real product behavior — e.g. "plan a fix for the pricing-page dropoff", "what should I build next", "improve the welcome flow". Skip for pure code refactors, infra, or tooling work.

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added November 7, 2026
datarustgo

Works with

  • mcp

Security analysis

A100/100

Pro scans all 4 files and shows the line behind each finding

Scanned November 7, 2026

npx -y skills add gutsofpratik/OpenClaude-Skills --skill source-684bf5db977f067e284e3250 --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Source 684bf5db977f067e284e3250?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Source 684bf5db977f067e284e3250
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/gutsofpratik-source-684bf5db977f067e284e3250/badge)](https://www.skillsdirectory.com/skills/gutsofpratik-source-684bf5db977f067e284e3250)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: data-informed-planning
description: Use when planning a product feature, fix, or prioritization task where Pendo usage data, signals, issues, or customer feedback could ground the plan in real product behavior — e.g. "plan a fix for the pricing-page dropoff", "what should I build next", "improve the welcome flow". Skip for pure code refactors, infra, or tooling work.
---

# Data-Informed Planning

## Overview

A composition layer over `/superpowers:writing-plans`. Gathers relevant Novus + Pendo MCP data first, then hands the planner a "Data Context" block so the resulting plan is grounded in real usage, not assumptions.

**Core principle:** Don't reinvent planning. Inject product reality into the planner that already exists.

## Prerequisites

This skill requires both MCP servers that ship with the `pendo-analytics` plugin:

- **Novus MCP** (server name `novus`) — artifact graph, signals, issues, product wiki, opinionated metrics
- **Pendo MCP** (server name `pendo-external`) — Voice of Customer, NPS, PES, session replays, segments/accounts, visitor data, entity discovery

Both are auto-configured when the plugin is installed. Run `/mcp` once to authenticate each.

The skill delegates to the `superpowers:writing-plans` skill when available. Install the `superpowers` plugin alongside this one for best results. If `superpowers` is not installed, the skill will produce the plan directly using the gathered Data Context instead of delegating.

## Step 0: Precheck (REQUIRED before classifying)

Verify both MCPs are reachable with cheap calls:

- `get_pendo_apps` (Novus) — confirms Novus auth
- `list_all_applications` (Pendo) — confirms Pendo auth

If either fails:
- Tell the user which MCP is unreachable and how to fix it (run `/mcp`)
- Offer to proceed with whichever MCPs are available, **clearly noting the gap** in the Data Context Caveats
- Do NOT silently skip — the planner needs to know what data wasn't available

Also check whether `/superpowers:writing-plans` is available. If not, note it and plan to use the fallback in Step 4.

## When to Use

Use when:
- The request touches user-facing product behavior (feature, UX, fix, launch, deprecation)
- The request asks "what should I work on" / "what's broken" / "where should I focus"
- The request names a page, feature, funnel, journey, or guide
- The user wants a plan but hasn't told you which data should inform it

Do NOT use when:
- Task is a pure code refactor with no user-visible change
- Task is infra / build / CI / tooling / docs
- User already supplied the relevant data inline

If unsure, run the classifier (Step 1). If it returns `gather: false`, fall through to `/superpowers:writing-plans` directly.

## Workflow

0. **Precheck** — confirm both Novus and Pendo MCPs are reachable
1. **Classify intent** — decide whether to gather data, and which tools to call (see `classifier.md`)
2. **Gather** — call the selected MCP tools **in parallel** (single message, multiple tool uses)
3. **Summarize** — produce a Data Context block (≤ 250 words + artifact IDs)
4. **Delegate** — invoke `/superpowers:writing-plans` with `<original request> + Data Context`
5. **Stop** — let the planner own the plan. Do not double-plan.

## Step 1: Intent Classifier

See `classifier.md` (alongside this file). Output shape:

```json
{
  "intent": "feature | fix | prioritization | diagnosis | funnel-journey | non-product",
  "gather": true,
  "novus_tools": ["get_product_wiki", "list_signals"],
  "pendo_tools": ["get_feedback_insights"],
  "scope": { "appId": "...", "artifactId": "...", "name": "..." }
}
```

Tool names are bare — matching the convention used by the other skills in this plugin. The source split (`novus_tools` / `pendo_tools`) exists for the precheck and the "prefer Novus when overlap" rule, not disambiguation; tool names don't collide between the two MCPs.

If `gather: false` → stop and call `/superpowers:writing-plans` directly.

## Step 2: Gather

Call the selected MCP tools in parallel. Rules:

- **Always include `get_product_wiki`** (Novus) for `feature` intent — gives the planner product structure
- **Prefer Novus over Pendo when both expose similar data** — Novus responses are pre-processed and tied to the artifact graph the planner can reference. Reach for raw Pendo only when you need a slice Novus doesn't expose (segment/account breakdowns, VoC, sentiment, raw visitor queries)
- **Funnel and journey analysis live only in Novus** — there is no Pendo MCP equivalent
- If a tool returns empty, errors, or fails a product-line check (e.g. NPS, Session Replay, Agent Analytics not in subscription), note it in Caveats and move on — don't retry

## Step 3: Data Context Block

Target ≤ 250 words. Use this template:

```markdown
## Data Context (Novus + Pendo MCP — fetched <ISO timestamp>)

**Product:** <productName>  ·  **Scope:** <page / feature / funnel + id, or "app-wide">

**Relevant signals (N):**
- <title> — <priority> · <one-line takeaway> · `<id>`

**Relevant issues (N):**
- <title> — <one-line takeaway> · `<id>`

**Voice of customer (N items):**
- <theme> — <count> mentions · <sample quote or sentiment> · `<feedback-id>`

**Engagement / sentiment:**
- PES: <score> (<window>)  ·  NPS: <score> (<window>)
- <metric>: <value>

**Caveats:**
- <e.g. "tagging is misconfigured — page/feature metrics unreliable; see signal b7d4…">
- <e.g. "Pendo MCP unreachable; VoC + PES not included">
- <e.g. "NPS tool gated — subscription doesn't include NPS product line">
```

Always populate **Caveats** when:
- A `list_signals` result surfaces a data-quality issue (broken tagging, stale metrics)
- An MCP was unreachable in the precheck
- A product-line gate blocked a tool
- A tool returned empty when you'd expect data

The planner must know when not to trust the numbers.

## Step 4: Delegate

If `/superpowers:writing-plans` is available, delegate:

```
/superpowers:writing-plans

<original user request>

---

<Data Context block>
```

The planner writes the plan. This skill ends here.

**Fallback (superpowers not installed):** If the `superpowers` plugin is not available, write the plan directly. Use the Data Context block to ground your plan in the gathered data. Structure the plan with: goal, key findings from the data, prioritized action items, success metrics, and risks/caveats. Keep the same data-driven rigor — the only difference is you're writing the plan yourself instead of delegating.

## Quick Reference

Tool names are bare. Prefer Novus for overlapping data; pull Pendo for VoC, sentiment, segment/account slicing, or session-level diagnostics.

| Intent | Novus tools | Pendo tools | Must-include |
|---|---|---|---|
| feature | `get_product_wiki`, `list_signals`, `get_related_artifacts` | `get_feedback_insights`, `get_ideas`, `productEngagementScore` | wiki + (insights OR ideas) |
| fix | `list_issues`, `list_signals`, `get_page_metrics`/`get_feature_metrics` | `sessionReplayList`, `devlogEvents`, `visitorQuery` | issues |
| prioritization | `list_signals`, `list_issues`, `get_headline_metrics` | `get_feedback_insights`, `productEngagementScore`, `npsScore` | signals + issues + insights |
| diagnosis | `get_page_metrics`, `get_feature_metrics`, `get_funnel_analysis`, `list_signals` | `sessionReplayList`, `visitorQuery`, `segmentList` | metrics + signals |
| funnel-journey | `get_funnel_analysis`, `get_journey_analysis`, `get_related_artifacts` | (none — Novus owns funnel/journey) | funnel/journey analysis |
| non-product | (none) | (none) | — bail to planner |

## Common Mistakes

- **Skipping the precheck** — silent MCP failure = silently bad plans. Run Step 0.
- **Double-planning** — writing a plan yourself after gathering. STOP, hand off.
- **Sequential MCP calls** — always parallel; latency compounds.
- **Pulling raw Pendo when Novus has it** — Novus responses are linked to artifacts the planner can reference. Pendo raw is for breakdowns Novus doesn't cover.
- **Retrying gated tools** — if NPS / Session Replay / Agent Analytics tools return product-line errors, the subscription doesn't include them. Note in Caveats and move on.
- **Ignoring data quality** — surface tagging warnings, missing-MCP warnings, and product-line gates in Caveats.
- **Over-gathering** — stick to the classifier's tool list; the planner doesn't need raw event dumps.
- **Skipping classifier on "obvious" requests** — "refactor the dashboard component" reads product-y but is code work; classifier correctly returns `non-product`.

## Red Flags — STOP

- About to call >6 MCP tools → over-gathering; narrow scope first
- About to write the plan yourself → call `/superpowers:writing-plans`
- Gathering when intent is `non-product` → classifier said skip
- Data Context >250 words → compress; link IDs, don't paste blobs
- Skipped precheck and one MCP is dead → output will mislead the planner; run Step 0
- A Novus tool name appears in `pendo_tools` (or vice versa) → swap to the correct array

Files in this skill

  • PROVENANCE.json246 B
  • SKILL.md8.9 KB
  • UPSTREAM-LICENSE.txt1 KB
  • classifier.md6 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.