Skip to content
Marketing
Skill

/profile

Per-section deep dive for refining an existing subscope targeting profile. Not a full re-interview, just the section that's drifted. Pick one section (competitors, pain language, subreddit tiers, keywords, buyer titles, customers, content map, positioning), answer 1-3 focused

From plugin
subscope
3215 skills

Claude Code

$ npx -y skills add dancolta/subscope --skill profile --agent claude-code

SKILL.md

profile.SKILL.md
name: subscope-profile
description: Per-section deep dive for refining an existing subscope targeting profile. Not a full re-interview, just the section that's drifted. Pick one section (competitors, pain language, subreddit tiers, keywords, buyer titles, customers, content map, positioning), answer 1-3 focused questions, and the relevant YAML file is rewritten in place. Other sections are untouched. Use this after a few scans when one dimension feels off (too much noise from one sub, competitor anchor missing a name, pain phrasing not landing). Triggers on "profile", "/subscope-profile", "refine my profile", "redo competitor anchor", "redo subreddits", "rebuild pain language", "swap a subreddit", "update my targeting", "fix my profile", "tighten my profile".
allowed-tools: Bash, Read, Write, Edit, WebFetch

/subscope-profile

Per-section deep dive. Not a full re-interview, just the section that's drifted.

You ran `/subscope-onboard` once and the four config files at `~/.config/subscope/` are in place. After a few scans you notice: one subreddit floods the results with noise, the competitor anchor is missing a name, the pain language doesn't match how your buyers actually talk. That's the job for this skill. Pick the section, answer 1-3 focused questions, and only that section is rewritten.

If you've never run onboarding before, run `/subscope-onboard` first. This skill assumes an existing config.

Procedure

Step 1: Verify an onboarded config exists

cd "$CLAUDE_PLUGIN_ROOT" && PYTHONPATH=engine python3 -c "
from pathlib import Path
from subscope.lib import store
cfg = store.xdg_config_dir()
required = ['subreddits.yml', 'keywords.yml', 'brand-anchor.yml', 'example-pains.yml']
missing = [f for f in required if not (cfg / f).exists()]
if missing:
    print('MISSING:', missing)
    print('Run /subscope-onboard first.')
else:
    print('OK')
"

If any required file is missing, stop and direct the user to `/subscope-onboard`.

Step 2: Pick a section

Print verbatim:

Which section needs a refresh?

  [1] Competitor anchor      brand-anchor.yml
  [2] Pain language          example-pains.yml
  [3] Subreddit tiers        subreddits.yml
  [4] Keywords               keywords.yml
  [5] Buyer titles           subreddits.yml (operator/builder mapping)
  [6] Customers              regenerate inferred customer list
  [7] Content map            blog-map.yml (your own URLs)
  [8] Positioning            regenerate the one-line positioning, may cascade

Type a number.

If user types a number not in 1-8, re-prompt once. Multiple sections in one run are allowed, ask for a comma-separated list. Each section then runs in sequence, sharing the same review-and-write pattern.

Step 3: Run the chosen section flow

Each section follows the same shape: show the current value, ask 1-3 focused questions, propose the new value, write on `confirm`.

Section 1: Competitor anchor (brand-anchor.yml)

Show current:

cat ~/.config/subscope/brand-anchor.yml

Ask:

Current anchor has <N> competitors. What needs to change?

  [a] Add a competitor I'm missing
  [b] Drop a competitor that doesn't fit anymore
  [c] Reorder (move the top 3 churn-from brands to the top)
  [d] Full rebuild (paste 5-10 tools your buyer evaluates you against)

Pick one or paste edits directly (e.g. "add Apollo and Clay, drop Outreach").

