원클릭으로
bump-cabal-index-state
Update Cabal project index-state to the latest timestamp. Use when it needs to bump the cabal index-state.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Update Cabal project index-state to the latest timestamp. Use when it needs to bump the cabal index-state.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Generate a commit message from staged changes and let the user review before committing. Use when the user wants to commit changes or create a git commit.
Generate a GitHub pull request title and body from the current branch and let the user review before creation. Use when the user wants to create a pull request.
Investigate any topic by querying multiple external sources (web, official docs, GitHub, MCP servers). Use whenever a question requires information not already in the working context, including library behavior, API specifications, error diagnostics, version comparisons, or general factual lookup.
himari is ncaq's rio-like custom Haskell Prelude. Import it with a single `import Himari`, never `import Himari.Prelude` or other submodules directly. Use when writing or reviewing Haskell code in a project that depends on the himari package.
Prefer the most specific built-in method over general-purpose ones in TypeScript/JavaScript. Use includes over indexOf, some over filter().length, find over filter()[0], flatMap over map().flat(), at(-1) over length-based access, startsWith/endsWith/includes over indexOf on strings, structuredClone over JSON round-trip. Use when writing or reviewing code that searches, tests, transforms arrays, objects, or strings.
Avoid for loops (C-style, for...of, for...in) in TypeScript/JavaScript. Prefer higher-order Array methods like map, filter, find, some, every, reduce. Use when writing or reviewing loops or iteration over arrays, objects, Map, Set, or String.
| name | bump-cabal-index-state |
| description | Update Cabal project index-state to the latest timestamp. Use when it needs to bump the cabal index-state. |
| allowed-tools | Bash(cabal build:*), Bash(cabal update:*), Bash(gh pr create:*), Bash(git add:*), Bash(git commit:*), Bash(git push:*), Bash(git status:*), Bash(git switch:*), Bash(nix flake check:*), Edit, Glob, Grep, Read, Write |
| effort | medium |
cabalプロジェクトのindex-stateを最新に更新します。
PR作成に備えてブランチを作成します。
git switch -c bump-cabal-index-state
cabal update
cabal updateの出力から最新のindex-stateタイムスタンプを取得します。
出力例:
Downloading the latest package list from hackage.haskell.org
Package list of hackage.haskell.org is up to date.
The index-state is set to 2026-01-11T09:48:01Z.
通常はcabal.projectファイルに書かれているindex-stateを更新します。
フォーマット: index-state: YYYY-MM-DDTHH:mm:ssZ
index-stateと日時の間にURLが入っていることも稀にあります。
もしcabal.projectに書いていないなら、
cabal.project.localやflake.nixなどに書かれている場合があります。
探して更新してください。
プロジェクトのビルドシステムに応じて動作確認を行います。
Nixを使用している場合は以下のコマンドを実行してください。
nix flake check
Nixを使用していない場合は以下のコマンドを実行してください。
cabal build --disable-optimization --enable-tests all
haskell.nixは最新のindex-stateへの対応に遅れがあります。
そのため最新のindex-stateを使用するとエラーになることがあります。
エラーメッセージに現在認識している最新のindex-stateが表示されます。
例:
> Error: [Cabal-7159]
> Latest known index-state for 'hackage.haskell.org' (2026-01-05T23:03:18Z) is older than the requested index-state (2026-01-11T18:45:48Z).
> Run 'cabal update' or set the index-state to a value at or before 2026-01-05T23:03:18Z.
このエラーが出た場合は、 エラーメッセージに記載されている最新の値を使用してください。
変更した後に再度動作確認を行ってください。
動作確認が成功したらGitにコミットしてください。 動作確認が成功しなければコミットは行わないで完了報告に進んでください。
コミットメッセージのタイトルは、
build(deps): cabalのindex-stateを更新
です。
本文は以下のテンプレートに従ってください。
`cabal.project`の`index-state`を`YYYY-MM-DDTHH:mm:ssZ`に更新しました。
このテンプレートを置き換えて本文を作成してください。
cabal.projectは実際に更新したファイル名に置き換えてください。
大抵はcabal.projectそのままです。
YYYY-MM-DDTHH:mm:ssZは実際の新しいindex-stateに置き換えてください。
ドメイン指定がある場合はindex-stateの前にスペースで囲んで、
hackage.haskell.orgのように更新したドメインを追加してください。
まずGitHubを利用しているか確認してください。 GitHubを利用していない場合はこの手順をスキップしてください。
GitHubを利用している場合は以下のGitコマンドでリモートリポジトリにプッシュしてください。
git push --verbose --set-upstream origin
その後以下のGitHub CLIコマンドでプルリクエストを作成してください。
gh pr create --assignee @me --fill --label "Type: Dependencies" --title "build(deps): cabalのindex-stateを更新"
更新が完了したら以下を報告してください:
index-stateindex-stateindex-stateがcabalの最新index-stateに比べてどれぐらい遅れているか