/digital-marketing-pro:signal-mine skill
Mine raw signals (news, threads, sales notes) into content angles.
by indranilbanerjee·MIT license·★ 866 Stars on the repo·GitHub ↗
Use now
npx degit indranilbanerjee/digital-marketing-pro/skills/signal-mine#main ~/.claude/skills/signal-mineChecked ·commit main
Inside this skill
SKILL.md · the author's own words# /digital-marketing-pro:signal-mine The intelligence layer between "interesting" and "ours to say". Raw input comes from anywhere — a newsletter, a Reddit thread, three competitor posts, notes from yesterday's sales calls. The output is only the angles this brand has standing to make, each mapped to a pillar, with everything else explicitly dropped. The mapping is the value. Any model can turn news into generic content ideas; the discipline is refusing the ideas that do not serve this brand's authority. ## Inputs - **The dump** — pasted material, in any shape. More is fine; this skill's job is triage. - **The brand profile** — pillars, audience, positioning, competitors from
Word-for-word excerpt, not a result. Read the full SKILL.md ↓
Files of /digital-marketing-pro:signal-mine
SKILL.md
Show the full text78 lines
/digital-marketing-pro:signal-mine
The intelligence layer between "interesting" and "ours to say". Raw input comes from anywhere — a newsletter, a Reddit thread, three competitor posts, notes from yesterday's sales calls. The output is only the angles this brand has standing to make, each mapped to a pillar, with everything else explicitly dropped.
The mapping is the value. Any model can turn news into generic content ideas; the discipline is refusing the ideas that do not serve this brand's authority.
Inputs
- The dump — pasted material, in any shape. More is fine; this skill's job is triage.
- The brand profile — pillars, audience, positioning, competitors from
~/.claude-marketing/brands/{slug}/. No profile → stop: signal-mining without pillars produces trend-chasing, which is the exact failure mode this skill exists to prevent. Run /digital-marketing-pro:brand-setup first.
Process
- Split the dump into discrete signals (a claim, an event, a sentiment, a number, a competitor move).
- For each signal, ask the standing question: does this brand have something to say here that its audience would rather hear from it than from anyone else? Pillar fit is necessary but not sufficient — authority fit decides.
- For signals that pass: name the angle (the brand's specific take, not a summary of the signal), the pillar, a format, and a timeliness window.
- For signals that fail: list them as dropped, with the reason. This list is half the deliverable — it is the record of discipline, and the user may overrule it with context you lack.
Output structure
# Signal mine — {brand}, {date}
## Angles ({n})
### A1. [The angle — the take, not the topic]
**From signal:** [one-line source reference]
**Pillar:** [brand pillar] **Timeliness:** [act this week / evergreen / expires ~date]
**Format:** [post / article / newsletter section / campaign hook]
**Why this brand:** [one sentence of standing — why this take is credibly ours]
## Dropped ({n})
- [signal] — [why: off-pillar / no standing / competitor's story to tell /
stale by the time we publish / compliance risk]
## Sourcing note
[Which signals carry claims that need verification before anything cites them —
route those through /digital-marketing-pro:verify-claims before drafting]
Critical rules
- An angle is a take, not a topic. "AI regulation is changing" is a topic. "The new rules reward exactly the disclosure work our clients already do" is an angle. Return angles.
- Authority beats relevance. A signal can be perfectly on-pillar and still be dropped because the brand has nothing distinctive to add. Say that plainly.
- Timeliness is honest. A "react this week" label on something that takes three weeks to produce is a plan to be late. Match the window to the brand's real production speed.
- Claims from pasted material are unverified by definition. Nothing cites a pasted number until it has been through verification — pasted text carries no provenance, and provenance is the house rule.
- The dropped list always ships. An output with ten angles and no rejections means the triage did not happen.
| 1 | |
| 2 | name signal-mine |
| 3 | description "Mine raw signals (news, threads, sales notes) into content angles. \"turn this industry news into ideas\"" |
| 4 | argument-hint "[brand-name] [--signals <pasted material>]" |
| 5 | user-invocable true |
| 6 | |
| 7 | |
| 8 | # /digital-marketing-pro:signal-mine |
| 9 | |
| 10 | The intelligence layer between "interesting" and "ours to say". Raw input comes |
| 11 | from anywhere — a newsletter, a Reddit thread, three competitor posts, notes |
| 12 | from yesterday's sales calls. The output is only the angles this brand has |
| 13 | standing to make, each mapped to a pillar, with everything else explicitly |
| 14 | dropped. |
| 15 | |
| 16 | The mapping is the value. Any model can turn news into generic content ideas; |
| 17 | the discipline is refusing the ideas that do not serve this brand's authority. |
| 18 | |
| 19 | ## Inputs |
| 20 | |
| 21 | **The dump** — pasted material, in any shape. More is fine; this skill's job |
| 22 | is triage. |
| 23 | **The brand profile** — pillars, audience, positioning, competitors from |
| 24 | `~/.claude-marketing/brands/{slug}/`. **No profile → stop**: signal-mining |
| 25 | without pillars produces trend-chasing, which is the exact failure mode this |
| 26 | skill exists to prevent. Run /digital-marketing-pro:brand-setup first. |
| 27 | |
| 28 | ## Process |
| 29 | |
| 30 | Split the dump into discrete signals (a claim, an event, a sentiment, a |
| 31 | number, a competitor move). |
| 32 | For each signal, ask the standing question: *does this brand have something |
| 33 | to say here that its audience would rather hear from it than from anyone |
| 34 | else?* Pillar fit is necessary but not sufficient — authority fit decides. |
| 35 | For signals that pass: name the angle (the brand's specific take, not a |
| 36 | summary of the signal), the pillar, a format, and a timeliness window. |
| 37 | For signals that fail: list them as dropped, with the reason. This list is |
| 38 | half the deliverable — it is the record of discipline, and the user may |
| 39 | overrule it with context you lack. |
| 40 | |
| 41 | ## Output structure |
| 42 | |
| 43 | |
| 44 | # Signal mine — {brand}, {date} |
| 45 | |
| 46 | ## Angles ({n}) |
| 47 | ### A1. [The angle — the take, not the topic] |
| 48 | **From signal:** [one-line source reference] |
| 49 | **Pillar:** [brand pillar] **Timeliness:** [act this week / evergreen / expires ~date] |
| 50 | **Format:** [post / article / newsletter section / campaign hook] |
| 51 | **Why this brand:** [one sentence of standing — why this take is credibly ours] |
| 52 | |
| 53 | ## Dropped ({n}) |
| 54 | - [signal] — [why: off-pillar / no standing / competitor's story to tell / |
| 55 | stale by the time we publish / compliance risk] |
| 56 | |
| 57 | ## Sourcing note |
| 58 | [Which signals carry claims that need verification before anything cites them — |
| 59 | route those through /digital-marketing-pro:verify-claims before drafting] |
| 60 | |
| 61 | |
| 62 | ## Critical rules |
| 63 | |
| 64 | **An angle is a take, not a topic.** "AI regulation is changing" is a topic. |
| 65 | "The new rules reward exactly the disclosure work our clients already do" is |
| 66 | an angle. Return angles. |
| 67 | **Authority beats relevance.** A signal can be perfectly on-pillar and still |
| 68 | be dropped because the brand has nothing distinctive to add. Say that |
| 69 | plainly. |
| 70 | **Timeliness is honest.** A "react this week" label on something that takes |
| 71 | three weeks to produce is a plan to be late. Match the window to the brand's |
| 72 | real production speed. |
| 73 | **Claims from pasted material are unverified by definition.** Nothing cites |
| 74 | a pasted number until it has been through verification — pasted text carries |
| 75 | no provenance, and provenance is the house rule. |
| 76 | **The dropped list always ships.** An output with ten angles and no |
| 77 | rejections means the triage did not happen. |
| 78 |
Discussion
Browse more free Claude skills.