Apply edits in-memory to the full payload (loaded from `~/.config/subscope/`), then validate the whole payload via the existing helper. See [Step 4](#step-4--load-mutate-validate-write-the-full-payload) below for the shared shell pattern. Show the diff (old vs new) and ask: `confirm / show full file / edit again`. Write on `confirm`.

Section 2: Pain language (example-pains.yml)

Show current top 5 pain phrases.

Ask:

Pain language is load-bearing. The classifier looks for these phrases in
post titles and bodies.

  [a] Add a phrase your buyer actually says (verbatim, from Slack/calls/reviews)
  [b] Drop a phrase that produced noise
  [c] Paste 3-5 verbatim quotes and I'll extract phrases

Generic SEO-style keywords don't work here. "buyer intent platform" is yours;
"this is killing me, we're paying for 4 tools that do the same thing" is theirs.

Process. Validate. Diff. Confirm. Write.

Section 3: Subreddit priority (subreddits.yml)

Show the current subs grouped as Primary (scanned every run) and Secondary (opportunistic), each with its weight (relevance: higher = more prioritised). Remind the user that every run sorts results into Buyer signals and Authority plays, so a single sub can produce both.

Ask:

Which subs feel off?

  [a] Re-prioritise a sub (Primary <-> Secondary)
  [b] Drop a sub that floods with noise
  [c] Add a sub I should be watching
  [d] Quarantine a sub (keep in config but skip on every scan)

Paste edits like "move r/SaaS to tier 1, drop r/marketing, add r/RevOps".

For each `add` candidate, optionally validate via warm-scan. The engine scans the whole config (there is no single-sub flag), so add the candidate to Tier 2 of `subreddits.yml` provisionally, then run a small capped scan to see whether it surfaces anything worth keeping:

cd "$CLAUDE_PLUGIN_ROOT" && PYTHONPATH=engine python3 -m subscope.cli fetch-score \
  --limit-per-sub 10 --daily-cap 5 --no-slack --max-surfaces 5 \
  2>/dev/null || echo "warm-scan-skipped"

If the candidate produced nothing relevant, drop it. Diff. Confirm. Write.

Section 4: Keywords (keywords.yml)

Show current Shared / Operator / Builder buckets.

Ask:

Which bucket needs a refresh?

  [a] Shared (cross-cutting phrases your buyer uses regardless of role)
  [b] Operator (work-pain phrases, "this is broken", "we need to ditch X")
  [c] Builder (technical/replacement phrases, "alternative to", "open source")

Paste add/drop edits for that bucket.

Process. Validate (each bucket has min/max caps in config/weights.yml). Diff. Confirm. Write.

Read more
@dancolta
Ships withsubscope

subscope reads Reddit for you and hands you the threads worth replying to: the people shopping for what you sell, and the questions you can answer to build authority. Run it whenever you want.

Stars on GitHub

Momentum

stars in total
32
Star history of dancolta/subscope on GitHub, a chart by star-history.com

Other skills on subscope.

build-vs-buy

build-vs-buy

Surface explicit build-vs-buy debate threads with numeric arguments (engineering hours, TCO, payback). OP is rationalizing the…

@dancolta@dancoltaInstall Skill
churn

churn

Surface high-intent Reddit posts where someone explicitly says they are canceling, switching from, or fed up with a named SaaS…

@dancolta@dancoltaInstall Skill
judge

judge

Interactive classifier for a single Reddit surface. Reads one post by surface ID (or pasted URL/title/body), runs the…

@dancolta@dancoltaInstall Skill
onboard

onboard

Mandatory first-run setup for subscope. One conversation, three plain questions, one confirmation, optional integrations, first…

@dancolta@dancoltaInstall Skill
op-vet

op-vet

Score a Reddit user's profile before replying. Returns karma, account age, sub-activity breakdown, and a GO / HOLD / SKIP…

@dancolta@dancoltaInstall Skill
pricing-rage

pricing-rage

Surface Reddit price-hike rage threads (Salesforce/HubSpot/Gong cyclical Q1/Q3 spikes). Time-sensitive — cooling queue…

@dancolta@dancoltaInstall Skill

More skills from other plugins.

seo

seo

Comprehensive SEO analysis for any website or business type. Full site audits, single-page analysis, technical SEO (crawlability,…

@agricidaniel@agricidanielInstall Skill
brag

brag

Turn the current project website into a short, polished, shareable launch video using Hyperframes. Use when someone says "/brag",…

brag3w21k
@latent-spaces@latent-spacesInstall Skill
geo-audit

geo-audit

Full website GEO+SEO audit with parallel subagent delegation. Orchestrates a comprehensive Generative Engine Optimization audit…

Questions about profile.

Which coding agents can use profile?
profile installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.