Add deterministic HTML/metadata/link/reference/sitemap validation, exact rubric drift checks against the authoritative skill template, generated-file drift checks including untracked artifacts, and Puppeteer production tests under the real GitHub Pages base path. Test five pages across four viewport widths, clipboard controls, keyboard tabs, full prompt visibility, downloads, and no-JS fallbacks. Pin Pages workflow actions, split read-only build from privileged deployment, pin the skill install to a full commit, and commit the npm lockfile.
Co-authored-by: Muratcan Koylan <muratcankoylan@users.noreply.github.com>
Turn the static comparison into a release site: full-height prompts on the website, capture-only bounded panes for PNGs, copy controls for every prompt and the Cursor install command, direct GitHub skill/repository/provenance links, a concise technical release explanation, responsive layout, social metadata, and an Actions-based Pages deployment. GitHub Pages still needs the one-time repository setting switched to GitHub Actions after merge.
Co-authored-by: Muratcan Koylan <muratcankoylan@users.noreply.github.com>
Normalize every SKILL.md description to double-quoted YAML so the corpus,
templates, and examples have one visible convention. Harden frontmatter
parsing against partial fence matches and non-string name/description values,
and extend tests to cover those regressions.
Fix stale or misleading developer-facing docs: remove phantom book-sft plugin
install instructions, document directory-copy installs, add .agents/skills
manual install guidance, fix the digital-brain setup script target, and mark
historical 13-skill analysis as historical. Cut the prepared release metadata
to 2.3.1 across manifests and root SKILL.md.
Tighten production gates by sharing dev dependencies, making orchestrators use
strict repo validation, aligning skill-health required sections with repo
validation, and linting documented plugin install commands against the actual
marketplace manifest.
Co-authored-by: Muratcan Koylan <muratcankoylan@users.noreply.github.com>
* fix: YAML-safe skill frontmatter for cross-platform discovery
Eleven skills used unquoted descriptions containing colons, which strict
YAML parsers reject during skill discovery on Cursor, Claude Code, and
Codex. Normalize all skill frontmatter to valid YAML, add a shared
skill_frontmatter parser with PyYAML validation, fix install docs to use
directory layout, and add .agents/skills symlink plus Open Plugins
skills path declaration.
Co-authored-by: Muratcan Koylan <muratcankoylan@users.noreply.github.com>
* test: add frontmatter parser unit tests and harden examples
Add researcher/scripts/tests/test_skill_frontmatter.py (19 tests) covering
parser edge cases, a strict-YAML regression guard for the unquoted-colon
bug, format/parse round-trips, and corpus + example integration checks.
Wire unit tests into CI ahead of the strict repo gate. Quote the
description fields in the two example skills that had the same
unquoted-colon YAML hazard. Simplify CRLF handling in split_frontmatter
and document CONTRIBUTING test commands.
Co-authored-by: Muratcan Koylan <muratcankoylan@users.noreply.github.com>
* chore: harden production plugin packaging validation
Remove the committed .agents/skills symlink because symlinks are fragile
on Windows checkouts and in plugin packaging. Keep Cursor and Codex
support through Open Plugins discovery and documented directory-copy
manual installs.
Extend validate_repo.py so strict validation checks that the Open
Plugins manifest and Claude marketplace manifest name the same bundled
plugin, and that Open Plugins skills discovery resolves to the same 15
published skills as the repository.
Co-authored-by: Muratcan Koylan <muratcankoylan@users.noreply.github.com>
* ci: certify cross-platform skill compatibility
Add validate_platform_compat.py to check the production surfaces defined by
Agent Skills, Cursor, Claude Code, Codex, and Open Plugins documentation.
The gate validates published skills, manifest discovery parity, and
platform-local directory-copy installs for .cursor/skills, .claude/skills,
.codex/skills, and .agents/skills.
Install skills-ref in CI and require the upstream agentskills reference
validator in the compatibility gate. Tighten manifest path checks so both
Claude marketplace and Open Plugins skill paths must start with './', and
update operator docs to run the new gate before claiming production
readiness.
Co-authored-by: Muratcan Koylan <muratcankoylan@users.noreply.github.com>
---------
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: Muratcan Koylan <muratcankoylan@users.noreply.github.com>
Apply the auto-research quality standard across every published skill and update the mechanisms, claims, fixtures, benchmarks, and release docs so the corpus improves as a coherent system rather than isolated prose edits.
Co-authored-by: Cursor <cursoragent@cursor.com>
Ships a file-based research-to-skill operating system on top of the v2.1
skill corpus. The corpus now compounds across runs: mechanisms have a
gated promotion path, claims have explicit provenance, runs have an
enforceable state machine, skill activation is regression-tested, and the
harness is benchmarked against adversarial scenarios. A continuous loop
runs the whole thing unattended from launchd, retrieving sources over
stdlib HTTP and parking anything that needs human review.
Highlights
- Mechanism registry + accepted/rejected ledgers (5 seeded mechanisms)
- Claim provenance for 6 volatile claims across 6 skills
- Corpus index mapping skills to scenarios, mechanisms, and claims
- Activation regression fixtures (8 cases, all passing)
- Adversarial benchmark harness (7 scenarios) with append-only history
- Run state machine: initialized -> retrieved -> evaluated -> proposed ->
novelty_checked -> validated -> pr_ready -> closed
- Continuous loop (loop_discover, loop_step, loop_daily, loop_status)
with atomic JSONL writes and fcntl locks
- launchd service definitions and operator runbook
- CI workflow runs validate_repo --strict, run_benchmarks, and
check_activation_cases on every PR
- AGENTS.md, CHANGELOG.md, researcher/runs/README.md,
researcher/insights/auto-research-experiment.md
Skill changes
- All 14 published skills migrated from keyword triggers to
activation-scenario descriptions
- Hardened evaluation/advanced-evaluation and project-development/
harness-engineering boundaries
Repository policy
- Active research runs (researcher/runs/*/) are runtime state and
gitignored. Seed run kept as a worked example, closed reference-only.
- Runtime queue, logs, snapshots, status, and loop event files are
gitignored.
Verification
- validate_repo --strict: 0 errors, 0 warnings, 14 skills
- run_benchmarks: 3 checks, 0 failures, 7 scenarios
- check_activation_cases: 8 cases, 0 failures
- Python compile: clean (12 researcher scripts)
- Lint: clean
- Live loop: 13 iterations executed across init/retrieve/park/reap paths
No paid LLM judges, no automated source discovery beyond the manual seed,
and no log rotation. See researcher/insights/auto-research-experiment.md
for the full lessons-learned writeup.
Co-authored-by: Cursor <cursoragent@cursor.com>