Skip to content

Commit 11700b3

Browse files
fix(ai): 🩹 align repo-local skill schema with bonsai unified output format (#162)
## Summary Align the repo-local `repo-convention-enforcer` skill with bonsai's unified output schema. The old shell-framework schema used different field names, causing bonsai validation errors on every check run. Also includes yamllint .gitignore fix from prior commit on this branch. ## Highlights - Replace `output.schema.json` with bonsai unified schema (`skill`, `version`, `status`, `blocking`, `major`, `warning`, `info`) - Add severity classification instructions to `SKILL.md` (BLOCKING/MAJOR/WARNING/INFO) - Add skill identity fields (`skill`, `version`) to output instructions ## Test plan - [x] `bonsai skill repo-convention-enforcer` produces valid JSON output - [x] `bonsai check --bundle default` completes without `repo-convention-enforcer` error - [ ] CI passes 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 599d84d commit 11700b3

2 files changed

Lines changed: 23 additions & 12 deletions

File tree

‎ai/skills/repo-convention-enforcer/v1/SKILL.md‎

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,5 +45,14 @@ report it as ambiguity.
4545

4646
Absence of justification is failure.
4747

48+
Classify each finding by severity:
49+
- BLOCKING: hard violations that must prevent merge
50+
- MAJOR: significant issues that should be addressed
51+
- WARNING: potential concerns worth reviewing
52+
- INFO: observations and context
53+
54+
Set status to "fail" if any BLOCKING findings exist, otherwise "pass".
55+
Set skill to "repo-convention-enforcer" and version to "v1".
56+
4857
Output must strictly conform to output.schema.json.
4958
No additional text is permitted.
Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,30 @@
11
{
22
"type": "object",
3-
"required": [
4-
"violations",
5-
"redundancies",
6-
"forbidden_exists",
7-
"ambiguities"
8-
],
9-
"additionalProperties": false,
3+
"required": ["skill", "version", "status", "blocking", "major", "warning", "info"],
104
"properties": {
11-
"violations": {
5+
"skill": { "type": "string" },
6+
"version": { "type": "string" },
7+
"status": { "type": "string", "enum": ["pass", "fail"] },
8+
"blocking": {
129
"type": "array",
1310
"items": { "type": "string" }
1411
},
15-
"redundancies": {
12+
"major": {
1613
"type": "array",
1714
"items": { "type": "string" }
1815
},
19-
"forbidden_exists": {
16+
"warning": {
2017
"type": "array",
2118
"items": { "type": "string" }
2219
},
23-
"ambiguities": {
20+
"info": {
2421
"type": "array",
2522
"items": { "type": "string" }
26-
}
23+
},
24+
"notes": {
25+
"type": "array",
26+
"items": { "type": "string" }
27+
},
28+
"details": { "type": "object" }
2729
}
2830
}

0 commit comments

Comments
 (0)