SuperAPI AI Directory

soia-pkm-distill-article-opinion

Writing & research

View repository

Updated 10-16 08:46

About this skill

soia-pkm-distill-article-opinion

Turn "bookmarks" into "viewpoints". This is the PKM closed loop 收→整理→点→写→发 from input to output, thelifeline link (point)—specifically curing "bookmark a ton, nothing settles in your head,我的看法the section stays empty forever".

Client-readable description

What this skill can do

Refine bookmarked articles in an Obsidian vault into your own viewpoints. Read the original text → ask one Socratic question at a time → you answer verbally → the AI organizes your answers into a "My View" section (the content is yours; the AI only helps put it into words, never thinks or writes for you), and gives you a receipt when done. Also supports topic aggregation: distill the viewpoints of multiple articles under one MOC into a single overview

What the client wants What the skill will do What the client can see
Complete the work covered by this skill Read the user request, necessary context, and this skill's main workflow, and execute the minimal reliable steps The client will see Obsidian/vault file changes, terminal logs, generated artifact paths, and the final receipt.
Missing dependencies, permissions, configuration, or key Stop actions that require external state, and clearly state what is missing Install commands, application addresses, configuration paths, or questions requiring client confirmation
Execution complete Summarize successes, skips, failures, file changes, and verification results A completion receipt that can be copied into a ticket/log

How the client uses it

  1. State the goal in natural language and provide the necessary inputs: files, URLs, repos, workspaces, proposals, vaults, or platform account status.
  2. For actions that can be dry-run or previewed, give a preview first; for anything involving deletion, overwriting, sending, publishing, or writing remote state, ask the client for confirmation first.

Dependencies and installation

Installation (recommended: install the entire domain plugin, setting up all skills in this repo at once):

claude plugin marketplace add soia-team/soia-open-skills
claude plugin install soia-pkm-vault@soia

If you only want this one skill, you can use the npx route. Note that the skill will land in the shared source of truth ~/.agents/skills; if you also install the plugin, the same skill will appear as two indexes and each will drift, so it is recommended to choose one of the two:

npx skills add soia-team/soia-open-pkm-vault-skills -g -a '*' -s soia-pkm-distill-article-opinion -y

Configuration conventions:

~/.config/soia-skills/soia-pkm-distill-article-opinion/config.yml
SOIA_PKM_DISTILL_ARTICLE_OPINION_CONFIG_FILE=<custom-config-path>
  • If this skill does not need private configuration, you can skip creating config.yml。
  • If it needs an API key, cookie, session, provider home, or local path, it can only go into private config.yml, the process environment, or the provider's own login state; it must not be written into the repo, vault body, or logs.
  • Third-party skills can only declare dependencies and installation methods; do not directly modify third-party skill files.

WorkBuddy The loading unit ofnpx skills add -a '*' cannot cover it; it needs to be installed separately, see docs/install/workbuddy.md。

Logs and completion receipt

Every execution must let the client see the process and results. Minimum receipt format:

完成:<一句话说明本次完成了什么>。

日志摘要:
- started: <检查到的输入/配置/依赖,不打印秘密值>
- processed: <数量或范围>
- created/updated: <数量或路径>
- skipped/failed: <数量和原因>

文件变化:
- <绝对路径或“未改动文件”>

验证:
- <运行过的检查、命令或人工核对点>

问题与下一步:
- <缺 key / 缺依赖 / 需要客户确认 / 建议下一条命令;没有则写“无”>

Core principles (non-negotiable)

The content belongs to the user; the AI only helps ask it out and put it into words—never thinks or writes for them.

  • The AI's responsibility: understand the original text, ask good questions, and organize the user's spoken answers into fluent first-person text.
  • AI does not: fabricate opinions, speak for the user, or add judgments the user did not say.
  • User did not answer → do not write. Better to leave it blank than to make it up.

Mode A: Single-article distillation (default)

Trigger: "add my views to this article", "how do I see this article", "distill this article"

