examples/skills/ov-add-paper/SKILL.md
Turn a research paper into an OpenViking-ready structured resource, then complete ingestion with ov add-resource. The job is not done until the generated artifact directory has been validated and submitted to OpenViking.
references/ara-compiler-profile.md.scripts/validate_ara.py.ov add-resource directly.ov stat/ov tree and return the artifact path, OV target/root URI, validation result, ingest result, and any unresolved gaps.The generated artifact must include:
PAPER.mdlogic/problem.md, logic/claims.md, logic/concepts.md, logic/experiments.md, logic/related_work.mdlogic/solution/constraints.mdsrc/environment.mdtrace/exploration_tree.yamlevidence/README.mdThe final response must include the ov add-resource command result, or the recovery checks proving the target landed despite a broken --wait, or the exact blocker that prevented ingestion.
Run from this skill directory, or use an absolute path to the validator:
python3 scripts/validate_ara.py <artifact-dir>
Then ingest with the OV CLI:
ov add-resource <artifact-dir> --to viking://resources/papers/<slug> --wait --timeout 300
Before ingest, use ov -o json stat <target-uri> to check whether the target already exists. After ingest, verify with ov -o json stat <target-uri> and ov tree <target-uri>.
--skip-validation may be used only when the user explicitly accepts the listed validation errors.ov add-skill; this skill creates paper resources, not OV skills.ov add-resource; if ingestion fails, report the command, error, and recovery path.ov add-resource --wait exits with a connection error after creating the target, do not immediately retry the same URI. Run ov stat, ov wait --timeout <seconds>, ov observer queue, and ov tree to determine whether ingestion completed.references/ara-compiler-profile.md before compiling the artifact.references/openviking-ingest.md before running OV ingestion or debugging an ingestion failure.scripts/validate_ara.py for deterministic checks.