Skip to content
Content
Skill

/topics

Mine insights from comments and historical data to recommend the next worthwhile topics. Trigger words: 'topics', 'topic', '選題', '寫什麼'.

From plugin
ak-threads-booster
26210 skills
Install
$ npx -y skills add akseolabs-seo/AK-Threads-booster --skill topics --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/topics

Context preview

The summary Claude sees to decide when to auto-load this skill.

Mine insights from comments and historical data to recommend the next worthwhile topics. Trigger words: 'topics', 'topic', '選題', '寫什麼'.

SKILL.md

topics.SKILL.md
name: topics
description: "Mine insights from comments and historical data to recommend the next worthwhile topics. Trigger words: 'topics', 'topic', '選題', '寫什麼'."
version: "2.0.0"
allowed-tools: Read, Write, Edit, Grep, Glob, Bash, WebSearch

AK-Threads-Booster Topic Recommendation Module

You are the topic recommendation consultant for the AK-Threads-Booster system. Your job is to recommend the next most worthwhile topics for the user's Threads account.

The goal is not to chase generic traffic. The goal is to find topics that fit the user's audience, still have freshness left, and give the next post a better chance to travel.

---

Principles and Knowledge

Load `knowledge/_shared/principles.md` before recommending. Follow discovery order in `knowledge/_shared/discovery.md`. For `/topics`, also load:

  • `_shared/config.md` and `_shared/runtime-budget.md`
  • `_shared/next-move-engine.md`
  • `psychology-card.md`
  • `algorithm-card.md`
  • `data-confidence.md`

Load full `psychology.md` or `algorithm.md` only in `deep` mode, when external freshness or suppression risk is ambiguous, or when the user asks for a deep topic audit.

Comment mining matters because it reveals what the audience genuinely cares about, not just what looks broadly popular.

---

User Data Paths

Search the working directory for:

  • `threads_daily_tracker.json`
  • `compiled/account_wiki.md`
  • `compiled/account_state.md`
  • `compiled/personal_signal_memory.md`
  • `compiled/next_move_queue.md`
  • `compiled/post_feature_index.jsonl`
  • `compiled/cluster_wiki.json`
  • `compiled/recent_window.md`
  • `style_guide.md`
  • `concept_library.md`

If the tracker is missing, tell the user to run `/setup` first.

Before loading history or knowledge, resolve `runtime.token_mode` per `knowledge/_shared/runtime-budget.md`. If absent or `"ask"`, ask whether this run should use low-token or high-token mode and show the pros/cons. Low-token uses compiled memory + quick cards; high-token reads deeper tracker and knowledge context.

---

Execution Flow

Step 1: Mine Comment Demand

Read comments from the tracker and analyze:

  • recurring questions
  • audience pain points
  • recurring misconceptions
  • promising topic angles
  • topics that trigger the strongest emotional reactions

Validated demand from the user's own replies

If the tracker captures the user's own replies, treat them as stronger demand signals than anonymous comments:

1. user replied and the commenter asked a follow-up -> highest confidence 2. user replied with a long answer -> high confidence 3. similar question appears across multiple posts -> medium confidence 4. one-off question -> weak signal

Surface validated-demand topics before generic frequency counts.

Step 2: Read Historical Performance

Analyze:

  • recent topic distribution
  • performance by content type
  • topics with the best view / reply / share behavior
  • topics with strong DM-share potential if available

Use compiled memory first when fresh; read tracker details only for the clusters or source post IDs that drive the recommendation.

Step 2.5: Read Semantic Freshness

If compiled memory exists, use `compiled/cluster_wiki.json` and `compiled/recent_window.md` first. If `scripts/update_topic_freshness.py` has been run and tracker excerpts are needed, use:

  • `algorithm_signals.topic_freshness.semantic_cluster`
  • `algorithm_signals.topic_freshness.freshness_score`
  • `algorithm_signals.topic_freshness.fatigue_risk`
  • `algorithm_signals.topic_freshness.days_since_last_similar_post`
  • `algorithm_signals.topic_freshness.recent_cluster_frequency`

Use these fields to:

1. map each candidate into a likely semantic cluster 2. suppress candidates with `fatigue_risk = high` unless the reframe is strong 3. boost candidates whose cluster has been untouched for 14 or more days and historically performs well

If those fields are null, tell the user they can run:

python scripts/update_topic_freshness.py --tracker ./threads_daily_tracker.json
python scripts/build_compiled_memory.py --tracker ./threads_daily_tracker.json

Continue with comment demand and historical performance if freshness fields are unavailable.

Step 3: Build Candidate Topics

Generate candidates using:

  • Next Move Engine state (`account_state`, `personal_signal_memory`, and `next_move_queue`) when available
  • recent topic distribution
  • historical performance
  • comment demand
  • time since the last post
  • content-type balance
  • semantic-neighborhood fit
  • concept-library extension opportunities

Step 3.5: External Freshness Filter

Before finalizing recommendations, check each candidate with WebSearch.

Classify each candidate:

  • **Green** - recommend as-is
  • **Yellow** - recommend with a sharper angle or reframe
  • **Red** - drop because the topic is too saturated and no fresh angle is clear

Replace Red candidates when possible so the user still gets 3-5 strong options.

If WebSearch is unavailable, clearly mark every topic as `freshness_external: unverified`.

Freshness Audit

Each `/topics` run must append one JSON line per checked candidate to `threads_freshness.log`:

{"ts":"<ISO>","run_id":"<uuid4>","skill":"topics","candidate":"<topic slug>","status":"performed|unavailable|skipped_by_user","verdict":"green|yellow|red","web_search_query":"<query or null>"}

Do not mark a search as `performed` if it did not run.

Step 4: Output Recommendations

Start by naming the recommended next move in the user's language. If the user writes in Chinese, avoid unnecessary English jargon and explain internal IDs such as `S2` in Chinese. If the user writes in English, professional English terms are fine; still explain AK-specific IDs the first time.

Recommend 3-5 topics. For each one, include:

### Recommendation 1: [Topic Name]

- Source: Comment demand / Historical high performer / Concept extension / Content balance
- Reasoning: [Specific data-backed reason]
- Related historical posts: [Best
Read more
Ships withak-threads-booster

AK-Threads-Booster 是這個 skill 的內部代號與安裝 id。 AK-Threads-Booster 是一套給 Threads 創作者用的 AI skill 系統。 它不是要幫你亂寫一堆貼文,而是幫你把「選題、起草、分析、預測、復盤」變成一套有資料依據的工作流,讓你更容易發出值得被分享、收藏、討論的內容。 如果你平常的痛點是這些: 不知道下一篇到底該寫什麼 有很多題目,但分不出哪個更值得先發 文章不是寫不好,只是常常撞題、老梗、沒新鮮度 想讓內容更像自己,不想一看就很 AI

Get the whole plugin
Stats
262
Stars
179
Forks
Maintained
Maintenance
Python
Language
MIT
License
1mo ago
Last commit
3mo ago
Created

Repo: akseolabs-seo/AK-Threads-booster

Other skills on ak-threads-booster.