cat2151

GitHub repository list and project information for cat2151

Last updated: 2025-11-13

開発状況生成プロンプト(開発者向け)

生成するもの:

生成しないもの:

「Agent実行プロンプト」生成ガイドライン:

「Agent実行プロンプト」作成時は以下の要素を必ず含めてください:

必須要素

  1. 対象ファイル: 分析/編集する具体的なファイルパス
  2. 実行内容: 具体的な分析や変更内容(「分析してください」ではなく「XXXファイルのYYY機能を分析し、ZZZの観点でmarkdown形式で出力してください」)
  3. 確認事項: 変更前に確認すべき依存関係や制約
  4. 期待する出力: markdown形式での結果や、具体的なファイル変更

Agent実行プロンプト例

良い例(上記「必須要素」4項目を含む具体的なプロンプト形式):

対象ファイル: `.github/workflows/translate-readme.yml`と`.github/workflows/call-translate-readme.yml`

実行内容: 対象ファイルについて、外部プロジェクトから利用する際に必要な設定項目を洗い出し、以下の観点から分析してください:
1) 必須入力パラメータ(target-branch等)
2) 必須シークレット(GEMINI_API_KEY)
3) ファイル配置の前提条件(README.ja.mdの存在)
4) 外部プロジェクトでの利用時に必要な追加設定

確認事項: 作業前に既存のworkflowファイルとの依存関係、および他のREADME関連ファイルとの整合性を確認してください。

期待する出力: 外部プロジェクトがこの`call-translate-readme.yml`を導入する際の手順書をmarkdown形式で生成してください。具体的には:必須パラメータの設定方法、シークレットの登録手順、前提条件の確認項目を含めてください。

避けるべき例:

出力フォーマット:

以下のMarkdown形式で出力してください:

# Development Status

## 現在のIssues
[以下の形式で3行でオープン中のissuesを要約。issue番号を必ず書く]
- [1行目の説明]
- [2行目の説明]
- [3行目の説明]

## 次の一手候補
1. [候補1のタイトル。issue番号を必ず書く]
   - 最初の小さな一歩: [具体的で実行可能な最初のアクション]
   - Agent実行プロンプト:
     ```
     対象ファイル: [分析/編集する具体的なファイルパス]

     実行内容: [具体的な分析や変更内容を記述]

     確認事項: [変更前に確認すべき依存関係や制約]

     期待する出力: [markdown形式での結果や、具体的なファイル変更の説明]
     ```

2. [候補2のタイトル。issue番号を必ず書く]
   - 最初の小さな一歩: [具体的で実行可能な最初のアクション]
   - Agent実行プロンプト:
     ```
     対象ファイル: [分析/編集する具体的なファイルパス]

     実行内容: [具体的な分析や変更内容を記述]

     確認事項: [変更前に確認すべき依存関係や制約]

     期待する出力: [markdown形式での結果や、具体的なファイル変更の説明]
     ```

3. [候補3のタイトル。issue番号を必ず書く]
   - 最初の小さな一歩: [具体的で実行可能な最初のアクション]
   - Agent実行プロンプト:
     ```
     対象ファイル: [分析/編集する具体的なファイルパス]

     実行内容: [具体的な分析や変更内容を記述]

     確認事項: [変更前に確認すべき依存関係や制約]

     期待する出力: [markdown形式での結果や、具体的なファイル変更の説明]
     ```

開発状況情報

プロジェクトのファイル一覧

現在のオープンIssues

Issue #15: Add UTC/JST dual timezone display for all dates

Issue #14 requests displaying dates in both UTC and JST. UTC for search engine indexing, JST (UTC+9) for human readability.

Changes


Issue #14: PR 13 を参考に、すべての日付表示についてUTCとJSTを併記する。JSTは運用するowner向け。UTCは検索エンジン向けである

issue-notes/14.md

… ラベル: — issue-notes/14.md の内容 —

