Skip to content

docs(file-formats): note comma-separated form for claudecode skill paths#1649

Closed
Chen17-sq wants to merge 1 commit into
dyoshikawa:mainfrom
Chen17-sq:docs/1618-paths-comma-form
Closed

docs(file-formats): note comma-separated form for claudecode skill paths#1649
Chen17-sq wants to merge 1 commit into
dyoshikawa:mainfrom
Chen17-sq:docs/1618-paths-comma-form

Conversation

@Chen17-sq
Copy link
Copy Markdown

Summary

Addresses item 3 from #1618 (review findings for PR #1604, the Claude Code skills paths field).

ClaudecodeSkillFrontmatterSchema declares:

// src/features/skills/claudecode-skill.ts:27
paths: z.optional(z.union([z.string(), z.array(z.string())])),

so paths accepts a YAML list or a comma-separated string. The docs/reference/file-formats.md SKILL.md example only showed the list form, leaving the string form undocumented.

This PR adds a one-sentence callout immediately after the SKILL.md example that names the comma-separated form and shows the equivalent value:

claudecode.paths accepts either the YAML list shown above or a comma-separated string (e.g. paths: "src/**/*.ts,test/**/*.ts"); the two forms are equivalent.

No code change. No schema change. skills/rulesync/file-formats.md is auto-regenerated from docs/ by scripts/sync-skill-docs.ts (wired through lint-staged on every docs/**/*.md commit) and is included in this PR for that reason.

Test plan

  • pnpm cicheck (fmt + oxlint + eslint + tsgo + 5550 vitest + sync-skill-docs check + cspell + secretlint) passes locally on Node 22.
  • Diff is a single inserted sentence in docs/reference/file-formats.md plus the mirrored regeneration in skills/rulesync/file-formats.md.
  • The note is placed outside the existing SKILL.md example fence, so it renders as parsed Markdown rather than as code.

Refs #1618 (item 3 of 6 — the other follow-ups in that issue are out of scope here; item 4 is being addressed separately in #1648).

Addresses item 3 in dyoshikawa#1618. The claudecode.paths Zod schema accepts z.union([z.string(), z.array(z.string())]), but the file-formats reference only showed the YAML list form. Add a one-sentence callout right after the SKILL.md example that names the comma-separated string form and shows the equivalent value, so the documented surface matches the schema.

Doc-only change; skills/rulesync/file-formats.md is regenerated by scripts/sync-skill-docs.ts via the lint-staged hook.
@github-actions
Copy link
Copy Markdown
Contributor

Thank you for your contribution! Unfortunately, you currently have 7 open PRs (including this one), which exceeds the limit of 2 for external contributors.

Please wait for an existing PR to be reviewed/merged, or close one before opening a new one. See CONTRIBUTING.md for details.

@Chen17-sq
Copy link
Copy Markdown
Author

Closing this proactively — the github-actions bot flagged that I'm well over the 2-PR limit for external contributors documented in CONTRIBUTING.md. I opened these nine PRs in one batch without spotting that rule first, which was my mistake — sorry for the noise.

The patch in this PR is ready as-is (pnpm cicheck green, lint-staged green, pre-commit pnpm dev generate green) and stays small enough for a quick read; reopening is one click.

Keeping #1643 (refactor(utils): consolidate isPlainObject, addresses #1638) and #1644 (refactor(copilot-rule): reuse toPosixPath, addresses #1603) as my current two. I'll reopen this one — addressing #1618 item 3 — once a slot frees up.

@Chen17-sq Chen17-sq closed this May 16, 2026
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