Sync skills from anthropics/skills: claude-academy-guide (new), frontend-design (updated) - #810
Sync skills from anthropics/skills: claude-academy-guide (new), frontend-design (updated)#810davila7 wants to merge 3 commits into
Conversation
…end-design) Add claude-academy-guide (new) and update frontend-design's SKILL.md to match the current upstream content. Catalog regeneration and reviewer validation to follow in subsequent commits. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011k2B5TcrMdLfWtMszBdY9f
The upstream SKILL.md used a YAML folded block scalar (`description: >`) for its description. generate_components_json.py's frontmatter parser is line-based, not a real YAML parser, so it read the description as a literal ">" character. Reformatted to a single-line quoted scalar (consistent with other long descriptions in this repo) so it parses correctly while staying valid YAML. Also added both migrated/updated skills to ANTHROPIC_ATTRIBUTION.md and regenerated the component catalog (docs/components.json + dashboard artifacts), which also refreshes download-count stats across all component types. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011k2B5TcrMdLfWtMszBdY9f
👋 Thanks for contributing, @davila7!This PR touches What happens next
While you wait
This is an automated message. No action is required from you right now — a maintainer will review soon. |
🎉 SkillSpector Security ScanStatic analysis ( Status: ✅ PASSED
No HIGH/CRITICAL findings. ✅ Generated by SkillSpector. Score bands: 0-20 LOW, 21-50 MEDIUM, 51-80 HIGH, 81-100 CRITICAL. |
|
| Metric | Count |
|---|---|
| Total Components | 769 |
| ✅ Passed | 358 |
| ❌ Failed | 411 |
| 977 |
❌ Failed Components (Top 5)
| Component | Errors | Warnings | Score |
|---|---|---|---|
vercel-edge-function |
3 | 4 | 81/100 |
prompt-engineer |
2 | 0 | 90/100 |
neon-expert |
2 | 2 | 88/100 |
agent-overview |
2 | 1 | 89/100 |
unused-code-cleaner |
2 | 1 | 89/100 |
...and 406 more failed component(s)
📊 View Full Report for detailed error messages and all components
|
The ❌ Security Audit failure here is pre-existing on Generated by Claude Code |
|
This PR has 50,193 reviewable changed lines after ignored/generated files are excluded, above cubic's default 50,000-changed-line automatic review limit. Most of the diff comes from:
Comment |
Greptile SummaryThe PR synchronizes Anthropic’s new Claude Academy guide and revised frontend-design skill, then updates attribution and generated catalog assets.
Confidence Score: 5/5The PR appears safe to merge. No blocking failure remains.
|
| Filename | Overview |
|---|---|
| cli-tool/components/skills/ai-research/claude-academy-guide/SKILL.md | Adds the Claude Academy recommendation skill with valid single-line frontmatter and detailed catalog-use safeguards. |
| cli-tool/components/skills/creative-design/frontend-design/SKILL.md | Replaces the prior frontend-design guidance with the revised upstream design process and self-critique instructions. |
| scripts/generate_components_json.py | Adds scalar-delimiter cleanup that resolves the previously reported quotation-mark leakage in generated descriptions. |
| docs/components.json | Regenerates the documentation catalog with the new skill, updated metadata, and correctly decoded Claude Academy description. |
| dashboard/public/components.json | Refreshes the dashboard catalog and associated generated artifacts to match the canonical component sources. |
Flowchart
%%{init: {'theme': 'neutral'}}%%
flowchart LR
Skills[cli-tool/components/skills] --> Generator[scripts/generate_components_json.py]
Generator --> Docs[docs/components.json]
Generator --> Dashboard[dashboard/public catalog and search artifacts]
Dashboard --> Users[Dashboard browsing and search]
Reviews (2): Last reviewed commit: "fix: Strip YAML quote delimiters from ca..." | Re-trigger Greptile
generate_components_json.py's frontmatter parser is line-based, not a real YAML parser: a quoted single-line description (e.g. description: "Uses \"quotes\": here.") was extracted verbatim, including the wrapping quotes and backslash-escapes, and that leaked into the generated catalog/dashboard as user-facing text. Add clean_yaml_scalar() to strip a matching pair of leading/trailing quotes and undo YAML's escaping for that quote style, applied at both description-extraction sites (skills and generic markdown components). Fixes the claude-academy-guide description flagged in PR review, and incidentally cleans up several other already-catalogued skills that hit the same pattern (e.g. agent-evaluation, ai-agents-architect). Regenerated the catalog and dashboard artifacts. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011k2B5TcrMdLfWtMszBdY9f
Summary
Scheduled sync against https://github.com/anthropics/skills, comparing all 18 upstream skill folders against
cli-tool/components/skills/.ai-research/claude-academy-guide— new upstream skill (Apache 2.0), no local equivalent existed. Recommends Claude Academy courses/tutorials when a user asks how to use a Claude product. Placed underai-researchalongside the existingclaude-code-guide(same "product usage guide" shape).creative-design/frontend-design/SKILL.md— upstream replaced the content with a substantially revised version (design process, restraint/self-critique, writing-in-design guidance). Local copy was stale; synced to match upstream verbatim.component-reviewer:claude-academy-guide's upstreamdescription: >(YAML folded block scalar) breaksgenerate_components_json.py's line-based frontmatter parser — it would have extracted the literal description">"into the catalog (confirmed this already silently affects 8 pre-existing skills, e.g.productivity/devil). Reformatted to a single-line quoted scalar, consistent with how other long descriptions are already written elsewhere in this repo, so both real YAML parsing and the repo's naive extractor produce the correct text.cli-tool/components/skills/ANTHROPIC_ATTRIBUTION.md.python scripts/generate_components_json.py, then copieddocs/components.json→dashboard/public/components.json) — this also refreshes download-count stats across all component types, which is expected from re-running the generator.Not changed (checked, no action needed)
docx,pdf,pptx,xlsx— content drift exists upstream, butANTHROPIC_ATTRIBUTION.mdexplicitly documents these as intentional point-in-time snapshots that are "NOT actively maintained," so left untouched.claude-api(development/claude-api) — localSKILL.mdis a heavily customized rewrite (different trigger heuristics/structure) unrelated to the vanilla upstream content; treated as locally customized and left alone.productivity/skill-creator— has local-only files (output-patterns.md,workflows.md,scripts/init_skill.py) indicating a customized fork; left alone.pptx/xlsx/docx"office" helper scripts — local-only files (rearrange.py,replace.py,merge_runs.py, etc.) suggest local customization of the shared office library; covered by the snapshot policy above regardless.mcp-builder,development/skill-creator,development/web-artifacts-builder— only trivial/reversed diffs (e.g. local already references newer model names than upstream, or a placeholder copyright line); not real updates, skipped.Validation
component-revieweragent (frontmatter, naming, security, category placement) — no hardcoded secrets or absolute paths, valid YAML, correct categories confirmed against existing siblings.claude-academy-guideandfrontend-designboth resolve to correctcategory/descriptionindocs/components.jsonpost-fix.Generated by Claude Code