Process:

  1. Locate the article. When the user says "this article" = the article involved in the current conversation; otherwise use the filename / title under <vault-articles-dir>/ and find it via Glob/Grep.
  2. Read the original text(read ## 原文 / body paragraphs).
  3. Align on the skeleton: restate the article's core argument in 1–2 sentences and have the user confirm that you understood it (also gives him a starting point for thinking).
  4. Throw out only one question at a time(go through the "three angles" below one by one, and only throw the next one after getting an answer): target this article's specific arguments, useplain language, and givea one-sentence example answerto lower the threshold.
    • ⚠️ Practical lessons (must be followed):Never throw out 3 questions + a table at once—it will directly overwhelm the user, and he won't know where to start answering. One at a time, with examples, is the only way the user can answer.
  5. Stop and wait for the user's answer. The user may be colloquial, answer only one or two sentences, or say "no thoughts" and skip; all are fine.
  6. After asking the three angles (or the user indicates it's enough),organize it into text: organize the user's answers into a smooth first-person "My Views". Keep his opinions, judgments, and tone, and only polish and structure,do not add material。
  7. Write to: Edit the article's ## 我的看法 section. Empty section / placeholder comment → fill directly; existing content → do not overwrite, ask "append or replace".
  8. Give a receipt(see §A receipt must be given to the user after execution).

Three-angle questioning method (ask one at a time)

Angle What to ask Purpose
① Stance Do youbuy intothe author's core argument? Does it get to the essence, or is it overstated for traffic? Force out an explicit attitude
② Experience test Which onematches your experience/observations? Which one is exaggerated or inconsistent? Test with personal experience
③ Meaning to you This articlechanged what judgment of yours, or made you want to do what? Move from "read it" to "how do I use it"

Mode B: Topic aggregation

Trigger: "distill topic X into a viewpoint", "how do I see the Agent development area overall"

  1. Read _MOC/<分类>/<主题>.md to get the article list.
  2. Read each article's ## 我的看法(already distilled single-article viewpoints).
  3. Most are empty → prompt: "Of the N articles in this topic, only M have distilled viewpoints. It is suggested to run Mode A on a few first." Let him choose which few to distill first.
  4. Once there is material, synthesize it intoone overall judgment(your core view + each article as evidence).
  5. Place in <vault-drafts-dir>/YYYY-MM-DD-<主题>-观点综述.md,tags:[草稿]。
  6. This draft is the input to soia-pkm-compose-article-draft .

Write boundaries

  • only touch ## 我的看法(Mode A) orcreate newdraft (Mode B). Never touch ## 原文 / ## 摘要 / frontmatter。
  • contentmust come from the user's answer, the AI does not fabricate.
  • ## 我的看法 is normally left blank for the user; distill isthe user actively requestshelp putting it into words, and what is written is still the user's own words.

After execution, a receipt must be given to the user

Writing is not the endpoint. After writing, be sure to output the result to the user; do not complete it silently:

  1. Where it was written: which article's ## 我的看法(give the file name / path).
  2. Opinion summary: restate the view just written in 1–2 sentences so the user can confirm at a glance.
  3. Invite fine-tuning: prompt "This is your view; tell me which sentence you want changed."

The topic aggregation mode is the same: tell where the draft was placed and what the core argument is.

Position in the closed loop

clip-*(收) → organize(整理) → ★distill(点:收藏→观点) → compose(写) → publish(发)
  • Upstream:soia-pkm-clip-* archives the article in.
  • Downstream:soia-pkm-compose-article-draft turns the views produced by distill into finished writing.
  • Methodologyreference huashu-weread-advisor 's alchemy (the reading line's highlighting → note distillation)—distill is its counterpart in thearticle line. Only borrow the method; do not modify its files (third-party skill).

Third-party skill relationships

Third-party skill relationship to soia-pkm-distill-article-opinion relationship with
huashu-weread-advisor (alchaincyf/huashu-weread) Method reference: borrow alchemy's questioning and distillation approach, but this skill does not call it or require it to be installed
weread-skills (Tencent/WeChatReading) Non-dependency: this skill handles vault articles and does not directly read the WeChat Reading API
book-to-skill Non-dependency
find-skills Non-dependency