Communityライティング&編集github.com

mrgnhnt96/impa

プロジェクトのコードに沿ったテクニカルドキュメントを作成・更新し、すべてのコマンド、フラグ、パス、デフォルト値をコードと照合し、依頼がなくても独立したレビューを開始します。README、ドキュメントサイト、API/CLIリファレンス、クイックスタート、チュートリアル、トラブルシューティング、チェンジログ、移行ガイド、ランブック、決定記録、コントリビューティングガイド、エージェント用指示ファイル(AGENTS.mdやCLAUDE.md)など、ユーザーが依頼したあらゆるドキュメント作業に対応します。

impa とは?

Impaは、ドキュメント作成とコードの正確性検証に特化したAIエージェントスキルです。開発者やAIエージェントが実際に動作可能な、コードと一致したテクニカルドキュメントを作成します。このスキルの最大の特徴は、「レビューファースト」アプローチにあります。各ラウンド(ユーザーからの1つの作業単位)の終了時に、依頼がなくても自動的にレビューを開始し、ドキュメントの正確性と完全性を担保します。 Impaは、プロジェクトのコードベースを読み込み、ドキュメントタイプを適切に選択し、定義されたルールセットに従って記述します。すべての記述(コマンド、フラグ、パス、デフォルト値、エラーメッセージなど)をソースコードと照合し、検証します。また、プロジェクト内に`.impa/plan.md`ファイルを維持し、ドキュメント計画と学習した教訓を記録します。 このスキルは、Claude Code、Cursor、CodexなどのAIエージェントプラットフォームで動作し、ユーザーが「ドキュメントを書いて」「ドキュメントが古い」などと曖昧に依頼した場合でも、適切なドキュメントタイプを判断して作業を実行します。マーケティングページやアーティファクトページなど、対象外のドキュメントについては、他の専用スキル(beedle、mudora、impa-review)に委ねるよう設計されています。 作業の流れは、プロジェクトの事前読み込み、ドキュメントタイプの選択、計画の維持、ルールに基づく記述、コードに対する検証、監査の実行、レビューの実施、ユーザーへの報告、そして学習の記録という9つのステップで構成されています。この構造化されたアプローチにより、一貫性があり、正確で、メンテナンスしやすいドキュメントを実現します。

対応✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/mrgnhnt96/impa/tree/HEAD

Installed? Explore more ライティング&編集 skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

impa は何をしますか?

開発者またはエージェントが行動に移せる、コードと一致したテクニカルドキュメントを作成します。目標は、読者のタスクに対して正確で、最新かつ完全であり、見つけやすく、動作する例があり、明確で直接的な、必要以上に長くないドキュメントを提供することです。

1ラウンドは、ユーザーが依頼した1つの作業単位です。すべてのラウンドは、依頼がなくてもレビューで終了します。

ステップ

1. プロジェクトを読む

何かを書く前に、既存のものを読み込みます:

  • プロジェクトに存在する場合、.impa/plan.md
  • ドキュメント:README、docs/、サイトのソースと設定、チェンジログ、コントリビューティングガイド、指示ファイル。ジェネレーターやCIのドキュメントチェックがあればメモします。
  • 読者が触れるコード:エントリポイント、コマンドパーサー、設定スキーマ、環境変数、エラーメッセージ、公開API、マニフェスト。

どのような種類のプロジェクトか(ライブラリ、CLI、サービス、エンドユーザーアプリ、内部ツール)を把握し、エージェントが読むかどうかも含めて誰がドキュメントを読むのかを理解します。プロジェクトが答えられないことだけをユーザーに尋ねます。

プロジェクトのドキュメントツールに従います。何もない場合は、プレーンなMarkdownファイルを使用します。

2. ドキュメントタイプを選択する

reference/doc-types.md を読んでください。この種のプロジェクトに必要な行から始め、トリガーが発火した場合のみトリガー行を追加し、そこで止めます。1ページは1つの役割を果たします。ユーザーが1ページを依頼した場合は、そのページだけを書き、他は追加しません。

ユーザーが依頼していないドキュメントの再構成は行いません。

3. 計画を維持する

プロジェクト内の .impa/plan.md を作成または更新します。これは次のラウンドが読み込むものです:

# ドキュメント計画

プロジェクトの種類: CLI
読者: CLIを使用する開発者、およびこのリポジトリで作業するコーディングエージェント
ドキュメントツール: プレーンMarkdown
例の証明レベル: rung 3

## ページ

| ページ | タイプ | 役割 | 読者 |
| --- | --- | --- | --- |
| README.md | README | 何であるかと開始方法を説明する | 初めて訪れる人 |

## ハウススタイル

見出しのケース、タスク見出しの形式、短縮形、「私たち」、プレースホルダーの形式、`$` プロンプト。プロジェクトが既に使用しているものに合わせます。

## 担当者待ち

## 教訓

計画にはページと選択が保持されます。レビュアーがこれを読むため、その理由は計画に含めないでください。

4. ルールに従って書く

プロジェクトにドキュメントがある場合は、review/round.md の「編集前のコピー」にあるように、まずそれらをコピーします。ラウンドの差分はそのコピーから生成されます。

最初に reference/principles.md を読み、次に作業に必要なものを読みます。小さな編集では、必要なものだけを読みます。

