仕上げは AI との協働でやっています。事実と表現は著者本人が確認しています。
自分のGitHubプロフィールREADMEを、記事を書くと勝手に最新化される状態に作り変えました。もう手で更新していません。これを書いている自分自身が、プロフィールを作ってから長いこと中身を触っていなかった側の人間なので、同じく放置しているあなたに向けて書きます。
放置していたBefore — リンク集で中身がなかった
正直に言うと、刷新前のREADMEは薄いものでした。ポートフォリオ、LAPRAS、Prairie Card、Wantedly。外部サービスへのリンクを並べて、そこへ飛ばすだけのハブになっていました。GitHubに来てくれた人に見せる中身が、GitHub上に何もありません。
しかもCTAが受け身で、「エージェントサイトに登録しているので活用してください」のようなことを書いていました。今読み返すと、来てくれた人に丸投げしています。リンクを置いただけで完成した気になっていました。これでは誰も自分の記事を読みに来てくれません。
設計方針 — 技術発信を主役にして、手を離す
作り変えるにあたって、軸を2つ決めました。技術発信(記事の読者を増やすこと)を主役にすること。それと、自動更新できるところは手を離すことです。
最初はバッジ盛りに逃げかけました。HEROに波形ヘッダー画像(capsule-render)とタイピングアニメ(readme-typing-svg)を置いて、見栄えで満足しかけたのです。でも主役は記事だと決めたので、新設の「📝 技術発信/Writing」を本文の真ん中に据えて、書いているテーマを4つ言語化しました(AI×実務 / AI生成物の品質管理 / 初学者の「なぜ」/ 発信のはじめ方)。LAPRASスコア(技術力4.30=上位0.46% / 市場価値4.21=上位0.75%)も入れましたが、主役ではないので脇のバッジに落としました。自慢が前に出ると、記事を読みに来てほしいという肝心の話がぼやけてしまいます。
主役を決めたあとは、2つ目です。「最新記事」を手で貼り続けるのは続きません。なので自動化しました。
記事を自動で差し込む
やっていることは、READMEにマーカーを置いておいて、GitHub Actionsが毎日Qiitaのフィードを読んでマーカー間を書き換える、という処理です。
READMEにはこのマーカーを置いておきます。
<!-- BLOG-POST-LIST:START -->
<!-- BLOG-POST-LIST:END -->
差し込みは gautamkrishnar/blog-post-workflow に任せました。最初は自前でRSSをパースして整形して…と書こうとして、しばらくして「これ絶対誰か作ってるだろ」と思って探したら、案の定ありました。書いたワークフローはこれです。
name: Update latest articles
on:
schedule:
- cron: '0 0 * * *' # UTC 0時 = JST 9時
workflow_dispatch: {}
permissions:
contents: write
jobs:
update-readme:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: gautamkrishnar/blog-post-workflow@v1
with:
feed_list: "https://qiita.com/nomurasan/feed"
max_post_count: 5
commit_message: "chore: update latest articles"
template: "- 📝 [$title]($url)$newline"
cron: '0 0 * * *' はUTCなので日本時間で毎朝9時、それと手動実行(workflow_dispatch)も付けました。やることは、QiitaのRSS(https://qiita.com/nomurasan/feed)を読んで、最新5件を template の形に整形して、さっきのマーカー間に流し込む、それだけです。
これで何が変わったかというと、記事を1本書くと、翌朝にはプロフィールの「最新記事」が勝手に増えています。自分はもうREADMEを触りません。READMEのことを忘れていられます。これが地味にうれしいところです。
で、実際どうなったかというと
記事を1本書いた翌朝、プロフィールの最新記事が、ほんとうに増えていました。拍子抜けするくらいあっさり動きました。手動メンテはゼロです。
昔作ったきり放置しているプロフィールREADMEをお持ちなら、まず「最新記事の自動差し込み」から入るのをおすすめします。一度仕込めば、あとは記事を書くと勝手に最新化されます。全部やろうとすると腰が重いので、自分は手を離せるところから離しました。READMEのことを忘れていられるのが、思っていたより快適です。
参考リンク
- 自分のプロフィールリポジトリ: https://github.com/shimajima-eiji/shimajima-eiji
- gautamkrishnar/blog-post-workflow: https://github.com/gautamkrishnar/blog-post-workflow
- GitHub Actions ドキュメント: https://docs.github.com/en/actions