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)
|
||||
- Optional directories contain real content — not just unfilled placeholder READMEs
|
||||
- `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
|
||||
|
||||
### Formatting
|
||||
|
||||
@@ -50,7 +50,7 @@ def ok(msg):
|
||||
|
||||
def fail(msg):
|
||||
global failed
|
||||
print(f"FAIL {msg}", file=sys.stderr)
|
||||
print(f"FAIL {msg}")
|
||||
failed = True
|
||||
|
||||
# --- Parse frontmatter ---
|
||||
@@ -174,6 +174,6 @@ if not failed:
|
||||
print("All checks passed.")
|
||||
sys.exit(0)
|
||||
else:
|
||||
print("One or more checks failed.", file=sys.stderr)
|
||||
print("One or more checks failed.")
|
||||
sys.exit(1)
|
||||
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.
|
||||
|
||||
```text
|
||||
Example:
|
||||
- Eval fails because output format is wrong
|
||||
- Audit finding: no output template defined
|
||||
- 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
|
||||
|
||||
|
||||
@@ -69,7 +69,7 @@ Open `<destination-dir>/<skill-name>/SKILL.md`. Replace every `FILL IN:` placeho
|
||||
|
||||
### 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."
|
||||
|
||||
|
||||
@@ -32,16 +32,16 @@
|
||||
|
||||
## Files
|
||||
|
||||
<!-- FILL IN: List the files in this skill directory and their purpose.
|
||||
Remove rows for directories that don't exist in your skill.
|
||||
Example rows are provided — replace with your actual files. -->
|
||||
<!-- FILL IN: List each file individually. Remove rows for directories you deleted.
|
||||
Replace the example rows below with your actual files. -->
|
||||
|
||||
| File | Purpose |
|
||||
|------|---------|
|
||||
| `SKILL.md` | Skill instructions for agents |
|
||||
| `scripts/` | FILL IN: what the scripts do |
|
||||
| `references/` | FILL IN: what reference docs are here |
|
||||
| `assets/` | FILL IN: what static resources are here |
|
||||
| `scripts/your-script.sh` | FILL IN: what this script does |
|
||||
| `references/your-doc.md` | FILL IN: what this reference covers |
|
||||
| `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.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user