Two open threads, one doc. #652 reads the Cursor guide as wrong because
this repository has no .cursor/ directory; the guide means the user's
project but never says so. #494 reports Cursor failing with "An
unexpected error occurred on our servers" when a skill is attached to a
prompt with /, after which every message in that chat fails; the
maintainer confirmed it is Cursor-side, named referencing the skill by
name as the workaround, and said the setup doc should carry a note.
Add one sentence after the intro saying every .cursor/ path is in the
reader's project and this repo ships none, linking to the install step.
Add a troubleshooting row for the attach error with the workaround and a
pointer to #494, which stays open as a known host issue. Add the
project-not-repo clause to the README's Cursor entry.
Closes#652. Refs #494.
#542 reports following docs/copilot-setup.md and finding no /spec, /plan,
/build or /test. The doc already says the wrappers are Claude Code
commands, but in the middle of a paragraph that a reader scanning for
install steps walks past; the reporter did. The maintainer's answer on
the issue was that the doc should make this explicit.
Add a callout right after the intro that names the commands, says they
are expected to be absent, and points to the skill-name mapping and the
optional aliases. Add a lead-in to the troubleshooting list that rules
out the expected case before the real diagnostics. Add one sentence to
the README's Copilot entry so the expectation is set before the doc is
opened.
Closes#542
The README install section now lists only hosts a maintainer has run.
Every other host gets one line in docs/other-hosts.md, with no setup
page, vendor links or branding, and host guides are reviewed in the
order they were opened. Oh My Pi moves there.
#616 went in within six days, ahead of community host guides that had
been open since July and August, and no maintainer has run Dojo. That
was an inconsistent merge, not a problem with the submission. Dojo is
welcome back under the host-listing bar added in this change.
Applies the review suggestions on #580, which carry nucliweb's three points:
the condensed index bullet lost the partial, trigram/full-text and expression
index qualifiers, it no longer said a bad rows= estimate means ANALYZE, and
the caching bullet dropped the staleness window the Red Flags still audit.
Co-authored-by: Joan León <nucliweb@users.noreply.github.com>
OMP installs the existing Claude Code marketplace plugin and routes skills
natively, so the bootstrap extension stacked a second router (see #574).
Drop the extension, root package.json, and its test; keep the setup guide
and README entry, now pointing at the marketplace install, with the OMP
tool mapping as a doc section.
Addresses review on #603.
The comma claim was wrong. The code comment said a leading `,` parses cleanly;
PyYAML rejects it with a ParserError and psych with a SyntaxError. The same
comment was wrong about `]` and `}`. I had asserted all three without measuring,
and a test pinned the comma claim, so the mistake was defended rather than
caught.
Now flagged, each verified against PyYAML and psych: `,` `*` and a one-line
`|`/`>` header. A bare `|` with indented lines under it is a real block scalar
and stays accepted; `|foo` is not one.
Still not flagged, because each parses: `&anchor`, `#`, `:`/`-` without a
following space, and `[`/`{`, which open valid flow collections. `]` and `}` are
rejected by both parsers but left out for now - no frontmatter has ever started
with them, and widening past what was asked risks false positives I have not
thought through.
Docstring no longer says "the three shapes".
Step 2 asks "Would the tests catch a regression if the code changed?"
but gives no way to answer it. Reading the tests answers it badly: a
check tested in only one direction looks covered. Inverting one
condition of the change and running the suite answers it in one run,
and a surviving mutation names the missing test case.
Assisted-by: claude-code:claude-opus-5-5
Agent-Session: https://claude.ai/code/session_01282cSgXhjM3B6sZA1ZRCSF
Agent-Host: 0493f0
Signed-off-by: Sebastian Mendel <info@sebastianmendel.de>
Failure Modes restates Core Operating Behaviors; the discovery flowchart and
quick reference restate skill descriptions, so drop them when the system
prompt already carries OMP's <skills> list.
docs/advanced-per-agent-configuration.md says vendor and runtime fields
such as model, tools, max_turns and context must not appear at the top
level of a SKILL.md: hosts do not promise to ignore unknown keys and a
strict client can reject the file. Nothing enforced it; a skill with
model: at the top level passed CI.
Add SPEC_FRONTMATTER_KEYS (name, description, license, compatibility,
metadata, allowed-tools) and an error for any other column-zero key,
naming the key and pointing at the guide. Nested lines under metadata and
list items are children of a spec key and are left alone. Export
topLevelFrontmatterKeys for direct tests. validate-commands.js shares only
frontmatterYamlErrors, so command frontmatter is unaffected.
All 25 skills use only name and description, so the rule fires on nothing
today and follows the #571 pattern of errors for rules nothing violates.
The self-exemption test now expects two errors, since exempt: is also not
a spec key.
docs/advanced-per-agent-configuration.md calls itself the canonical
reference for keeping SKILL.md frontmatter portable, yet nothing in the
repository links to it. Add the frontmatter rule it states to the anatomy
doc's Frontmatter section, and point at it from the README contributing
paragraph and CONTRIBUTING's frontmatter step, so contributors meet the
rule where they read the format.
The template's Status line listed Accepted, Superseded by ADR-XXX and
Deprecated, while the ADR Lifecycle section below it starts at PROPOSED,
and the behavioral eval (since #598) accepts any status from that
lifecycle. An ADR written from the template before the decision is made
had no status to record. Add Proposed to the line.
Raised in the review on #598 (@abhisheksharma2411) and by the maintainer
there.
Two follow-ups from the review on #600, both already on main before it:
- The diff walk treated any line starting with `---` or `+++` as a file
header. Inside a hunk those lines are content. An added line that starts
with `++` (`++n; // eslint-disable-line no-plusplus`) shows as `+++n; ...`
and was dropped, so the suppression passed. An added line that starts with
`++ ` was taken as a header, so the lines after it were filed under a
made-up path and a removed assertion further down the same test file went
unreported. A removed line starting with `--` never reached the removed
list either. Headers are now read only between a file's `diff` line and
its first `@@`.
- Run from a subfolder, `git ls-files --others` listed only that
subfolder's untracked files, relative to it, while `git diff` covers the
whole tree from the top. An untracked suppression elsewhere in the
repository was missed, and one inside the subfolder was reported under a
different name from the tracked files. The guard now changes to
`git rev-parse --show-toplevel` first, and exits 2 outside a work tree.
The test gains six cases: five fail on main, and the sixth (outside a work
tree) passes on both and covers the new exit-2 path; 28 pass. The test now
also runs in the macOS/Windows matrix.