Communitygithub.com

haxzie/prequel

ブログ記事のテーマを調査し、執筆前に信頼できる情報源を収集します。Prequelブログの記事リサーチ、画面収録ツールや問題に関する人々の意見収集、競合の価格調査、または「リサーチして執筆」と依頼された際に最初に実行するスキルです。

prequel とは?

このスキルは、ブログ記事の執筆に先立って必要なリサーチを自動化します。主にPrequelブログの記事作成を支援するために設計されており、トピックマップの作成、Firecrawlを使った検索ストリームの実行、Prequel独自の事実確認、引用可能な情報源の評価、そして執筆スキルが期待する形式のブリーフ(調査概要)の生成を行います。このスキルは記事自体を執筆せず、検証済みの事実に基づいたチェックリストを提供することに特化しています。対応プラットフォームはClaude CodeなどのAIエージェント環境で、Firecrawl APIを通じてWeb検索、スクレイピング、サイトマップ取得を行います。リサーチ結果は`.context/research/`ディレクトリにマークダウンファイルとして保存され、後続の執筆スキル(guide-postsやcomparison-posts)に引き継がれます。

対応✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/haxzie/prequel/tree/HEAD/.claude/skills/blog-research

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

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

ドキュメント

ブログリサーチ

ブリーフ(調査概要)は、「物事を述べる記事」と「誰かが確認できる事実を述べる記事」を区別します。ブログ内のあらゆる価格、引用された不満、「ほとんどのツールは60fpsで止まる」といった主張は、他社製品に関する主張であり、誤った主張はページ上の正しい主張すべての信頼性を損ねます。このスキルは、ライターが作業するためのチェック済みリストを作成します。それ以外のことはしません。記事を執筆することはありません。

Prequelの事実はWebから取得しません。それらはリポジトリから取得され、以下の最初のセクションでその場所を示します。「Prequel screen recorder」を検索すると、古いレビューや同名の別製品が見つかります。

データの配置場所

パス内容
.context/research/<slug>.mdブリーフ。Gitignored;足場(scaffolding)であり、配布物ではありません。
apps/web/src/content/competitors.ts6つの競合ページの検証済み価格と機能
.claude/skills/comparison-posts/assets/quotes.jsonすでに取得されたすべてのReddit引用
apps/web/src/content/posts.tsブログですでにカバーしている内容

ブリーフはコミットされません。記事自体が証拠を保持するためです。価格は確認日付とともに表の下に、Redditスレッドは引用にリンクされ、記事よりも長持ちする必要があるものはcompetitors.tsまたはquotes.jsonに移動されます。コミットされたブリーフは、価格が変動しても誰も更新しないとすぐに古くなり、ページと矛盾する第二の情報源となります。

フェーズ1:トピックマップ

