AgentSkillsCN

tech-article-writing

以对话形式逐步推进技术文章的撰写,遵循金字塔原则与SCQA框架,将写作过程划分为六个阶段:明确目标→构建结构→执笔成文→反复推敲→最终定稿→发布上线。此技能适用于“想写篇文章”“技术博客”“Zenn文章”“帮忙写点东西”等各类需求。

SKILL.md
--- frontmatter
name: tech-article-writing
description: 技術記事の執筆を対話形式でステップバイステップで進めるスキル。ピラミッド原則とSCQAフレームワークに基づき、目的設定→構成設計→執筆→推敲→公開設定の6フェーズで記事を完成させる。「記事を書きたい」「技術ブログ」「Zenn記事」「執筆を手伝って」などのリクエストで使用。

技術記事執筆スキル

技術記事の執筆をユーザーと対話しながら6つのフェーズで進めるスキルです。

基本原則

ピラミッド原則

  • 結論を先に述べ、その後に根拠・詳細を展開する
  • 読者は最初に「何が言いたいのか」を把握できる
  • 詳細は「結論→キーポイント→詳細情報」の階層構造で整理する

SCQAフレームワーク

記事の導入部を構成するフレームワーク:

  • S (Situation): 読者が共感できる現状・背景
  • C (Complication): 状況を脅かす課題や問題
  • Q (Question): 読者が持つべき問い
  • A (Answer): 提案する解決策・結論(=記事の主題)

詳細は references/pyramid-scqa-guide.md を参照。


6フェーズワークフロー

Phase 1: 目的と読者の確認

目的: 記事のゴールと想定読者を明確にする

エージェントの質問例:

  1. 「この記事で読者に何を伝えたいですか?」
  2. 「想定読者はどのような人ですか?(例:初心者、中級者、特定技術の経験者)」
  3. 「読者がこの記事を読む前に知っておくべき前提知識はありますか?」
  4. 「読者が記事を読み終わった後、どのような状態になっていてほしいですか?」

完了条件: 以下が明確になったらPhase 2へ進む

  • 記事のゴール(1文で表現)
  • 想定読者像
  • 前提知識
  • 読了後の期待状態

成果物の記録形式:

markdown
<!--
## 目的定義
- ゴール: [記事のゴール]
- 想定読者: [読者像]
- 前提知識: [必要な前提知識]
- 読了後の状態: [期待する状態]
-->

Phase 2: SCQA導入部の設計

目的: 読者を自然に本題へ導く導入部を設計する

エージェントの質問例:

  1. 「読者が現在置かれている状況・背景は何ですか?(Situation)」
  2. 「その状況において、どのような課題や問題が発生していますか?(Complication)」
  3. 「読者が抱くであろう疑問は何ですか?(Question)」
  4. 「その疑問に対する答え(この記事の結論)は何ですか?(Answer)」

完了条件: S/C/Q/Aの4要素がすべて定義されたらPhase 3へ進む

成果物の記録形式:

markdown
<!--
## SCQA
- Situation: [状況]
- Complication: [問題]
- Question: [疑問]
- Answer: [答え/結論]
-->

Phase 3: ピラミッド構造でセクション構成

目的: 記事全体のアウトラインをピラミッド構造で設計する

エージェントの進め方:

  1. Phase 2のAnswerを記事の「結論」として確認
  2. 結論を支える「キーポイント」を3〜5個程度洗い出す
  3. 各キーポイントを1セクションとして構成
  4. 各セクション内で扱う詳細トピックを列挙

エージェントの質問例:

  1. 「結論『[Answer]』を支える主要なポイントは何ですか?」
  2. 「それぞれのポイントについて、どのような詳細を説明しますか?」
  3. 「セクションの順序はこれでよいですか?依存関係はありますか?」

完了条件: 以下が確定したらPhase 4へ進む

  • セクション一覧(タイトルと概要)
  • 各セクションの詳細トピック
  • セクションの順序

成果物の記録形式:

markdown
<!--
## アウトライン
### 導入
- SCQA形式で問題提起と結論を提示

### セクション1: [タイトル]
- [詳細トピック1]
- [詳細トピック2]

