跳到正文
cccskills
免费在 GitHub 公开

flag-compiler-bug

Detect, triage, de-duplicate, and raise compiler bug reports when an agent encounters a likely compiler defect during implementation, review, testing, or issue work. Use when a task surfaces an ICE, panic, wrong accept/reject behavior, miscompile, lowering/emission bug, diagnostic bug, formatter/LSP/frontend drift, or other likely compiler/tooling defect; pause current work, minimize the repro, decide whether the bug blocks the task or has a valid workaround, check whether it is already reported, and then use create-github-issue to raise the bug.

中文简介正在准备中。当前显示原文说明。

查看安装方法

包含的文件(1)

  • SKILL.md5.8 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

Flag Compiler Bug

This skill exists so agents self-discover the behavior. Do not wait for the user to explicitly say "file a compiler bug" if the evidence is strong enough.

Core rule

If you encounter a likely compiler bug:

  1. pause and verify the observation
  2. reduce it to the smallest honest repro you can
  3. decide whether it blocks the current task or can be worked around without lying to yourself
  4. check whether the bug is already filed
  5. raise or draft the bug with create-github-issue
  6. resume the original task only if the workaround is real and the remaining scope still makes sense

Minimal repro is the most important artifact. If the repro is weak, the report is weak.

What counts as a compiler bug

Treat these as likely compiler bugs unless evidence shows otherwise:

  • compiler panic or internal error
  • valid program rejected contrary to RFCs, language docs, or established behavior
  • invalid program accepted silently
  • wrong lowering or emission that changes semantics
  • wrong generated Rust or runtime behavior caused by compiler output
  • incorrect or misleading diagnostic from parser, typechecker, lowering, or tooling
  • formatter, CLI, LSP, or snapshot behavior drifting from shared frontend expectations

Do not flag a compiler bug when the issue is more likely:

  • user misuse with an expected diagnostic
  • an RFC gap or not-yet-implemented feature that is explicitly out of scope
  • an already-known issue with no new repro or impact
  • an infrastructure flake unrelated to compiler semantics

Workflow

1. Verify and localize

Capture:

  • exact local command for your private working notes, then derive a sanitized public command before filing
  • exact observed output, panic text, or wrong behavior
  • affected stage if inferable: parser, typechecker, lowering, emission, runtime boundary, formatter, CLI, or LSP
  • current branch / commit / task context

If you are not confident it is a compiler bug, say so explicitly and explain the uncertainty.

2. Minimize the repro

Reduce the case aggressively:

  • remove unrelated declarations
  • inline imports or dependencies when possible
  • shrink to one file if possible
  • keep only the command needed to reproduce

Prefer a tiny repro over a "realistic" one. If minimization changes the bug surface, keep both and say why.

3. Judge blocking vs workaround

Decide which of these is true:

  • Blocking: the current task cannot be completed honestly without fixing the compiler bug first.
  • Workaround exists: there is a logically sound path that preserves the task's intent, even if less elegant.
  • Non-blocking follow-up: the bug is real but does not stop the current implementation.

Do not call something a workaround if it quietly changes semantics, dodges test coverage, or narrows the task in a way the user did not ask for.

4. Check for duplicates

Before raising a new issue, search existing issues in the relevant tracker using:

  • panic text or diagnostic snippet
  • affected syntax or feature name
  • likely stage
  • related RFC number, issue number, or file path when useful

Search open issues first, then recent closed issues if the match looks plausible.

If a likely duplicate exists:

  • link it
  • explain why it matches
  • do not open a new issue unless the current repro materially expands the scope

5. Raise the bug

Use create-github-issue with the bug template in the correct repository.

For compiler/tooling defects in this workspace, that is usually the incan/ repository even if the bug surfaced while working in IncQL/.

Include:

  • minimal repro
  • expected vs actual behavior
  • sanitized command, using repo-relative paths and tool names instead of local absolute binary paths
  • logs / panic text / snapshot diff if relevant
  • affected stage
  • blocker status
  • workaround, if any
  • environment and commit context
  • related issue, RFC, branch, or task

Before creating the issue, run the create-github-issue public text safety gate on the exact title/body you will publish. Do not publish absolute local paths such as /Users/..., /home/..., /private/..., /tmp/..., or commands that expose a local checkout path. If the private reproduction used a local compiler binary, publish a generic equivalent such as incan run path/to/repro.incn and keep commit/version information in the Environment section.

If the current workflow permits creating the GitHub issue directly, do that after the duplicate check. Otherwise return the ready-to-file draft.

6. Return to the original task

If the bug is blocking, stop the original task and report that clearly.

If a real workaround exists, continue the task and explicitly record:

  • the workaround used
  • the bug that was raised or linked
  • residual risk from continuing

Output format

## Compiler bug triage
- Likely bug: yes | no | uncertain
- Stage:
- Blocking status:
- Workaround:
- Repro:
- Existing issue:
- New issue draft or link:
- Next action on original task:

Quality bar

  • Repro is minimal and copy-pastable.
  • Duplicate search is explicit, not assumed.
  • Public issue text is sanitized before the first GitHub create/update call.
  • Blocking vs workaround judgment is stated plainly.
  • The original task is either paused honestly or resumed with a real workaround.

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

Add a new learning to the agent learnings file. Use when the user says /add-learning, asks to record a lesson, or when an implementation produced a reusable insight worth preserving for future agents.

中文简介正在准备中。当前显示原文说明。

encero-systems/incan652026年10月19日 更新

bump-rfc

免费

Transition an Incan RFC from one status to the next. Use when the user asks to promote, advance, or finalize an RFC, or says /bump-rfc. Handles Draft → Planned, Planned → In Progress, and In Progress → Implemented transitions.

中文简介正在准备中。当前显示原文说明。

encero-systems/incan652026年10月19日 更新

closeout

免费

Safely close out completed Incan work after a PR is merged by verifying merge status, syncing the base branch, removing task-owned local worktrees/assets, deleting merged local/remote branches, pruning refs, and reporting dirty or ambiguous leftovers. Use when the user says /closeout, asks to clean up after a merged PR, or wants local RFC/issue branch/worktree cleanup.

中文简介正在准备中。当前显示原文说明。

encero-systems/incan652026年10月19日 更新

Drafts a GitHub issue title and body using the target repository's issue templates under .github/ISSUE_TEMPLATE. Use when the user asks to create, draft, or file a GitHub issue, bug report, feature request, chore, documentation issue, or RFC proposal, or wants issue text that matches the repo's template.

中文简介正在准备中。当前显示原文说明。

encero-systems/incan652026年10月19日 更新

Drafts implementation plans with TDD, documentation updates, and repository verification commands before coding. Use when the user asks for an implementation plan, /create-plan, or structured pre-implementation design for work in encero workspaces (e.g. Incan, IncQL).

中文简介正在准备中。当前显示原文说明。

encero-systems/incan652026年10月19日 更新

Generate a PR description following the repository's pull request template. Use when the user asks to create, draft, or generate a PR description for a pull request. The skill automatically locates the PR template in the target repository and fills it in based on the git diff.

中文简介正在准备中。当前显示原文说明。

encero-systems/incan652026年10月19日 更新

查看 encero-systems 的全部技能

报告此技能的问题