Skip to content

refactor: move agent config to cross-harness formats (AGENTS.md + .skills/) - #274

Merged
williscool merged 6 commits into
masterfrom
chore/cross-harness-agent-config
Sep 20, 2026
Merged

williscool merged 6 commits into
masterfrom
chore/cross-harness-agent-config

Conversation

@williscool

@williscool williscool commented Sep 20, 2026 •

Copy link
Copy Markdown
Owner

Overview

Moves agent configuration out of .cursor/ into open, cross-harness formats. Rules become a root AGENTS.md (agents.md); skills move to a harness-neutral .skills/ directory per the Agent Skills specification.

Plan: docs/dev_todo/cross_harness_agent_config.md

Changes

From To
.cursor/rules/main-rules.mdc AGENTS.md at repo root — frontmatter dropped, rule body preserved byte-for-byte (verified by diff)
.cursor/rules/wsl-unison-setup.mdc docs/build/wsl_unison_environment.md — it's alwaysApply: false reference material, not a standing rule
.cursor/skills/* .skills/*, with .claude/skills and .cursor/skills as committed symlinks
.cursor/plans/*.plan.md Left in place + README.md marking the directory deprecated

AGENTS.md adds three sections on top of the ported rules: Agent Configuration (where skills/docs live), Development Environment, and Planning.

Notes

Skill discovery isn't standardized. The Agent Skills spec defines the SKILL.md format, not the directory agents scan — Claude Code reads .claude/skills/, Cursor reads .cursor/skills/, and a bare .skills/ is discovered by neither. Hence canonical content in .skills/ plus symlinks: Cursor keeps working unchanged, Claude Code gains discovery it didn't have (no .claude/ existed before).

The skills were already spec-compliant on required frontmatter. Two fixes rode along: plan-making templates moved to assets/ per convention, and github-pr-comments/SKILL.md had an unterminated code fence (file ended mid-GraphQL-block).

Development Environment is called out inline, not just linked (per review) — dual-filesystem setup, ~15s sync delay, Windows-only instrumentation tests.

New standing rule: agents must never run unison without explicit permission. A misconfigured sync can destroy work irrecoverably and may require a machine restart. Documented in AGENTS.md and at the point of use in the env doc.

Verification

  • Symlinks stored as mode 120000; fresh clone reproduces them and all four skill files read through both .claude/skills/ and .cursor/skills/
  • Frontmatter name matches parent directory for both skills
  • All relative links resolve (assets/ templates, AGENTS.md → docs, deprecation README → skill)
  • No stale .cursor/rules or .cursor/skills references
  • Rule body diffed against the original — identical

Not verified, and intentionally left to you: the Unison round-trip. Propagating this requires Unison to delete .cursor/skills as a directory and recreate it as a symlink; the profile sets neither links nor follow, and the repo had no tracked symlinks before. Worth confirming both arrive as symlinks on your next sync. Fallback if not: .skills/ alone with AGENTS.md pointing at it, costing auto-discovery. No application code is affected either way.

🤖 Generated with Claude Code

https://claude.ai/code/session_01N34fouw76cNkoFVg6V3j4Z

Plan to move agent configuration out of .cursor/ into open formats:
rules become a root AGENTS.md (agents.md), skills move to a neutral
.skills/ directory per the Agent Skills specification, with committed
symlinks so both Claude Code and Cursor discover them.

.cursor/plans/ is retained as-is with a deprecation README.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01N34fouw76cNkoFVg6V3j4Z
Comment thread docs/dev_todo/cross_harness_agent_config.md Outdated
williscool and others added 3 commits September 20, 2026 19:19
Per PR review: a bare link to the environment doc is too easy to skip.
AGENTS.md gets a short Development Environment section naming the
dual-filesystem setup, sync delay, and Windows-only instrumentation
tests, pointing at the full doc for detail.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01N34fouw76cNkoFVg6V3j4Z
Rules become a root AGENTS.md (agents.md format); skills move to a
harness-neutral .skills/ directory per the Agent Skills specification,
with committed symlinks so both Claude Code and Cursor discover them.

- .cursor/rules/main-rules.mdc -> AGENTS.md (frontmatter dropped, body
  preserved verbatim; adds Agent Configuration, Development Environment
  and Planning sections)
- .cursor/rules/wsl-unison-setup.mdc -> docs/build/wsl_unison_environment.md
  (alwaysApply:false reference material belongs in the docs tree)
- .cursor/skills/* -> .skills/*, with .claude/skills and .cursor/skills
  as symlinks
- plan-making templates -> assets/ per spec convention
- github-pr-comments: close unterminated code fence
- .cursor/plans/ retained with a deprecation README

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01N34fouw76cNkoFVg6V3j4Z
A misconfigured or mistimed sync can destroy work in ways that are hard
to restore and may require a machine restart, so this is a standing rule
rather than a judgment call.

- AGENTS.md: dedicated section prohibiting agent-initiated unison runs
- docs/build/wsl_unison_environment.md: warning at the point of use
- plan: Phase 3 round-trip verification is now explicitly user-run only

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01N34fouw76cNkoFVg6V3j4Z
@williscool williscool changed the title docs: plan for cross-harness agent config migration refactor: move agent config to cross-harness formats (AGENTS.md + .skills/) Sep 20, 2026
@github-actions

Copy link
Copy Markdown

Build artifacts for PR #274 (commit aff194d) are available:

You can download these artifacts from the "Artifacts" section of the workflow run.

@github-actions

github-actions Bot commented Sep 20, 2026 •

Copy link
Copy Markdown

Code Coverage Report

Overall Project NaN% NaN% 🍏

There is no coverage information present for the Files changed

@github-actions

Copy link
Copy Markdown

📊 Code Coverage Summary

Coverage Type Coverage
Overall null
Changed Files 100

View detailed coverage report

@github-actions

Copy link
Copy Markdown

Build artifacts for PR #274 (commit a783592) are available:

You can download these artifacts from the "Artifacts" section of the workflow run.

@github-actions

Copy link
Copy Markdown

📊 Code Coverage Summary

Coverage Type Coverage
Overall 27.68
Changed Files 100

View detailed coverage report

@williscool
williscool merged commit 42f4f04 into master Sep 20, 2026
4 of 6 checks passed
@github-actions

Copy link
Copy Markdown

Build artifacts for PR #274 (commit 2a51a9d) are available:

You can download these artifacts from the "Artifacts" section of the workflow run.

@github-actions

Copy link
Copy Markdown

📊 Code Coverage Summary

Coverage Type Coverage
Overall 27.68
Changed Files 100

View detailed coverage report

@github-actions

Copy link
Copy Markdown

Build artifacts for PR #274 (commit ee759be) are available:

You can download these artifacts from the "Artifacts" section of the workflow run.

@github-actions

Copy link
Copy Markdown

📊 Code Coverage Summary

Coverage Type Coverage
Overall null
Changed Files 100

View detailed coverage report

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant