Skip to content
cccskills
FreePublished on GitHub

writing-dev-diary

「開発日誌更新」「開発日誌作って」の言及時に使用。esa-llm-scoped-guardで開発日誌を新規作成・更新します。

The English summary is being prepared. Showing the original description.

See how to install

Files included (1)

  • SKILL.md10.2 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

esa開発日誌の作成・更新

esaに開発日誌を投稿・更新するスキルです。esa-llm-scoped-guard CLIを使用して、許可されたカテゴリ配下の記事のみを安全に編集します。

禁止事項

<important>
  • YAMLファイルは必ず.claude_work/dev_diary.yamlに作成すること(ファイル名固定)
  • esa MCPのツール(create_esa_post, update_esa_post, read_esa_post, read_esa_multiple_posts, search_esa_posts)は使用禁止。既存記事の取得には必ず esa-llm-scoped-guard fetch コマンドを使用すること
  • サブエージェントへの指示: Plan modeでサブエージェントや探索用エージェントを起動して開発日誌を確認させる場合、必ず esa-llm-scoped-guard fetch で取得した .claude_work/dev_diary.yaml を参照するよう指示すること。esa MCPツールで直接取得させてはいけない
  • YAMLスキーマは必ずesa-llm-scoped-guard -helpで確認してから生成すること
  • Planモードでも投稿可能: .claude_work/ は .gitignore の対象であり、リポジトリの変更にならないため、Planモードでも書き込みが許可されている。esa-llm-scoped-guard コマンドの実行も同様。「Planモードだからできない」と拒否してはいけない
</important>

出力品質ルール

