fix(kyberforge): apply cross-skill audit findings to skill factory trio
- validate.sh: move FAIL lines and failure summary to stdout; stderr reserved for fatal script errors only (missing SKILL.md, bad args) - skill-audit SKILL.md: replace concrete plugins/kyberforge/skills/... example with abstract placeholder to fix meta-circularity - skill-write SKILL.md: rephrase placeholder section-heading instruction to remove embedded FILL IN: from a code span, clearing validator false positive - skill-improve SKILL.md: wrap Step 2 root-cause example in a text fence - skill-write assets/templates/README.md: update Files table to individual- file rows so skill-audit can verify per-file coverage Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -73,7 +73,7 @@ Check each pattern is appropriate and correctly formed:
|
|||||||
- No non-spec files at the skill root (e.g. META.md, extra config files outside permitted directories)
|
- No non-spec files at the skill root (e.g. META.md, extra config files outside permitted directories)
|
||||||
- Optional directories contain real content — not just unfilled placeholder READMEs
|
- Optional directories contain real content — not just unfilled placeholder READMEs
|
||||||
- `README.md` present and accurately describes the skill and its files
|
- `README.md` present and accurately describes the skill and its files
|
||||||
- No cross-plugin path references in SKILL.md, scripts/, references/, or assets/ — paths using `../`, `../../`, or absolute repo paths (e.g. `plugins/kyberforge/skills/...`) break when the plugin is installed to a cache; flag any found
|
- No cross-plugin path references in SKILL.md, scripts/, references/, or assets/ — paths using `../`, `../../`, or absolute repo paths (e.g. `plugins/<plugin>/skills/<other-skill>/`) break when the plugin is installed to a cache; flag any found
|
||||||
- `tests/` is exempt from the cross-plugin path check — test files are dev-only and may reference repo-level test infrastructure (e.g. a shared `tests/test_helper/`). This dependency must be declared in `tests/README.md`; flag if tests exist but `tests/README.md` is absent or does not document the dependency
|
- `tests/` is exempt from the cross-plugin path check — test files are dev-only and may reference repo-level test infrastructure (e.g. a shared `tests/test_helper/`). This dependency must be declared in `tests/README.md`; flag if tests exist but `tests/README.md` is absent or does not document the dependency
|
||||||
|
|
||||||
### Formatting
|
### Formatting
|
||||||
|
|||||||
@@ -50,7 +50,7 @@ def ok(msg):
|
|||||||
|
|
||||||
def fail(msg):
|
def fail(msg):
|
||||||
global failed
|
global failed
|
||||||
print(f"FAIL {msg}", file=sys.stderr)
|
print(f"FAIL {msg}")
|
||||||
failed = True
|
failed = True
|
||||||
|
|
||||||
# --- Parse frontmatter ---
|
# --- Parse frontmatter ---
|
||||||
@@ -174,6 +174,6 @@ if not failed:
|
|||||||
print("All checks passed.")
|
print("All checks passed.")
|
||||||
sys.exit(0)
|
sys.exit(0)
|
||||||
else:
|
else:
|
||||||
print("One or more checks failed.", file=sys.stderr)
|
print("One or more checks failed.")
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
PYTHON
|
PYTHON
|
||||||
|
|||||||
@@ -39,11 +39,13 @@ Read the current skill files (SKILL.md and any files in scripts/, references/, a
|
|||||||
|
|
||||||
Group signals by **root cause**, not symptom. Ask: "What single gap in the skill causes this cluster of failures?" One root cause → one fix. Do not make a separate edit for each symptom.
|
Group signals by **root cause**, not symptom. Ask: "What single gap in the skill causes this cluster of failures?" One root cause → one fix. Do not make a separate edit for each symptom.
|
||||||
|
|
||||||
|
```text
|
||||||
Example:
|
Example:
|
||||||
- Eval fails because output format is wrong
|
- Eval fails because output format is wrong
|
||||||
- Audit finding: no output template defined
|
- Audit finding: no output template defined
|
||||||
- User feedback: "I always have to ask it to format the output"
|
- User feedback: "I always have to ask it to format the output"
|
||||||
- Root cause: SKILL.md has no output format specification → one fix: add an output template
|
→ Root cause: SKILL.md has no output format specification → one fix: add an output template
|
||||||
|
```
|
||||||
|
|
||||||
## Step 3 — Announce planned changes
|
## Step 3 — Announce planned changes
|
||||||
|
|
||||||
|
|||||||
@@ -69,7 +69,7 @@ Open `<destination-dir>/<skill-name>/SKILL.md`. Replace every `FILL IN:` placeho
|
|||||||
|
|
||||||
### Body — include only what the agent lacks
|
### Body — include only what the agent lacks
|
||||||
|
|
||||||
Rename `## FILL IN: <section-name>` to a heading that fits the skill's structure (e.g. `## Step 1`, `## Workflow`, `## Instructions`).
|
Rename the placeholder section heading to one that fits the skill's structure — `## Step 1`, `## Workflow`, `## Instructions`, etc.
|
||||||
|
|
||||||
Ask of every sentence: "Would the agent get this wrong without it?" Cut anything that answers "no."
|
Ask of every sentence: "Would the agent get this wrong without it?" Cut anything that answers "no."
|
||||||
|
|
||||||
|
|||||||
@@ -32,16 +32,16 @@
|
|||||||
|
|
||||||
## Files
|
## Files
|
||||||
|
|
||||||
<!-- FILL IN: List the files in this skill directory and their purpose.
|
<!-- FILL IN: List each file individually. Remove rows for directories you deleted.
|
||||||
Remove rows for directories that don't exist in your skill.
|
Replace the example rows below with your actual files. -->
|
||||||
Example rows are provided — replace with your actual files. -->
|
|
||||||
|
|
||||||
| File | Purpose |
|
| File | Purpose |
|
||||||
|------|---------|
|
|------|---------|
|
||||||
| `SKILL.md` | Skill instructions for agents |
|
| `SKILL.md` | Skill instructions for agents |
|
||||||
| `scripts/` | FILL IN: what the scripts do |
|
| `scripts/your-script.sh` | FILL IN: what this script does |
|
||||||
| `references/` | FILL IN: what reference docs are here |
|
| `references/your-doc.md` | FILL IN: what this reference covers |
|
||||||
| `assets/` | FILL IN: what static resources are here |
|
| `assets/your-asset.json` | FILL IN: what this asset is |
|
||||||
|
| `tests/your-test.bats` | FILL IN: what this test covers |
|
||||||
|
|
||||||
<!-- OPTIONAL: Spec reference — include if this skill implements or follows an external standard.
|
<!-- OPTIONAL: Spec reference — include if this skill implements or follows an external standard.
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user