report-issue
作業中に発見したバグや追加機能の必要性を GitHub Issue として起票するスキル。upstream julia では動くが sjulia で動かない / 結果が違うギャップ、バグ修正後の再発防止策を、最小 MWE と julia-vs-sjulia 出力比較付きで起票する。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
作業中に発見したバグや追加機能の必要性を GitHub Issue として起票するスキル。upstream julia では動くが sjulia で動かない / 結果が違うギャップ、バグ修正後の再発防止策を、最小 MWE と julia-vs-sjulia 出力比較付きで起票する。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
コミットして PR を作成・マージするよう依頼されたとき (/create-pr)。軽量フロー。多ファイル・多関心の大きな変更の仕上げには sjulia-finish-branch を使う。
Use when asked to clear, triage, fix, or resolve the open `bug`-labeled GitHub issue backlog for this repo (SubsetJuliaVM / AtelierArith/ailujsoi) — collect all open bug issues, fix each in parallel git worktrees, open PRs, and merge.
Use when triaging open AtelierArith/ailujsoi GitHub issues that lack a milestone assignment.
Use when asked to merge a GitHub pull request and there may be open review comments, or when a PR has unresolved review threads that must be addressed before merging. Applies when the merge is blocked by reviewer feedback, by requested changes, or by open comment threads that need resolution.
Use after fixing (or while fixing) a bug in SubsetJuliaVM (sjulia) — wrong output, crash, or an existing-error class — when the fix should become durable, repo-wide prevention, or when the user asks for a prevention Issue or 再発防止.
Use when cargo nextest run --release is too slow, changing subset_julia_vm source causes many crates to recompile, or you need faster fixture-test iteration in SubsetJuliaVM.
基于 SOC 职业分类
| name | report-issue |
| description | 作業中に発見したバグや追加機能の必要性を GitHub Issue として起票するスキル。upstream julia では動くが sjulia で動かない / 結果が違うギャップ、バグ修正後の再発防止策を、最小 MWE と julia-vs-sjulia 出力比較付きで起票する。 |
| allowed-tools | Bash(gh:*), Bash(julia:*), Bash(cargo:*), Bash(./target/release/sjulia:*), Bash(target/release/sjulia:*), Read, Glob, Grep |
作業中に発見したバグや追加機能の必要性を GitHub Issue として起票するスキル。
このリポジトリ (SubsetJuliaVM / AtelierArith/ailujsoi) の Issue-Driven /
Unsupported-Feature Discovery Rule(AGENTS.md)を強制する。回避策を入れる前に、
まず Issue を立てるのが原則。
/report-issue bug # sjulia が実行できるが結果が誤り/クラッシュするバグを報告
/report-issue feature # upstream julia で動くが sjulia が実行できない構文/機能を報告
/report-issue prevention # バグ修正後の再発防止策を提案・起票
引数 bug / feature どちらかを選ぶ前に、sjulia の挙動で判定する。
判断に迷ったら、sjulia が実行を拒否するなら unsupported-feature、
実行はするが結果が誤り/クラッシュするなら bug。
| sjulia の挙動 | 引数 | ラベル |
|---|---|---|
| 構文エラー / "unsupported"・"not implemented" 実行時エラー / 正当な構文への MethodError など実行できない | feature | unsupported-feature |
| 実行はするが出力が upstream と異なる、またはクラッシュ・既存エラーに当たる | bug | bug |
| 再発防止策の提案 | prevention | prevention |
関連: 作業中に偶発的にギャップを踏んだ場合の「即時起票・回避禁止」フローは
sjulia-report-gap スキル、修正後の防止策一般化は sjulia-bug-prevention スキル
(いずれも .agents/skills/)。
起票前に既存 Issue と重複していないか必ず検索する。
gh issue list --state all --search "<キーワード>" --limit 30
# ラベルで絞る場合
gh issue list --state open --label bug --search "<キーワード>" --limit 30
重複があればそちらにコメント追記・参照で済ませ、新規作成しない。
bug / feature では、最小再現コードを upstream julia で動く ことと
sjulia で失敗/相違する ことを実際に走らせて確認し、両者の出力をそのまま Issue に貼る。
julia --startup-file=no --history-file=no /path/to/mwe.jl # upstream: 成功するはず
cargo build --release -p subset_julia_vm --bin sjulia --features repl # base/ を触ったら更新
timeout 180 ./target/release/sjulia /path/to/mwe.jl # sjulia: 失敗/相違するはず
julia が PATH に無い場合はその旨を本文に書いて、起票はブロックしない。
upstream julia で動くが sjulia が実行できない構文/機能。
gh issue create --title "Unsupported: <機能の説明>" --body "$(cat <<'EOF'
## Summary
<upstream julia では動くが sjulia が実行できない機能の説明>
## MWE
```julia
# upstream julia で動き、sjulia で失敗する最小再現コード
| Interpreter | Result |
|---|---|
julia | <期待される出力 / 成功> |
sjulia | <parse error / unsupported error / MethodError など> |
<回避策のコード(あれば)。回避策を入れる場合は docs/vm/WORKAROUNDS.md にも登録すること>
cargo build --release -p subset_julia_vm --bin sjulia --features repl
### 引数が "bug"(実行はするが結果が誤り)の場合
1. 共通前処理(重複チェック + julia/sjulia 両方の出力採取)を実施。
2. 以下で Issue を作成。誤った出力と期待値の対比を明示する。
```bash
gh issue create --title "Bug: <概要>" --body "$(cat <<'EOF'
## Summary
<バグの説明>
## MWE
```julia
# upstream julia では正しく動き、sjulia で結果が誤る/クラッシュする最小再現コード
| Interpreter | Result |
|---|---|
julia | <期待される正しい出力> |
sjulia | <実際の誤った出力 / クラッシュ> |
<エラーメッセージ(あれば)>
<期待される動作>
<回避策があれば記載。入れる場合は docs/vm/WORKAROUNDS.md にも登録>
<原因の推測> EOF )" --label "bug"
### 引数が "prevention" の場合
1. 直前に修正したバグについて確認。
2. 以下の観点で再発防止策を提案:
- テストの追加(どのような fixture / 単体テストケースが必要か)
- コードレビューのチェックポイント
- ドキュメントの改善
- 静的解析やリンター(`scripts/check_*.sh` / clippy)の活用
- 設計の改善
3. 提案内容を Issue として起票:
```bash
gh issue create --title "Prevention: <バグの概要> の再発防止" --body "$(cat <<'EOF'
## 関連バグ
- #<バグの Issue 番号>
## バグの原因分析
<なぜこのバグが発生したかの分析>
## 再発防止策
### 1. テストの追加
<追加すべき fixture / テストケース>
```julia
# 追加すべきテストコード例
<改善すべきドキュメント(docs/vm/ など)>
<活用可能なツールや設定(scripts/check_*.sh, clippy など)>
<長期的な設計改善の提案>
## 注意事項
- **起票前に必ず重複確認**(共通前処理 1)。既存 Issue があればそちらに集約する。
- `bug` / `feature` は**最小限の MWE** を含め、**julia-vs-sjulia の出力比較表**を必ず付ける。
- ラベルは judgement 表に従う(実行できない=`unsupported-feature`、誤出力=`bug`)。
- Issue を立てる前に回避策を入れない。回避策が不可避なら Issue 番号を
`// Workaround: ... (Issue #NNNN)` コメントに残し、`docs/vm/WORKAROUNDS.md` に登録して
`bash scripts/check_workarounds_documented.sh` と `bash scripts/check_workarounds_sync.sh` を通す
(詳細は `sjulia-document-workaround` スキル)。
- 再発防止策は具体的かつ実行可能なものにする。