From lead-ace
Surface PMF signals from rejection feedback: feature_gap notes and competitor presence (already_have_solution / competitor_locked). Read-only product reflection, not sales tactics. Triggers: "check feedback", "PMF signals".
How this skill is triggered — by the user, by Claude, or both
Slash command
/lead-ace:check-feedback <project-id><project-id>This skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
A read-only skill that surfaces **product/pricing/business-model** signals from rejection feedback recorded by `/check-results`. Use this for PMF reflection — questions like "is there a missing feature people keep asking for?" or "are we losing to a specific competitor?".
A read-only skill that surfaces product/pricing/business-model signals from rejection feedback recorded by /check-results. Use this for PMF reflection — questions like "is there a missing feature people keep asking for?" or "are we losing to a specific competitor?".
This skill is not for sales tactics. Tactical signals from rejections (when to recontact, who to redirect to, which industries to deprioritize) are consumed automatically by /evaluate in the daily cycle. Do not use /check-feedback to drive operational decisions.
Before starting: Read ${CLAUDE_PLUGIN_ROOT}/references/workspace-conventions.md and follow the cross-cutting conventions there (data storage, MCP error handling, document writes, output discipline).
$0 (required)Return an error if $0 is empty.
Call mcp__plugin_lead-ace_api__get_rejection_feedback_summary twice in parallel, both with scope: "pmf":
projectId: "$0", windowDays: 30, scope: "pmf" -> recentprojectId: "$0", scope: "pmf" (no windowDays) -> all-timeIf the tool returns "Project not found", instruct the user to run /setup first and abort.
With scope: "pmf" the server filters to PMF-relevant reasons only and computes total + percentage within the PMF subset. recontactWindows is returned with all five buckets at {count: 0, samples: []} and decisionMakerPointers is an empty array — those signals are tactical and consumed by /evaluate, not by this skill.
Render in this order. Always lead with featureGapNotes — that section drives product/roadmap decisions.
Pull from featureGapNotes (already ordered most-recent-first). For each entry:
- {receivedAt, ISO date} — {organizationName} / {prospectName}
"{freeText}"
If empty in both windows, render: "No feature_gap rejections recorded yet."
Render side-by-side: 30-day vs all-time. With scope: "pmf" the response's primaryReasonDistribution contains only:
feature_gap — concrete missing capability (highest PMF signal)already_have_solution — incumbent vendor presence (competitive pressure)competitor_locked — multi-year contract / renewal-only window (competitive pressure)count, percentage, and total are all computed within the PMF subset by the server — render them as-is. Skip rows where both windows are 0.
Reason 30 days all-time
feature_gap N (PP%) N (PP%)
already_have_solution N (PP%) N (PP%)
competitor_locked N (PP%) N (PP%)
PMF-relevant total N N
If total is 0 in both windows, render: "No PMF-relevant rejections recorded yet."
End with one short, plain-English summary. Decide which line to write in this order — first match wins:
total (from the response) is < 3, say so and recommend continued data collection. Stop.featureGapNotes — scan featureGapNotes[].freeText for repeated capability/feature terms across entries. If ≥2 notes name the same capability, use the dominant-feature example.already_have_solution + competitor_locked together exceed half of the PMF-relevant total, use the competitor example. (Free-text is not returned for these reasons, so do not name a specific vendor.)Example tones:
<feature> — strongest PMF signal is for that. Consider /strategy revision or product roadmap input."/strategy."Do not invent product/strategy actions when the data does not support them.
This is a read-only skill — no DB writes, no side effects.
Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.
npx claudepluginhub aitit-inc/leadace --plugin leadace