Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add genli-ai/market-research-skills --skill topic-briefgit clone --depth 1 https://github.com/genli-ai/market-research-skillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/genli-ai/market-research-skills/topic-brief)<a href="https://agentmods.dev/skills/genli-ai/market-research-skills/topic-brief"><img src="https://agentmods.dev/badge/skills/genli-ai/market-research-skills/topic-brief/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/genli-ai/market-research-skills/topic-brief"><img src="https://agentmods.dev/badge/skills/genli-ai/market-research-skills/topic-brief.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00157 | $0.03326 |
| Opus 5 | $0.00078 | $0.01663 |
| Sonnet 5 | $0.00031 | $0.00665 |
| Haiku 4.5 | $0.00016 | $0.00333 |
Grade A, and why
topic-brief scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 12d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 230 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Topic Brief — Thematic Observation Briefing Generator
Generate a public-news-based information briefing for any subject (region / industry / policy issue / institution) and produce a single self-contained HTML file ready to paste into the 微信公众号 / WeChat Official Account editor.
Bilingual skill. Chinese version:
SKILL.zh.md. English is the single source of truth; the.zh.mdis a synchronized translation — always edit the English first, then mirror the change into.zh.mdin the same change-set, never edit only the Chinese.
Trigger phrases
User says something like:
- "做一份 5 月下半月的中东观察"
- "Generate a semiconductor industry briefing for the past month"
- "做一期 AI 立法主题观察,时间是 2026 年 Q2"
- "/topic-brief"
- "用 topic-brief 跑一份 ..."
Any descriptive request such as "make a briefing / observation / digest on XX" should activate this skill.
Scope exclusions
Before producing any briefing, check whether the subject falls into a refused category. The following are out of scope regardless of phrasing:
- Political issues — elections, parties, political figures' positions, government legitimacy debates
- Military issues — operations, force composition, equipment counts, conflict details, defense policy
- Religious issues — doctrines, denominational disputes, religious leaders' statements
- Entertainment celebrity gossip — personal life, scandals, fan disputes
- Other inherently controversial topics — culture wars, identity disputes, value-judgement debates
If the requested subject is one of the above, reply with exactly one line and stop:
Out of scope. (超出能力范围)
Do not run search, do not draft anything, do not negotiate the scope.
Response language
Reply in the language of the user's request. Chinese question → Chinese reply; English question → English reply; mixed input → follow the dominant language. The generated HTML itself follows the language of the source materials and the subject_name (Chinese subjects produce Chinese briefings, English subjects produce English briefings). Field labels in user-facing reports (e.g., 来源 / Source) should match the briefing's body language.
What ships with it
14 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- lib/__init__.py 157 B runs code
- lib/fix_quotes.py 2.5 KB runs code
- lib/renderer.py 1.8 KB runs code
- lib/schema.py 6.0 KB runs code
- lib/writer.py 444 B runs code
- prompts/system.md 4.8 KB
- README.md 10.0 KB
- reference/brand_red_belt_and_road.example.json 19 KB
- reference/region_india.example.json 15 KB
- reference/region_middle_east.example.json 16 KB
- reference/region_southeast_asia.example.json 15 KB
- scripts/render.py 1.6 KB runs code
- SKILL.zh.md 12 KB
- templates/briefing.html 7.2 KB
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 12d ago First seen · 230 lines · 157 tokens per session scan A 18b03cb018b9
topic-brief is a skill published in the GitHub repository genli-ai/market-research-skills (62 stars, last pushed 3mo ago), licensed MIT. It adds 157 tokens to every session and 3,326 once invoked, about $0.0008 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
mobile-store-review
Audits a mobile app codebase — Expo/React Native (managed or bare) or native iOS/Android, standalone or inside a Turborepo/monorepo — and reports whether it would pass Apple App Review and Google Play review. Use this skill whenever the user: asks if their app will pass, fail, or get rejected by Apple or Google…
pr-review
Reviews a branch, PR, staged, or working-tree diff for correctness, security, repo-convention, test-coverage, and documentation gaps, returning severity-rated findings without editing code. Use when asked to "review my branch/PR", "is this ready to merge", "check this diff before I push", "does this need an ADR", or…
rest-api-design
Designs and reviews REST APIs: resource naming, HTTP methods and status codes, payload and error formats, pagination, versioning, auth, rate limiting, and OpenAPI specs. Use when adding or renaming an endpoint, asked "is this endpoint RESTful", "what status code should I return", "design the API for X", or to audit an…
create-pr
Opens (or updates) a pull request with a conventional title, an evidence-backed description, and a real verification checklist — resolving the base branch from evidence, attaching screenshots via the GitHub CLI when the change is visible in the UI, and asking rather than guessing at every genuine judgment call. Use…
decision-record
Writes or updates an architecture decision record (ADR) as a dated markdown file under docs/decision-records/ — a one-sentence declarative title with no leading number and no Status field, and the four sections Context, Decision, Consequences, Related. Use when a change makes a real judgment call with a defensible…
commit
Commits everything modified or new in the working tree by default, grouped into a series of coherent Conventional Commits — one commit per logical change, staged by path, with the type/scope vocabulary inferred from the repo's own git history — instead of sweeping everything into a single commit. Configurable per repo…