Skip to content

docs: Have the setup prompt read the setup skill by path - #4490

Merged
ntucker merged 4 commits into
masterfrom
claude/project-thread-jsavgc
Oct 27, 2026
Merged

ntucker merged 4 commits into
masterfrom
claude/project-thread-jsavgc

Conversation

@ntucker

@ntucker ntucker commented Oct 27, 2026 •

Copy link
Copy Markdown
Collaborator

Requested by Nathaniel · project thread

Motivation

Bug fix. A prompt that tells Claude Code to "follow" an installed setup skill can make the agent call its Skill tool. The setup skills are user-invoked only (disable-model-invocation), so the Skill tool refuses and says not to do the steps another way. In #4464's evals, 2 of 6 runs stopped there with "The REST setup skill (data-client-rest-setup) is already installed; follow it." The site's setup prompt ends the same way ("then follow it").

While checking where npx skills add puts files, it also skipped five skills (data-client-react, -vue, -manager, -react-testing, -vue-testing) with a YAML parse warning: their descriptions are unquoted and contain : . So npx skills add reactive/data-client installed 10 of 15 skills.

Solution

  • The prompt now tells the agent to read the file, the way llms.txt, the router skill and the axios guide already do:

    Before: Install its setup skill first: `npx skills add reactive/data-client --skill data-client-setup -y`, then follow it.

    After: Install its setup skill first: `npx skills add reactive/data-client --skill data-client-setup -y`, then read `.agents/skills/data-client-setup/SKILL.md` and follow it.

    The path is one constant, setupSkillFile in skillCommands.mjs; llms.txt and AgentPrompt fill it in (AgentPrompt as a {skillFile} placeholder, so translators never touch it). Translations update in the weekly run.

  • The five descriptions are now quoted. A dependency-free test fails on any skill frontmatter value that strict YAML can't read unquoted.

Assumptions and validation

  • npx skills add ... --skill data-client-setup -y writes .agents/skills/data-client-setup/SKILL.md as Claude Code, Cursor, Codex, Gemini CLI, with no agent detected, and with -a '*' --copy; Claude Code also gets a .claude/skills link. High.
  • Headless Claude Code 2.1.311 on a fresh Vite React app, tools allowlisted, clean home: 38 runs, old vs new prompt, Haiku (fresh app 5+5, another skill already in .claude/skills 5+5, setup skill already installed 6+6) and Sonnet (fresh app 3+3). Every run read SKILL.md, installed @data-client/react, added DataProvider and built; none called the Skill tool. So the old wording didn't reproduce feat: Make the axios migration work end to end #4464's refusal here; the new wording removes the opening for it. Medium: n is small.
  • Those runs fell back to npx skills add for the React skills (published packages don't ship data-client-skills yet), and 36 of 38 hit the YAML skip for data-client-react, -react-testing and -manager. npx skills add <this branch> --skill '*' -y installs all 15 skills with no warnings. High.
  • node --test '.claude-plugin/*.test.mjs' passes; the new test fails on master's five files. High.

🤖 Generated with Claude Code

https://claude.ai/code/session_01Y5C5ZA4ZzZpLn9DzCYbFei

The setup skill only runs when a user invokes it, so an agent told to
"follow it" calls its Skill tool, which refuses the skill. The prompt now
says to read .agents/skills/data-client-setup/SKILL.md, where
`npx skills add` puts it for every agent, as llms.txt already does.

Also quote the five skill descriptions that `npx skills add` skipped as
invalid YAML (an unquoted `: `), with a test that keeps them quoted.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Y5C5ZA4ZzZpLn9DzCYbFei
…ore unquoted frontmatter

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Y5C5ZA4ZzZpLn9DzCYbFei
@changeset-bot

changeset-bot Bot commented Oct 27, 2026 •

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: ebf3293

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@ntucker ntucker self-assigned this Oct 27, 2026
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 27, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-27T03:24:48.748029Z ebf3293 Manual request
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@github-actions

github-actions Bot commented Oct 27, 2026 •

Copy link
Copy Markdown
Contributor

Docs preview: https://docs-site-pr-4490-data-client.vercel.app

Built from ebf3293 merged into master (this build). Locales: en zh-Hans (the merge queue builds every locale).

@codecov

codecov Bot commented Oct 27, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 98.37%. Comparing base (56e2bca) to head (ebf3293).

Additional details and impacted files
@@           Coverage Diff           @@
##           master    #4490   +/-   ##
=======================================
  Coverage   98.37%   98.37%           
=======================================
  Files         161      161           
  Lines        3080     3080           
  Branches      605      605           
=======================================
  Hits         3030     3030           
  Misses         10       10           
  Partials       40       40           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@ntucker

ntucker commented Oct 27, 2026

Copy link
Copy Markdown
Collaborator Author

@codex review

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. More of your lovely PRs please.

Reviewed commit: ebf3293d7b

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@ntucker
ntucker added this pull request to the merge queue Oct 27, 2026
Merged via the queue into master with commit 486429b Oct 27, 2026
33 checks passed
@ntucker
ntucker deleted the claude/project-thread-jsavgc branch October 27, 2026 03:31

This branch was successfully deployed

1 active deployment
docs-preview — ebf3293d Deployed Oct 27, 2026 by ntucker via preview / docs deploy #4252
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.

2 participants