用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/ababup1192/flappy_bird --skill compile-fix命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
基于 SOC 职业分类
正在显示 SKILL.md
| name | compile-fix |
| description | Flixコンパイルエラーを診断し、既知の落とし穴と照合して修正を提案する |
| allowed-tools | Read, Grep, Glob, Bash |
コンパイルエラーが発生した場合、このスキルで原因を特定し修正する。
devbox run -- java -jar bin/flix.jar test を実行)症状: Unexpected token / Parse error が変数名や import 文で発生
修正: 予約語(handler, do, resume, spawn, region, inject, project, solve)を識別子に使わない。別の単語か 2 単語以上で命名する。詳細は flix-docs の「予約語に注意」を参照。
症状: Java クラスが見つからない / Unresolved type
修正: Java の import をモジュール直下(関数の外)に移動する。詳細は flix-docs の「Java interop」を参照。
症状: Channel.buffered で型が合わない / Region 関連エラー
修正: Channel.buffered(rc) → Channel.buffered(size)。戻り値は (Sender[t], Receiver[t])。詳細は flix-docs の「Channel API」を参照。
症状: ##java.io.IOException が見つからない
修正: ## プレフィックスを外し、import java.io.IOException してからクラス名で使う。詳細は flix-docs の「try-catch での Java 例外」を参照。
症状: レコードのフィールド更新で型が合わない
原因: Flix のレコード更新は {field = newValue | record} だが、型が異なると動かない
修正: レコード更新構文のパイプ右側がレコード変数であること、型が一致することを確認。
症状: 関数の戻り値型でエフェクトが合わない
原因: 呼び出し先のエフェクトを関数シグネチャに含めていない
修正: 関数の型注釈にエフェクトを追加する(\ IO + ef など)。不明なら型注釈を外して推論に任せる。
症状: Non-exhaustive match
原因: enum の全ケースを網羅していない
修正: 不足している case を追加するか、case _ => を追加。
症状: Unable to unify / 空リテラルで型が決まらない
原因: Nil や Set.empty() だけでは型が推論できないことがある
修正: 型注釈を付ける(例: (Nil: List[Int32]))、または要素付きで初期化。
症状: CanvasItem[GameNode] 等の instance 実装で型エラー
原因: match の分岐で内部型(Area2D, Sprite2D)への委譲が正しくない
修正: SpriteNode と Area2D 系で分岐し、ヘルパー関数(getArea, mapArea)で内部型に委譲する。CollisionObject2D では SpriteNode に None / false を返す。
症状: Expected Float32 but got Float64
原因: 1.0 は Float64。Float32 が必要な箇所では 1.0f32 と書く必要がある。
修正: 全ての浮動小数点リテラルに f32 サフィックスを付ける。
上記に該当しない場合:
Read で確認Grep で探すGlob + Grep で定義箇所を探す/verify で確認する