Agent skill

Competitor Feedback

by zhitongblog in zhitongblog/solomd

Scan competing markdown editors' user feedback (GitHub issues/discussions/releases + closed-source forums) and synthesize themes cross-referenced against SoloMD's own gaps and roadmap.

MITAuto-check: notesKnowledge Management

Install Competitor Feedback

skills CLI
$ npx skills add zhitongblog/solomd --skill competitor-feedback -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install zhitongblog/solomd competitor-feedback --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/zhitongblog/solomd.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/competitor-feedback .claude/skills/competitor-feedback && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
competitor-feedback
GitHub stars
1.2k
Token cost
~1.2k tokens
SKILL.md length
521 words
Files
5
Skills in repo
3
Repo updated
First seen
Licence
MIT

At a glance

Scan competing markdown editors' user feedback (GitHub issues/discussions/releases + closed-source forums) and synthesize themes cross-referenced against SoloMD's own gaps and roadmap.

  • Works in 5 steps: Pick mode. → Web channel for closed-source… → Synthesize — this is the point, not the… → …
  • Asked to check competitor feedback
  • SKILL.md covers Channels (which tools actually…, Steps and Notes
  • Runs Shell scripts from its folder; calls bash and gh

What it does

Competitor Feedback is an agent skill from zhitongblog/solomd. Scan competing markdown editors' user feedback (GitHub issues/discussions/releases + closed-source forums) and synthesize themes cross-referenced against SoloMD's own gaps and roadmap. Surfaces unmet demand SoloMD could win on, and features competitors ship that SoloMD lacks. Supports a "subscribe" mode that reports only what's new since the last scan. Use when asked to "check competitor feedback", "what are users complaining about in Obsidian/Logseq/etc.", "competitor watch", or "subscribe to competitors' GitHub".

Its SKILL.md is about 1.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files (for example `competitors.json`, `scan.sh` and `unzoo.sh`).

It sits in Knowledge Management, covering Markdown. It works with GitHub, Obsidian, Model Context Protocol and Tauri. The repository describes itself as: A markdown editor — and the bridge to your LLM. Local-first, MIT, ~15 MB. Bundled MCP server lets Claude Code / Codex / Cursor drive your vault directly. 14 AI providers BYOK. The licence is MIT.

When your agent uses it

  • Asked to check competitor feedback
  • What are users complaining about in Obsidian/Logseq/etc.
  • Competitor watch
  • Subscribe to competitors GitHub

Example prompts

  • “subscribe”
  • “s new since the last scan. Use when asked to”
  • “what are users complaining about in Obsidian/Logseq/etc.”
  • “/competitor-feedback”

Requirements

  • A Bash shell
  • Pre-approved tools (allowed-tools): Bash, Read, Write, WebSearch, WebFetch

Workflow steps

5 steps, taken from the first numbered list in SKILL.md.

  1. Pick mode.
  2. Web channel for closed-source competitors (via unzoo — the real browser).
  3. Synthesize — this is the point, not the raw list. Group everything into
  4. Cross-reference against SoloMD. Read docs/roadmap.md and recent SoloMD
  5. Write the report to docs/competitor-feedback/YYYY-MM-DD.md (create the dir).

What it can do on your machine

Read from SKILL.md and the folder at commit 35e8fef. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Bash
    • Read
    • Write
    • WebSearch
    • WebFetch

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships script files (Shell), which the agent can run.

    Shell commands in SKILL.md call:

    • bash
    • gh

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use gh, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Competitor Feedback loads about 1.2k tokens when it runs. Until then it costs about 135 tokens; SKILL.md has 521 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~135
When it runs · the whole SKILL.md, loaded when a task matches
~1.2k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NotePre-approves every shell command (allowed-tools: Bash)SKILL.md
    allowed-tools: Bash, Read, Write, WebSearch, WebFetch

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from zhitongblog/solomd at commit 35e8fef, republished under its MIT licence (© zhitongblog). 521 words, ~1,223 tokens.

Download SKILL.mdSave it as .claude/skills/competitor-feedback/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.
name
competitor-feedback
description
Scan competing markdown editors' user feedback (GitHub issues/discussions/releases + closed-source forums) and synthesize themes cross-referenced against SoloMD's own gaps and roadmap. Surfaces unmet demand SoloMD could win on, and features competitors ship that SoloMD lacks. Supports a "subscribe" mode that reports only what's new since the last scan. Use when asked to "check competitor feedback", "what are users complaining about in Obsidian/Logseq/etc.", "competitor watch", or "subscribe to competitors' GitHub".
allowed-tools
Bash, Read, Write, WebSearch, WebFetch
version
1.0.0
triggers
competitor feedback, competitor watch, what are competitors' users complaining about, subscribe to competitor github, scan competitor issues

Competitor feedback watch

Pulls real user feedback from SoloMD's competitors and turns it into a product signal: what their users want that we could win on, and what they ship that we lack.

Channels (which tools actually work)

The global AGENTS.md mentions an unzoo browser. The mcp__unzoo__* MCP tools are not installed — but unzoo IS available as a local REST API at http://127.0.0.1:9399 (a real headless Chromium: JS rendering, anti-bot, cookies). Use it via the bundled unzoo.sh wrapper, not MCP calls.

  • GitHub (primary, structured): the gh CLI, driven by scan.sh — gives reaction-sorted issue lists (best unmet-demand signal). This is the main channel.
  • Closed-source competitors (Typora, Obsidian, Bear, iA Writer, Tolaria…): no public issue API → use unzoo.sh to read their forums/Reddit: unzoo.sh fetch-web <forum-url> and unzoo.sh search-web "<name> bug …". unzoo.sh discover-rss <site> can find a feed to poll. WebSearch/WebFetch are fine fallbacks.
  • GitHub fallback: if gh/the GitHub API is rate-limited or EOFs (CN network), unzoo.sh search-github "<query>" / unzoo.sh fetch-github <owner> <repo> reach GitHub through the browser backend and often succeed when gh doesn't.
  • Check it's up first: unzoo.sh health → {"status":"ok"}. Endpoints accept url / query / owner+repo; responses are {success, data} JSON.

Steps

  1. Pick mode.

    • Full scan (default): bash .Codex/skills/competitor-feedback/scan.sh
    • Subscribe / incremental (only issues opened since last run): bash .Codex/skills/competitor-feedback/scan.sh new
    • Restrict to some competitors: scan.sh full Logseq SiYuan
    • Tune volume with LIMIT=12 scan.sh.

    The competitor registry is competitors.json (edit to add/remove). GitHub-hosted ones are fetched directly; the script prints the GitHub digest and then lists the closed-source competitors for you to handle in step 2. It also writes .last-scan so the next new run is truly incremental — that's the "subscribe" behaviour.

  2. Web channel for closed-source competitors (via unzoo — the real browser). unzoo.sh health first. Then for each closed-source competitor scan.sh listed: unzoo.sh fetch-web <forum/reddit url from competitors.json> and unzoo.sh search-web "<name> bug OR missing feature OR complaint <year>". (WebSearch/WebFetch are fallbacks if unzoo is down.) Extract recurring themes — don't dump raw posts.

  3. Synthesize — this is the point, not the raw list. Group everything into recurring themes (e.g. "sync conflicts", "mobile parity", "large-vault perf", "plugin breakage"). For each theme note which competitors it hits and rough volume (top-voted issue = strong signal).

  4. Cross-reference against SoloMD. Read docs/roadmap.md and recent SoloMD issues (gh issue list --repo zhitongblog/solomd --state open). Then output two ranked lists:

    • Win-on: pains competitors' users repeatedly hit that SoloMD already does better or could cheaply own (these are positioning/marketing + wedge opportunities).
    • Gaps: things competitors ship that SoloMD lacks and users clearly value (candidate roadmap items). Be honest about effort.
    • Flag any theme that overlaps SoloMD's own recent complaints (shared weak spot).
  5. Write the report to docs/competitor-feedback/YYYY-MM-DD.md (create the dir). Structure: TL;DR (3-5 bullets) → themes table → Win-on → Gaps → raw per-competitor appendix (the scan.sh output + web findings, for traceability). Keep the synthesis tight and opinionated; the founder reads the TL;DR first.

Show full SKILL.md (49 more words)Show less

Notes

  • CN network flakes on the GitHub API — scan.sh already retries; if a competitor shows "(fetch failed)", just re-run it for that one (scan.sh full <name>).
  • This is a read-only research skill. It never posts to competitors' trackers.
  • Cadence suggestion: run scan.sh new weekly; it stays incremental via .last-scan.

© zhitongblog, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 4 other files in .agents/skills/competitor-feedback of zhitongblog/solomd.

  • SKILL.md
  • .last-scan
  • competitors.json
  • scan.sh
  • unzoo.sh

Open the folder on GitHubat commit 35e8fef

Compare with similar skills

Competitor Feedback next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Competitor Feedback compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Competitor Feedback this skillzhitongblog/solomd1.2k—~1.2kAutomated safety check: NotesMIT
Swarmvaultswarmclawai/swarmvault710—~6.1kAutomated safety check: PassMIT
Confluence To Markdowniurykrieger/claude-bedrock1051 repos~2.8kAutomated safety check: NotesMIT
Lov Any2pdflovstudio/any2pdf211—~2.4kAutomated safety check: NotesMIT
Triageflowershow/flowershow1.1k—~1.9kAutomated safety check: PassAGPL-3.0
PullmdAeternaLabsHQ/pullmd486—~2.6kAutomated safety check: PassAGPL-3.0

Similar skills

  • Swarmvault

    swarmclawai/swarmvault

    Use SwarmVault when the user needs a local-first knowledge vault that writes durable markdown, graph, search, dashboard, review, chat-session, context-pack, task-ledger, static AI export, retrieval…

    710 GitHub stars~6.1k tokensUpdated 3 mo ago
    Knowledge ManagementAuto-check passed
  • Confluence To Markdown

    iurykrieger/claude-bedrock

    Internal fetcher module for Confluence pages. An agent skill from iurykrieger/claude-bedrock.

    105 GitHub starsUsed in 1 repo~2.8k tokens
    Knowledge ManagementAuto-check: notes
  • Lov Any2pdf

    lovstudio/any2pdf

    Convert Markdown documents to professionally typeset PDF files with reportlab.

    211 GitHub stars~2.4k tokensUpdated 2 mo ago
    Documents & OfficeAuto-check: notes
  • Triage

    flowershow/flowershow

    Automatically triage a newly opened GitHub issue — categorise it, verify the claim, and apply the right category and state so a maintainer or agent can pick it up.

    1.1k GitHub stars~1.9k tokensUpdated today
    DevOps & CloudAuto-check passed
  • Pullmd

    AeternaLabsHQ/pullmd

    Read any web page, document, or YouTube video as clean Markdown using PullMD.

    486 GitHub stars~2.6k tokensUpdated yesterday
    Documents & OfficeAuto-check passed
  • Liveagent Code Review

    Stack-Cairn/LiveAgent

    Review an open GitHub pull request or the current local branch and working tree with parallel, independent reviewers and evidence-based validation.

    2.2k GitHub stars~2k tokensUpdated yesterday
    DevelopmentAuto-check passed

More from zhitongblog/solomd

  • Store Submit

    zhitongblog/solomd

    Publish a SoloMD release to the stores that have no usable submission API — Google Play Console and Microsoft Partner Center — by driving them through the local Unzoo Browser REST API.

    1.2k GitHub stars~1.7k tokensUpdated yesterday
    Auto-check: notes
  • Solomd

    zhitongblog/solomd

    Read, search, edit, and version-control any folder of Markdown notes via the SoloMD MCP server.

    1.2k GitHub stars~2k tokensUpdated yesterday
    Auto-check passed

Questions about Competitor Feedback

What does Competitor Feedback do?

Scan competing markdown editors' user feedback (GitHub issues/discussions/releases + closed-source forums) and synthesize themes cross-referenced against SoloMD's own gaps and roadmap. Competitor Feedback is an agent skill from zhitongblog/solomd. Scan competing markdown editors' user feedback (GitHub issues/discussions/releases + closed-source forums) and synthesize themes cross-referenced against SoloMD's own gaps and roadmap.

When should I use Competitor Feedback?

Competitor Feedback fits situations like: asked to check competitor feedback; what are users complaining about in Obsidian/Logseq/etc; competitor watch; subscribe to competitors GitHub.

How do I install Competitor Feedback in Claude Code?

Run `npx skills add zhitongblog/solomd --skill competitor-feedback -a claude-code`. Or copy the skill folder (.agents/skills/competitor-feedback in zhitongblog/solomd) into .claude/skills/competitor-feedback in your project. Claude Code loads it when a task matches its description.

How do I install Competitor Feedback in Codex?

Run `npx skills add zhitongblog/solomd --skill competitor-feedback -a codex`. Or copy the skill folder (.agents/skills/competitor-feedback in zhitongblog/solomd) into .agents/skills/competitor-feedback in your project. Codex loads it when a task matches its description.

Can I use Competitor Feedback in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add zhitongblog/solomd --skill competitor-feedback -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/competitor-feedback, .gemini/skills/competitor-feedback, .github/skills/competitor-feedback and .opencode/skills/competitor-feedback in your project.

What does Competitor Feedback need to run?

Going by SKILL.md and its folder, Competitor Feedback needs a shell for the scripts in its folder and the command-line tools its instructions call (bash and gh). Our summary lists: A Bash shell. Its frontmatter pre-approves these tools: Bash, Read, Write, WebSearch, WebFetch.

Does Competitor Feedback access the network?

SKILL.md contains no URLs. Its commands use gh, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Competitor Feedback safe to install?

Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Competitor Feedback use?

Competitor Feedback is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Competitor Feedback use?

About 1.2k tokens (SKILL.md is roughly 4.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Competitor Feedback?

Skills that share tags, products or a category with Competitor Feedback: Swarmvault (swarmclawai/swarmvault, 710 stars), Confluence To Markdown (iurykrieger/claude-bedrock, 105 stars), Lov Any2pdf (lovstudio/any2pdf, 211 stars) and Triage (flowershow/flowershow, 1.1k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Competitor Feedback?

zhitongblog (a GitHub user) maintains it in zhitongblog/solomd, which has 1,198 GitHub stars. The repository holds 3 skills in this directory. The repository was last updated on October 10, 2026.

Source: zhitongblog/solomd on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.