chore: align skills repo with official validation#4
Conversation
|
Warning Rate limit exceeded
Your organization is not enrolled in usage-based pricing. Contact your admin to enable usage-based pricing to continue reviews beyond the rate limit, or try again in 18 minutes and 57 seconds. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Run ID: 📒 Files selected for processing (3)
📝 WalkthroughWalkthroughReplaces inline CI validation with script-driven validation (Bash + Python + pinned skills-ref), updates GitHub Actions to call the scripts and broaden path filters, adds Makefile and Lefthook hooks for local validation, expands .gitignore, migrates SKILL.md frontmatter schema, and adds the nothing-design skill with references. Changes
Sequence Diagram(s)sequenceDiagram
autonumber
participant GH as GitHub Actions
participant Runner as CI Runner / Dev Machine
participant Bash as ./scripts/validate-skills.sh
participant Installer as ./scripts/install-skills-ref.sh
participant VenvSR as skills-ref (venv)
participant Py as scripts/validate_skills.py
GH->>Runner: workflow triggered (push/PR/paths)
Runner->>Bash: execute ./scripts/validate-skills.sh
Bash->>Installer: run install-skills-ref.sh
Installer-->>Bash: path to venv skills-ref (VenvSR)
Bash->>VenvSR: run "skills-ref validate <skill_dir>" per skill
VenvSR-->>Bash: per-skill result
Bash->>Py: run python3 scripts/validate_skills.py (repo checks)
Py-->>Bash: aggregated pass/fail (exit code)
Bash-->>Runner: exit with status (fail workflow on non-zero)
Estimated code review effort🎯 4 (Complex) | ⏱️ ~45 minutes Poem
🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 22
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
skills/skill-creator/SKILL.md (1)
74-74:⚠️ Potential issue | 🟠 MajorFix malformed fenced-code delimiters to restore Markdown rendering.
Line 74, Line 99, and Line 113 use
```markdownwhere a closing fence is needed. This can cause large sections to render as code instead of documentation.Proposed fix
-```markdown +``` ... -```markdown +``` ... -```markdown +```Also applies to: 99-99, 113-113
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@skills/skill-creator/SKILL.md` at line 74, Replace the malformed closing fenced-code delimiters that use "```markdown" where a closing fence is required: search SKILL.md for occurrences of the string "```markdown" that are acting as closing fences and replace those closing instances with a plain "```" so each opened ```markdown block is properly terminated by ```; ensure the three problematic blocks (the ones currently closed with "```markdown") are corrected to use "```" as the closing fence.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In @.github/workflows/validate-skills.yml:
- Around line 7-21: Update the GitHub Actions path filters to include the
Makefile so changes to it trigger the workflow: add 'Makefile' to both the
push.paths and pull_request.paths arrays in the validate-skills.yml workflow
(the block listing 'skills/**', 'scripts/**',
'.github/workflows/validate-skills.yml', 'lefthook.yml', 'CONTRIBUTING.md',
'README.md') so PRs that only modify the Makefile will run CI.
In `@CONTRIBUTING.md`:
- Line 34: The heading "SKILL.md Format" was renamed and no longer matches the
table-of-contents anchor "#skillmd-manifest-format"; either revert the heading
to "SKILL.md Manifest Format" or update the TOC entry to point to
"#skillmd-format" so the anchor resolves. Locate the heading text "SKILL.md
Format" and the TOC link that references "#skillmd-manifest-format" and make
them consistent (match the exact slugified anchor) so the link works.
In `@scripts/install-skills-ref.sh`:
- Around line 9-12: The current check prefers any skills-ref on PATH, allowing
the pinned validator to be bypassed; change the logic so the script prefers the
repository-pinned validator and only uses a PATH-installed skills-ref when
explicitly allowed: when SKILLS_REF_FORCE_LOCAL != "1" ensure you either invoke
the repo-pinned binary (e.g., ./skills-ref or the known pinned artifact) or
verify the PATH-provided skills-ref matches the pinned ref (compare skills-ref
--version or an expected SKILLS_REF_PINNED_VERSION env var) and only exit 0 if
it matches; otherwise fall back to using the pinned binary or fail with a clear
message.
- Around line 14-19: The install logic only checks for the existence of
"$VENV_DIR/bin/skills-ref" and ignores SKILLS_REF_GIT_REF changes; update
scripts/install-skills-ref.sh to record the installed ref (e.g., write
SKILLS_REF_GIT_REF into a marker file inside VENV_DIR such as
"$VENV_DIR/.skills_ref_installed_ref") and on each run compare the current
SKILLS_REF_GIT_REF to that marker; if the marker is missing or differs, recreate
or force-reinstall the package (use "$VENV_DIR/bin/pip install --upgrade
--force-reinstall $SKILLS_REF_PACKAGE" or remove and recreate VENV_DIR) and
update the marker with the new SKILLS_REF_GIT_REF so the venv is refreshed when
the pinned ref changes.
In `@scripts/validate_skills.py`:
- Around line 67-70: The check currently looks for "Use when" in the whole file
text (variable text) which lets body mentions satisfy a rule meant for the
description frontmatter; update the logic to extract the frontmatter description
field (e.g., frontmatter.get("description") or a local variable named
description) and perform the "Use when" presence check against that description
string only, and if description is missing or doesn't include "Use when" append
the same problem to problems (keep existing message).
In `@scripts/validate-skills.sh`:
- Line 12: The assignment to SKILLS_REF_BIN uses command substitution without
quoting the script path which breaks on paths with spaces; change the line that
calls install-skills-ref.sh so the script path is quoted inside the substitution
and the entire substitution is wrapped in quotes (i.e., reference
SKILLS_REF_BIN, the install-skills-ref.sh invocation and the ROOT_DIR variable)
so the command runs correctly for paths containing spaces.
In `@skills/accessibility/references/REFERENCE.md`:
- Around line 1-63: Change the top-level heading "Testing checklist" from "##"
to "#" and add missing blank lines before and after each major heading
("Automated testing", "Manual testing", "Screen reader commands", "Common issues
by impact") and ensure there is a blank line before and after the fenced code
block under "Automated testing" so the file follows markdownlint spacing rules
and improves rendering consistency.
In `@skills/best-practices/references/REFERENCE.md`:
- Line 1: The file starts with a level-2 heading ("## Code quality") which
triggers markdownlint MD041; change the top-level heading to an H1 by replacing
the "## Code quality" heading with "# Code quality" so the file begins with a
single top-level H1 heading.
- Line 146: The "Web Quality Audit" link in REFERENCE.md uses an incorrect
relative path; update the link target for "Web Quality Audit" so it points to
the sibling skill's SKILL.md (use the sibling-skill relative path instead of the
current ../web-quality-audit/SKILL.md), verify the corrected path resolves by
checking the actual file location, and update the link text in REFERENCE.md
accordingly (locate the "Web Quality Audit" entry to change its href).
- Around line 105-126: Add a blank line immediately after each subsection
heading in the checklist block so the list items are separated from their
headings; specifically insert one empty line after the headings "### Security
(critical)", "### Compatibility", "### Code quality", and "### UX" in
REFERENCE.md so each heading is followed by a blank line before the subsequent
list items to satisfy MD022.
In `@skills/cypress-e2e/SKILL.md`:
- Around line 11-13: The MD022/MD031 warnings are caused by missing blank lines
around headings and code-fence boundaries in SKILL.md (specifically the "## When
to Use" heading); to fix, add a single blank line above and below the "## When
to Use" heading and ensure any adjacent code fences have a blank line before the
opening ``` and after the closing ```, then re-run markdownlint to confirm the
MD022/MD031 warnings are resolved.
In `@skills/nothing-design/references/platform-mapping.md`:
- Around line 41-55: The Color(hex:) calls in the Color extension are not
standard SwiftUI; add or link a helper initializer that parses hex strings and
constructs a SwiftUI Color (for example, implement Color.init(hex: String) that
converts hex to RGB/opacity via UIColor or CGColor) or replace each Color(hex:)
use with an existing initializer; update the file to include the helper
implementation (or a comment/link to it) so the extension (extension Color and
the nd* static properties) compiles for consumers.
In `@skills/nothing-design/references/tokens.md`:
- Around line 130-131: Add a blank line between the heading "### CSS
Implementation" and the opening CSS fenced code block to satisfy MD022/MD031;
locate the heading "### CSS Implementation" in tokens.md and insert a single
empty line before the subsequent ```css fence so the CSS example (the .dot-grid
block) is separated from the heading.
In `@skills/nothing-design/SKILL.md`:
- Around line 72-77: The fenced code blocks in SKILL.md that start around the
"Tight (4–8px ... Vast (64–96px)" list are missing a language tag and trigger
MD040; update each opening triple-backtick for those blocks (the one around the
spacing list and the one around the later block at lines ~94-99) to include a
language identifier such as "text" (e.g., change ``` to ```text) so the markdown
linter is satisfied while preserving the existing content.
In `@skills/rust-async-patterns/references/REFERENCE.md`:
- Line 1: The file begins with a level-2 heading ("## Debugging Tips") which
triggers markdownlint MD041; change the top heading to an H1 by replacing "##
Debugging Tips" with "# Debugging Tips" (or add a distinct H1 title line above
the existing content) so the document starts with an H1; update the heading text
in REFERENCE.md accordingly to ensure the first line is an H1.
- Around line 19-23: The example uses .instrument(span) inside the tokio::spawn
call but is missing the tracing::Instrument trait import; add use
tracing::Instrument; (in addition to the existing instrument macro import) so
the .instrument(span) method on the future compiles—locate the example around
the tracing::info_span! declaration and the tokio::spawn(async move { ...
}.instrument(span)) usage and add the trait import.
In `@skills/seo/references/REFERENCE.md`:
- Line 1: The file currently begins with a second-level heading ("## Mobile
SEO") which triggers MD041, so change it to a top-level heading ("# Mobile SEO")
or add a H1 above it; additionally, fix MD022 by ensuring there is a blank line
after each checklist subsection heading in the checklist block (the headings
referenced around lines 72-93) so every heading is followed by a single blank
line before the content that follows.
- Around line 116-117: The related-skill links in REFERENCE.md are using
one-level-up paths that resolve relative to skills/seo/references/ (e.g.,
"../core-web-vitals/SKILL.md" and "../web-quality-audit/SKILL.md"); update both
links to point to the sibling skill directories by adding one more parent
segment (change to "../../core-web-vitals/SKILL.md" and
"../../web-quality-audit/SKILL.md") so they resolve to the correct sibling
locations.
In `@skills/skill-creator/assets/SKILL-TEMPLATE.md`:
- Around line 4-5: Add an explicit, prominent instruction to SKILL-TEMPLATE.md
requiring authors to replace all `{...}` placeholders before submission: locate
the descriptive lines that include `{Brief description...}` and `{user
intent...}` and add a clear note (e.g., bolded "REPLACE PLACEHOLDERS") stating
that any `{...}` tokens must be replaced, and that submissions containing
un-replaced `{...}` will be rejected; apply the same note near the template
section referenced by the reviewer (the repeated placeholder block around the
later template lines) so both occurrences of `{...}` are covered.
In `@skills/skill-creator/SKILL.md`:
- Line 139: Update the validation guidance in SKILL.md to match the enforced
checks: replace instructions that say to run only "skills-ref validate"
(references at the checklist and lines ~150-156 and ~182) with the shared
validation command "./scripts/validate-skills.sh", and change the line about
file length ("Keep the main `SKILL.md` under 500 lines when possible") to state
the enforced rule exactly (e.g., "SKILL.md must be 500 lines or fewer") so it
matches CI; also update the checklist entries (the item that currently mentions
"`skills-ref validate skills/{skill-name}` passes") to require
"./scripts/validate-skills.sh passes". Ensure all occurrences are updated
consistently.
In `@skills/sql-optimization-patterns/references/REFERENCE.md`:
- Line 1: The file's top-level heading uses "## Best Practices" which violates
MD041; change the opening heading to a level-1 heading by replacing "## Best
Practices" with "# Best Practices" so the document begins with an H1. Ensure any
other section headings remain unchanged.
- Around line 73-79: The listed resource paths in REFERENCE.md are incorrect for
its directory; update each entry (references/postgres-optimization-guide.md,
references/mysql-optimization-guide.md, references/query-plan-analysis.md,
assets/index-strategy-checklist.md, assets/query-optimization-checklist.md,
scripts/analyze-slow-queries.sql, scripts/index-recommendations.sql) to use
correct relative paths from skills/sql-optimization-patterns/references/ (e.g.,
./postgres-optimization-guide.md, ./query-plan-analysis.md,
../assets/index-strategy-checklist.md, ../scripts/analyze-slow-queries.sql) or
convert them into markdown links [Title](./path) so navigation works and links
can be verified.
---
Outside diff comments:
In `@skills/skill-creator/SKILL.md`:
- Line 74: Replace the malformed closing fenced-code delimiters that use
"```markdown" where a closing fence is required: search SKILL.md for occurrences
of the string "```markdown" that are acting as closing fences and replace those
closing instances with a plain "```" so each opened ```markdown block is
properly terminated by ```; ensure the three problematic blocks (the ones
currently closed with "```markdown") are corrected to use "```" as the closing
fence.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: ASSERTIVE
Plan: Pro
Run ID: 4bb92eb3-7b8a-48ac-b99b-2be041897f38
📒 Files selected for processing (60)
.github/workflows/validate-skills.yml.gitignoreCONTRIBUTING.mdMakefileREADME.mdlefthook.ymlscripts/install-skills-ref.shscripts/validate-skills.shscripts/validate_skills.pyskills/accessibility/SKILL.mdskills/accessibility/references/REFERENCE.mdskills/best-practices/SKILL.mdskills/best-practices/references/REFERENCE.mdskills/brainstorming/SKILL.mdskills/core-web-vitals/SKILL.mdskills/cypress-e2e/SKILL.mdskills/docker-expert/SKILL.mdskills/elixir-development/SKILL.mdskills/eslint-config/SKILL.mdskills/express-api/SKILL.mdskills/frontend-design/SKILL.mdskills/github-actions/SKILL.mdskills/go-development/SKILL.mdskills/grafana-dashboards/SKILL.mdskills/grpc-api/SKILL.mdskills/helm-charts/SKILL.mdskills/jest-testing/SKILL.mdskills/kubernetes-orchestration/SKILL.mdskills/makefile/SKILL.mdskills/markdown-a11y/SKILL.mdskills/nothing-design/SKILL.mdskills/nothing-design/references/components.mdskills/nothing-design/references/examples.mdskills/nothing-design/references/platform-mapping.mdskills/nothing-design/references/tokens.mdskills/performance/SKILL.mdskills/php-development/SKILL.mdskills/pinned-tag/SKILL.mdskills/postgresql-development/SKILL.mdskills/pr-creator/SKILL.mdskills/prettier-formatting/SKILL.mdskills/qwik-development/SKILL.mdskills/rails-development/SKILL.mdskills/ruby-development/SKILL.mdskills/rust-async-patterns/SKILL.mdskills/rust-async-patterns/references/REFERENCE.mdskills/seo/SKILL.mdskills/seo/references/REFERENCE.mdskills/skill-creator/SKILL.mdskills/skill-creator/assets/SKILL-TEMPLATE.mdskills/solidjs-development/SKILL.mdskills/sql-optimization-patterns/SKILL.mdskills/sql-optimization-patterns/references/REFERENCE.mdskills/swift-ios-development/SKILL.mdskills/tensorflow-ml/SKILL.mdskills/testing-library/SKILL.mdskills/trpc-type-safety/SKILL.mdskills/web-quality-audit/SKILL.mdskills/webapp-testing/SKILL.mdskills/zig-development/SKILL.md
There was a problem hiding this comment.
Actionable comments posted: 8
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
skills/skill-creator/SKILL.md (1)
32-40: 🧹 Nitpick | 🔵 TrivialAdd language identifiers to fenced code blocks.
Static analysis flags MD040 for fenced code blocks without language specifiers at lines 32 and 46. Adding identifiers improves syntax highlighting and accessibility.
Proposed fix
-``` +```text skills/{skill-name}/ ├── SKILL.md # Required - main skill file-``` +```markdown --- name: {skill-name} description: >Also applies to: 46-74
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@skills/skill-creator/SKILL.md` around lines 32 - 40, The fenced code blocks in SKILL.md are missing language identifiers (triggering MD040); update the directory-tree block and the frontmatter/example blocks by adding appropriate language tags (e.g., "text" for the ASCII tree and "markdown" or "yaml" for the frontmatter) so they become fenced with language identifiers; locate the blocks in the SKILL.md content (the directory listing and the frontmatter/example starting with "--- name: {skill-name}") and prefix their opening triple backticks with the chosen language labels.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@scripts/validate_skills.py`:
- Line 38: Replace the repeated startswith calls with a tuple-based startswith:
change the condition "if not line or line.startswith(' ') or
line.startswith('\t'):" to "if not line or line.startswith((' ', '\t')):" so the
check for leading space or tab is consolidated into a single startswith call on
the variable line; update any nearby similar checks if present.
- Line 71: Wrap the call to skill_file.read_text() in a try/except inside the
script so unreadable SKILL.md files don't raise uncaught exceptions: catch
OSError and UnicodeDecodeError (or a general Exception), log/print a clear error
that includes the skill_file path/name and the exception message, and then
handle it appropriately (e.g., mark the skill invalid or exit with a non-zero
code). Locate the read_text() call (variable skill_file and variable text) and
add the try/except around that invocation to provide the cleaner error output.
In `@skills/accessibility/references/REFERENCE.md`:
- Around line 3-37: The document jumps heading levels (h1 → h3, etc.); update
the subsection headings so they increment by one level from the document's
top-level h1: change "### Automated testing", "### Manual testing", "### Screen
reader commands" to "## Automated testing", "## Manual testing", "## Screen
reader commands" (and make "## Common issues by impact" consistent if it isn't
already), ensuring all subsection headings use h2 under the h1 and any nested
sub-sections use h3, etc., so the hierarchy is sequential and consistent.
In `@skills/best-practices/references/REFERENCE.md`:
- Around line 3-55: The file has a heading-level jump (MD001): change the
sibling section headings currently written as "### Valid HTML", "### Semantic
HTML", and "### Image aspect ratios" to H2 so they are promoted from H3 to H2
(replace the leading "###" with "##") to restore a proper hierarchy under the
document H1.
In `@skills/nothing-design/references/platform-mapping.md`:
- Around line 23-30: Add the missing CSS spacing token --space-2xs: 2px to this
token set so it matches the canonical spacing scale in tokens.md; insert the new
declaration (--space-2xs: 2px) in the correct order among the other --space-*
variables (just before --space-xs: 4px) so the list remains ordered and
complete.
In `@skills/nothing-design/SKILL.md`:
- Line 215: Update the text line that reads "Provide reduced-motion friendly
behavior; if animation is used, keep it subtle and removable" to hyphenate the
compound adjective so it reads "Provide reduced-motion-friendly behavior; if
animation is used, keep it subtle and removable" (locate this exact sentence in
SKILL.md and replace the unhyphenated form).
In `@skills/seo/references/REFERENCE.md`:
- Around line 1-3: The headings jump from H1 "Mobile SEO" to H3 "Responsive
design", "Tap targets", and "Font sizes", violating MD001; fix by either
promoting those three subsection headings from H3 (###) to H2 (##) or inserting
an H2 under the H1 (e.g., "## Mobile SEO Overview") and keeping the subsections
as H3—update the headings for "Responsive design", "Tap targets", and "Font
sizes" accordingly so heading levels increment correctly.
In `@skills/skill-creator/SKILL.md`:
- Around line 134-148: The MD022 violations are caused by missing blank lines
around the subheadings in the "Content Guidelines" section; open SKILL.md, find
the "Content Guidelines" heading and ensure there is an empty line before and
after each subheading like "### DO" and "### DON'T" (i.e., add a single blank
line above the "### DO" and below its block, and similarly above "### DON'T" and
below its block) so each subheading is separated from surrounding text by blank
lines to satisfy markdown linting.
---
Outside diff comments:
In `@skills/skill-creator/SKILL.md`:
- Around line 32-40: The fenced code blocks in SKILL.md are missing language
identifiers (triggering MD040); update the directory-tree block and the
frontmatter/example blocks by adding appropriate language tags (e.g., "text" for
the ASCII tree and "markdown" or "yaml" for the frontmatter) so they become
fenced with language identifiers; locate the blocks in the SKILL.md content (the
directory listing and the frontmatter/example starting with "--- name:
{skill-name}") and prefix their opening triple backticks with the chosen
language labels.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: ASSERTIVE
Plan: Pro
Run ID: 1968a113-4021-4ca3-870a-5961724370d4
📒 Files selected for processing (16)
.github/workflows/validate-skills.ymlCONTRIBUTING.mdscripts/install-skills-ref.shscripts/validate-skills.shscripts/validate_skills.pyskills/accessibility/references/REFERENCE.mdskills/best-practices/references/REFERENCE.mdskills/cypress-e2e/SKILL.mdskills/nothing-design/SKILL.mdskills/nothing-design/references/platform-mapping.mdskills/nothing-design/references/tokens.mdskills/rust-async-patterns/references/REFERENCE.mdskills/seo/references/REFERENCE.mdskills/skill-creator/SKILL.mdskills/skill-creator/assets/SKILL-TEMPLATE.mdskills/sql-optimization-patterns/references/REFERENCE.md
There was a problem hiding this comment.
Actionable comments posted: 3
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@scripts/validate_skills.py`:
- Around line 119-126: The loop currently appends each validation tuple
one-by-one to failures; replace the per-item appends with a single extend call
to collect all results from validate_skill(skill_dir) at once (e.g.,
failures.extend(validate_skill(skill_dir))) inside the same for skill_dir loop
after confirming SKILL.md exists; this uses validate_skill as the iterable
source and keeps the existing logic around checking skill_file and continuing on
missing SKILL.md.
In `@skills/accessibility/references/REFERENCE.md`:
- Around line 38-57: The three markdown subheadings "### Critical (fix
immediately)", "### Serious (fix before launch)", and "### Moderate (fix soon)"
are missing blank lines after them which triggers MD022; fix by inserting a
single empty line immediately after each of these headings so each numbered list
follows a blank line (i.e., ensure a blank line after the headings in
REFERENCE.md where the headings strings above occur).
In `@skills/best-practices/references/REFERENCE.md`:
- Around line 89-99: Remove the <meta http-equiv="Permissions-Policy"> examples
under the "Permissions policy" section and replace them with guidance and
examples that show setting the Permissions-Policy as an HTTP response header on
the server side (e.g., show nginx/Apache config or an Express/Node setHeader
example), and update the explanatory text to state explicitly that the
Permissions-Policy must be set via HTTP headers rather than meta tags; ensure
references to "Permissions-Policy" in that section and the two meta examples are
replaced by server-side header configuration instructions and examples.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: ASSERTIVE
Plan: Pro
Run ID: 2c8a89cd-9ccb-4c6e-ba2d-d27c5b5ba2e3
📒 Files selected for processing (7)
scripts/validate_skills.pyskills/accessibility/references/REFERENCE.mdskills/best-practices/references/REFERENCE.mdskills/nothing-design/SKILL.mdskills/nothing-design/references/platform-mapping.mdskills/seo/references/REFERENCE.mdskills/skill-creator/SKILL.md
This pull request introduces a new validation workflow for skills, refines the skill manifest standards, and improves developer tooling for local and CI validation. The most important changes are grouped below:
Validation Workflow and Tooling Improvements:
scripts/validate-skills.shandscripts/install-skills-ref.shto centralize and standardize skill validation using the officialskills-reftool, replacing the previous Bash-based validator. [1] [2].github/workflows/validate-skills.ymlto use the new validation script and extend validation triggers to cover scripts, workflow configs, and documentation. Increased job timeout and added Python setup. [1] [2]Makefilewith common targets for validation, installing tools, and hooks, making it easier to run checks locally.lefthook.ymland documented Lefthook integration for pre-push validation, ensuring local and CI checks are consistent. [1] [2]Skill Manifest and Contribution Standards:
CONTRIBUTING.mdto clarifySKILL.mdformat: removedtriggersandversionas top-level fields, moved activation cues todescription, and emphasized concise, action-oriented content. Provided new examples and validation rules. [1] [2]Documentation Updates:
README.mdto document the validation workflow, tool installation, and common maintenance commands. Added new skill to the skills list. [1] [2]These changes modernize and standardize skill validation, improve contributor experience, and enforce higher quality and consistency for submitted skills.