feat(okf): add install.sh; changelog; e2e produce->validate->visualize verified

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-16 19:45:14 +09:00
parent 626abd4173
commit 587a32d239
2 changed files with 35 additions and 0 deletions

View File

@@ -0,0 +1,17 @@
# Changelog — ourdigital-okf
## 1.0 — 2026-06-16
Initial release.
- **produce** / **validate** / **visualize** modes for Open Knowledge Format (OKF) v0.1 bundles.
- `okf_common.py` — stdlib YAML-subset frontmatter + link parser (inline/block lists, folded
and `>`/`|` block scalars, quoted scalars).
- `okf_validate.py` — conformance (parseable frontmatter + non-empty `type`) + broken-link
warnings; text/JSON output; meaningful exit code.
- `okf_viz.py` — minimal self-contained Cytoscape graph viewer (CDN libs, no backend).
- Test suite: 20 stdlib `unittest` tests. Verified CONFORMANT against Google's reference
bundles (crypto_bitcoin, ga4, stackoverflow).
- End-to-end verified: produce a 4-concept analytics bundle → validate (0 errors) →
visualize (4 nodes, 9 edges).
- `install.sh` symlinks the skill into `~/.claude/skills/ourdigital-okf`.

View File

@@ -0,0 +1,18 @@
#!/bin/bash
# ourdigital-okf installer — symlinks the skill into ~/.claude/skills/ourdigital-okf
set -e
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
SKILLS_DIR="$HOME/.claude/skills"
TARGET="$SKILLS_DIR/ourdigital-okf"
mkdir -p "$SKILLS_DIR"
if [ -e "$TARGET" ] || [ -L "$TARGET" ]; then
echo "Removing existing $TARGET"
rm -rf "$TARGET"
fi
ln -s "$SCRIPT_DIR" "$TARGET"
echo "Linked $TARGET -> $SCRIPT_DIR"
echo "Verifying scripts (stdlib-only)…"
python3 "$SCRIPT_DIR/code/scripts/okf_validate.py" \
"$SCRIPT_DIR/code/scripts/tests/fixtures/mini_bundle" >/dev/null && echo "validate OK"
echo "Done. Invoke with /ourdigital-okf"