検索を開始する前に、記事が何であるかを書き留めて確認します。返信に3行で記述します。

  • 記事が答える検索クエリ。 「screen recorder mac no watermark」「how to record system audio on mac」。記事はこのクエリのために構築され、これがスラッグ、定義質問、FAQを決定します。

  • ジャンル。 ラウンドアップ(比較記事)は[[comparison-posts]]へ。「best <競合> alternatives」記事は[[alternatives-posts]]へ。ハウツー、解説、ピラー記事は[[guide-posts]]へ。それぞれ異なるリサーチが必要です。ラウンドアップは10個のツールの価格が必要ですが、ガイドはmacOSの事実と不満が必要です。

  • 定義質問。 すべての記事は「## What is <もの>?」セクションで始まり、その質問はブログ全体でユニークである必要があります。提案する前に既存の記事をgrepしてください:

    grep -h "^## What is\|^## How do you" apps/web/src/content/blog/*.mdx
    

次に、それが属するピラーをposts.tsから特定します。現在は3つあります:screen-recording-on-mac、product-demo-videos、screen-recording-for-youtube。ピラーがない記事はそれ自体がピラーであり、それはブリーフではなくユーザーの決定事項です。

これを提示して待ちます。間違ったジャンルでリサーチすると1時間無駄になります。

フェーズ2:Prequelの事実(リポジトリから)

Webの前にこれらを読みます。これにより、ブリーフは競合を検索エンジンが記憶している内容と比較するのではなく、Prequelが実際に提供しているものと対比できます。

事実ソース
解像度、fps、コーデック、出力apps/web/src/components/landing/LandingBody.tsx 内の SPECS
自動ファーストパスが行うこと同じファイル内の ALREADY_DONE。それ以外は自動ではありません。
価格、トライアル期間apps/web/src/lib/pricing.ts、決して記憶から数字を出さない
プロダクトFAQapps/web/src/lib/faq.ts
機能行と主張内容competitors.ts 内の FEATURE_ROWS
要件Apple Silicon、macOS 14以降、画面収録許可

[[no-dead-air-claim]]と[[site-copy]]の2つのルールは、記事と同様にブリーフにも適用されます。Prequelは無音をカット、トリミング、削除しません。カットはタイムライン上での手動パスです。また、Prequelの欠点としてブリーフに記載されるものはありません。競合が本当に優れている点がある場合、ブリーフはそれを記録してライターがその話題を出さないようにし、「執筆禁止」とマークします。

フェーズ3:検索ストリーム

Firecrawlが検索ツールです。firecrawl_searchはタイトル、スニペット、URLを返します。firecrawl_scrapeはページをマークダウンとして取得します。firecrawl_mapは、ベンダーが価格を3クリック先に隠している場合にサイトのページを一覧表示します。ジャンルが必要とするストリームを実行します。カバーするツールが3つ以上ある場合はサブエージェントとして並列で実行し、それ以外はインラインで実行します。

ストリーム1:ベンダー情報。 記事で名前を挙げるすべてのツールについて:ベンダー自身の価格ページをスクレイピングして読みます。すべてのティアと請求期間を記録します。月額料金を年額なしで引用することは、比較記事が犯しうる最も有害なエラーの一つであり、ワンクリックで確認可能だからです。日付を記録します。ページがJSレンダリングされてfirecrawl_scrapeがシェルを返す場合は、その旨を伝え、ヘッドレスChrome(メモリ内の[[headless-chrome-screenshots]])で取得します。competitors.ts内の6つについては、そこにある内容と比較し、差異をフラグします。修正はそのファイルの編集であり、ブリーフ内の数字ではありません。

このブログでツールごとに重要な事実(Prequelが優位に立つ点):各プランの最高解像度とフレームレート、無料ティアまたはトライアルの透かし、録画時間の制限、レンダリングがローカルかアップロードか、ライセンスが一回限りかサブスクリプションか、カメラが撮影後にリフレーミング可能な別トラックかどうか。

ストリーム2:人々の不満。 includeDomains: ["reddit.com"]を指定したfirecrawl_scrapeでのReddit、さらにHacker News、G2(具体的な不満がある2つ星、3つ星レビュー)、X。代替品記事の場合、各スレッドからカードを描画するのに十分な情報を記録します:タイトルそのまま、サブレディットまたはハンドル、著者、投稿日時、スコア、コメント数、最初の段落。[[alternatives-posts]]がこれらをレンダリングします。firecrawl_scrapeはreddit.comを明示的に拒否するため、スレッドのタイトル、スニペット、URLのみが返されますが、それで引用としては十分です。有効なクエリ:"<ツール> pricing" reddit、"<ツール> alternatives"、"<ツール> watermark"、"<ツール> slow"、record system audio mac reddit。

ローンチ投稿よりも実際の不満を優先します。検索結果のLoomスレッドの中には、創業者が不満のように見えるタイトルで自社の代替品を宣伝しているものがあります。最初にquotes.jsonを確認します。すでにそこに取り込まれているスレッドはpublic/blog/quotes/にスクリーンショットがあり、新しい作業は不要です。

ストリーム3:ブログで既に言及されている内容。 posts.tsと対象トピックに関する既存のMDXを読みます。ブリーフは、新しい記事がリンクすべき既存記事(5つ以上、アンカーテキスト付き)、ピラー、および新しい記事と矛盾する既存記事内の文をリストします。2つの記事がLoomの無料ティアについて異なる主張をすることは、どちらか一方だけが間違っているよりも悪いです。

ストリーム4:macOSの事実。 ガイドの場合、現在のmacOSでQuickTimeとCmd+Shift+5が何ができて何ができないか、Appleのサポートページから、URL付きで。これらはリリースごとに変わり、ブログは事実として述べます。

ストリーム5:数字。 記事が依存する可能性のある統計(音声オフ時の視聴時間、デモ動画の完了率など)を一次ソースまでたどり、日付を付け、3年以上前のものや他のブログで途切れるものは削除します。ライターがリンクできない数字は、ライターが使用できない数字です。

ソースの合格基準

  • ライブであり、ブリーフが主張するコンテンツを読み込んでいること。firecrawl_scrapeで確認します。200 OKで「アクセスは一時的に制限されています」と返すものはソースではありません。G2、Capterra、Trustpilotはすべてヘッドレスフェッチにこのように応答するため、ここでは使用できません。
  • レビューサイトよりベンダーページ。概要より詳細ページ。これらは予想以上に頻繁に矛盾します。
  • 日付付き。価格、統計、macOSの動作はすべて確認日付を記載します。
  • RedditまたはHNの引用は、スレッドURLとサブレディットまたはハンドルです。リンクなしの言い換えは引用ではなく、スクリーンショットも引用ではありません。
  • 記事がリンクするものはありません。 ブログは引用ホスト(reddit.com、news.ycombinator.com、x.com、g2.com、およびスケールフィギュア用のgithub.comまたはproducthunt.com)のみにリンクします。ベンダーURLは確認用にブリーフにのみ記載され、他には記載されません。

フェーズ4:ブリーフ

# リサーチブリーフ:<作業タイトル>

Search query: <検索クエリ>
Genre: guide | roundup | comparison | pillar
Definitional question: ## What is <もの>?     (confirmed unique)
Pillar: <スラッグ> | none (this is a pillar)

## Prequel facts used
<箇条書き、各ファイル名を記載>

## Do not write
<Prequelが競合に負けるポイント。ライターがその話題を避けるため>

## Tools
### <ツール>
Price: <すべてのティアと請求期間> Checked <日付> <ベンダーURL>
Facts: <解像度、fps、透かし、長さ制限、ローカルかアップロードか、ライセンス>
Prequel wins on: <このセクションで伝えるべき対比>
Complaints: <スレッドタイトル> (r/<サブ>) <URL>    <- in quotes.json? yes/no

## macOS facts
<箇条書き、各AppleのURLと日付>

## Numbers
<統計> <一次ソースURL> <公開日>

## Existing posts to link
/blog/<スラッグ>  "<アンカーテキスト>"  (適合理由)

## Contradictions
<既存記事が新しい記事と矛盾する可能性のある内容>

## FAQ candidates
<ユーザーが検索ボックスに入力するような質問> (from: thread URL or PAA)

## Angles
<3~5つ、人々の質問と既存の回答とのギャップから>

これを.context/research/<slug>.mdに書き込み、ライターが次に必要とする1つの質問で終了します:どのスキルが次を担当するか([[guide-posts]] または [[comparison-posts]])、およびアングルリストを事前にトリミングする必要があるかどうか。

関連スキル