# issue PR 13 を参考に、すべての日付表示についてUTCとJSTを併記する。JSTは運用するowner向け。UTCは検索エンジン向けである #14
[issues #14](https://github.com/cat2151/cat2151.github.io/issues/14)



ドキュメントで言及されているファイルの内容

.github/actions-tmp/issue-notes/14.md

# issue Development Status のdocument生成において、最初の小さな一歩 を実現する用のプロンプト生成がされなくなっている #14
[issues #14](https://github.com/cat2151/github-actions/issues/14)

## 何が困るの?
- #11の場合
- 期待値
    - 最初の小さな一歩 : [Issue #11]のtranslateについて、現在の処理フローを確認し、外部プロジェクトから利用する際にどのような情報(翻訳対象のファイルパス、ターゲット言語設定など)が必要となるかを明確にする。これにより、再利用可能なワークフロー設計の基礎を築く。
    - 最初の小さな一歩をagentに実行させるためのプロンプト : 現在のGitHub Actions翻訳ワークフロー(translate-readme.yml、call-translate-readme.yml、translate-readme.cjs)を分析し、外部プロジェクトから利用する際に必要となる設定項目を洗い出してください。具体的には、以下の観点から調査し、markdown形式でまとめてください:1) 必須入力パラメータ(現在はtarget-branchのみ) 2) 必須シークレット(GEMINI_API_KEY) 3) ファイル配置の前提条件(README.ja.md の存在、配置場所) 4) 翻訳対象ファイル名の制約(現在はREADME固定) 5) ブランチ・トリガー設定の制約 6) 外部プロジェクトでの利用時に追加で必要となりそうな設定項目の提案
