reputation — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited reputation (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
You are running a reputation and competitor research pulse. Produce a single readable markdown report with an executive summary, top complaints/feature requests/recommendations, a detailed per-source breakdown, and (if prior reports exist) a trend diff.
/reputation — run on user's default brand (from saved config)/reputation <brand> — run on any brand/competitor <brand> — alias for /reputation <brand> (standalone report on that brand)/reputation --compare <brand> — side-by-side diff vs. user's default brand/reputation --reconfigure — wipe and re-run the first-session wizard/reputation --mute <source> — add a source to the mute list in config--reconfigure → delete ~/brand-pulse/config.md and proceed to Step 2--mute <source> → append to a muted_sources: list in config, confirm, exit--compare <brand> → run the full pipeline on both brands, then produce a side-by-side report/competitor <brand> → equivalent to /reputation <brand>; run the standalone pipeline on that brandFirst, check whether any tool name starting with mcp__plugin_playwright_playwright__ is available in this session. Record as playwright_available for use in Steps 2 and 3.
Then read ~/brand-pulse/config.md. If it exists, parse the frontmatter and skip to Step 3.
If it does NOT exist, run the first-session wizard (Step 2).
Config file format:
---
default_brand: Acme Corp
default_url: acme.com
entity_type: Company
depth: standard
playwright_available: true
logged_in_socials: [x, linkedin]
muted_sources: []
created: 2026-04-15
---
# Brand Pulse Config
(Any user notes here.)Use AskUserQuestion to ask these four questions in one batch (one call, multiple questions):
default_brand and default_url.Person, Company, Product, App, Creator. Drives which sources are relevant (see references/sources.md).Quick (~3 min), Standard (~10 min), Deep (~20+ min). Affects how many sources are hit and how many items per source.playwright_available is true (from Step 1). List: X, LinkedIn, Instagram, TikTok, Facebook. Multi-select. If Playwright is not available, skip this question and note Public mode in the config.Write the config to ~/brand-pulse/config.md (create the directory if needed).
Briefly confirm back to the user what was saved before proceeding.
Use the playwright_available value from Step 1.
AskUserQuestion:"Which mode for this run? Public (fast, zero setup) or Enhanced (Claude drives your logged-in browser to also cover X/LinkedIn/IG/TikTok/FB)."
Respect muted_sources from config for both modes.
Glob ~/brand-pulse/<brand-slug>/*.md where <brand-slug> is the brand name kebab-cased. If any prior reports exist, sort filenames lexically descending (YYYY-MM-DD filenames sort correctly) and read the most recent one. Extract:
Use this for the "Since Last Pulse" section later. If no prior reports exist, skip the trend section.
Consult references/sources.md to pick the source set based on entity type and depth:
For Enhanced mode, also add the logged-in socials from config.
Use TaskCreate to break this into parallel tasks. Then fire the searches in parallel — in one single message with multiple tool calls wherever possible. WebSearch, WebFetch, and Playwright calls all run concurrently.
For each source, follow the exact query patterns and extraction targets in references/sources.md.
Follow references/playwright-flows.md for per-site scripts. Key rules:
browser_wait_for with time).For the raw mentions from each source:
complaint, feature_request, praise, neutral_mention, or noise. Drop noise.mention_count × recency_weight × source_authority_weight.recency_weight = exp(−days_old / 30) (30-day half-life)source_authority_weight: Trustpilot/G2/Capterra = 1.2, BBB = 1.2, Reddit/HN/Product Hunt/Glassdoor/app stores/Enhanced socials = 1.0, Google SERP snippets = 0.8. Unlisted sources default to 1.0.Use references/report-template.md as the structure. Render the whole thing as a single markdown document in the chat.
Structure (in this order):
Quote real text from real mentions. Never fabricate quotes. If a quote is sparse or unclear, paraphrase and mark it as [paraphrased].
Every quote must have a source link immediately after it in parentheses.
~/brand-pulse/<brand-slug>/YYYY-MM-DD.md (create directory if needed). Report the absolute path to the user.AskUserQuestion to ask:pandoc is installed via which pandoc. If yes, try engines in this order: pandoc <file>.md -o <file>.pdf --pdf-engine=xelatex → on failure, check which wkhtmltopdf and retry with --pdf-engine=wkhtmltopdf → on failure, retry with no engine flag (pandoc picks its default).<file>.html) using a clean print-ready template. Open it with the system default browser (open <file>.html on macOS, xdg-open on Linux, start on Windows). Tell the user: "Press Cmd+P (Ctrl+P on Windows/Linux) → Save as PDF." This is the zero-install path.Single-sentence summary of what was produced and where it lives. No wall of text.
references/sources.md — per-source URL patterns, query construction, rate limit notes, extraction fieldsreferences/report-template.md — the full markdown report template with example sectionsreferences/playwright-flows.md — per-site Playwright scripts for Enhanced mode~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.