[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6JN552VQ1F8CB71XB1SAM52":3,"skill-same:01M6JN552VQ1F8CB71XB1SAM52":88},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":17,"publishedAt":38,"linkOnly":39,"markdownContent":40,"markdownBody":41,"frontMatter":42,"refName":62,"commitSha":63,"skillDirectory":64,"forksCount":13,"repositoryHtmlUrl":65,"repositoryHomepageUrl":6,"ownerHtmlUrl":66,"ownerBlogUrl":6,"ownerDescription":67,"updatedAt":68,"install":69,"resources":81},"01M6JN552VQ1F8CB71XB1SAM52","enact-docs-guide",null,"LLM guide for creating, publishing, and running Enact tools","superhealth\u002Fskills-hub","superhealth","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F6292112?v=4","01M6JA6E7F21BYK5W3E4P270TT","01M6JA6EC0W8MPHKDJVBZDSEZ0",0,"MIT","https:\u002F\u002Fgithub.com\u002Fsuperhealth\u002Fskills-hub\u002Fblob\u002Fmaster\u002Fskills\u002Fenactprotocol\u002Fenact-docs-guide\u002FSKILL.md",[],[18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37],"docs","enact docs guide","guide","docs guide","for","object","true","about","STRING","creation","commands","publishing","tutorial","overview","tool","secrets","Tools","protocol","learn","documentation","2026-11-10 10:12:30",false,"---\nenact: \"2.0.0\"\nname: enact-docs-guide\nversion: \"1.0.0\"\ndescription: \"LLM guide for creating, publishing, and running Enact tools\"\nlicense: \"MIT\"\n\ntags:\n  - documentation\n  - guide\n  - llm\n  - tutorial\n\nauthors:\n  - name: \"Enact Protocol\"\n\nannotations:\n  title: \"Enact Tool Creation Guide\"\n  readOnlyHint: true\n\ninputSchema:\n  type: object\n  properties:\n    topic:\n      type: string\n      description: \"Specific topic to learn about\"\n      enum:\n        - \"overview\"\n        - \"creating\"\n        - \"commands\"\n        - \"languages\"\n        - \"secrets\"\n        - \"publishing\"\n        - \"all\"\n      default: \"all\"\n---\n\n# Enact LLM Guide\n\nEnact: Containerized tools with structured I\u002FO for AI agents.\n\n## Commands\n\n```bash\nenact run .\u002Ftool --input \"key=value\"      # Run local tool\nenact run .\u002Ftool --args '{\"key\":\"value\"}' # Run with JSON\nenact run author\u002Ftool --input \"x=y\"       # Run installed tool\nenact install author\u002Ftool                 # Install to project\nenact install author\u002Ftool -g              # Install globally\nenact search \"query\"                      # Find tools\nenact sign .\u002Ftool && enact publish .\u002Ftool # Publish\n```\n\n## Tool Structure\n\n```\nmy-tool\u002F\n├── enact.md    # Required: YAML frontmatter + docs\n└── main.py     # Your code (any language)\n```\n\n## enact.md Template\n\n```yaml\n---\nenact: \"2.0.0\"\nname: \"namespace\u002Fcategory\u002Ftool-name\"\nversion: \"1.0.0\"\ndescription: \"What it does\"\nfrom: \"python:3.12-slim\"\nbuild: \"pip install requests pandas\"\ncommand: \"python \u002Fworkspace\u002Fmain.py ${input}\"\ntimeout: \"30s\"\n\ninputSchema:\n  type: object\n  properties:\n    input:\n      type: string\n      description: \"Input description\"\n  required: [input]\n\noutputSchema:\n  type: object\n  properties:\n    result:\n      type: string\n\nenv:\n  API_KEY:\n    description: \"API key\"\n    secret: true\n  LOG_LEVEL:\n    description: \"Log level\"\n    default: \"info\"\n\ntags: [category, keywords]\n---\n\n# Tool Name\n\nDocumentation here.\n```\n\n## Field Reference\n\n| Field | Required | Description |\n|-------|----------|-------------|\n| `name` | Yes | `namespace\u002Fcategory\u002Ftool` |\n| `description` | Yes | What it does |\n| `command` | No* | Shell command with `${param}` substitution |\n| `from` | No | Docker image (default: `alpine:latest`) |\n| `build` | No | Build commands (string or array), cached |\n| `inputSchema` | No | JSON Schema for inputs |\n| `outputSchema` | No | JSON Schema for outputs |\n| `env` | No | Environment vars (`secret: true` for keyring) |\n| `timeout` | No | Max runtime (default: `30s`) |\n| `version` | No | Semver version |\n| `tags` | No | Discovery keywords |\n\n*Tools without `command` are LLM instruction tools (markdown interpreted by AI).\n\n## Examples by Language\n\n### Python\n```yaml\nfrom: \"python:3.12-slim\"\nbuild: \"pip install pandas\"\ncommand: \"python \u002Fworkspace\u002Fmain.py ${input}\"\n```\n\n### Node.js\n```yaml\nfrom: \"node:20-alpine\"\nbuild: \"npm install\"\ncommand: \"node \u002Fworkspace\u002Findex.js ${input}\"\n```\n\n### Rust\n```yaml\nfrom: \"rust:1.83-slim\"\nbuild: \"rustc \u002Fworkspace\u002Fmain.rs -o \u002Fworkspace\u002Fapp\"\ncommand: \"\u002Fworkspace\u002Fapp ${input}\"\n```\n\n### Go\n```yaml\nfrom: \"golang:1.22-alpine\"\nbuild: \"go build -o \u002Fworkspace\u002Fapp \u002Fworkspace\u002Fmain.go\"\ncommand: \"\u002Fworkspace\u002Fapp ${input}\"\n```\n\n### Shell (no build)\n```yaml\ncommand: \"echo 'Hello ${name}'\"\n```\n\n## Source Code Pattern\n\nAlways output JSON matching `outputSchema`:\n\n```python\n#!\u002Fusr\u002Fbin\u002Fenv python3\nimport sys, json\n\ninput_val = sys.argv[1]\nresult = {\"result\": input_val.upper()}\nprint(json.dumps(result))\n```\n\n## Secrets\n\n```yaml\nenv:\n  API_KEY:\n    description: \"API key\"\n    secret: true  # Stored in OS keyring, not .env\n```\n\nUser sets: `enact env set API_KEY --secret --namespace myorg\u002Ftools`\n\nAccess in code via environment variable: `os.environ['API_KEY']`\n\n## Two Tool Types\n\n1. **Container tools** (has `command`): Runs in Docker, deterministic\n2. **Instruction tools** (no `command`): Markdown body interpreted by LLM\n\n## Workflow\n\n```bash\n# 1. Create\nmkdir my-tool && cd my-tool\n# Create enact.md + source files\n\n# 2. Test\nenact run . --input \"test=value\"\n\n# 3. Publish\nenact auth login\nenact sign .\nenact publish .\n```\n\n## Checklist\n\n- [ ] `name`: namespace\u002Fcategory\u002Ftool format\n- [ ] `description`: clear, searchable\n- [ ] `inputSchema`: validates inputs\n- [ ] `outputSchema`: documents output\n- [ ] `from`: pinned image version (not `latest`)\n- [ ] `build`: installs dependencies\n- [ ] `command`: uses `${param}` for inputs\n- [ ] Source outputs valid JSON\n","# Enact LLM Guide\n\nEnact: Containerized tools with structured I\u002FO for AI agents.\n\n## Commands\n\n```bash\nenact run .\u002Ftool --input \"key=value\"      # Run local tool\nenact run .\u002Ftool --args '{\"key\":\"value\"}' # Run with JSON\nenact run author\u002Ftool --input \"x=y\"       # Run installed tool\nenact install author\u002Ftool                 # Install to project\nenact install author\u002Ftool -g              # Install globally\nenact search \"query\"                      # Find tools\nenact sign .\u002Ftool && enact publish .\u002Ftool # Publish\n```\n\n## Tool Structure\n\n```\nmy-tool\u002F\n├── enact.md    # Required: YAML frontmatter + docs\n└── main.py     # Your code (any language)\n```\n\n## enact.md Template\n\n```yaml\n---\nenact: \"2.0.0\"\nname: \"namespace\u002Fcategory\u002Ftool-name\"\nversion: \"1.0.0\"\ndescription: \"What it does\"\nfrom: \"python:3.12-slim\"\nbuild: \"pip install requests pandas\"\ncommand: \"python \u002Fworkspace\u002Fmain.py ${input}\"\ntimeout: \"30s\"\n\ninputSchema:\n  type: object\n  properties:\n    input:\n      type: string\n      description: \"Input description\"\n  required: [input]\n\noutputSchema:\n  type: object\n  properties:\n    result:\n      type: string\n\nenv:\n  API_KEY:\n    description: \"API key\"\n    secret: true\n  LOG_LEVEL:\n    description: \"Log level\"\n    default: \"info\"\n\ntags: [category, keywords]\n---\n\n# Tool Name\n\nDocumentation here.\n```\n\n## Field Reference\n\n| Field | Required | Description |\n|-------|----------|-------------|\n| `name` | Yes | `namespace\u002Fcategory\u002Ftool` |\n| `description` | Yes | What it does |\n| `command` | No* | Shell command with `${param}` substitution |\n| `from` | No | Docker image (default: `alpine:latest`) |\n| `build` | No | Build commands (string or array), cached |\n| `inputSchema` | No | JSON Schema for inputs |\n| `outputSchema` | No | JSON Schema for outputs |\n| `env` | No | Environment vars (`secret: true` for keyring) |\n| `timeout` | No | Max runtime (default: `30s`) |\n| `version` | No | Semver version |\n| `tags` | No | Discovery keywords |\n\n*Tools without `command` are LLM instruction tools (markdown interpreted by AI).\n\n## Examples by Language\n\n### Python\n```yaml\nfrom: \"python:3.12-slim\"\nbuild: \"pip install pandas\"\ncommand: \"python \u002Fworkspace\u002Fmain.py ${input}\"\n```\n\n### Node.js\n```yaml\nfrom: \"node:20-alpine\"\nbuild: \"npm install\"\ncommand: \"node \u002Fworkspace\u002Findex.js ${input}\"\n```\n\n### Rust\n```yaml\nfrom: \"rust:1.83-slim\"\nbuild: \"rustc \u002Fworkspace\u002Fmain.rs -o \u002Fworkspace\u002Fapp\"\ncommand: \"\u002Fworkspace\u002Fapp ${input}\"\n```\n\n### Go\n```yaml\nfrom: \"golang:1.22-alpine\"\nbuild: \"go build -o \u002Fworkspace\u002Fapp \u002Fworkspace\u002Fmain.go\"\ncommand: \"\u002Fworkspace\u002Fapp ${input}\"\n```\n\n### Shell (no build)\n```yaml\ncommand: \"echo 'Hello ${name}'\"\n```\n\n## Source Code Pattern\n\nAlways output JSON matching `outputSchema`:\n\n```python\n#!\u002Fusr\u002Fbin\u002Fenv python3\nimport sys, json\n\ninput_val = sys.argv[1]\nresult = {\"result\": input_val.upper()}\nprint(json.dumps(result))\n```\n\n## Secrets\n\n```yaml\nenv:\n  API_KEY:\n    description: \"API key\"\n    secret: true  # Stored in OS keyring, not .env\n```\n\nUser sets: `enact env set API_KEY --secret --namespace myorg\u002Ftools`\n\nAccess in code via environment variable: `os.environ['API_KEY']`\n\n## Two Tool Types\n\n1. **Container tools** (has `command`): Runs in Docker, deterministic\n2. **Instruction tools** (no `command`): Markdown body interpreted by LLM\n\n## Workflow\n\n```bash\n# 1. Create\nmkdir my-tool && cd my-tool\n# Create enact.md + source files\n\n# 2. Test\nenact run . --input \"test=value\"\n\n# 3. Publish\nenact auth login\nenact sign .\nenact publish .\n```\n\n## Checklist\n\n- [ ] `name`: namespace\u002Fcategory\u002Ftool format\n- [ ] `description`: clear, searchable\n- [ ] `inputSchema`: validates inputs\n- [ ] `outputSchema`: documents output\n- [ ] `from`: pinned image version (not `latest`)\n- [ ] `build`: installs dependencies\n- [ ] `command`: uses `${param}` for inputs\n- [ ] Source outputs valid JSON\n",{"name":5,"tags":43,"enact":45,"authors":46,"license":14,"version":49,"annotations":50,"description":7,"inputSchema":53},[37,20,44,30],"llm","2.0.0",[47],{"name":48},"Enact Protocol","1.0.0",{"title":51,"readOnlyHint":52},"Enact Tool Creation Guide",true,{"type":23,"properties":54},{"topic":55},{"enum":56,"type":60,"default":59,"description":61},[31,57,28,58,33,29,59],"creating","languages","all","string","Specific topic to learn about","master","08cc2532077058aa50e6e18f54695bc256c88152","skills\u002Fenactprotocol\u002Fenact-docs-guide","https:\u002F\u002Fgithub.com\u002Fsuperhealth\u002Fskills-hub","https:\u002F\u002Fgithub.com\u002Fsuperhealth","java engineer","2026-04-06 22:07:23",{"source":8,"skillName":5,"commands":70,"prompt":80,"zipAvailable":52},[71,74,77],{"tool":72,"command":73},"npx","npx skills add superhealth\u002Fskills-hub --skill enact-docs-guide",{"tool":75,"command":76},"bunx","bunx skills add superhealth\u002Fskills-hub --skill enact-docs-guide",{"tool":78,"command":79},"pnpm","pnpm dlx skills add superhealth\u002Fskills-hub --skill enact-docs-guide","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fsuperhealth\u002Fskills-hub\u002Fblob\u002Fmaster\u002Fskills\u002Fenactprotocol\u002Fenact-docs-guide\u002FSKILL.md",[82],{"path":83,"resourceType":84,"resourceTypeDesc":85,"sizeBytes":86,"sourceHtmlUrl":87},"skill-report.json","REFERENCE","参考文档",8752,"https:\u002F\u002Fgithub.com\u002Fsuperhealth\u002Fskills-hub\u002Fblob\u002Fmaster\u002Fskills\u002Fenactprotocol\u002Fenact-docs-guide\u002Fskill-report.json",[89,121,148,161,177,201],{"skillNo":90,"name":91,"nameZh":6,"description":92,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":93,"categories":94,"keywords":100,"publishedAt":38},"01M6MC9F3WHV8S8FZ2W4TRB0FE","vercel-react-best-practices","React and Next.js performance optimization guidelines from Vercel Engineering. This skill should be used when writing, reviewing, or refactoring React\u002FNext.js code to ensure optimal performance patterns. Triggers on tasks involving React components, Next.js pages, data fetching, bundle optimization, or performance improvements.","https:\u002F\u002Fgithub.com\u002Fsuperhealth\u002Fskills-hub\u002Fblob\u002Fmaster\u002Fskills\u002Fzhanlincui\u002Fvercel-react-best-practices\u002FSKILL.md",[95],{"categoryNo":96,"categoryName":97,"taxonomyType":98,"taxonomyTypeDesc":99},"01JBSEEDCAT000000000000009","前端开发","SCENARIO","使用场景",[101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120],"react","vercel react best practices","best practices","vercel","react best practices","data fetching","code","triggers","pages","next","patterns","refactoring","data","Optimization","tasks","guidelines","react components","components","performance","writing",{"skillNo":122,"name":123,"nameZh":6,"description":124,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":125,"categories":126,"keywords":131,"publishedAt":38},"01M6MB8KWE1Q5A5KERR7RFTQWP","vue-testing-best-practices","Use for Vue.js testing. Covers Vitest, Vue Test Utils, component testing, mocking, testing patterns, and Playwright for E2E testing.","https:\u002F\u002Fgithub.com\u002Fsuperhealth\u002Fskills-hub\u002Fblob\u002Fmaster\u002Fskills\u002Fvuejs-ai\u002Fvue-testing-best-practices\u002FSKILL.md",[127,130],{"categoryNo":128,"categoryName":129,"taxonomyType":98,"taxonomyTypeDesc":99},"01JBSEEDCAT000000000000008","测试与质量",{"categoryNo":96,"categoryName":97,"taxonomyType":98,"taxonomyTypeDesc":99},[132,133,134,103,135,136,137,138,139,140,141,111,142,143,22,144,145,146,147],"vue testing best practices","testing best practices","vue","testing","testing patterns","js","e2e","vitest","use","component","test","mocking","utils","e2e testing","github","playwright",{"skillNo":149,"name":150,"nameZh":6,"description":151,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":152,"categories":153,"keywords":155,"publishedAt":38},"01M6MB8GK06M6GA4KVYNDV1BZP","vue-router-best-practices","Vue Router 4 patterns, navigation guards, route params, and route-component lifecycle interactions.","https:\u002F\u002Fgithub.com\u002Fsuperhealth\u002Fskills-hub\u002Fblob\u002Fmaster\u002Fskills\u002Fvuejs-ai\u002Fvue-router-best-practices\u002FSKILL.md",[154],{"categoryNo":96,"categoryName":97,"taxonomyType":98,"taxonomyTypeDesc":99},[103,134,156,157,158,111,159,160,141,146],"router","vue router best practices","route","navigation","lifecycle",{"skillNo":162,"name":163,"nameZh":6,"description":164,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":165,"categories":166,"keywords":168,"publishedAt":38},"01M6MB8DQF21TZMQ9XC3745ERW","vue-pinia-best-practices","Pinia stores, state management patterns, store setup, and reactivity with stores.","https:\u002F\u002Fgithub.com\u002Fsuperhealth\u002Fskills-hub\u002Fblob\u002Fmaster\u002Fskills\u002Fvuejs-ai\u002Fvue-pinia-best-practices\u002FSKILL.md",[167],{"categoryNo":96,"categoryName":97,"taxonomyType":98,"taxonomyTypeDesc":99},[169,170,134,103,171,172,111,173,174,175,176,146],"vue pinia best practices","pinia","with","store","management","state","state management","setup",{"skillNo":178,"name":179,"nameZh":6,"description":180,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":181,"categories":182,"keywords":192,"publishedAt":38},"01M6MB8A7MC08747J9TV4GWQ9A","vue-options-api-best-practices","Vue 3 Options API style (data(), methods, this context). Each reference shows Options API solution only.","https:\u002F\u002Fgithub.com\u002Fsuperhealth\u002Fskills-hub\u002Fblob\u002Fmaster\u002Fskills\u002Fvuejs-ai\u002Fvue-options-api-best-practices\u002FSKILL.md",[183,184,187],{"categoryNo":96,"categoryName":97,"taxonomyType":98,"taxonomyTypeDesc":99},{"categoryNo":185,"categoryName":186,"taxonomyType":98,"taxonomyTypeDesc":99},"01JBSEEDCAT000000000000010","后端与接口",{"categoryNo":188,"categoryName":189,"taxonomyType":190,"taxonomyTypeDesc":191},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[134,193,194,195,103,196,197,198,199,113,146,200],"options","vue options api best practices","api","methods","reference","only","context","style",{"skillNo":202,"name":203,"nameZh":6,"description":204,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":205,"categories":206,"keywords":208,"publishedAt":38},"01M6MB85ZTQC24Q04X49MM4YXN","vue-development-guides","A collection of best practices and tips for developing applications using Vue.js. This skill MUST be apply when developing, refactoring or reviewing Vue.js or Nuxt projects.","https:\u002F\u002Fgithub.com\u002Fsuperhealth\u002Fskills-hub\u002Fblob\u002Fmaster\u002Fskills\u002Fvuejs-ai\u002Fvue-development-guides\u002FSKILL.md",[207],{"categoryNo":96,"categoryName":97,"taxonomyType":98,"taxonomyTypeDesc":99},[209,134,210,211,146,212,213,22,214,215,216,137,112,217,218,103],"development","guides","vue development guides","tips","apply","project","nuxt","projects","collection","applications"]