### セクション2: [タイトル]
- [詳細トピック1]
- [詳細トピック2]

### まとめ
- 結論の再確認
- 次のアクション
-->

Phase 4: 各セクションの執筆

目的: セクション単位で執筆→レビュー→修正のループを回す

エージェントの進め方:

  1. アウトラインの最初のセクションから順に執筆
  2. 1セクション執筆したらユーザーにレビューを依頼
  3. フィードバックを受けて修正
  4. ユーザーがOKを出したら次のセクションへ
  5. すべてのセクションが完了するまで繰り返す

各セクション執筆時の確認事項:

  • ピラミッド原則にしたがっているか(結論→根拠→詳細)
  • 想定読者のレベルに合っているか
  • 前のセクションとの繋がりは自然か
  • コード例が必要な場合は含まれているか

エージェントのレビュー依頼例:

text
「[セクション名]」を執筆しました。

[執筆した内容]

以下の点についてフィードバックをお願いします:
1. 内容は期待通りですか?
2. 追加・削除したい情報はありますか?
3. 表現や説明の仕方で気になる点はありますか?

問題なければ「OK」と言っていただければ次のセクションに進みます。

完了条件: すべてのセクションがユーザー承認を得たらPhase 5へ進む


Phase 5: 全体の推敲

目的: 記事全体の品質を向上させる

エージェントのチェック項目:

  1. 一貫性チェック

    • 用語の統一(同じ概念に異なる言葉を使っていないか)
    • 文体の統一(です/ます調、である調の混在がないか)
    • 時制の統一
  2. 冗長表現の削除

    • 不要な繰り返し
    • 「〜することができる」→「〜できる」
    • 「〜という」の多用
  3. 読者視点でのレビュー

    • 導入から結論まで論理が通っているか
    • 飛躍している説明はないか
    • 専門用語に説明が必要か
  4. 技術的正確性

    • コード例は動作するか
    • バージョン情報は正確か
    • リンクは有効か

エージェントの報告形式:

text
全体を推敲しました。以下の点を修正・改善しました:

### 修正箇所
1. [修正内容1]
2. [修正内容2]

### 確認が必要な箇所
1. [確認事項1]

全体を通して読んでいただき、最終確認をお願いします。
問題なければ「OK」と言っていただければPhase 6(公開設定)に進みます。

完了条件:

  • 推敲が完了しユーザーが最終承認
  • HTMLコメント(目的定義、SCQA、アウトライン)を削除

Phase 6: Zenn frontmatterの設定

目的: Zenn投稿用のメタデータを設定する

エージェントの質問例:

  1. 「記事のタイトルを決めましょう。現在の内容から以下を提案しますが、いかがですか?」
    • 提案例を3つ程度提示
  2. 「記事を表す絵文字を選んでください。提案:[絵文字候補]」
  3. 「記事のタイプを選んでください: tech(技術記事)/ idea(アイデア)」
  4. 「トピック(タグ)を最大5つ選んでください。提案:[トピック候補]」
  5. 「公開設定: true(公開)/ false(下書き)どちらにしますか?」

Zenn frontmatter形式:

yaml
---
title: "[記事タイトル]"
emoji: "[絵文字]"
type: "tech" # tech: 技術記事 / idea: アイデア
topics: ["topic1", "topic2", "topic3"]
published: false
---

完了条件: frontmatterが記事の先頭に追加され、ユーザーが確認したら完了


フェーズ間の移行

各フェーズの完了時、エージェントは以下を確認する:

text
Phase [N] が完了しました。

【このフェーズの成果】
[成果の要約]

Phase [N+1]「[フェーズ名]」に進んでよろしいですか?

ユーザーが「OK」「進んで」「次へ」などと応答したら次のフェーズへ進む。 ユーザーが修正を求めた場合は、現在のフェーズ内で対応する。


中断・再開

途中で中断する場合、エージェントは現在の進捗状況をHTMLコメントとして記事ファイルに記録する:

markdown
<!--
## 進捗状況
- 現在のフェーズ: Phase [N]
- 完了済み: Phase 1, 2, ...
- 次のアクション: [次にやること]
-->

再開時はこのコメントを読み取り、続きから進める。