fix agent definitions
This commit is contained in:
1 parent
ca65491831
commit
b8798db398
18 files changed
+128
-4475
No files matched your search
-85
@@ -1,85 +0,0 @@
|
||||
---
|
||||
name: validate
|
||||
description: >-
|
||||
Check that an Open Knowledge Format (OKF) bundle is conformant with the v0.2
|
||||
spec (§11). Use when asked to validate, lint, or check an OKF bundle, or before
|
||||
committing changes to one. Runs a deterministic Python checker — not an
|
||||
eyeball pass. Also migrates a v0.1 bundle to v0.2 in place with `--migrate`.
|
||||
user-invocable: true
|
||||
argument-hint: "[bundle-dir] [--strict | --max-warnings N] [--migrate]"
|
||||
allowed-tools: Bash
|
||||
---
|
||||
|
||||
# Validate an OKF bundle
|
||||
|
||||
Run the deterministic conformance checker against the target bundle. Default to
|
||||
the project's `.okf/` directory when no path is given.
|
||||
|
||||
```bash
|
||||
uv run "${CLAUDE_SKILL_DIR}/scripts/okf_validate.py" $ARGUMENTS
|
||||
```
|
||||
|
||||
If `uv` is unavailable, fall back to:
|
||||
|
||||
```bash
|
||||
python3 -m pip install --quiet pyyaml && \
|
||||
python3 "${CLAUDE_SKILL_DIR}/scripts/okf_validate.py" $ARGUMENTS
|
||||
```
|
||||
|
||||
`${CLAUDE_SKILL_DIR}` resolves whether this skill runs as part of the `okf`
|
||||
plugin or is installed standalone (e.g. via `npx skills add`), so the checker is
|
||||
always found alongside the skill.
|
||||
|
||||
Interpret the result:
|
||||
|
||||
- **ERROR** → a hard §11 conformance failure (no parseable frontmatter, a
|
||||
missing/empty `type`, or a file the checker cannot read as UTF-8). The bundle
|
||||
is non-conformant. Fix every one.
|
||||
|
||||
Only `index.md` and `log.md` are reserved: §11.1 makes *every* other `.md` in
|
||||
the tree a concept, convention files included. An `AGENTS.md` or `README.md`
|
||||
dropped next to a bundle is therefore an ERROR until it carries frontmatter with
|
||||
a `type` (`Document` reads well), which is the fix; a skip-list would put the
|
||||
checker out of conformance. Move the file above the bundle root if it is not
|
||||
knowledge.
|
||||
- **warn** → soft guidance (missing recommended field, non-ISO log date, broken
|
||||
cross-link, a malformed v0.2 family, a footnote naming no source, an actor
|
||||
that misses the §7 shapes, an Attested Computation missing `runtime`, a
|
||||
computation path that resolves nowhere, frontmatter in a reserved file (§8,
|
||||
§9), a root `index.md` carrying extra keys or declaring a different
|
||||
`okf_version` (§12)). Never blocks; broken links in particular are explicitly
|
||||
tolerated by the spec (§6.1). Fix when cheap.
|
||||
|
||||
One warning is worth more than the others: a §7 near-miss such as `Human:dana`
|
||||
or `human/dana`. §5.3 keys trust tiers off the exact lowercase `human:` prefix,
|
||||
so the concept silently reads as machine-confirmed when a person did review it.
|
||||
Fix that one on sight.
|
||||
|
||||
v0.1 bundles validate too: a legacy `timestamp` or `# Citations` section is
|
||||
reported as a warning naming its v0.2 replacement (`generated.at`, `sources`),
|
||||
never as an error (§13.1). Under `--strict` those warnings do fail the run —
|
||||
that is the migration nudge, and `--migrate` is the door.
|
||||
|
||||
## Migrating a v0.1 bundle
|
||||
|
||||
`--migrate` **rewrites the bundle in place** before validating — the one mode of
|
||||
this skill that is not read-only, so say what it will touch before running it on
|
||||
a bundle the user has not asked to migrate. It is textual (comments, key order
|
||||
and quoting survive) and idempotent.
|
||||
|
||||
```bash
|
||||
uv run "${CLAUDE_SKILL_DIR}/scripts/okf_validate.py" .okf --migrate --strict
|
||||
```
|
||||
|
||||
It hoists `timestamp` to `generated: { by: process:okf-migrate, at }`, lifts a
|
||||
`# Citations` list into `sources`, and bumps `okf_version`. Two limits worth
|
||||
repeating to the user: `generated.by` cannot be recovered for pre-v0.2 content
|
||||
(hence the `process:` actor — the concept stays correctly `unverified` under
|
||||
§5.3), and per-claim `[^id]` attribution was never encoded in v0.1, so only the
|
||||
source list moves up.
|
||||
|
||||
## Exit codes
|
||||
|
||||
Non-zero if any error is present, or if warnings exceed the gate:
|
||||
`--strict` allows none, `--max-warnings N` allows N, the default allows any.
|
||||
Add `--json` for machine-readable output (useful in CI).
|
||||
Reference in new issue
Block a user