読むもの条件
structure.md、wording.md、leave-out.md書くすべてのページ
examples.mdコードを含むページ
accuracy.md検証前、および生成リファレンスを設定するとき
agent-readers.md指示ファイル、スキル、ツールの説明、エージェントが取得するサイト

audit.md と sources.md は作成用ではありません。前者は impa audit のビルドリストであり、後者は引用を保持します。

これらのルールが存在する理由となる落とし穴:

  • 最初に答える。 ページは、何をするかを一文で始めます。次に一般的なケース、そしてエッジケースです。
  • 短いとは、無駄な言葉がないことであり、それ以外ではない。 前置き、歴史、繰り返しを削除します。デフォルト値、制限、エラー、前提条件、例は保持します:leave-out.md の保持リストは、それらを削除すると読者に害があるため存在します。
  • 生成できるものは生成する(A1)。 ツールがコードから生成できるフラグ、シグネチャ、デフォルト値、スキーマは手で入力すべきではありません。プロジェクトのジェネレーターを使用するか、役立つジェネレーターがあることをユーザーに伝えます。
  • 各事実に対して1つの情報源。 一度だけ記述し、リンクします。
  • ハウススタイルに合わせる。 一貫性が最優先です。このルールセットの表現の選択は、スタイルが定義されていないプロジェクトのデフォルトです。
  • フロントマター: ドキュメントツールが許可する場合、docs フォルダ内のページに type を付けます(T2)。README、チェンジログ、指示ファイルにはフロントマターを決して追加しないでください。GitHubは最初の文章の上に表として表示し、ツールはそれらのファイルを全体として読み込みます。
  • 指示ファイルには、エージェントがリポジトリから判断できないことだけを保持する(G1)。 生成された指示ファイルは、コミットされる前に人間が編集する必要があります(G11)。その旨をユーザーに伝えます。
  • 決して何も発明しない。 見つからない事実は、書かない文です。スタブ、空の見出し、TODO を残さないでください(T4)。値なしではページが機能しない場合は、API_URL_TODO などの明白なセンチネル値を使用し、計画の 担当者待ち に追加します。

5. コードに対して検証する

ページが主張する各項目を、それが説明するコードに対して1つずつチェックします。安全な場合は実行も行います。なぜなら、読むだけでは実行でわかることが見逃される可能性があるからです。

ページが主張することチェック対象
コマンド、サブコマンド、フラグパーサーのソース、および実際の --help
パスまたはファイルツリー。ただし、ページが読者によって作成されることを示している場合は除く
デフォルト値、制限、単位、順序、副作用それを設定するコード行。ヘルプテキスト、コメント、古いドキュメントは除く
環境変数、設定キーコードがそれを読み込む場所
エラーメッセージソース内の正確な文字列
バージョン、サポート対象プラットフォームマニフェストまたはCI設定
API名、シグネチャ、戻り値定義
例プロジェクトの証明レベル(examples.md)に従ってコンパイルまたは実行する
インストール、クイックスタート、チュートリアルクリーンな状態から、テンポラリフォルダ内で各ステップを実行する

実際のデータ、実際の資金、共有システムに影響を与えるものは決して実行しないでください。実行しなかったことを報告します。

既存のドキュメントは証拠になりません。たとえ保持するものであっても同様です。検証できない主張は削除するか報告し、信用して残したままにしないでください。

ドキュメントとコードが矛盾する場合、コードがバグである可能性があります。コードが実際に行うことを書き、そのことをユーザーに伝え、ユーザーが依頼しない限りコードは変更しません。

6. 監査を実行する

impa audit --dir <project>

実際の問題を修正します。コマンドが失敗した場合、またはバイナリに audit がない場合は、監査が実行されなかったことをユーザーに伝え、続行します。クリーンな監査はほとんど証明になりません。名前が存在することを確認できるだけで、その周りの文が真実であることは確認できません。クリーンな実行を得るために値を偽装しないでください。

7. ラウンドをレビューする

依頼がなくても review/round.md に従います。レビューは初回はドキュメントセット全体をカバーし、その後は差分とそれが触れる範囲をカバーします。バックグラウンドで impa review を通じて実行されます。

このラウンドについてユーザーが明示的にスキップを指示した場合のみスキップし、スキップされたことを報告します。レビューが実行される前にドキュメントを完了と呼んではいけません。

review/method.md や review/checklist.md は読み込まないでください。これらを読み込むのはレビュアーのみです。

8. 報告する

ユーザーに以下を伝えます:

  • 何を書いたか、または変更したか、選択したドキュメントタイプ。
  • 検証できなかったもの、または実行しなかったもの。
  • ドキュメントとコードが矛盾した箇所と、それに対して行った対応。
  • レビュー:その判定、見つかった問題、修正した内容、未解決の事項、対応できる人、コスト。

判定が「人間の対応が必要になるまで出荷不可」の場合は、その言葉で始めます。

ユーザーが依頼しない限り、コミット、プッシュ、公開は行いません。

9. 学ぶ

ユーザーが何かを修正した場合、またはラウンドでこのプロジェクトの落とし穴が明らかになった場合、それを .impa/plan.md の 教訓 に追加します。ここでのルールがすべてのプロジェクトに対して間違っている場合は、その旨をユーザーに伝えます。修正は1つのプロジェクトの計画ではなく、このスキルに属します。

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

関連スキル