[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M7AMST15MTQJPHCKMD90HT25":3,"skill-same:01M7AMST15MTQJPHCKMD90HT25":53},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":19,"linkOnly":20,"markdownContent":21,"markdownBody":22,"frontMatter":23,"refName":24,"commitSha":25,"skillDirectory":26,"forksCount":27,"repositoryHtmlUrl":28,"repositoryHomepageUrl":6,"ownerHtmlUrl":29,"ownerBlogUrl":30,"ownerDescription":31,"updatedAt":32,"install":33,"resources":46},"01M7AMST15MTQJPHCKMD90HT25","security-guidance",null,"PreToolUse security-anti-pattern hook for Claude Code. Catches 12 common security risks (command injection, XSS, SQL injection, unsafe deserialization, GitHub Actions workflow injection, eval\u002Fnew Function code injection) BEFORE the Edit\u002FWrite\u002FMultiEdit operation completes. Session-state caching prevents duplicate warnings on the same file+rule combo. Stdlib only — no dependencies. Use when you want a safety net during Claude Code sessions that touch security-sensitive code (auth, payments, user input handling, IaC). Disable with ENABLE_SECURITY_REMINDER=0 if you need to perform a verified-safe operation that would otherwise trip a pattern. Triggers — \"add security hook\", \"block unsafe code\", \"detect command injection before write\", \"prevent SQL injection patterns\", \"security warning hook\".","Cyrilthetecchieee\u002Fcyril-code-","Cyrilthetecchieee","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F219787998?v=4","01M7AF0MMMKRAA0H61XMJPV92H","Julian Cyril D ","01M7AF0MQ10AVG6QJQ1C2BC0F5",2,"MIT","https:\u002F\u002Fgithub.com\u002FCyrilthetecchieee\u002Fcyril-code-\u002Fblob\u002Fmain\u002Fsrc\u002Fcyril_code\u002Fassets\u002F.skills_repo\u002Fengineering\u002Fsecurity-guidance\u002Fskills\u002Fsecurity-guidance\u002FSKILL.md",[],[],"2026-11-15 14:19:17",false,"---\nname: security-guidance\ndescription: PreToolUse security-anti-pattern hook for Claude Code. Catches 12 common security risks (command injection, XSS, SQL injection, unsafe deserialization, GitHub Actions workflow injection, eval\u002Fnew Function code injection) BEFORE the Edit\u002FWrite\u002FMultiEdit operation completes. Session-state caching prevents duplicate warnings on the same file+rule combo. Stdlib only — no dependencies. Use when you want a safety net during Claude Code sessions that touch security-sensitive code (auth, payments, user input handling, IaC). Disable with ENABLE_SECURITY_REMINDER=0 if you need to perform a verified-safe operation that would otherwise trip a pattern. Triggers — \"add security hook\", \"block unsafe code\", \"detect command injection before write\", \"prevent SQL injection patterns\", \"security warning hook\".\n---\n\n# Security Guidance Hook\n\n**A PreToolUse hook that blocks 12 common security anti-patterns before Claude Code writes them.**\n\nThis skill is a **hook**, not a slash command. Once installed, it runs automatically before every `Edit`, `Write`, or `MultiEdit` operation and warns + blocks if it detects a known dangerous pattern.\n\n## What It Catches\n\nThe hook scans both:\n\n- **The file path being edited** — flags GitHub Actions workflow files with risky `${{ }}` patterns\n- **The content being written** — substring matches against 11 anti-patterns\n\n| Pattern | Category | Risk |\n|---|---|---|\n| GitHub Actions workflow expressions | Path-based | Workflow command injection via untrusted inputs |\n| `child_process.exec`, `exec(`, `execSync(` | Substring | Node.js command injection |\n| `new Function` | Substring | JS code injection |\n| `eval(` | Substring | JS code injection |\n| `dangerouslySetInnerHTML` | Substring | React XSS |\n| `document.write` | Substring | DOM XSS |\n| `.innerHTML =` | Substring | DOM XSS |\n| `pickle` | Substring | Python deserialization RCE |\n| `os.system`, `from os import system` | Substring | Python command injection |\n| `shell=True` (subprocess) | Substring | Python command injection |\n| f-string SQL or `.format` SQL | Substring | SQL injection |\n| `yaml.load(`, `yaml.unsafe_load` | Substring | YAML deserialization RCE |\n\n## How It Works\n\n1. Claude Code is about to run `Edit`, `Write`, or `MultiEdit`\n2. PreToolUse hook fires → invokes `security_reminder_hook.py` with the tool input as JSON on stdin\n3. The hook extracts file_path + content + checks against the pattern table\n4. If a pattern matches AND this warning hasn't been shown for this file+rule in this session:\n   - Print the warning to stderr (Claude sees it)\n   - Exit code 2 → blocks the tool call\n   - Save the warning key to `~\u002F.claude\u002Fsecurity_warnings_state_\u003Csession>.json`\n5. If a pattern matches BUT the warning was already shown this session:\n   - Allow the tool call (exit code 0) — Claude already saw the warning once\n6. If no pattern matches:\n   - Allow the tool call (exit code 0)\n\n## Installation\n\nThis plugin ships as a Claude Code plugin with `hooks.json` wiring:\n\n```bash\n# In Claude Code:\n\u002Fplugin marketplace add alirezarezvani\u002Fclaude-skills\n\u002Fplugin install security-guidance@claude-code-skills\n```\n\nOnce installed, no further configuration needed — the hook runs automatically.\n\n## Configuration\n\nDisable per-session via environment variable:\n\n```bash\nENABLE_SECURITY_REMINDER=0 claude\n# Hook is bypassed for this session\n```\n\nUse sparingly — the hook is most useful exactly when you're tempted to disable it (because you're under deadline pressure to ship something you know is sketchy).\n\n## Per-File Override Pattern\n\nIf a specific file legitimately needs `eval()` or `pickle` (e.g., a sandboxed REPL, a deliberately unsafe parser for a fuzzer), document it in the file with a comment:\n\n```python\n# SAFETY: pickle is the required serialization format for this internal tool.\n# This file does NOT accept untrusted input. See SECURITY.md for boundary analysis.\nimport pickle\n```\n\nThe hook will still warn on first edit per session. After acknowledging, subsequent edits in the same session are allowed (session-state caching).\n\n## Why The Patterns Are Substring-Based (Not AST-Based)\n\nTrade-off: AST-based detection would be more precise (no false positives on string literals containing \"eval(\"). Substring-based is:\n\n- **Faster** — runs in ms, doesn't parse the file\n- **Cross-language** — same hook works for JS\u002FTS\u002FPython\u002FYAML\u002Fetc.\n- **Conservative** — false positives are easy to dismiss (one keystroke); false negatives are dangerous\n\nFor 90%+ of cases, substring detection is sufficient. If you need stricter detection, layer in a proper SAST tool (semgrep, CodeQL) as a CI step.\n\n## State Files\n\nThe hook caches \"warning shown\" state in `~\u002F.claude\u002Fsecurity_warnings_state_\u003Csession_id>.json`. These files:\n\n- Are auto-cleaned after 30 days (10% chance per hook invocation)\n- Are session-scoped (each Claude session gets its own)\n- Contain a JSON list of `\u003Cfile_path>-\u003Crule_name>` keys\n\nYou can safely delete `~\u002F.claude\u002Fsecurity_warnings_state_*.json` files at any time — the hook regenerates them on next run.\n\n## Debug Log\n\nThe hook writes to `~\u002F.claude\u002Fsecurity-warnings-log.txt` for debugging hook misfires:\n\n```bash\ntail -f ~\u002F.claude\u002Fsecurity-warnings-log.txt\n# Shows JSON decode errors, state-file save failures, etc.\n```\n\n(Upstream version wrote to `\u002Ftmp\u002Fsecurity-warnings-log.txt` — we moved it to `~\u002F.claude\u002F` for persistence across reboots.)\n\n## Source + Attribution\n\nThis plugin is ported from David Dworken's MIT-licensed implementation in [`alirezarezvani\u002Faeo-box`](https:\u002F\u002Fgithub.com\u002Falirezarezvani\u002Faeo-box\u002Ftree\u002Fmain\u002F.claude\u002Fplugins\u002Fsecurity-guidance).\n\n**Verbatim:** the original 9 patterns (GitHub Actions, child_process.exec, new Function, eval, dangerouslySetInnerHTML, document.write, innerHTML, pickle, os.system) are preserved with their exact warning text.\n\n**Modifications:**\n- Added 3 patterns: `subprocess shell=True`, SQL injection via f-string or `.format`, `yaml.unsafe_load`\n- Debug log moved from `\u002Ftmp\u002Fsecurity-warnings-log.txt` → `~\u002F.claude\u002Fsecurity-warnings-log.txt`\n- Restructured as a claude-skills plugin with `attribution` block in `plugin.json`\n\n## Anti-Patterns\n\n### Disabling the hook by default\n\nDefeats the purpose. If `ENABLE_SECURITY_REMINDER=0` becomes your default, you've trained yourself to ignore the safety net. Use it only for specific verified-safe operations.\n\n### Modifying the pattern list without security review\n\nAnyone can add a pattern. Removing one requires a security review — patterns exist because they map to real CVE classes.\n\n### Treating session-state as immutable security policy\n\nThe cache prevents nag-spam but is per-session. Don't rely on \"I dismissed this once\" as long-term policy — use the per-file documentation pattern instead (comment justifying the use).\n\n## Related Skills\n\n- `engineering-team\u002Fskills\u002Fred-team` — adversarial pen-testing\n- `engineering-team\u002Fskills\u002Fthreat-detection` — threat modeling + detection design\n- `engineering-team\u002Fskills\u002Fai-security` — AI-specific security (prompt injection, etc.)\n- `engineering\u002Fship-gate` — pre-production audit (8-category, ~89 checks)\n- `engineering\u002Fskill-security-auditor` — security scan for skill packages\n\n## Trigger Phrases\n\n- \"add security hook\"\n- \"block unsafe code before write\"\n- \"detect command injection\"\n- \"prevent SQL injection patterns\"\n- \"warn on eval \u002F pickle \u002F os.system\"\n- \"GitHub Actions security hook\"\n\n---\n\n**Version:** 2.7.3\n**Source:** Ported from [`alirezarezvani\u002Faeo-box`](https:\u002F\u002Fgithub.com\u002Falirezarezvani\u002Faeo-box) `.claude\u002Fplugins\u002Fsecurity-guidance\u002F` (originally by David Dworken at Anthropic, MIT)\n**License:** MIT\n","# Security Guidance Hook\n\n**A PreToolUse hook that blocks 12 common security anti-patterns before Claude Code writes them.**\n\nThis skill is a **hook**, not a slash command. Once installed, it runs automatically before every `Edit`, `Write`, or `MultiEdit` operation and warns + blocks if it detects a known dangerous pattern.\n\n## What It Catches\n\nThe hook scans both:\n\n- **The file path being edited** — flags GitHub Actions workflow files with risky `${{ }}` patterns\n- **The content being written** — substring matches against 11 anti-patterns\n\n| Pattern | Category | Risk |\n|---|---|---|\n| GitHub Actions workflow expressions | Path-based | Workflow command injection via untrusted inputs |\n| `child_process.exec`, `exec(`, `execSync(` | Substring | Node.js command injection |\n| `new Function` | Substring | JS code injection |\n| `eval(` | Substring | JS code injection |\n| `dangerouslySetInnerHTML` | Substring | React XSS |\n| `document.write` | Substring | DOM XSS |\n| `.innerHTML =` | Substring | DOM XSS |\n| `pickle` | Substring | Python deserialization RCE |\n| `os.system`, `from os import system` | Substring | Python command injection |\n| `shell=True` (subprocess) | Substring | Python command injection |\n| f-string SQL or `.format` SQL | Substring | SQL injection |\n| `yaml.load(`, `yaml.unsafe_load` | Substring | YAML deserialization RCE |\n\n## How It Works\n\n1. Claude Code is about to run `Edit`, `Write`, or `MultiEdit`\n2. PreToolUse hook fires → invokes `security_reminder_hook.py` with the tool input as JSON on stdin\n3. The hook extracts file_path + content + checks against the pattern table\n4. If a pattern matches AND this warning hasn't been shown for this file+rule in this session:\n   - Print the warning to stderr (Claude sees it)\n   - Exit code 2 → blocks the tool call\n   - Save the warning key to `~\u002F.claude\u002Fsecurity_warnings_state_\u003Csession>.json`\n5. If a pattern matches BUT the warning was already shown this session:\n   - Allow the tool call (exit code 0) — Claude already saw the warning once\n6. If no pattern matches:\n   - Allow the tool call (exit code 0)\n\n## Installation\n\nThis plugin ships as a Claude Code plugin with `hooks.json` wiring:\n\n```bash\n# In Claude Code:\n\u002Fplugin marketplace add alirezarezvani\u002Fclaude-skills\n\u002Fplugin install security-guidance@claude-code-skills\n```\n\nOnce installed, no further configuration needed — the hook runs automatically.\n\n## Configuration\n\nDisable per-session via environment variable:\n\n```bash\nENABLE_SECURITY_REMINDER=0 claude\n# Hook is bypassed for this session\n```\n\nUse sparingly — the hook is most useful exactly when you're tempted to disable it (because you're under deadline pressure to ship something you know is sketchy).\n\n## Per-File Override Pattern\n\nIf a specific file legitimately needs `eval()` or `pickle` (e.g., a sandboxed REPL, a deliberately unsafe parser for a fuzzer), document it in the file with a comment:\n\n```python\n# SAFETY: pickle is the required serialization format for this internal tool.\n# This file does NOT accept untrusted input. See SECURITY.md for boundary analysis.\nimport pickle\n```\n\nThe hook will still warn on first edit per session. After acknowledging, subsequent edits in the same session are allowed (session-state caching).\n\n## Why The Patterns Are Substring-Based (Not AST-Based)\n\nTrade-off: AST-based detection would be more precise (no false positives on string literals containing \"eval(\"). Substring-based is:\n\n- **Faster** — runs in ms, doesn't parse the file\n- **Cross-language** — same hook works for JS\u002FTS\u002FPython\u002FYAML\u002Fetc.\n- **Conservative** — false positives are easy to dismiss (one keystroke); false negatives are dangerous\n\nFor 90%+ of cases, substring detection is sufficient. If you need stricter detection, layer in a proper SAST tool (semgrep, CodeQL) as a CI step.\n\n## State Files\n\nThe hook caches \"warning shown\" state in `~\u002F.claude\u002Fsecurity_warnings_state_\u003Csession_id>.json`. These files:\n\n- Are auto-cleaned after 30 days (10% chance per hook invocation)\n- Are session-scoped (each Claude session gets its own)\n- Contain a JSON list of `\u003Cfile_path>-\u003Crule_name>` keys\n\nYou can safely delete `~\u002F.claude\u002Fsecurity_warnings_state_*.json` files at any time — the hook regenerates them on next run.\n\n## Debug Log\n\nThe hook writes to `~\u002F.claude\u002Fsecurity-warnings-log.txt` for debugging hook misfires:\n\n```bash\ntail -f ~\u002F.claude\u002Fsecurity-warnings-log.txt\n# Shows JSON decode errors, state-file save failures, etc.\n```\n\n(Upstream version wrote to `\u002Ftmp\u002Fsecurity-warnings-log.txt` — we moved it to `~\u002F.claude\u002F` for persistence across reboots.)\n\n## Source + Attribution\n\nThis plugin is ported from David Dworken's MIT-licensed implementation in [`alirezarezvani\u002Faeo-box`](https:\u002F\u002Fgithub.com\u002Falirezarezvani\u002Faeo-box\u002Ftree\u002Fmain\u002F.claude\u002Fplugins\u002Fsecurity-guidance).\n\n**Verbatim:** the original 9 patterns (GitHub Actions, child_process.exec, new Function, eval, dangerouslySetInnerHTML, document.write, innerHTML, pickle, os.system) are preserved with their exact warning text.\n\n**Modifications:**\n- Added 3 patterns: `subprocess shell=True`, SQL injection via f-string or `.format`, `yaml.unsafe_load`\n- Debug log moved from `\u002Ftmp\u002Fsecurity-warnings-log.txt` → `~\u002F.claude\u002Fsecurity-warnings-log.txt`\n- Restructured as a claude-skills plugin with `attribution` block in `plugin.json`\n\n## Anti-Patterns\n\n### Disabling the hook by default\n\nDefeats the purpose. If `ENABLE_SECURITY_REMINDER=0` becomes your default, you've trained yourself to ignore the safety net. Use it only for specific verified-safe operations.\n\n### Modifying the pattern list without security review\n\nAnyone can add a pattern. Removing one requires a security review — patterns exist because they map to real CVE classes.\n\n### Treating session-state as immutable security policy\n\nThe cache prevents nag-spam but is per-session. Don't rely on \"I dismissed this once\" as long-term policy — use the per-file documentation pattern instead (comment justifying the use).\n\n## Related Skills\n\n- `engineering-team\u002Fskills\u002Fred-team` — adversarial pen-testing\n- `engineering-team\u002Fskills\u002Fthreat-detection` — threat modeling + detection design\n- `engineering-team\u002Fskills\u002Fai-security` — AI-specific security (prompt injection, etc.)\n- `engineering\u002Fship-gate` — pre-production audit (8-category, ~89 checks)\n- `engineering\u002Fskill-security-auditor` — security scan for skill packages\n\n## Trigger Phrases\n\n- \"add security hook\"\n- \"block unsafe code before write\"\n- \"detect command injection\"\n- \"prevent SQL injection patterns\"\n- \"warn on eval \u002F pickle \u002F os.system\"\n- \"GitHub Actions security hook\"\n\n---\n\n**Version:** 2.7.3\n**Source:** Ported from [`alirezarezvani\u002Faeo-box`](https:\u002F\u002Fgithub.com\u002Falirezarezvani\u002Faeo-box) `.claude\u002Fplugins\u002Fsecurity-guidance\u002F` (originally by David Dworken at Anthropic, MIT)\n**License:** MIT\n",{"name":5,"description":7},"main","57e7aa6b6e03bce1a7d7862ba9c2ec312f7f19b5","src\u002Fcyril_code\u002Fassets\u002F.skills_repo\u002Fengineering\u002Fsecurity-guidance\u002Fskills\u002Fsecurity-guidance",0,"https:\u002F\u002Fgithub.com\u002FCyrilthetecchieee\u002Fcyril-code-","https:\u002F\u002Fgithub.com\u002FCyrilthetecchieee","https:\u002F\u002Fwithcyril.me\u002F","Hi, I’m Julian Cyril D, a Computer Science and Business Systems student at PSNACET.\r\nI’m passionate about full-stack development, UI\u002FUX design, and building sma","2026-11-04 23:28:50",{"source":8,"skillName":5,"commands":34,"prompt":44,"zipAvailable":45},[35,38,41],{"tool":36,"command":37},"npx","npx skills add Cyrilthetecchieee\u002Fcyril-code- --skill security-guidance",{"tool":39,"command":40},"bunx","bunx skills add Cyrilthetecchieee\u002Fcyril-code- --skill security-guidance",{"tool":42,"command":43},"pnpm","pnpm dlx skills add Cyrilthetecchieee\u002Fcyril-code- --skill security-guidance","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FCyrilthetecchieee\u002Fcyril-code-\u002Fblob\u002Fmain\u002Fsrc\u002Fcyril_code\u002Fassets\u002F.skills_repo\u002Fengineering\u002Fsecurity-guidance\u002Fskills\u002Fsecurity-guidance\u002FSKILL.md",true,[47],{"path":48,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":51,"sourceHtmlUrl":52},"references\u002Fpretooluse_hook_canon.md","REFERENCE","参考文档",8085,"https:\u002F\u002Fgithub.com\u002FCyrilthetecchieee\u002Fcyril-code-\u002Fblob\u002Fmain\u002Fsrc\u002Fcyril_code\u002Fassets\u002F.skills_repo\u002Fengineering\u002Fsecurity-guidance\u002Fskills\u002Fsecurity-guidance\u002Freferences\u002Fpretooluse_hook_canon.md",[54,63,70,78,85,92],{"skillNo":55,"name":56,"nameZh":6,"description":57,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":58,"licenseFileUrl":59,"sourceHtmlUrl":60,"categories":61,"keywords":62,"publishedAt":19},"01M7AQV6CYX8RMC78420V9WZ62","webapp-testing","Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.","Apache-2.0","https:\u002F\u002Fgithub.com\u002FCyrilthetecchieee\u002Fcyril-code-\u002Fblob\u002Fmain\u002Fsrc\u002Fcyril_code\u002Fassets\u002F.skills_repo\u002Fwebapp-testing\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002FCyrilthetecchieee\u002Fcyril-code-\u002Fblob\u002Fmain\u002Fsrc\u002Fcyril_code\u002Fassets\u002F.skills_repo\u002Fwebapp-testing\u002FSKILL.md",[],[],{"skillNo":64,"name":65,"nameZh":6,"description":66,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":67,"categories":68,"keywords":69,"publishedAt":19},"01M7AQV2895N3S1MEX6K76G6G2","youtube-downloader","Download YouTube videos with customizable quality and format options. Use this skill when the user asks to download, save, or grab YouTube videos. Supports various quality settings (best, 1080p, 720p, 480p, 360p), multiple formats (mp4, webm, mkv), and audio-only downloads as MP3.","https:\u002F\u002Fgithub.com\u002FCyrilthetecchieee\u002Fcyril-code-\u002Fblob\u002Fmain\u002Fsrc\u002Fcyril_code\u002Fassets\u002F.skills_repo\u002Fvideo-downloader\u002FSKILL.md",[],[],{"skillNo":71,"name":72,"nameZh":6,"description":73,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":58,"licenseFileUrl":74,"sourceHtmlUrl":75,"categories":76,"keywords":77,"publishedAt":19},"01M7AQTRNX62DNKVZ5GXEHRBKB","theme-factory","Toolkit for styling artifacts with a theme. These artifacts can be slides, docs, reportings, HTML landing pages, etc. There are 10 pre-set themes with colors\u002Ffonts that you can apply to any artifact that has been creating, or can generate a new theme on-the-fly.","https:\u002F\u002Fgithub.com\u002FCyrilthetecchieee\u002Fcyril-code-\u002Fblob\u002Fmain\u002Fsrc\u002Fcyril_code\u002Fassets\u002F.skills_repo\u002Ftheme-factory\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002FCyrilthetecchieee\u002Fcyril-code-\u002Fblob\u002Fmain\u002Fsrc\u002Fcyril_code\u002Fassets\u002F.skills_repo\u002Ftheme-factory\u002FSKILL.md",[],[],{"skillNo":79,"name":80,"nameZh":6,"description":81,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":82,"categories":83,"keywords":84,"publishedAt":19},"01M7AQTNNVHAAN9H6DA8T6ZVE0","template-skill","Replace with description of the skill and when Claude should use it.","https:\u002F\u002Fgithub.com\u002FCyrilthetecchieee\u002Fcyril-code-\u002Fblob\u002Fmain\u002Fsrc\u002Fcyril_code\u002Fassets\u002F.skills_repo\u002Ftemplate-skill\u002FSKILL.md",[],[],{"skillNo":86,"name":87,"nameZh":6,"description":88,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":89,"categories":90,"keywords":91,"publishedAt":19},"01M7AQTJ3MQ6AKX152MEX2MYCC","tailored-resume-generator","Analyzes job descriptions and generates tailored resumes that highlight relevant experience, skills, and achievements to maximize interview chances","https:\u002F\u002Fgithub.com\u002FCyrilthetecchieee\u002Fcyril-code-\u002Fblob\u002Fmain\u002Fsrc\u002Fcyril_code\u002Fassets\u002F.skills_repo\u002Ftailored-resume-generator\u002FSKILL.md",[],[],{"skillNo":93,"name":94,"nameZh":6,"description":95,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":58,"licenseFileUrl":96,"sourceHtmlUrl":97,"categories":98,"keywords":99,"publishedAt":19},"01M7AQTD7D5MYET2YWG7HG9WM3","slack-gif-creator","Toolkit for creating animated GIFs optimized for Slack, with validators for size constraints and composable animation primitives. This skill applies when users request animated GIFs or emoji animations for Slack from descriptions like \"make me a GIF for Slack of X doing Y\".","https:\u002F\u002Fgithub.com\u002FCyrilthetecchieee\u002Fcyril-code-\u002Fblob\u002Fmain\u002Fsrc\u002Fcyril_code\u002Fassets\u002F.skills_repo\u002Fslack-gif-creator\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002FCyrilthetecchieee\u002Fcyril-code-\u002Fblob\u002Fmain\u002Fsrc\u002Fcyril_code\u002Fassets\u002F.skills_repo\u002Fslack-gif-creator\u002FSKILL.md",[],[]]