[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6P967N321APKFGGKZBYWQSW":3,"skill-same:01M6P967N321APKFGGKZBYWQSW":77},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":22,"publishedAt":43,"linkOnly":44,"markdownContent":45,"markdownBody":46,"frontMatter":47,"refName":33,"commitSha":58,"skillDirectory":59,"forksCount":13,"repositoryHtmlUrl":60,"repositoryHomepageUrl":6,"ownerHtmlUrl":61,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":62,"install":63,"resources":76},"01M6P967N321APKFGGKZBYWQSW","markstream-angular",null,"Integrate the alpha markstream-angular renderer into Angular 20+ applications with standalone components, signals, safe HTML defaults, and optional peer features.","duc-duy-1612\u002FOnline-Delivery-Systems-Web","duc-duy-1612","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F192231384?v=4","01M6NSDKQQDKVTHZ8DZMZ1VYY6","01M6NSDKW8DDVTQHBT1HBDDJPT",0,"MIT","https:\u002F\u002Fgithub.com\u002Fduc-duy-1612\u002FOnline-Delivery-Systems-Web\u002Fblob\u002Fmain\u002F.agents\u002Fskills_archive\u002Fmarkstream-angular\u002FSKILL.md",[17],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000009","前端开发","SCENARIO","使用场景",[23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42],"markstream angular","angular","peer","renderer","standalone","tree","ai-chat","with","critical","chat","main","frontend","applications","alpha","streaming","license","official","components","codex","gemini","2026-11-10 10:12:30",false,"---\nname: markstream-angular\ndescription: \"Integrate the alpha markstream-angular renderer into Angular 20+ applications with standalone components, signals, safe HTML defaults, and optional peer features.\"\ncategory: frontend\nrisk: critical\nsource: https:\u002F\u002Fgithub.com\u002FSimon-He95\u002Fmarkstream-vue\u002Ftree\u002Fmain\u002F.agents\u002Fskills\u002Fmarkstream-angular\nsource_repo: Simon-He95\u002Fmarkstream-vue\nsource_type: official\ndate_added: \"2026-07-21\"\nauthor: Simon-He95\ntags: [angular, markdown, streaming, ai-chat, frontend]\ntools: [claude, cursor, gemini, codex]\nlicense: MIT\nlicense_source: https:\u002F\u002Fgithub.com\u002FSimon-He95\u002Fmarkstream-vue\u002Fblob\u002Fmain\u002Flicense\n---\n\n# Markstream Angular\n\n## Overview\n\nAdd Markstream to Angular 20+ while preserving standalone-component patterns, signal-friendly bindings, safe rendering defaults, and explicit optional dependencies. Use `markstream-install` for framework selection; use this skill once Angular is confirmed.\n\n## When to Use\n\nUse for Angular-specific standalone imports, CSS, signals, custom tags or components, streaming state, and optional peers. Do not use below Angular 20 or when the application cannot accept an alpha renderer API.\n\n## Workflow\n\nBefore changing dependencies or source files, inspect the existing package manager and project conventions, preview the intended edits, and obtain explicit user approval.\n\n1. Confirm Angular 20+ and record that `markstream-angular` is alpha.\n2. Install the package plus only requested peers. Import `markstream-angular\u002Findex.css`; add KaTeX CSS only for math.\n3. Import `MarkstreamAngularComponent` into the standalone component's `imports`.\n4. Start with `[content]` and `[smoothStreaming]=\"'auto'\"`. Use `nodes` plus `final` only when another layer owns the AST.\n5. For live chat use `[fade]=\"false\"` and opt into `[typewriter]=\"true\"`. On completion set `[final]=\"true\"`, disable pacing\u002Fcursor, and enable fade only if desired.\n6. Use `[customHtmlTags]` and `[customComponents]` only for trusted tag workflows.\n7. Keep `[htmlPolicy]=\"'safe'\"` and Mermaid strict mode unless a narrowly scoped trusted legacy surface requires otherwise.\n8. Validate with the smallest Angular build, typecheck, or dev command.\n\n## Example\n\n```ts\nimport { Component, signal } from '@angular\u002Fcore'\nimport { MarkstreamAngularComponent } from 'markstream-angular'\nimport 'markstream-angular\u002Findex.css'\n\n@Component({\n  selector: 'app-answer',\n  standalone: true,\n  imports: [MarkstreamAngularComponent],\n  template: `\n    \u003Cmarkstream-angular\n      [content]=\"markdown()\"\n      [final]=\"done()\"\n      [fade]=\"done()\"\n      [typewriter]=\"!done()\"\n      [smoothStreaming]=\"done() ? false : 'auto'\"\n      [htmlPolicy]=\"'safe'\"\n    \u002F>\n  `,\n})\nexport class AnswerComponent {\n  markdown = signal('# Streaming answer')\n  done = signal(false)\n}\n```\n\n## Limitations\n\n- Requires Angular 20+ and an alpha package.\n- Browser-heavy peers may need bundler or client-boundary work.\n- This skill does not design the host chat architecture or visual system.\n\n## Security & Safety Notes\n\nReview dependency changes before installation. Never broaden HTML or Mermaid trust settings for untrusted model output.\n","# Markstream Angular\n\n## Overview\n\nAdd Markstream to Angular 20+ while preserving standalone-component patterns, signal-friendly bindings, safe rendering defaults, and explicit optional dependencies. Use `markstream-install` for framework selection; use this skill once Angular is confirmed.\n\n## When to Use\n\nUse for Angular-specific standalone imports, CSS, signals, custom tags or components, streaming state, and optional peers. Do not use below Angular 20 or when the application cannot accept an alpha renderer API.\n\n## Workflow\n\nBefore changing dependencies or source files, inspect the existing package manager and project conventions, preview the intended edits, and obtain explicit user approval.\n\n1. Confirm Angular 20+ and record that `markstream-angular` is alpha.\n2. Install the package plus only requested peers. Import `markstream-angular\u002Findex.css`; add KaTeX CSS only for math.\n3. Import `MarkstreamAngularComponent` into the standalone component's `imports`.\n4. Start with `[content]` and `[smoothStreaming]=\"'auto'\"`. Use `nodes` plus `final` only when another layer owns the AST.\n5. For live chat use `[fade]=\"false\"` and opt into `[typewriter]=\"true\"`. On completion set `[final]=\"true\"`, disable pacing\u002Fcursor, and enable fade only if desired.\n6. Use `[customHtmlTags]` and `[customComponents]` only for trusted tag workflows.\n7. Keep `[htmlPolicy]=\"'safe'\"` and Mermaid strict mode unless a narrowly scoped trusted legacy surface requires otherwise.\n8. Validate with the smallest Angular build, typecheck, or dev command.\n\n## Example\n\n```ts\nimport { Component, signal } from '@angular\u002Fcore'\nimport { MarkstreamAngularComponent } from 'markstream-angular'\nimport 'markstream-angular\u002Findex.css'\n\n@Component({\n  selector: 'app-answer',\n  standalone: true,\n  imports: [MarkstreamAngularComponent],\n  template: `\n    \u003Cmarkstream-angular\n      [content]=\"markdown()\"\n      [final]=\"done()\"\n      [fade]=\"done()\"\n      [typewriter]=\"!done()\"\n      [smoothStreaming]=\"done() ? false : 'auto'\"\n      [htmlPolicy]=\"'safe'\"\n    \u002F>\n  `,\n})\nexport class AnswerComponent {\n  markdown = signal('# Streaming answer')\n  done = signal(false)\n}\n```\n\n## Limitations\n\n- Requires Angular 20+ and an alpha package.\n- Browser-heavy peers may need bundler or client-boundary work.\n- This skill does not design the host chat architecture or visual system.\n\n## Security & Safety Notes\n\nReview dependency changes before installation. Never broaden HTML or Mermaid trust settings for untrusted model output.\n",{"name":5,"risk":31,"tags":48,"tools":50,"author":53,"source":54,"license":14,"category":34,"date_added":55,"description":7,"source_repo":56,"source_type":39,"license_source":57},[24,49,37,29,34],"markdown",[51,52,42,41],"claude","cursor","Simon-He95","https:\u002F\u002Fgithub.com\u002FSimon-He95\u002Fmarkstream-vue\u002Ftree\u002Fmain\u002F.agents\u002Fskills\u002Fmarkstream-angular","2026-07-21","Simon-He95\u002Fmarkstream-vue","https:\u002F\u002Fgithub.com\u002FSimon-He95\u002Fmarkstream-vue\u002Fblob\u002Fmain\u002Flicense","f3312ba749561b6159f477dbfc9313c875d40a56",".agents\u002Fskills_archive\u002Fmarkstream-angular","https:\u002F\u002Fgithub.com\u002Fduc-duy-1612\u002FOnline-Delivery-Systems-Web","https:\u002F\u002Fgithub.com\u002Fduc-duy-1612","2026-10-25 23:50:58",{"source":8,"skillName":5,"commands":64,"prompt":74,"zipAvailable":75},[65,68,71],{"tool":66,"command":67},"npx","npx skills add duc-duy-1612\u002FOnline-Delivery-Systems-Web --skill markstream-angular",{"tool":69,"command":70},"bunx","bunx skills add duc-duy-1612\u002FOnline-Delivery-Systems-Web --skill markstream-angular",{"tool":72,"command":73},"pnpm","pnpm dlx skills add duc-duy-1612\u002FOnline-Delivery-Systems-Web --skill markstream-angular","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fduc-duy-1612\u002FOnline-Delivery-Systems-Web\u002Fblob\u002Fmain\u002F.agents\u002Fskills_archive\u002Fmarkstream-angular\u002FSKILL.md",true,[],[78,105,129,152,179,201],{"skillNo":79,"name":80,"nameZh":6,"description":81,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":82,"categories":83,"keywords":87,"publishedAt":43},"01M6Q0FA5FZ410Z33Z3TFQ4DBA","zero-trust","Implement zero-trust network architecture. Configure identity-based access, micro-segmentation, and continuous verification. Use when implementing modern security architectures.","https:\u002F\u002Fgithub.com\u002Fduc-duy-1612\u002FOnline-Delivery-Systems-Web\u002Fblob\u002Fmain\u002F.agents\u002Fskills_archive\u002Fzero-trust\u002FSKILL.md",[84],{"categoryNo":85,"categoryName":86,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000011","运维与部署",[88,89,90,91,92,93,80,94,95,96,97,98,99,33,100,31,101,102,103,104],"ZeRO","trust","zero trust","architecture","assessment","verification","segmentation","devops-security","access","configure","only","community","active","scope","scripts","relevant","implementing",{"skillNo":106,"name":107,"nameZh":6,"description":108,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":109,"categories":110,"keywords":111,"publishedAt":43},"01M6Q0F1YZJW3KX5FBKEVZ8CV4","zcode-delegate","Delegate coding tasks to the Z.AI ZCode CLI only when the user explicitly requests it, while the orchestrator retains review and landing responsibility.","https:\u002F\u002Fgithub.com\u002Fduc-duy-1612\u002FOnline-Delivery-Systems-Web\u002Fblob\u002Fmain\u002F.agents\u002Fskills_archive\u002Fzcode-delegate\u002FSKILL.md",[],[112,113,114,115,116,117,118,119,120,121,122,123,124,98,125,99,126,127,31,128],"delegate","zcode","zcode delegate","review","cli","orchestration","tasks","run","Bash","model","node","read","orchestrator","files","desktop app","app","agent-orchestration",{"skillNo":130,"name":131,"nameZh":6,"description":132,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":133,"categories":134,"keywords":135,"publishedAt":43},"01M6Q0ETK41VGNMYEXW0T00AJN","youtube-transcript","Fetch YouTube transcripts through DeepAPI or local fallback tooling and save clean text output.","https:\u002F\u002Fgithub.com\u002Fduc-duy-1612\u002FOnline-Delivery-Systems-Web\u002Fblob\u002Fmain\u002F.agents\u002Fskills_archive\u002Fyoutube-transcript\u002FSKILL.md",[],[136,137,138,139,140,41,141,38,142,143,144,145,146,99,33,147,148,149,150,151],"transcript","youtube transcript","youtube","safe","github","research","https","text","fetch","tooling","clean","local","output","deepapi","youtube transcripts","blob",{"skillNo":153,"name":154,"nameZh":6,"description":155,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":156,"categories":157,"keywords":169,"publishedAt":43},"01M6Q0EPPH2PVMDW40017F8WX0","youtube-transcript-skills","Fetch YouTube video transcripts, search videos\u002Fchannels, browse channels, and extract playlists via the getyoutubetranscript.com API - free tier, no card required.","https:\u002F\u002Fgithub.com\u002Fduc-duy-1612\u002FOnline-Delivery-Systems-Web\u002Fblob\u002Fmain\u002F.agents\u002Fskills_archive\u002Fyoutube-transcript-skills\u002FSKILL.md",[158,161,164],{"categoryNo":159,"categoryName":160,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000010","后端与接口",{"categoryNo":162,"categoryName":163,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000016","图像与多媒体",{"categoryNo":165,"categoryName":166,"taxonomyType":167,"taxonomyTypeDesc":168},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[136,137,138,170,139,42,140,41,38,171,172,173,174,144,175,99,33,176,177,178],"youtube transcript skills","search","api","Video","browse","api-integration","free","card","channels",{"skillNo":180,"name":181,"nameZh":6,"description":182,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":183,"categories":184,"keywords":189,"publishedAt":43},"01M6Q0EAB96PX83W5PTE8A0R8D","youtube-notetaker","Turn YouTube talks into local study notes with slides, transcripts, editable annotations, and a markdown-backed viewer.","https:\u002F\u002Fgithub.com\u002Fduc-duy-1612\u002FOnline-Delivery-Systems-Web\u002Fblob\u002Fmain\u002F.agents\u002Fskills_archive\u002Fyoutube-notetaker\u002FSKILL.md",[185,188],{"categoryNo":186,"categoryName":187,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000003","演示文稿",{"categoryNo":162,"categoryName":163,"taxonomyType":20,"taxonomyTypeDesc":21},[138,190,191,116,139,192,39,193,194,38,173,49,195,196,197,33,198,147,199,200],"youtube notetaker","notetaker","workflow","notes","code","slides","annotations","README","study","dair-academy","viewer",{"skillNo":202,"name":203,"nameZh":6,"description":204,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":205,"categories":206,"keywords":208,"publishedAt":43},"01M6Q0E55F0GW5MX48V8HXS8B5","youtube-full","Fetch YouTube transcripts, search videos, browse channels, and extract playlists via TranscriptAPI — no yt-dlp, no Google API key, works from any cloud server.","https:\u002F\u002Fgithub.com\u002Fduc-duy-1612\u002FOnline-Delivery-Systems-Web\u002Fblob\u002Fmain\u002F.agents\u002Fskills_archive\u002Fyoutube-full\u002FSKILL.md",[207],{"categoryNo":159,"categoryName":160,"taxonomyType":20,"taxonomyTypeDesc":21},[209,138,210,211,139,42,171,212,213,172,173,174,144,214,175,99,33,176,215,150],"youtube full","full","google","server","dlp","credits","automatic"]