- 実際の結果
    - 最初の小さな一歩: [Issue #11]のtranslateについて、現在の処理フローを確認し、外部プロジェクトから利用する際にどのような情報(翻訳対象のファイルパス、ターゲット言語設定など)が必要となるかを明確にする。これにより、再利用可能なワークフロー設計の基礎を築く。

## close条件
- 期待値のように、Agent実行プロンプト、が生成されること

## agentに修正させた
- development-status.md を修正させた
- test green

## closeとする

issue-notes/14.md

# issue PR 13 を参考に、すべての日付表示についてUTCとJSTを併記する。JSTは運用するowner向け。UTCは検索エンジン向けである #14
[issues #14](https://github.com/cat2151/cat2151.github.io/issues/14)



.github/actions-tmp/issue-notes/15.md

# issue project_summary scripts cjs を分解し、できるだけ1ファイル200行未満にし、agentによるメンテをしやすくする #15
[issues #15](https://github.com/cat2151/github-actions/issues/15)

# 状況
- agentに、最初の小さな一歩のAgent実行プロンプトを実行させた
- 結果、以下を得た:
    - project_summary_cjs_analysis.md
- どうする?
    - 次の一手をagentに生成させてみる(翌日の日次バッチで自動生成させる)
- 結果
    - 生成させたpromptをレビューした
    - promptを修正した
    - agentに投げた
    - 結果、GitUtils.cjsを切り出しできた
    - それをリファクタリングミスがないかチェックさせた
    - agentによるチェック結果は合格だった
- どうする?
    - 次の一手をagentに生成させてみる(翌日の日次バッチで自動生成させる)
- 結果
    - 生成させたpromptをレビューした
        - promptの対象ファイルから project_summary_cjs_analysis.md が漏れていることがわかったので修正した
    - promptを修正した
    - agentに投げた
    - 結果、FileSystemUtils.cjsを切り出しできた
    - それをリファクタリングミスがないかチェックさせた
    - agentによるチェック結果は合格だった
- どうする?
    - 次の一手をagentに生成させてみる(翌日の日次バッチで自動生成させる)
- 結果
    - 生成させたpromptをレビューした
    - 今回は低品質、NG、と判断した
    - 判断基準は、project_summary_cjs_analysis.md と乖離してしまっている点。今回はハルシネーションを含んだplanである、と判断した
    - 人力でpromptを書き、planさせ、plan結果をレビューし、agentに投げた
    - 結果、CodeAnalyzer.cjsとProjectAnalyzer.cjsを切り出しできた
- どうする?
    - 次の一手をagentに生成させてみる(翌日の日次バッチで自動生成させる)
    - 備考、課題、Geminiに生成させているdocumentは2つある。かなり位置づけが違うものである。
        - projectのソースファイル分析。
        - projectのissues分析。
        - この2つについて、class, cjs, yml まで分割をするかを、あとで検討する。
        - おそらく、class分割どまりとし、ソースファイル分析結果をissues分析の参考資料としてGeminiのcontextに与える改善をする、がよい、と想定しておく。
- 課題、エラーで落ちた。昨日は落ちてない。
    - 原因、昨日のagentのリファクタリング時に、ハルシネーションで、
        - codeが破壊されていた
        - run メソッドが削除されていた
        - 一つ前のrevisionにはrun メソッドがあった
        - ほかにもcode破壊があったのかは不明、調査省略、明日の日次バッチをtestと調査として利用するつもり
- どうする?
    - 単純に一つ前のrevisionからrun メソッドを復活させ、明日の日次バッチをtestと調査として利用する
- 再発防止策は?
    - ノーアイデア。昨日それなりにagentにチェックをさせたはずだが根本的な大きなミスが発生していた。
    - 構文チェックは通っていたが、問題を検知できなかった。
    - チェックが機能していない、あるいは機能として不足している。
    - 分析。変更量が大きかったぶんミスのリスクが増えていた。
    - 対策案。もっと小さく一歩ずつ変更させる。
    - 対策案。リファクタリング時、いきなりメソッド削除をさせない。
        - まず全cjsの全メソッドのlistをさせる。
        - のち、削除対象の重複メソッドのlistをさせる。
        - そして削除planをさせる。
        - のち、削除させる。
        - さらに削除後のメソッドlistをさせる。
        - そして削除しすぎていないかを削除前後のlist比較でチェックさせる。
        - これでrunまで削除してしまうのを防止できるかもしれない。
        - これは人力からみると、おかしな話である。人力なら1つずつ移動をするだけであり、ミスのしようがない。
        - LLMの典型的なハルシネーション問題の一つである、と認識する
- 結果は?
    - test green
    - run メソッドの人力復活は成功した
    - 日次バッチで生成した次の一手のpromptを投げた
    - リファクタリング成功した。ProjectSummaryGenerator を切り出した
- どうする?
    - 次の一手をagentに生成させてみる(agentに投げるpromptを、翌日の日次バッチで自動生成させる)
- 結果
    - 先に、2つのdocument生成を、1つずつ生成できるよう疎結合にリファクタリング、をしたほうがよさそう
    - agentにそれを投げた
    - 成功した、と判断する
    - 課題、`BaseSummaryGenerator.cjs` は、baseの機能と、`ProjectOverviewGenerator.cjs`専用の機能とが混ざっている。
        - baseに集約すべきは、`ProjectSummaryCoordinator.cjs``ProjectOverviewGenerator.cjs`とが必ずどちらも使う機能、である、と考える。
        - 対策、明日以降それをagentに投げる
    - `project_summary_cjs_analysis.md` は削除とする。役目が完了した、と判断する。リファクタリング前のソース構造の分析documentであり、今は存在しているとわかりづらくなる。シンプル優先のため削除とする。
- どうする?
    - 次の一手をagentに生成させてみる(agentに投げるpromptを、翌日の日次バッチで自動生成させる)
- 結果
    - test green
    - `BaseSummaryGenerator.cjs` を切り出したのは成功した、と判断する
    - `BaseSummaryGenerator.cjs` を2分割するため、agentにplanさせた
    - レビューした
    - agentに2分割させた
    - レビューした。OKと判断する
- どうする?
    - 次の一手をagentに生成させてみる(agentに投げるpromptを、翌日の日次バッチで自動生成させる)
- 結果
    - test green
    - `BaseSummaryGenerator.cjs` を2分割は成功した、と判断する
    - issue track機能構造をリファクタリングし、以下にする
        - development status generator : baseを継承する
        - issue tracker : 汎用関数群
    - agentに実施させた
    - レビューした。OKと判断する
- どうする?
    - 次の一手をagentに生成させてみる(agentに投げるpromptを、翌日の日次バッチで自動生成させる)
- 結果
    - test green
    - DevelopmentStatusGeneratorとissue trackerのリファクタリングは成功した、と判断する
    - ProjectOverview生成機能のリファクタリングをする
    - agentに実施させた
    - レビューした。OKと判断する
- どうする?
    - 次の一手をagentに生成させてみる(agentに投げるpromptを、翌日の日次バッチで自動生成させる)
- 結果
    - test green
    - ProjectOverview生成機能のリファクタリングは成功した、と判断する
    - 課題、overviewと、developmentStatusとが混在し、dirが読みづらい。
    - 対策、shared/、overview/、development/、の3つのdirに切り分ける
    - agentに分析、planさせ、レビューし、planさせ、実施させた
    - レビューした。OKと判断する
- どうする?
    - 次の一手をagentに生成させてみる(agentに投げるpromptを、翌日の日次バッチで自動生成させる)
- 結果
    - test green
    - shared/、overview/、development/、の3つのdirに切り分けるリファクタリングは成功した、と判断する
    - agentに、agentがメンテしやすいか?の観点からレビューさせた
    - 詳細は割愛
        - `> 最優先で取り組むべきは 設定管理の一元化 と エラーハンドリングの統一 です。これにより、Agentにとって予測可能で理解しやすいコードベースになります。`
        - それは別issueで、設定変更をマストでやるので、OKと判断する
- これでagentによるメンテは十分しやすくなった、と判断する
- closeとする

.github/actions-tmp/issue-notes/4.md

# issue GitHub Actions「project概要生成」を共通ワークフロー化する #4
[issues #4](https://github.com/cat2151/github-actions/issues/4)

# prompt

あなたはGitHub Actionsと共通ワークフローのスペシャリストです。 このymlファイルを、以下の2つのファイルに分割してください。

  1. 共通ワークフロー cat2151/github-actions/.github/workflows/daily-project-summary.yml
  2. 呼び出し元ワークフロー cat2151/github-actions/.github/workflows/call-daily-project-summary.yml まずplanしてください ```

結果、あちこちハルシネーションのあるymlが生成された

このagentによるセルフレビューが信頼できないため、別のLLMによるセカンドオピニオンを試す

あなたはGitHub Actionsと共通ワークフローのスペシャリストです。
以下の2つのファイルをレビューしてください。最優先で、エラーが発生するかどうかだけレビューてください。エラー以外の改善事項のチェックをするかわりに、エラー発生有無チェックに最大限注力してください。

--- 呼び出し元

name: Call Daily Project Summary

on:
  schedule:
    # 日本時間 07:00 (UTC 22:00 前日)
    - cron: '0 22 * * *'
  workflow_dispatch:

jobs:
  call-daily-project-summary:
    uses: cat2151/github-actions/.github/workflows/daily-project-summary.yml
    secrets:
      GEMINI_API_KEY: $

--- 共通ワークフロー
name: Daily Project Summary
on:
  workflow_call:

jobs:
  generate-summary:
    runs-on: ubuntu-latest

    permissions:
      contents: write
      issues: read
      pull-requests: read

    steps:
      - name: Checkout repository
        uses: actions/checkout@v4
        with:
          token: $
          fetch-depth: 0  # 履歴を取得するため

      - name: Setup Node.js
        uses: actions/setup-node@v4
        with:
          node-version: '20'

      - name: Install dependencies
        run: |
          # 一時的なディレクトリで依存関係をインストール
          mkdir -p /tmp/summary-deps
          cd /tmp/summary-deps
          npm init -y
          npm install @google/generative-ai @octokit/rest
          # generated-docsディレクトリを作成
          mkdir -p $GITHUB_WORKSPACE/generated-docs

      - name: Generate project summary
        env:
          GEMINI_API_KEY: $
          GITHUB_TOKEN: $
          GITHUB_REPOSITORY: $
          NODE_PATH: /tmp/summary-deps/node_modules
        run: |
          node .github/scripts/generate-project-summary.cjs

      - name: Check for generated summaries
        id: check_summaries
        run: |
          if [ -f "generated-docs/project-overview.md" ] && [ -f "generated-docs/development-status.md" ]; then
            echo "summaries_generated=true" >> $GITHUB_OUTPUT
          else
            echo "summaries_generated=false" >> $GITHUB_OUTPUT
          fi

      - name: Commit and push summaries
        if: steps.check_summaries.outputs.summaries_generated == 'true'
        run: |
          git config --local user.email "action@github.com"
          git config --local user.name "GitHub Action"
          # package.jsonの変更のみリセット(generated-docsは保持)
          git restore package.json 2>/dev/null || true
          # サマリーファイルのみを追加
          git add generated-docs/project-overview.md
          git add generated-docs/development-status.md
          git commit -m "Update project summaries (overview & development status)"
          git push

      - name: Summary generation result
        run: |
          if [ "$" == "true" ]; then
            echo "✅ Project summaries updated successfully"
            echo "📊 Generated: project-overview.md & development-status.md"
          else
            echo "ℹ️ No summaries generated (likely no user commits in the last 24 hours)"
          fi

上記promptで、2つのLLMにレビューさせ、合格した

細部を、先行する2つのymlを参照に手直しした

ローカルtestをしてからcommitできるとよい。方法を検討する

test green

commit用に、yml 呼び出し元 uses をlocal用から本番用に書き換える

closeとする


### issue-notes/4.md
```md
# issue README.ja.md があるリポジトリは、Japaneseバッジを表示し、それは README.ja.html へのリンクとする #4
[issues #4](https://github.com/cat2151/cat2151.github.io/issues/4)



最近の変更(過去7日間)

コミット履歴:

6c64ae4 Add issue note for #14 [auto] 5e05052 Merge pull request #13 from cat2151/copilot/fix-last-updated-date 6968f41 Initial plan 5ea950b Add issue note for #12 [auto] 8961380 Auto-update repository list - 2025-11-11 85c2722 Update project summaries (overview & development status) [auto] 5822c4d Auto-update repository list - 2025-11-11 ff4d7f7 Auto-update repository list - 2025-11-10 3579d52 Update project summaries (overview & development status) [auto] eac2f39 Merge pull request #11 from cat2151/copilot/add-english-badge-display

変更されたファイル:

generated-docs/development-status-generated-prompt.md generated-docs/development-status.md generated-docs/project-overview-generated-prompt.md generated-docs/project-overview.md index.md issue-notes/12.md issue-notes/14.md


Generated at: 2025-11-13 07:06:04 JST