SuperAPI AI Directory

soia-media-compose-article-draft

Writing & research

View repository

Updated 10-16 08:46

About this skill

soia-media-compose-article-draft

Media content workflow'scompose stage (write): turn distill 's produced viewpoints into a publishable article draft.

Customer-readable description

What this skill can do

Write the viewpoints distilled by distill into a finished draft. Using the user's viewpoints as the skeleton and vault excerpts as the material, generate an article that can be handed off to publish. You can specify a WeChat Official Account/Zhihu/essay style

What the customer wants What the skill will do What the customer can see
Complete the work covered by this skill Read the user request, necessary context, and this skill's main workflow, and execute the minimum reliable steps The customer 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 customer confirmation
Execution completed Summarize successes, skips, failures, file changes, and verification results A completion receipt that can be copied into a ticket/log

How the customer uses it

  1. Describe the goal in natural language and provide the necessary inputs: files, URLs, repos, workspace, proposal, vault, or platform account status.
  2. For actions that support dry-run or preview, provide a preview first; for actions involving deletion, overwriting, sending, publishing, or writing remote state, seek customer confirmation first.

Dependencies and installation

Installation (recommended: install the entire domain plugin, installing all skills in this repository at once):

claude plugin marketplace add soia-team/soia-open-skills
claude plugin install soia-media-content@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 the plugin is installed at the same time, the same skill will have two indexes and each will drift, so it is recommended to choose one of the two:

npx skills add soia-team/soia-open-media-content-skills -g -a '*' -s soia-media-compose-article-draft -y

Configuration conventions:

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

WorkBuddy 's loading unit is role-based experts rather than plugins,npx skills add -a '*' cannot cover it, and it needs to be installed separately, see docs/install/workbuddy.md。

Logs and completion receipt

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

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

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

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

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

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

Core principles

  • The viewpoints are yours, the article is yours. compose uses the viewpoints you distilled as the skeleton and excerpts/articles from the vault as evidence, organizing them into a coherent article.Do not invent viewpoints out of thin air or add judgments you have not expressed。
  • If material is missing, ask; do not make it up.

Workflow

  1. Collect material:
    • Single article → a certain article's ## 我的看法 + ## 原文 summary
    • Topic → produced by distill mode B 50_草稿/…观点综述.md, or the "My Take" on multiple pieces under a certain MOC
  2. Confirm angle and style: first read 00_Obsidian系统/个人说明书.md for the reader and tone positioning of the corresponding platform, and set the tone accordingly; only confirm with the user the differences for this specific piece (specific angle, title direction), and no longer ask from scratch "who am I / who is the reader / what style". Only when the personal specification document does not have this file or lacks the platform definition, fall back to asking the user.
  3. Build the structure: opening (hook/question) → body (your viewpoint + arguments) → ending (elevation/action).First give an outline for the user to confirm, then start writing.
  4. Write the draft: write according to the outline, with your viewpoint as the main thread and excerpts/articles as supporting evidence (use [[]] double links to note the source).
  5. Save the draft:<vault-drafts-dir>/YYYY-MM-DD-<标题>.md,frontmatter tags:[草稿]、status:草稿、source_notes:[[…]](source notes).
  6. Receipt: inform the draft path, word count, and structure, and prompt "tell me which section you want changed; once satisfied, choose the publish-* family according to the target platform".

Title process

After finishing the first draft (after step 4 of the process, before saving the draft), select at least 3 candidate titlescovering 2 different formulas from the table below and give them to the user to choose from; do not decide on the user's behalf:

Hook formula Wording Example
Numbered list Use numbers to quantify the scope covered Three steps to build a sustainable reading system
Counterintuitive Challenge the reader's default assumptions You think the more books you read the better? Actually it's the opposite
Question Directly raise a question the reader cares about Why do you forget after reading so many books?
Contrast/conflict Present the tension between two approaches/viewpoints Others hoard books, I hoard viewpoints
Result promise Directly state what the reader will gain after reading After reading this, you can build your own reading system
Scenario immersion Bring the reader into a specific scenario When you scroll on your phone late at night, what are you avoiding?
Authority endorsement Cite credible sources/data as support Harvard research finds: fragmented reading is stealing your focus
Suspense/gap Leave an information gap to entice clicks I deleted 90% of my reading notes, keeping only this one

De-AI-flavor self-check

Before submitting, self-check against this list of high-frequency issues and lightly revise any you find: formulaic openings (in this era, with the development of...), empty big words (excellence, disruptive), fake aphorisms (sound punchy but add no information), overuse of dashes, bullet stacking (things that could be natural paragraphs but are forcibly split into lists), each sentence smooth but no informational progression between paragraphs (every sentence reads well, but together there is no main thread).

In most cases dolight revision: only handle the specific problems hit by the checklist, and do not rewrite the whole text. If the original draft clearly does not look like a finished piece (looks like a material-organizing draft, outline draft, or initial AI draft), upgrade todeep revisionand explain the reason to the user; deep revision output is written to a new file and does not overwrite the first draft.

Boundary

  • Only save to 50_草稿/, do not touch the excerpted original text.
  • Viewpoints must come from the user (distill output or direct dictation); AI must not fabricate positions.
  • When citing vault content, use a double link [[]] to indicate it.

Closed-loop position

clip(收) → organize(整理) → distill(点) → ★compose(写) → publish(发)

Upstream distill provides viewpoints; downstream publish adapts the finished text for multi-platform publishing.


Receipt upon completion

The receipt includes:

  1. What was done — a one-sentence summary of the completed work.
  2. File changes — list the files created / modified / moved (full paths); if no files were changed, state "no files changed".
  3. Next steps — optional follow-up suggestions (such as the next skill to connect to).