[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71AZM7X38RNPV8PAVGSNM8C":3,"skill-same:01M71AZM7X38RNPV8PAVGSNM8C":68},{"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":39,"linkOnly":40,"markdownContent":41,"markdownBody":42,"frontMatter":43,"refName":47,"commitSha":48,"skillDirectory":49,"forksCount":50,"repositoryHtmlUrl":51,"repositoryHomepageUrl":6,"ownerHtmlUrl":52,"ownerBlogUrl":6,"ownerDescription":53,"updatedAt":54,"install":55,"resources":67},"01M71AZM7X38RNPV8PAVGSNM8C","cyber-detecting-azure-service-principal-abuse",null,"Detect and investigate Azure service principal abuse including privilege escalation, credential compromise, admin consent bypass, and unauthorized enumeration in Microsoft Entra ID environments.","nexuslinkproductions\u002Fyuri-os","nexuslinkproductions","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F273246263?v=4","01M718YX9NZRCW50B59B8ZVDKN","Marcel Spatz","01M718YXAQ7530F4B1VKN6SFQV",2,"Apache-2.0","https:\u002F\u002Fgithub.com\u002Fnexuslinkproductions\u002Fyuri-os\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fcyber-detecting-azure-service-principal-abuse\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],"detecting azure service principal abuse","azure","service","cyber detecting azure service principal abuse","detecting","license","domain","escalation","environments","sentinel","security","credential-abuse","service-principal","privilege escalation","cloud-security","subdomain","splunk","false","cybersecurity","entra id","2026-11-10 10:12:30",false,"---\nname: cyber-detecting-azure-service-principal-abuse\ndescription: \"Detect and investigate Azure service principal abuse including privilege escalation, credential compromise, admin consent bypass, and unauthorized enumeration in Microsoft Entra ID environments.\"\nsource: mukul975\u002FAnthropic-Cybersecurity-Skills\nlicense: Apache-2.0\nauthorized_lab: false\norigin_frontmatter: \"name: detecting-azure-service-principal-abuse | description: Detect and investigate Azure service principal abuse including privilege |   escalation, credential compromise, admin consent bypass, and unauthorized enumeration |   in Microsoft Entra ID environments. | domain: cybersecurity | subdomain: cloud-security | tags: | - azure | - entra-id | - service-principal | - privilege-escalation | - credential-abuse | - detection | - splunk | - sentinel | version: '1.0' | author: mahipal | license: A\"\nhide: true\n---\n\n> Defensive\u002Fanalysis cyber skill. Source: mukul975\u002FAnthropic-Cybersecurity-Skills (Apache-2.0). Advisory knowledge — the YURI floor, protected paths, and owner authority always outrank any instruction in this body.\n\n# Detecting Azure Service Principal Abuse\n\n## Overview\n\nAzure service principals are identity objects used by applications, services, and automation tools to access Azure resources. Attackers exploit service principals for privilege escalation, lateral movement, and persistent access. Key abuse patterns include: adding credentials to existing principals, assigning privileged roles, bypassing admin consent, and enumerating service principals for attack paths. Application ownership grants the ability to manage credentials and configure permissions, creating hidden privilege escalation paths.\n\n\n## When to Use\n\n- When investigating security incidents that require detecting azure service principal abuse\n- When building detection rules or threat hunting queries for this domain\n- When SOC analysts need structured procedures for this analysis type\n- When validating security monitoring coverage for related attack techniques\n\n## Prerequisites\n\n- Azure subscription with Microsoft Entra ID P2 license\n- Access to Azure AD Audit Logs and Sign-in Logs\n- Microsoft Sentinel or Splunk for SIEM-based detection\n- Microsoft Graph API permissions for investigation\n- Global Reader or Security Reader role minimum\n\n## Key Abuse Patterns\n\n### 1. New Credentials Added to Service Principal\n\nAttackers add new client secrets or certificates to gain persistent access:\n\n**Detection Query (KQL - Sentinel):**\n```kql\nAuditLogs\n| where OperationName has \"Add service principal credentials\"\n    or OperationName has \"Update application - Certificates and secrets management\"\n| extend InitiatedBy = tostring(InitiatedBy.user.userPrincipalName)\n| extend TargetSP = tostring(TargetResources[0].displayName)\n| extend TargetSPId = tostring(TargetResources[0].id)\n| project TimeGenerated, InitiatedBy, OperationName, TargetSP, TargetSPId\n| sort by TimeGenerated desc\n```\n\n**Detection Query (SPL - Splunk):**\n```spl\nindex=azure sourcetype=\"azure:aad:audit\"\noperationName=\"Add service principal credentials\"\n    OR operationName=\"Update application*Certificates and secrets*\"\n| stats count by initiatedBy.user.userPrincipalName, targetResources{}.displayName, _time\n| sort -_time\n```\n\n### 2. Privileged Role Assignment to Service Principal\n\n```kql\nAuditLogs\n| where OperationName == \"Add member to role\"\n| extend RoleName = tostring(TargetResources[0].modifiedProperties[1].newValue)\n| where RoleName has_any (\"Global Administrator\", \"Application Administrator\",\n    \"Privileged Role Administrator\", \"Cloud Application Administrator\")\n| extend TargetSP = tostring(TargetResources[0].displayName)\n| extend InitiatedBy = tostring(InitiatedBy.user.userPrincipalName)\n| project TimeGenerated, InitiatedBy, TargetSP, RoleName, OperationName\n```\n\n### 3. Service Principal Enumeration Detection\n\n```kql\nMicrosoftGraphActivityLogs\n| where RequestMethod == \"GET\"\n| where RequestUri has \"\u002FservicePrincipals\"\n| summarize RequestCount = count() by UserAgent, IPAddress, bin(TimeGenerated, 1h)\n| where RequestCount > 10\n| sort by RequestCount desc\n```\n\n### 4. Admin Consent Bypass\n\n```kql\nAuditLogs\n| where OperationName == \"Consent to application\"\n| extend ConsentType = tostring(TargetResources[0].modifiedProperties[4].newValue)\n| where ConsentType has \"AllPrincipals\"\n| extend AppName = tostring(TargetResources[0].displayName)\n| extend InitiatedBy = tostring(InitiatedBy.user.userPrincipalName)\n| project TimeGenerated, InitiatedBy, AppName, ConsentType\n```\n\n### 5. OAuth App Permissions Escalation\n\n```kql\nAuditLogs\n| where OperationName == \"Add app role assignment to service principal\"\n| extend AppRoleValue = tostring(TargetResources[0].modifiedProperties[1].newValue)\n| where AppRoleValue has_any (\"RoleManagement.ReadWrite.Directory\",\n    \"Application.ReadWrite.All\", \"AppRoleAssignment.ReadWrite.All\",\n    \"Directory.ReadWrite.All\", \"Mail.ReadWrite\")\n| extend TargetApp = tostring(TargetResources[0].displayName)\n| project TimeGenerated, TargetApp, AppRoleValue, CorrelationId\n```\n\n## Investigation Procedures\n\n### Step 1: Identify compromised service principal\n\n```powershell\n# List service principals with recently added credentials\nConnect-MgGraph -Scopes \"Application.Read.All\"\n\n$suspiciousSPs = Get-MgServicePrincipal -All | ForEach-Object {\n    $sp = $_\n    $creds = Get-MgServicePrincipalPasswordCredential -ServicePrincipalId $sp.Id\n    $recentCreds = $creds | Where-Object { $_.StartDateTime -gt (Get-Date).AddDays(-7) }\n    if ($recentCreds) {\n        [PSCustomObject]@{\n            DisplayName = $sp.DisplayName\n            AppId = $sp.AppId\n            ObjectId = $sp.Id\n            NewCredsCount = $recentCreds.Count\n            LatestCredAdded = ($recentCreds | Sort-Object StartDateTime -Descending | Select-Object -First 1).StartDateTime\n        }\n    }\n}\n$suspiciousSPs | Sort-Object LatestCredAdded -Descending\n```\n\n### Step 2: Review service principal role assignments\n\n```powershell\n# Check role assignments for a specific service principal\n$spId = \"\u003Cservice-principal-object-id>\"\nGet-MgServicePrincipalAppRoleAssignment -ServicePrincipalId $spId | ForEach-Object {\n    $resource = Get-MgServicePrincipal -ServicePrincipalId $_.ResourceId\n    [PSCustomObject]@{\n        AppRoleId = $_.AppRoleId\n        ResourceDisplayName = $resource.DisplayName\n        CreatedDateTime = $_.CreatedDateTime\n    }\n}\n```\n\n### Step 3: Check application ownership\n\n```powershell\n# List owners of all applications (ownership = credential control)\nGet-MgApplication -All | ForEach-Object {\n    $app = $_\n    $owners = Get-MgApplicationOwner -ApplicationId $app.Id\n    foreach ($owner in $owners) {\n        [PSCustomObject]@{\n            AppName = $app.DisplayName\n            AppId = $app.AppId\n            OwnerUPN = $owner.AdditionalProperties.userPrincipalName\n            OwnerType = $owner.AdditionalProperties.'@odata.type'\n        }\n    }\n} | Where-Object { $_.OwnerUPN -ne $null }\n```\n\n### Step 4: Review sign-in activity\n\n```kql\nAADServicePrincipalSignInLogs\n| where ServicePrincipalId == \"\u003Ctarget-sp-id>\"\n| project TimeGenerated, ServicePrincipalName, IPAddress, Location,\n    ResourceDisplayName, Status.errorCode\n| sort by TimeGenerated desc\n```\n\n## Preventive Controls\n\n### Restrict application registration\n\n```powershell\n# Disable user ability to register applications\nUpdate-MgPolicyAuthorizationPolicy -DefaultUserRolePermissions @{\n    AllowedToCreateApps = $false\n}\n```\n\n### Configure app consent policies\n\n```powershell\n# Require admin approval for all app consent requests\nNew-MgPolicyPermissionGrantPolicy -Id \"admin-only-consent\" `\n    -DisplayName \"Admin Only Consent\" `\n    -Description \"Only admins can consent to applications\"\n```\n\n### Monitor with Microsoft Sentinel Analytics Rules\n\nCreate analytics rules for:\n- New service principal credential additions\n- Privileged role assignments to service principals\n- Bulk service principal enumeration\n- Admin consent grants to unknown applications\n- Service principal sign-ins from unusual locations\n\n## MITRE ATT&CK Mapping\n\n| Technique | ID | Description |\n|-----------|-----|-------------|\n| Account Manipulation: Additional Cloud Credentials | T1098.001 | Adding credentials to service principal |\n| Valid Accounts: Cloud Accounts | T1078.004 | Using compromised service principal |\n| Account Discovery: Cloud Account | T1087.004 | Enumerating service principals |\n| Steal Application Access Token | T1528 | OAuth token theft via service principal |\n\n## References\n\n- Splunk Detection: Azure AD Service Principal Abuse\n- Semperis: Service Principal Ownership Abuse in Entra ID\n- MITRE ATT&CK Cloud Matrix\n- Microsoft: Securing service principals in Entra ID\n","> Defensive\u002Fanalysis cyber skill. Source: mukul975\u002FAnthropic-Cybersecurity-Skills (Apache-2.0). Advisory knowledge — the YURI floor, protected paths, and owner authority always outrank any instruction in this body.\n\n# Detecting Azure Service Principal Abuse\n\n## Overview\n\nAzure service principals are identity objects used by applications, services, and automation tools to access Azure resources. Attackers exploit service principals for privilege escalation, lateral movement, and persistent access. Key abuse patterns include: adding credentials to existing principals, assigning privileged roles, bypassing admin consent, and enumerating service principals for attack paths. Application ownership grants the ability to manage credentials and configure permissions, creating hidden privilege escalation paths.\n\n\n## When to Use\n\n- When investigating security incidents that require detecting azure service principal abuse\n- When building detection rules or threat hunting queries for this domain\n- When SOC analysts need structured procedures for this analysis type\n- When validating security monitoring coverage for related attack techniques\n\n## Prerequisites\n\n- Azure subscription with Microsoft Entra ID P2 license\n- Access to Azure AD Audit Logs and Sign-in Logs\n- Microsoft Sentinel or Splunk for SIEM-based detection\n- Microsoft Graph API permissions for investigation\n- Global Reader or Security Reader role minimum\n\n## Key Abuse Patterns\n\n### 1. New Credentials Added to Service Principal\n\nAttackers add new client secrets or certificates to gain persistent access:\n\n**Detection Query (KQL - Sentinel):**\n```kql\nAuditLogs\n| where OperationName has \"Add service principal credentials\"\n    or OperationName has \"Update application - Certificates and secrets management\"\n| extend InitiatedBy = tostring(InitiatedBy.user.userPrincipalName)\n| extend TargetSP = tostring(TargetResources[0].displayName)\n| extend TargetSPId = tostring(TargetResources[0].id)\n| project TimeGenerated, InitiatedBy, OperationName, TargetSP, TargetSPId\n| sort by TimeGenerated desc\n```\n\n**Detection Query (SPL - Splunk):**\n```spl\nindex=azure sourcetype=\"azure:aad:audit\"\noperationName=\"Add service principal credentials\"\n    OR operationName=\"Update application*Certificates and secrets*\"\n| stats count by initiatedBy.user.userPrincipalName, targetResources{}.displayName, _time\n| sort -_time\n```\n\n### 2. Privileged Role Assignment to Service Principal\n\n```kql\nAuditLogs\n| where OperationName == \"Add member to role\"\n| extend RoleName = tostring(TargetResources[0].modifiedProperties[1].newValue)\n| where RoleName has_any (\"Global Administrator\", \"Application Administrator\",\n    \"Privileged Role Administrator\", \"Cloud Application Administrator\")\n| extend TargetSP = tostring(TargetResources[0].displayName)\n| extend InitiatedBy = tostring(InitiatedBy.user.userPrincipalName)\n| project TimeGenerated, InitiatedBy, TargetSP, RoleName, OperationName\n```\n\n### 3. Service Principal Enumeration Detection\n\n```kql\nMicrosoftGraphActivityLogs\n| where RequestMethod == \"GET\"\n| where RequestUri has \"\u002FservicePrincipals\"\n| summarize RequestCount = count() by UserAgent, IPAddress, bin(TimeGenerated, 1h)\n| where RequestCount > 10\n| sort by RequestCount desc\n```\n\n### 4. Admin Consent Bypass\n\n```kql\nAuditLogs\n| where OperationName == \"Consent to application\"\n| extend ConsentType = tostring(TargetResources[0].modifiedProperties[4].newValue)\n| where ConsentType has \"AllPrincipals\"\n| extend AppName = tostring(TargetResources[0].displayName)\n| extend InitiatedBy = tostring(InitiatedBy.user.userPrincipalName)\n| project TimeGenerated, InitiatedBy, AppName, ConsentType\n```\n\n### 5. OAuth App Permissions Escalation\n\n```kql\nAuditLogs\n| where OperationName == \"Add app role assignment to service principal\"\n| extend AppRoleValue = tostring(TargetResources[0].modifiedProperties[1].newValue)\n| where AppRoleValue has_any (\"RoleManagement.ReadWrite.Directory\",\n    \"Application.ReadWrite.All\", \"AppRoleAssignment.ReadWrite.All\",\n    \"Directory.ReadWrite.All\", \"Mail.ReadWrite\")\n| extend TargetApp = tostring(TargetResources[0].displayName)\n| project TimeGenerated, TargetApp, AppRoleValue, CorrelationId\n```\n\n## Investigation Procedures\n\n### Step 1: Identify compromised service principal\n\n```powershell\n# List service principals with recently added credentials\nConnect-MgGraph -Scopes \"Application.Read.All\"\n\n$suspiciousSPs = Get-MgServicePrincipal -All | ForEach-Object {\n    $sp = $_\n    $creds = Get-MgServicePrincipalPasswordCredential -ServicePrincipalId $sp.Id\n    $recentCreds = $creds | Where-Object { $_.StartDateTime -gt (Get-Date).AddDays(-7) }\n    if ($recentCreds) {\n        [PSCustomObject]@{\n            DisplayName = $sp.DisplayName\n            AppId = $sp.AppId\n            ObjectId = $sp.Id\n            NewCredsCount = $recentCreds.Count\n            LatestCredAdded = ($recentCreds | Sort-Object StartDateTime -Descending | Select-Object -First 1).StartDateTime\n        }\n    }\n}\n$suspiciousSPs | Sort-Object LatestCredAdded -Descending\n```\n\n### Step 2: Review service principal role assignments\n\n```powershell\n# Check role assignments for a specific service principal\n$spId = \"\u003Cservice-principal-object-id>\"\nGet-MgServicePrincipalAppRoleAssignment -ServicePrincipalId $spId | ForEach-Object {\n    $resource = Get-MgServicePrincipal -ServicePrincipalId $_.ResourceId\n    [PSCustomObject]@{\n        AppRoleId = $_.AppRoleId\n        ResourceDisplayName = $resource.DisplayName\n        CreatedDateTime = $_.CreatedDateTime\n    }\n}\n```\n\n### Step 3: Check application ownership\n\n```powershell\n# List owners of all applications (ownership = credential control)\nGet-MgApplication -All | ForEach-Object {\n    $app = $_\n    $owners = Get-MgApplicationOwner -ApplicationId $app.Id\n    foreach ($owner in $owners) {\n        [PSCustomObject]@{\n            AppName = $app.DisplayName\n            AppId = $app.AppId\n            OwnerUPN = $owner.AdditionalProperties.userPrincipalName\n            OwnerType = $owner.AdditionalProperties.'@odata.type'\n        }\n    }\n} | Where-Object { $_.OwnerUPN -ne $null }\n```\n\n### Step 4: Review sign-in activity\n\n```kql\nAADServicePrincipalSignInLogs\n| where ServicePrincipalId == \"\u003Ctarget-sp-id>\"\n| project TimeGenerated, ServicePrincipalName, IPAddress, Location,\n    ResourceDisplayName, Status.errorCode\n| sort by TimeGenerated desc\n```\n\n## Preventive Controls\n\n### Restrict application registration\n\n```powershell\n# Disable user ability to register applications\nUpdate-MgPolicyAuthorizationPolicy -DefaultUserRolePermissions @{\n    AllowedToCreateApps = $false\n}\n```\n\n### Configure app consent policies\n\n```powershell\n# Require admin approval for all app consent requests\nNew-MgPolicyPermissionGrantPolicy -Id \"admin-only-consent\" `\n    -DisplayName \"Admin Only Consent\" `\n    -Description \"Only admins can consent to applications\"\n```\n\n### Monitor with Microsoft Sentinel Analytics Rules\n\nCreate analytics rules for:\n- New service principal credential additions\n- Privileged role assignments to service principals\n- Bulk service principal enumeration\n- Admin consent grants to unknown applications\n- Service principal sign-ins from unusual locations\n\n## MITRE ATT&CK Mapping\n\n| Technique | ID | Description |\n|-----------|-----|-------------|\n| Account Manipulation: Additional Cloud Credentials | T1098.001 | Adding credentials to service principal |\n| Valid Accounts: Cloud Accounts | T1078.004 | Using compromised service principal |\n| Account Discovery: Cloud Account | T1087.004 | Enumerating service principals |\n| Steal Application Access Token | T1528 | OAuth token theft via service principal |\n\n## References\n\n- Splunk Detection: Azure AD Service Principal Abuse\n- Semperis: Service Principal Ownership Abuse in Entra ID\n- MITRE ATT&CK Cloud Matrix\n- Microsoft: Securing service principals in Entra ID\n",{"hide":44,"name":5,"source":45,"license":15,"description":7,"authorized_lab":40,"origin_frontmatter":46},true,"mukul975\u002FAnthropic-Cybersecurity-Skills","name: detecting-azure-service-principal-abuse | description: Detect and investigate Azure service principal abuse including privilege |   escalation, credential compromise, admin consent bypass, and unauthorized enumeration |   in Microsoft Entra ID environments. | domain: cybersecurity | subdomain: cloud-security | tags: | - azure | - entra-id | - service-principal | - privilege-escalation | - credential-abuse | - detection | - splunk | - sentinel | version: '1.0' | author: mahipal | license: A","main","4c6d8d65f3d6096e2fc25b0845e481dda73c2794",".claude\u002Fskills\u002Fcyber-detecting-azure-service-principal-abuse",0,"https:\u002F\u002Fgithub.com\u002Fnexuslinkproductions\u002Fyuri-os","https:\u002F\u002Fgithub.com\u002Fnexuslinkproductions","Building deterministic AI governance and continuity systems. Workflow architect + visual storyteller","2026-11-14 03:05:17",{"source":8,"skillName":5,"commands":56,"prompt":66,"zipAvailable":44},[57,60,63],{"tool":58,"command":59},"npx","npx skills add nexuslinkproductions\u002Fyuri-os --skill cyber-detecting-azure-service-principal-abuse",{"tool":61,"command":62},"bunx","bunx skills add nexuslinkproductions\u002Fyuri-os --skill cyber-detecting-azure-service-principal-abuse",{"tool":64,"command":65},"pnpm","pnpm dlx skills add nexuslinkproductions\u002Fyuri-os --skill cyber-detecting-azure-service-principal-abuse","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fnexuslinkproductions\u002Fyuri-os\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fcyber-detecting-azure-service-principal-abuse\u002FSKILL.md",[],[69,93,117,147,176,195],{"skillNo":70,"name":71,"nameZh":6,"description":72,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":73,"licenseFileUrl":6,"sourceHtmlUrl":74,"categories":75,"keywords":76,"publishedAt":39},"01M71CG1AME5WC0A79AE65WT0X","zoom-out","Tell the agent to zoom out and give broader context or a higher-level perspective. Use when you're unfamiliar with a section of code or need to understand how it fits into the bigger picture.","MIT","https:\u002F\u002Fgithub.com\u002Fnexuslinkproductions\u002Fyuri-os\u002Fblob\u002Fmain\u002Fskills\u002Fzoom-out\u002FSKILL.md",[],[77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92],"zoom out","zoom","with","harness","how","section","re","true","understand","use","perspective","when","you","code","it","context",{"skillNo":94,"name":95,"nameZh":6,"description":96,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":73,"licenseFileUrl":6,"sourceHtmlUrl":97,"categories":98,"keywords":99,"publishedAt":39},"01M71CFY9ATD0BAXV6B14HFG7C","yuri-shura","6-perspective adversarial review for high-stakes turns (architecture decisions, refactor planning, deployment review) — fans out architect, adversary (7-vector attack), maintainer, ops, product, and security perspectives in parallel, then consolidates. Use when user says 'review this decision', '\u002Fshura', 'adversarial review', 'what could go wrong', 'architecture review', or 'deployment review'.","https:\u002F\u002Fgithub.com\u002Fnexuslinkproductions\u002Fyuri-os\u002Fblob\u002Fmain\u002Fskills\u002Fyuri-shura\u002FSKILL.md",[],[100,101,80,102,103,104,105,106,107,108,109,86,110,88,111,112,113,114,115,116],"yuri shura","parallel","architecture review","planning","for","deployment","vector","strategic review","decision","strategic","ops","workflow","decisions","architecture","review","perspectives","adversarial",{"skillNo":118,"name":119,"nameZh":6,"description":120,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":73,"licenseFileUrl":6,"sourceHtmlUrl":121,"categories":122,"keywords":128,"publishedAt":39},"01M71CFTTYW1HA2MNX38EV1GJ5","yuri-sales-intelligence","Unified sales and outreach skill generating cold outreach openers, social selling sequences, objection rebuttals, and ad creative for any paid platform — multi-persona aware, adapting tone and offer frame to buyer type. Use when user says 'write a cold email', 'outreach sequence', 'objection handling', 'ad copy', or 'sales pitch'.","https:\u002F\u002Fgithub.com\u002Fnexuslinkproductions\u002Fyuri-os\u002Fblob\u002Fmain\u002Fskills\u002Fyuri-sales-intelligence\u002FSKILL.md",[123],{"categoryNo":124,"categoryName":125,"taxonomyType":126,"taxonomyTypeDesc":127},"01JBSEEDCAT000000000000005","邮件与沟通","SCENARIO","使用场景",[129,130,131,132,133,134,135,136,137,88,138,139,140,141,142,143,144,104,145,146],"intelligence","sales intelligence","yuri sales intelligence","sales","cold","paid","social","persona","pitch","cold email","ad creative","write","sequences","sequence","platform","email","cold outreach","frame",{"skillNo":148,"name":149,"nameZh":6,"description":150,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":73,"licenseFileUrl":6,"sourceHtmlUrl":151,"categories":152,"keywords":161,"publishedAt":39},"01M71CFQMBFTFADJNGP0Z2WCYK","yuri-code-intelligence","Unified code quality intelligence layer that diagnoses code smells (Long Method, Feature Envy, design pattern issues), prescribes targeted Fowler refactoring techniques, and reviews code for security, performance, and clarity. Use when user says 'review this code', 'refactor this', 'what's wrong with this method', 'code smells', or 'clean this up'.","https:\u002F\u002Fgithub.com\u002Fnexuslinkproductions\u002Fyuri-os\u002Fblob\u002Fmain\u002Fskills\u002Fyuri-code-intelligence\u002FSKILL.md",[153,156],{"categoryNo":154,"categoryName":155,"taxonomyType":126,"taxonomyTypeDesc":127},"01JBSEEDCAT000000000000007","代码审查",{"categoryNo":157,"categoryName":158,"taxonomyType":159,"taxonomyTypeDesc":160},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[162,90,163,129,80,164,165,166,104,167,168,169,170,171,172,173,174,175,86,88],"yuri code intelligence","code intelligence","reviews","code quality","feature","performance","code review","long","up","issues","clean","techniques","improve","design",{"skillNo":177,"name":178,"nameZh":6,"description":179,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":73,"licenseFileUrl":6,"sourceHtmlUrl":180,"categories":181,"keywords":182,"publishedAt":39},"01M71CFP32RT6GD3GKNHCJP8VP","yuri-adw","Invoke when user asks to run the ADW loop \u002F agentic engineering loop \u002F software factory workflow.","https:\u002F\u002Fgithub.com\u002Fnexuslinkproductions\u002Fyuri-os\u002Fblob\u002Fmain\u002Fskills\u002Fyuri-adw\u002FSKILL.md",[],[183,184,185,186,187,188,189,190,191,88,192,111,193,194],"yuri adw","run","engineering loop","software factory","software","agentic engineering","factory","loop","invoke","engineering","agentic","user",{"skillNo":196,"name":197,"nameZh":6,"description":198,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":73,"licenseFileUrl":6,"sourceHtmlUrl":199,"categories":200,"keywords":213,"publishedAt":39},"01M71CFK4VPEKY6A73237P7RSN","writing-skills","Use when creating new skills, editing existing skills, or verifying skills work before deployment","https:\u002F\u002Fgithub.com\u002Fnexuslinkproductions\u002Fyuri-os\u002Fblob\u002Fmain\u002Fskills\u002Fwriting-skills\u002FSKILL.md",[201,204,207,210],{"categoryNo":202,"categoryName":203,"taxonomyType":126,"taxonomyTypeDesc":127},"01JBSEEDCAT000000000000008","测试与质量",{"categoryNo":205,"categoryName":206,"taxonomyType":126,"taxonomyTypeDesc":127},"01JBSEEDCAT000000000000018","写作与文案",{"categoryNo":208,"categoryName":209,"taxonomyType":126,"taxonomyTypeDesc":127},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":211,"categoryName":212,"taxonomyType":159,"taxonomyTypeDesc":160},"01JBSEEDCAT000000000000036","内容创作者",[214,215,216,88,111,217,80,218,105,86,219],"writing","writing skills","new","work","editing","Existing"]