[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6CJ69MVBXBPXS92GPDNP4KM":3,"skill-same:01M6CJ69MVBXBPXS92GPDNP4KM":64},{"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":37,"linkOnly":38,"markdownContent":39,"markdownBody":40,"frontMatter":41,"refName":42,"commitSha":43,"skillDirectory":44,"forksCount":45,"repositoryHtmlUrl":46,"repositoryHomepageUrl":47,"ownerHtmlUrl":48,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":49,"install":50,"resources":63},"01M6CJ69MVBXBPXS92GPDNP4KM","cencon-generate",null,"Analyze .NET source code and generate CenCon documentation (architecture_manifest.yaml, security_profile.yaml, INDEX.md). Triggers on \"\u002Fcencon-generate\".","thefrederiksen\u002Fdevthrottle","thefrederiksen","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F220024918?v=4","01M6CJ5XSV9624762E0FDS49BZ","01M6CJ5XY3WWF9943901Y87DEX",110,"MIT","https:\u002F\u002Fgithub.com\u002Fthefrederiksen\u002Fdevthrottle\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fcencon-generate\u002Fskill.md",[17],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[23,24,25,26,27,28,29,30,31,32,33,34,35,36],"generate","cencon generate","security","architecture","documentation","code","index","yaml","manifest","analyze","profile","triggers","source","source code","2026-11-10 10:12:30",false,"---\nname: cencon-generate\ndescription: Analyze .NET source code and generate CenCon documentation (architecture_manifest.yaml, security_profile.yaml, INDEX.md). Triggers on \"\u002Fcencon-generate\".\n---\n\n# CenCon Generate Skill\n\nAutomatically analyze .NET source code (the ground truth) and generate CenCon documentation files.\n\n## Triggers\n\n- `\u002Fcencon-generate` - Full generation\n- `\u002Fcencon-generate --diff` - Show changes since last generation\n- `\u002Fcencon-generate --dry-run` - Preview without writing files\n\n## Output Files\n\nAll files are created in `docs\u002Fcencon\u002F`:\n- `architecture_manifest.yaml` - C4 Level 1 & 2 model (machine-readable)\n- `security_profile.yaml` - OWASP Desktop + custom security rules\n- `INDEX.md` - Human-readable summary with data flow diagrams\n\n## Workflow\n\n### STEP 1: Discover Repository Context\n\n1. Use Glob to find *.sln files in the repository root\n2. Use Glob to find all *.csproj files\n3. Read existing documentation for context:\n   - README.md (if exists)\n   - docs\u002FCodingStyle.md (if exists)\n   - CLAUDE.md (if exists)\n4. Read existing CenCon files (if any) for comparison:\n   - docs\u002Fcencon\u002Farchitecture_manifest.yaml\n   - docs\u002Fcencon\u002Fsecurity_profile.yaml\n   - docs\u002Fcencon\u002FINDEX.md\n\n### STEP 2: Discover Containers (Projects)\n\nFor each .csproj file found:\n\n1. Read the .csproj file\n2. Extract key properties:\n   - TargetFramework (e.g., net10.0, net8.0)\n   - OutputType (WinExe, Library, Exe)\n   - UseWPF (true\u002Ffalse)\n   - UseWindowsForms (true\u002Ffalse)\n   - ImplicitUsings\n3. Extract ProjectReferences to build dependency graph\n4. Extract PackageReferences for external dependencies\n\nClassify each project into container types:\n- `wpf_ui` - OutputType=WinExe + UseWPF=true\n- `core_services` - OutputType=Library, no UI\n- `cli` - OutputType=Exe, no UI\n- `tests` - Project name ends with .Tests or contains test packages\n\nBuild a dependency graph from ProjectReferences.\n\n### STEP 3: Discover Components (Classes\u002FNamespaces)\n\nFor each non-test container:\n\n1. List all directories under the project folder (excluding bin, obj, Properties)\n2. Each top-level directory represents a component group\n3. For each directory, use Grep to find:\n   - Public classes: `public (class|interface|enum|record|struct) \\w+`\n   - With attributes: `\\[.*\\]` before class declarations\n4. Read the primary class file in each directory\n5. Extract XML documentation summaries (`\u002F\u002F\u002F \u003Csummary>`)\n6. Identify design patterns by looking for:\n   - Strategy: Interface with multiple implementations (ISessionBackend)\n   - Observer: Events and event handlers\n   - State Machine: Enum + switch\u002Fstate transitions\n   - Producer-Consumer: BlockingCollection, ConcurrentQueue\n   - Repository: Load\u002FSave\u002FGet methods\n\nRecord component information:\n- name: Class\u002Finterface name\n- description: From XML doc or inferred from code\n- file: Primary file path\n- files: List of related files if multiple\n\n### STEP 4: Identify External Systems\n\nSearch for patterns indicating external system interactions:\n\n1. HttpClient usage -> External API\n2. Process.Start(\"git\") or Process.StartInfo containing \"git\" -> Git VCS\n3. Process.Start(\"claude\") -> Claude Code CLI\n4. Process.Start with other executables -> External tool\n5. NamedPipeServerStream -> IPC (this is a boundary, not an actor)\n6. [DllImport] attributes -> Native Windows APIs\n7. HttpClient with OpenAI\u002FAnthropic patterns -> AI APIs\n\nFor each external system found:\n- id: snake_case identifier\n- name: Human-readable name\n- description: What it does\n- type: external_system or person\n- relationship: How the main system uses it\n\nDeveloper (person) is always added as the primary actor.\n\n### STEP 5: Extract Security Information\n\nSearch for security-relevant patterns in all .cs files:\n\n1. **Credential patterns**:\n   - `password\\s*=`, `apikey`, `secret`, `token\\s*=`\n   - ConnectionStrings with sensitive data\n\n2. **User input handling**:\n   - Console.ReadLine, TextBox.Text\n   - Command line args (args[])\n\n3. **Process execution**:\n   - Process.Start, ProcessStartInfo\n   - Arguments construction\n\n4. **File path construction**:\n   - Path.Combine with user input\n   - String concatenation for paths\n\n5. **Network access**:\n   - HttpClient, TcpClient, WebSocket\n   - NamedPipeServerStream (IPC)\n\n6. **Crypto and secrets**:\n   - Encryption\u002Fdecryption patterns\n   - DPAPI usage\n\nFor each pattern found, determine:\n- Is this a potential vulnerability?\n- Is there proper validation\u002Fsanitization?\n- What mitigation is in place?\n\nGenerate custom security rules based on findings.\n\n### STEP 6: Generate YAML\u002FMD Files\n\nGenerate three files with today's date as last_updated\u002Flast_verified.\n\n**architecture_manifest.yaml**:\n```yaml\nschema_version: \"1.0.0\"\nproject:\n  name: [from solution name]\n  description: [from README.md or inferred]\n  version: [from .csproj VersionPrefix or \"1.0.0\"]\n  framework: [from TargetFramework]\n  platform: [inferred from UseWPF, UseWindowsForms, etc.]\n\nlast_updated: [today's date YYYY-MM-DD]\n\ncontext:\n  system:\n    name: [project name]\n    description: [from README or inferred]\n    technology: [from framework analysis]\n\n  actors:\n    - [list of actors from STEP 4]\n\ncontainers:\n  - [list of containers from STEP 2 with components from STEP 3]\n\ndata_flows:\n  - [inferred from component interactions]\n\nsecurity_boundaries:\n  - [from STEP 5 analysis]\n\npatterns:\n  - [from STEP 3 pattern detection]\n```\n\n**security_profile.yaml**:\n```yaml\nschema_version: \"1.0.0\"\nproject:\n  name: [project name]\n  version: [version]\n\nlast_verified: [today's date YYYY-MM-DD]\n\ndrift:\n  threshold_days: 30\n  action_on_drift: FAIL_REVIEW\n\nowasp_desktop:\n  - [OWASP Desktop checks based on STEP 5]\n\nsoc2_alignment:\n  - [SOC 2 controls applicable]\n\ncustom_rules:\n  - [project-specific grep patterns from STEP 5]\n\nreview_checklist:\n  - [human-readable checklist items]\n```\n\n**INDEX.md**:\n```markdown\n# [Project Name] - CenCon Documentation Index\n\n**Version:** [version]\n**Last Updated:** [date]\n**Schema:** CenCon Method v1.0\n\n## Overview\n[Project description]\n\n## Architecture Diagrams\n[Links to context.png and container.png with generation instructions]\n\n## System Components\n[Tables of components by container]\n\n## Data Flows\n[ASCII diagrams of key flows]\n\n## Security Profile Summary\n[Key security controls and compliance alignment]\n\n## Related Documentation\n[Links to other docs]\n\n## Maintenance\n[How to update this documentation]\n```\n\n### STEP 7: Present Results and Get Approval\n\nDisplay to the user:\n\n```\nCenCon Generation Summary\n\nRepository: [repo name]\nSolution: [solution file]\n\nContainers Discovered: [count]\n[list each container with technology]\n\nComponents Discovered: [count]\n[list count by container]\n\nExternal Systems: [count]\n[list each external system]\n\nSecurity Rules Generated: [count]\n[list rule names]\n\nFiles to Create\u002FUpdate:\n  docs\u002Fcencon\u002Farchitecture_manifest.yaml\n  docs\u002Fcencon\u002Fsecurity_profile.yaml\n  docs\u002Fcencon\u002FINDEX.md\n```\n\nIf --diff flag was provided:\n- Show additions (lines starting with +)\n- Show removals (lines starting with -)\n- Show unchanged count\n\nIf --dry-run flag was provided:\n- Display the generated content\n- Say: \"Dry run complete. No files were written.\"\n- STOP here\n\nOtherwise ask:\n**Approve writing these files?** Reply \"yes\" to write.\n\n### STEP 8: Write Files\n\nOnly after user approval:\n\n1. Create docs\u002Fcencon\u002F directory if it doesn't exist\n2. Write architecture_manifest.yaml\n3. Write security_profile.yaml\n4. Write INDEX.md\n\nReport completion:\n```\nCenCon documentation generated successfully.\n\nFiles created:\n  docs\u002Fcencon\u002Farchitecture_manifest.yaml\n  docs\u002Fcencon\u002Fsecurity_profile.yaml\n  docs\u002Fcencon\u002FINDEX.md\n\nTo generate diagrams, run: cc-docgen generate\n```\n\n## Notes\n\n- Source code is the ground truth - always analyze actual .cs\u002F.csproj files\n- Never hallucinate components - only include what you actually find\n- Preserve existing structure when updating (don't remove valid sections)\n- Use consistent ID formats (snake_case for IDs)\n- Today's date format: YYYY-MM-DD\n\n## Error Handling\n\nIf no .sln file found:\n- Show error: \"No solution file found in repository root\"\n- STOP\n\nIf no .csproj files found:\n- Show error: \"No project files found\"\n- STOP\n\nIf reading a file fails:\n- Note the error and continue with other files\n- Include a comment in output about the skipped file\n\n---\n\n**Skill Version:** 1.0\n**Last Updated:** 2026-02-21\n**Created for:** CenCon Method v1.0\n","# CenCon Generate Skill\n\nAutomatically analyze .NET source code (the ground truth) and generate CenCon documentation files.\n\n## Triggers\n\n- `\u002Fcencon-generate` - Full generation\n- `\u002Fcencon-generate --diff` - Show changes since last generation\n- `\u002Fcencon-generate --dry-run` - Preview without writing files\n\n## Output Files\n\nAll files are created in `docs\u002Fcencon\u002F`:\n- `architecture_manifest.yaml` - C4 Level 1 & 2 model (machine-readable)\n- `security_profile.yaml` - OWASP Desktop + custom security rules\n- `INDEX.md` - Human-readable summary with data flow diagrams\n\n## Workflow\n\n### STEP 1: Discover Repository Context\n\n1. Use Glob to find *.sln files in the repository root\n2. Use Glob to find all *.csproj files\n3. Read existing documentation for context:\n   - README.md (if exists)\n   - docs\u002FCodingStyle.md (if exists)\n   - CLAUDE.md (if exists)\n4. Read existing CenCon files (if any) for comparison:\n   - docs\u002Fcencon\u002Farchitecture_manifest.yaml\n   - docs\u002Fcencon\u002Fsecurity_profile.yaml\n   - docs\u002Fcencon\u002FINDEX.md\n\n### STEP 2: Discover Containers (Projects)\n\nFor each .csproj file found:\n\n1. Read the .csproj file\n2. Extract key properties:\n   - TargetFramework (e.g., net10.0, net8.0)\n   - OutputType (WinExe, Library, Exe)\n   - UseWPF (true\u002Ffalse)\n   - UseWindowsForms (true\u002Ffalse)\n   - ImplicitUsings\n3. Extract ProjectReferences to build dependency graph\n4. Extract PackageReferences for external dependencies\n\nClassify each project into container types:\n- `wpf_ui` - OutputType=WinExe + UseWPF=true\n- `core_services` - OutputType=Library, no UI\n- `cli` - OutputType=Exe, no UI\n- `tests` - Project name ends with .Tests or contains test packages\n\nBuild a dependency graph from ProjectReferences.\n\n### STEP 3: Discover Components (Classes\u002FNamespaces)\n\nFor each non-test container:\n\n1. List all directories under the project folder (excluding bin, obj, Properties)\n2. Each top-level directory represents a component group\n3. For each directory, use Grep to find:\n   - Public classes: `public (class|interface|enum|record|struct) \\w+`\n   - With attributes: `\\[.*\\]` before class declarations\n4. Read the primary class file in each directory\n5. Extract XML documentation summaries (`\u002F\u002F\u002F \u003Csummary>`)\n6. Identify design patterns by looking for:\n   - Strategy: Interface with multiple implementations (ISessionBackend)\n   - Observer: Events and event handlers\n   - State Machine: Enum + switch\u002Fstate transitions\n   - Producer-Consumer: BlockingCollection, ConcurrentQueue\n   - Repository: Load\u002FSave\u002FGet methods\n\nRecord component information:\n- name: Class\u002Finterface name\n- description: From XML doc or inferred from code\n- file: Primary file path\n- files: List of related files if multiple\n\n### STEP 4: Identify External Systems\n\nSearch for patterns indicating external system interactions:\n\n1. HttpClient usage -> External API\n2. Process.Start(\"git\") or Process.StartInfo containing \"git\" -> Git VCS\n3. Process.Start(\"claude\") -> Claude Code CLI\n4. Process.Start with other executables -> External tool\n5. NamedPipeServerStream -> IPC (this is a boundary, not an actor)\n6. [DllImport] attributes -> Native Windows APIs\n7. HttpClient with OpenAI\u002FAnthropic patterns -> AI APIs\n\nFor each external system found:\n- id: snake_case identifier\n- name: Human-readable name\n- description: What it does\n- type: external_system or person\n- relationship: How the main system uses it\n\nDeveloper (person) is always added as the primary actor.\n\n### STEP 5: Extract Security Information\n\nSearch for security-relevant patterns in all .cs files:\n\n1. **Credential patterns**:\n   - `password\\s*=`, `apikey`, `secret`, `token\\s*=`\n   - ConnectionStrings with sensitive data\n\n2. **User input handling**:\n   - Console.ReadLine, TextBox.Text\n   - Command line args (args[])\n\n3. **Process execution**:\n   - Process.Start, ProcessStartInfo\n   - Arguments construction\n\n4. **File path construction**:\n   - Path.Combine with user input\n   - String concatenation for paths\n\n5. **Network access**:\n   - HttpClient, TcpClient, WebSocket\n   - NamedPipeServerStream (IPC)\n\n6. **Crypto and secrets**:\n   - Encryption\u002Fdecryption patterns\n   - DPAPI usage\n\nFor each pattern found, determine:\n- Is this a potential vulnerability?\n- Is there proper validation\u002Fsanitization?\n- What mitigation is in place?\n\nGenerate custom security rules based on findings.\n\n### STEP 6: Generate YAML\u002FMD Files\n\nGenerate three files with today's date as last_updated\u002Flast_verified.\n\n**architecture_manifest.yaml**:\n```yaml\nschema_version: \"1.0.0\"\nproject:\n  name: [from solution name]\n  description: [from README.md or inferred]\n  version: [from .csproj VersionPrefix or \"1.0.0\"]\n  framework: [from TargetFramework]\n  platform: [inferred from UseWPF, UseWindowsForms, etc.]\n\nlast_updated: [today's date YYYY-MM-DD]\n\ncontext:\n  system:\n    name: [project name]\n    description: [from README or inferred]\n    technology: [from framework analysis]\n\n  actors:\n    - [list of actors from STEP 4]\n\ncontainers:\n  - [list of containers from STEP 2 with components from STEP 3]\n\ndata_flows:\n  - [inferred from component interactions]\n\nsecurity_boundaries:\n  - [from STEP 5 analysis]\n\npatterns:\n  - [from STEP 3 pattern detection]\n```\n\n**security_profile.yaml**:\n```yaml\nschema_version: \"1.0.0\"\nproject:\n  name: [project name]\n  version: [version]\n\nlast_verified: [today's date YYYY-MM-DD]\n\ndrift:\n  threshold_days: 30\n  action_on_drift: FAIL_REVIEW\n\nowasp_desktop:\n  - [OWASP Desktop checks based on STEP 5]\n\nsoc2_alignment:\n  - [SOC 2 controls applicable]\n\ncustom_rules:\n  - [project-specific grep patterns from STEP 5]\n\nreview_checklist:\n  - [human-readable checklist items]\n```\n\n**INDEX.md**:\n```markdown\n# [Project Name] - CenCon Documentation Index\n\n**Version:** [version]\n**Last Updated:** [date]\n**Schema:** CenCon Method v1.0\n\n## Overview\n[Project description]\n\n## Architecture Diagrams\n[Links to context.png and container.png with generation instructions]\n\n## System Components\n[Tables of components by container]\n\n## Data Flows\n[ASCII diagrams of key flows]\n\n## Security Profile Summary\n[Key security controls and compliance alignment]\n\n## Related Documentation\n[Links to other docs]\n\n## Maintenance\n[How to update this documentation]\n```\n\n### STEP 7: Present Results and Get Approval\n\nDisplay to the user:\n\n```\nCenCon Generation Summary\n\nRepository: [repo name]\nSolution: [solution file]\n\nContainers Discovered: [count]\n[list each container with technology]\n\nComponents Discovered: [count]\n[list count by container]\n\nExternal Systems: [count]\n[list each external system]\n\nSecurity Rules Generated: [count]\n[list rule names]\n\nFiles to Create\u002FUpdate:\n  docs\u002Fcencon\u002Farchitecture_manifest.yaml\n  docs\u002Fcencon\u002Fsecurity_profile.yaml\n  docs\u002Fcencon\u002FINDEX.md\n```\n\nIf --diff flag was provided:\n- Show additions (lines starting with +)\n- Show removals (lines starting with -)\n- Show unchanged count\n\nIf --dry-run flag was provided:\n- Display the generated content\n- Say: \"Dry run complete. No files were written.\"\n- STOP here\n\nOtherwise ask:\n**Approve writing these files?** Reply \"yes\" to write.\n\n### STEP 8: Write Files\n\nOnly after user approval:\n\n1. Create docs\u002Fcencon\u002F directory if it doesn't exist\n2. Write architecture_manifest.yaml\n3. Write security_profile.yaml\n4. Write INDEX.md\n\nReport completion:\n```\nCenCon documentation generated successfully.\n\nFiles created:\n  docs\u002Fcencon\u002Farchitecture_manifest.yaml\n  docs\u002Fcencon\u002Fsecurity_profile.yaml\n  docs\u002Fcencon\u002FINDEX.md\n\nTo generate diagrams, run: cc-docgen generate\n```\n\n## Notes\n\n- Source code is the ground truth - always analyze actual .cs\u002F.csproj files\n- Never hallucinate components - only include what you actually find\n- Preserve existing structure when updating (don't remove valid sections)\n- Use consistent ID formats (snake_case for IDs)\n- Today's date format: YYYY-MM-DD\n\n## Error Handling\n\nIf no .sln file found:\n- Show error: \"No solution file found in repository root\"\n- STOP\n\nIf no .csproj files found:\n- Show error: \"No project files found\"\n- STOP\n\nIf reading a file fails:\n- Note the error and continue with other files\n- Include a comment in output about the skipped file\n\n---\n\n**Skill Version:** 1.0\n**Last Updated:** 2026-02-21\n**Created for:** CenCon Method v1.0\n",{"name":5,"description":7},"main","12032d2a3437cdccc46ff85a50252c60258f2e2e",".claude\u002Fskills\u002Fcencon-generate",12,"https:\u002F\u002Fgithub.com\u002Fthefrederiksen\u002Fdevthrottle","https:\u002F\u002Fdevthrottle.com\u002F?ref=gh-about","https:\u002F\u002Fgithub.com\u002Fthefrederiksen","2026-11-11 12:28:38",{"source":8,"skillName":5,"commands":51,"prompt":61,"zipAvailable":62},[52,55,58],{"tool":53,"command":54},"npx","npx skills add thefrederiksen\u002Fdevthrottle --skill cencon-generate",{"tool":56,"command":57},"bunx","bunx skills add thefrederiksen\u002Fdevthrottle --skill cencon-generate",{"tool":59,"command":60},"pnpm","pnpm dlx skills add thefrederiksen\u002Fdevthrottle --skill cencon-generate","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fthefrederiksen\u002Fdevthrottle\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fcencon-generate\u002Fskill.md",true,[],[65,95,114,142,169,191],{"skillNo":66,"name":67,"nameZh":6,"description":68,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":69,"categories":70,"keywords":71,"publishedAt":37},"01M6CJ9FZRKCB1Y8AY6WAK3JJM","devthrottle-sessions","Talk to the other DevThrottle sessions running across your machines - list them, rename this one, send one of the rare queued messages, read the inbox, reply, open a new session, and close one down. Use when the task involves: message another session, ask another session, list sessions, what sessions are running, spawn a session, rename this session, close this session.","https:\u002F\u002Fgithub.com\u002Fthefrederiksen\u002Fdevthrottle\u002Fblob\u002Fmain\u002Fplugins\u002Fdevthrottle\u002Fskills\u002Fdevthrottle-sessions\u002FSKILL.md",[],[72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94],"sessions","devthrottle sessions","inbox","messages","new session","open","ask","read","list","spawn","session","use","reply","task","rename","message","across","close","down","send","when","running","new",{"skillNo":96,"name":97,"nameZh":6,"description":98,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":99,"categories":100,"keywords":101,"publishedAt":37},"01M6CJ9CYRKE8TSBX67XPTT65R","devthrottle-install","Hand the user the documented steps to install or update DevThrottle, and to connect a gateway afterwards. Use when the task involves: install DevThrottle, set up DevThrottle, update DevThrottle, connect a gateway, cc-devthrottle not found, where do the cc tools come from.","https:\u002F\u002Fgithub.com\u002Fthefrederiksen\u002Fdevthrottle\u002Fblob\u002Fmain\u002Fplugins\u002Fdevthrottle\u002Fskills\u002Fdevthrottle-install\u002FSKILL.md",[],[102,103,104,105,106,107,108,109,83,110,111,112,85,113,92],"install","devthrottle install","connect","update","gateway","SET","Tools","user","up","cc","do","hand",{"skillNo":115,"name":116,"nameZh":6,"description":117,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":118,"categories":119,"keywords":120,"publishedAt":37},"01M6CJ99Q2QJSXDYAKRBWPGKN2","proof-covers-the-wrong-thing","A proof can be valid and still say nothing about what you changed - wrong surface, wrong reader, wrong caller, or an untested premise. Name what your evidence does NOT cover. Use when the task involves: prove it, by construction, root cause, reproduced it, repro, guard-local, skipped test, suite is green, premise, assumption, self review, it is settled.","https:\u002F\u002Fgithub.com\u002Fthefrederiksen\u002Fdevthrottle\u002Fblob\u002Fmain\u002Fplugins\u002Fagent-discipline\u002Fskills\u002Fproof-covers-the-wrong-thing\u002FSKILL.md",[],[121,122,123,124,125,126,127,128,129,83,130,131,132,85,133,134,135,136,137,138,139,140,141,92],"proof covers the wrong thing","proof","Wrong","review","valid","test","self review","guard","reader","evidence","repro","say","green","self","local","you","can","cover","suite","prove","root cause",{"skillNo":143,"name":144,"nameZh":6,"description":145,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":146,"categories":147,"keywords":148,"publishedAt":37},"01M6CJ96VERHA4PKRHMF9ZXTBF","destructive-sweeps-lean-to-keep","A destructive operation acts only on what it can positively prove is disposable. Enumerate what to DELETE, never what to skip - and refresh the safety signal on every real use. Use when the task involves: sweep, purge, cleanup, delete old, prune, reclaim space, stale files, retention, aged out, rm -rf, git clean, drop the table.","https:\u002F\u002Fgithub.com\u002Fthefrederiksen\u002Fdevthrottle\u002Fblob\u002Fmain\u002Fplugins\u002Fagent-discipline\u002Fskills\u002Fdestructive-sweeps-lean-to-keep\u002FSKILL.md",[],[149,150,151,152,153,154,155,156,157,158,159,83,160,161,162,163,164,85,165,166,167,168,140,92],"lean","destructive sweeps lean to keep","keep","cleanup","delete","git","Safety","prune","table","sweep","refresh","never","only","stale","files","clean","drop","retention","reclaim space","signal",{"skillNo":170,"name":171,"nameZh":6,"description":172,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":173,"categories":174,"keywords":175,"publishedAt":37},"01M6CJ93GRYMHCZZS657RBHPW6","checks-that-fail-open","A check whose pass condition is an ABSENCE certifies a run that never happened. Restate it as a specific PRESENCE - and an empty result is a broken instrument, never a clean run. Use when the task involves: verify, prove it, sweep, grep returned nothing, zero hits, clean run, it passed, no defects, reviewed, delivered, double check, how do we know.","https:\u002F\u002Fgithub.com\u002Fthefrederiksen\u002Fdevthrottle\u002Fblob\u002Fmain\u002Fplugins\u002Fagent-discipline\u002Fskills\u002Fchecks-that-fail-open\u002FSKILL.md",[],[77,176,177,178,179,180,158,181,182,183,83,160,184,164,112,85,185,186,187,188,189,190,140,92],"checks that fail open","run","ZeRO","verify","how","grep","check","broken","double check","as","condition","restate","presence","defects","result",{"skillNo":192,"name":193,"nameZh":6,"description":194,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":195,"categories":196,"keywords":197,"publishedAt":37},"01M6CJ906AQPKFA2CCKKHAZC13","wingman-brief-reviewer","RETIRED 2026-09-16 - do not run it. It reviewed saved wingman turn BRIEFS, whose writer was retired in issue","https:\u002F\u002Fgithub.com\u002Fthefrederiksen\u002Fdevthrottle\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fwingman-brief-reviewer\u002Fskill.md",[],[198,199,200,177,201,112,202,203,204,205,206],"brief","reviewer","wingman brief reviewer","issue","writer","it","briefs","saved","2026"]