<important>
  • 箇条書きによる構造化を必ず行うこと: 長い文章の羅列は禁止。情報は必ず箇条書き(ネストも活用)で構造化する
  • 内容を省略・要約しないこと: ユーザーが提供した情報や調査結果をbodyに記載する際は省略せず、完全な形で記載する。「キーメッセージ」「要点のみ」への圧縮は禁止。ただし、タスクのdescriptionフィールドの更新(スコープ追記等)はこのルールの対象外
  • 開発日誌に直接書くこと: 別ファイル(summary.md等)に書き出さず、開発日誌のbodyに直接記載する
  • タスクのstatus変更時は整理も行うこと: タスクが完了・削除された場合、開発日誌の記載も見やすく整理し直す
  • self-containedにすること: 開発日誌だけを読めば作業の全体像・背景・決定事項が把握できるようにする。外部の会話コンテキストに依存しない記述を心がける
  • コード関連の記載はコードフェンスで囲むこと: ファイル名、関数名、コマンド、エラーメッセージなどコード関連の内容は、インラインコード(`xxx`)またはコードブロック(```)で囲む
</important> <examples>

良い例(箇条書き・ネスト活用・情報完全):

tasks:
  - description: BigQueryクエリ最適化
    status: completed
    details:
      背景: 月次集計クエリが30分以上かかっている
      アプローチ:
        - パーティションプルーニングの適用
        - 不要カラムの除外(SELECT * → 必要カラムのみ)
        - マテリアライズドビューの検討
      結果: 実行時間を30分→5分に短縮

悪い例(構造化不足・省略):

BigQueryクエリを最適化した。パーティションプルーニングの適用と不要カラムの除外により、月次集計クエリの実行時間を改善した。マテリアライズドビューも検討した。
</examples>

使用タイミング

<trigger>

以下のトリガーワードで発動します:

  • 「開発日誌を作って」: 新規作成
  • 「開発日誌を更新」+ esaのURL: 指定されたURLの記事を更新
  • 「開発日誌を更新」(URLなし): ユーザーに開発日誌のURLを確認
</trigger>

実行手順

<procedure>

手順1: YAMLスキーマを確認

最初に必ず最新のYAMLスキーマを確認してください:

esa-llm-scoped-guard -help

手順2: トリガーによる条件分岐

<decision-criteria name="trigger-flow">
トリガーURL確認次の手順
「開発日誌を作って」不要手順4(新規作成)
「開発日誌を更新」+ URLURLあり手順3(更新)
「開発日誌を更新」(URLなし)ユーザーに確認URL取得後、手順3または手順4
</decision-criteria>

パターンA: 「開発日誌を作って」の場合

新規作成モードで、手順4(YAML更新)へ直行してください。

パターンB: 「開発日誌を更新」+ URLの場合

  1. ユーザーが提示したesaのURLからpost_numberを抽出(例: https://yasuhisa.esa.io/posts/123 → 123)

  2. 手順3(YAML取得)へ進む

パターンC: 「開発日誌を更新」(URLなし)の場合

  1. ユーザーに質問して、開発日誌のURLを確認:

    • 質問: 「更新する開発日誌のURLを教えてください」
    • 選択肢:
      • 「URLを提供する」→ ユーザーからURL入力を受け取る
      • 「新規作成する」→ 新規作成モード(手順4へ)
  2. URLが提供された場合:

    • URLからpost_numberを抽出
    • 更新モードで手順3へ
  3. 新規作成を選択した場合:

    • 新規作成モードで手順4へ

手順3: 既存記事のYAML取得(更新時のみ)

目的: 既存記事からYAMLを取得し、差分ゼロの状態を作る

3.1 fetchコマンドで埋め込みYAMLを取得

  1. fetchコマンドで既存記事からYAMLを直接取得:

    esa-llm-scoped-guard fetch -post <post_number> | tee .claude_work/dev_diary.yaml > /dev/null
    
  2. fetch成功の場合: YAMLが取得できたので、そのまま手順4へ進む(差分ゼロ確認は不要)

  3. fetch失敗の場合: 古い形式(YAML埋め込みなし)の記事のため、更新はできません。ユーザーに以下を報告してください:

    • 該当記事は古い形式でYAMLが埋め込まれていないため、esa-llm-scoped-guardでの更新ができません
    • 手動でesaの記事を編集するか、新規記事として作成し直すことを検討してください

手順4: YAML更新

新規作成の場合

  1. Writeツールで.claude_work/dev_diary.yamlを作成(ファイル名固定、常に上書き)

  2. YAMLの構成内容:

    • create_new: trueを指定、post_numberは含めない
    • category: Claude Code/開発日誌/yyyy/mm/dd形式(今日の日付)
    • name: 日付ベースのタイトル
    • body: 会話コンテキストから抽出したタスク情報を構造化形式で作成

更新の場合

  1. 手順3で取得したYAMLに変更を加える(Editツール使用)

    • 重要: 既存のcategory、name、post_numberは維持すること(create_newは含めない)
    • タスクの追加・更新
    • GitHub URL状態の反映(下記参照)
  2. GitHub URL状態の確認と反映:

    a. body.tasksからgithub_urlsを抽出(URLがなければスキップ)

    b. 各URLの状態と内容をgh CLIで確認

<example name="gh-cli-status-check">

PRの場合:

gh pr view <URL> --json state,isDraft,title,body

Issueの場合:

gh issue view <URL> --json state,title,body
</example>

c. <github-status-mapping>に従ってGitHub状態を判定

d. <status-mapping>に従ってタスクstatusを更新

e. タスクdescriptionの更新要否を判定(<description-update>参照)

<decision-criteria name="description-update">

以下のいずれかに該当する場合、タスクdescriptionを更新:

判定条件説明
タイトル差分GitHubタイトルがタスクdescriptionと実質的に異なる(スコープの追加・削除)
本文の追加スコープbodyに、タスクdescriptionにない追加機能・領域が記載されている
前提/実装変更bodyに前提や実装アプローチの変更が記載されている
</decision-criteria>

更新内容の形式:

  • 基本: GitHubタイトルをそのまま使用
  • スコープ拡大がある場合: タイトル + "(+ 追加スコープ: ...)"のように本文の要点を短く追記

手順5: 投稿前確認

  1. validateで形式確認:

    esa-llm-scoped-guard validate -yaml .claude_work/dev_diary.yaml
    
  2. diffで差分が意図通りか確認:

    esa-llm-scoped-guard diff -yaml .claude_work/dev_diary.yaml
    
    • 新規作成: 全行が+で表示される(全体の最終確認)
    • 更新: 意図した変更のみか確認(消しすぎていないか、意図しない変更がないか)
    • 問題がある場合のみユーザーにdiff結果を表示して確認を求める

手順6: 投稿

ユーザーの承認後、投稿を実行:

esa-llm-scoped-guard post -yaml .claude_work/dev_diary.yaml

手順7: 結果報告

  • 成功時: 記事URLをユーザーに報告
  • 失敗時: エラー内容を確認し、YAMLを修正して手順5から再実行
</procedure>

参照データ

<context name="github-status-mapping">
リソース条件判定結果
PRstate=MERGEDマージ済み
PRstate=OPEN, isDraft=trueドラフト(WIP)
PRstate=OPEN, isDraft=falseレビュー中
PRstate=CLOSEDクローズ
Issuestate=OPENオープン
Issuestate=CLOSEDクローズ済み
</context> <context name="status-mapping">
GitHub状態タスクstatus
PRがマージ済みcompleted
PRがドラフト(WIP)in_progress
PRがレビュー中in_review
PRがクローズ(マージなし)(変更なし)
Issueがクローズcompleted
Issueがオープン(変更なし)
</context>

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Linearに大きなタスクを複数のIssueに分割して作成する際に使用。新しいプロジェクトを作成し、その中にフラットなIssueを作成し、依存関係はblockedByリレーションで表現する。

The English summary is being prepared. Showing the original description.

syou6162/agent-skills11Updated Jun 27, 2026

planファイルのレビューを依頼された際に使用。Codex CLIを使ってplanファイル自体の実現可能性・技術的妥当性・抜け漏れをレビューし、指摘をタスクリスト化して収束するまで繰り返します。

The English summary is being prepared. Showing the original description.

syou6162/agent-skills11Updated Jun 27, 2026

コードレビューを依頼された際に使用。Codex CLIを使ってplanファイルと開発日誌(コンテキストにある場合)を参照し、実装が計画に沿っているかをレビューし、指摘をタスクリスト化して収束するまで繰り返します。

The English summary is being prepared. Showing the original description.

syou6162/agent-skills11Updated Jun 27, 2026

planモードの計画に基づいて実装を開始する。planファイルからタスクリスト作成→タスク順次実行→各タスク完了時にコミット→最後にcodex-reviewを実行する。

The English summary is being prepared. Showing the original description.

syou6162/agent-skills11Updated Jun 27, 2026

ユーザーがGitHub Actionsのタグ参照をSHA参照に変換するよう要求したときに発動してください。uses:フィールドのタグ参照を自動的にSHA参照(コミットハッシュ + コメント付きバージョン)に変換します。

The English summary is being prepared. Showing the original description.

syou6162/agent-skills11Updated Jun 27, 2026

Cursor Cloud Agentにタスクを委託するよう依頼された際に発動。エージェント作成、SSEストリーム監視(stream)、実行キャンセル(cancel)、ステータスポーリング(フォールバック)、Pull Request状態確認、Linear紐付け、レビュー・フォローアップを行う。

The English summary is being prepared. Showing the original description.

syou6162/agent-skills11Updated Jun 27, 2026

See all skills by syou6162

Report a problem with this skill