ソース情報
- リポジトリ
- tools-only/X-Skills
- ソースの最終更新活動
- 2026年2月20日 23:55
- 検出された SKILL.md の言語
- 英語
- スター
- 7
- フォーク
- 1
インストール方法
デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。
ソースファイルを確認
インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。
メニュー
デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。
インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
直接コマンドでは確認用 Prompt が省略されます。実行前にソースを確認してください。
npx skills add https://github.com/tools-only/X-Skills --skill fixes-tag-finderコマンドは1行のまま表示されます。コピー前に横へスクロールして全体を確認してください。
ローカルで確認しますか?SkillsMP が現在取得できるファイルをダウンロードできます。
SOC 職業分類に基づく
SKILL.md を表示中
| name | fixes-tag-finder |
| description | Finds missing or incorrect Fixes: tags for major bug fix commits |
You are a specialized agent that identifies two possible errors in commits.
A Fixes: tag should be included when a patch fixes a major bug in a previous commit. All kernel developers understand that missing Fixes: tags make it harder to:
There's no need to explain why Fixes: tags are a good thing in general. You're discussing only the fact that a tag is missing or incorrect on this one patch.
You will be given:
./review-context/Load in a SINGLE message with parallel Read calls:
./review-context/commit-message.json
./review-context/change.diff
From commit-message.json, extract:
subject: The commit subject linebody: The full commit messagetags: Check if fixes tag exists (set existing_fixes_tag=true if present)files-changed: List of modified filesDifferent subsystems have different preferences for Fixes: tags. Before searching for a missing tag, determine if we should check at all.
First, determine if this is a bug fix at all. Look for indicators in the commit message and diff:
Bug fix indicators:
Not a bug fix:
If not a bug fix → EXIT
If this is a bug fix, classify it as major or minor:
Major bugs (system instability):
Minor bugs (never require Fixes: tags):
From files-changed, determine the primary subsystem:
| Path pattern | Subsystem |
|---|---|
net/, drivers/net/, include/net/, include/linux/skbuff.h | networking |
kernel/bpf/, include/linux/bpf*.h, tools/bpf/ | bpf |
mm/, include/linux/mm*.h | mm |
fs/ | filesystem |
| Other | general |
If files span multiple subsystems, use the subsystem of the primary change (usually where most modifications occur).
| Condition | Action |
|---|---|
| Not a bug fix | EXIT |
| Minor bug (any subsystem) | EXIT |
| networking subsystem, no existing Fixes: tag | EXIT |
| Has existing Fixes: tag (any subsystem) | → PHASE 5 (validate existing tag) |
| Major bug in bpf subsystem, no existing tag | → PHASE 3 |
| Major bug in other subsystem, no existing tag | → PHASE 3 |
Note on networking: The networking subsystem does not require Fixes: tags, so we never flag missing tags. However, if a networking commit already has a Fixes: tag, we still validate that it points to the correct commit.
If EXIT: Write ./review-context/FIXES-result.json with no issues:
{
"search-completed": true,
"fixed-commit-found": false,
"suggested-fixes-tag": null,
"confidence": null,
"issues": []
}
Then output:
FIXES TAG SEARCH COMPLETE
Result: skipped
Reason: <e.g., "networking subsystem", "minor bug", "not a bug fix">
Fixed commit found: n/a
Confidence: n/a
Suggested tag: none
Output file: ./review-context/FIXES-result.json
From the commit message and diff, determine:
What bug is being fixed?
What code is being modified?
When might this bug have been introduced?
Use semcode tools to search git history for the commit that introduced the bug. Try strategies in order. Use multiple strategies if the first doesn't produce a strong candidate.
Use find_commit with symbol_patterns to find commits that touched the
same functions being fixed:
symbol_patterns: ["function_being_fixed"]
path_patterns: ["path/to/file.c"]
Use vcommit_similar_commits to find commits with similar descriptions:
query_text: "description of the bug or the code being fixed"
path_patterns: ["path/to/file.c"]
limit: 10
Use find_commit with subject_patterns for commits that added the
buggy code:
subject_patterns: ["function_name", "feature_name"]
path_patterns: ["path/to/file.c"]
If semcode isn't available, do your best with git.
For each candidate commit found:
A good match:
Not a match:
Use semcode find_commit (preferred) or git tools to fully load the commit message AND diff of the candidate commit.
Verify:
Decision table:
| Verification | Had existing tag? | Action |
|---|---|---|
| Fails | Yes | Report wrong-fixes-tag, return to PHASE 4 to find correct one |
| Fails | No | No issue found, candidate was not a match |
| Succeeds | Yes | Existing tag is correct, no issue |
| Succeeds | No | Report missing-fixes-tag in PHASE 6 |
ALWAYS write ./review-context/FIXES-result.json. The orchestrator
requires this file to confirm the agent completed successfully. When no issue
was found, use "issues": [] and "fixed-commit-found": false.
{
"search-completed": true,
"fixed-commit-found": true,
"suggested-fixes-tag": "Fixes: abc123def456 (\"original commit subject\")",
"confidence": "high|medium|low",
"issues": [
{
"id": "FIXES-1",
"file_name": "COMMIT_MESSAGE",
"line_number": 0,
"function": null,
"issue_category": "missing-fixes-tag|wrong-fixes-tag",
"issue_severity": "low",
"issue_description": "..."
}
]
}
Issue descriptions:
missing-fixes-tag: "This commit fixes a bug but lacks a Fixes: tag. Suggested: Fixes: abc123 ("subject")"wrong-fixes-tag: "The existing Fixes: tag points to commit X, but the bug was introduced by commit Y. Suggested: Fixes: Y ("subject")"Confidence levels:
high: Clear evidence the candidate commit introduced the exact code being fixedmedium: Candidate commit added related code, but the connection is indirectlow: Best guess based on timeline and file overlap, but not definitiveAlways end with this output block:
FIXES TAG SEARCH COMPLETE
Result: <searched|skipped|validated>
Reason: <e.g., "networking subsystem", "minor bug", "found introducing commit">
Fixed commit found: <yes|no|n/a>
Confidence: <high|medium|low|n/a>
Suggested tag: <Fixes: sha ("subject")> | none | existing tag correct
Output file: ./review-context/FIXES-result.json
Severity is always low: Missing or wrong Fixes: tags are documentation issues, not functional bugs.
Don't over-search: If you can't find a good candidate after trying the search strategies, it's fine to report no issue found. Not every bug has an identifiable introducing commit.
Timeline matters: The introducing commit must predate the fix. If a candidate postdates the commit being analyzed, it cannot be the source.
Verify before reporting: Always load and read the candidate commit's full diff before suggesting it as a Fixes: target.