-
Notifications
You must be signed in to change notification settings - Fork 0
[codex] Add initial skills library #1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,18 @@ | ||
| root = true | ||
|
|
||
| [*] | ||
| charset = utf-8 | ||
| end_of_line = lf | ||
| insert_final_newline = true | ||
| indent_style = space | ||
| indent_size = 4 | ||
|
|
||
| [*.md] | ||
| indent_size = 2 | ||
| trim_trailing_whitespace = false | ||
|
|
||
| [*.json] | ||
| indent_size = 2 | ||
|
|
||
| [*.yml] | ||
| indent_size = 2 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,4 @@ | ||
| * text=auto eol=lf | ||
| *.ps1 text eol=lf | ||
| *.psm1 text eol=lf | ||
| *.psd1 text eol=lf |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,47 @@ | ||
| name: validate | ||
|
|
||
| on: | ||
| pull_request: | ||
| push: | ||
| branches: | ||
| - main | ||
|
|
||
| permissions: | ||
| contents: read | ||
|
|
||
| jobs: | ||
| powershell: | ||
| runs-on: windows-latest | ||
| steps: | ||
| - uses: actions/checkout@v7 | ||
| - name: Parse PowerShell scripts | ||
| shell: pwsh | ||
| run: | | ||
| $failed = $false | ||
| Get-ChildItem -Recurse -Filter *.ps1 | ForEach-Object { | ||
| $tokens = $null | ||
| $errors = $null | ||
| [System.Management.Automation.Language.Parser]::ParseFile($_.FullName, [ref]$tokens, [ref]$errors) | Out-Null | ||
| if ($errors.Count -gt 0) { | ||
| $failed = $true | ||
| Write-Error "$($_.FullName) has parser errors: $($errors.Message -join '; ')" | ||
| } | ||
| } | ||
| if ($failed) { exit 1 } | ||
| - name: Check Markdown final newlines | ||
| shell: pwsh | ||
| run: | | ||
| $failed = $false | ||
| Get-ChildItem -Recurse -File -Filter *.md | ForEach-Object { | ||
| $bytes = [System.IO.File]::ReadAllBytes($_.FullName) | ||
| if ($bytes.Length -gt 0 -and $bytes[-1] -ne 10) { | ||
| $failed = $true | ||
| Write-Error "$($_.FullName) must end with a newline." | ||
| } | ||
| } | ||
| if ($failed) { exit 1 } | ||
| - name: Analyze synthetic baseline | ||
| shell: pwsh | ||
| run: | | ||
| New-Item -ItemType Directory -Force -Path .\sysadmin-windows-startup-performance\reports,.\sysadmin-windows-startup-performance\state | Out-Null | ||
| powershell -NoProfile -ExecutionPolicy Bypass -File .\sysadmin-windows-startup-performance\scripts\analyze-startup-baseline.ps1 -BaselinePath .\sysadmin-windows-startup-performance\examples\synthetic-baseline.json -OutputPath .\sysadmin-windows-startup-performance\reports\synthetic-analysis.md -AnalysisOutputPath .\sysadmin-windows-startup-performance\state\synthetic-analysis.json | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,19 @@ | ||
| # Generated local performance data | ||
| **/state/* | ||
| **/reports/* | ||
| **/logs/* | ||
| !**/state/.gitkeep | ||
| !**/reports/.gitkeep | ||
| !**/logs/.gitkeep | ||
|
|
||
| # PowerShell and editor noise | ||
| *.tmp | ||
| *.log | ||
| *.bak | ||
| *.ps1xml | ||
| .vscode/ | ||
| .idea/ | ||
|
|
||
| # OS noise | ||
| Thumbs.db | ||
| Desktop.ini |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,6 @@ | ||
| # Agent Instructions | ||
|
|
||
| - When creating or editing Markdown files, always end each `.md` file with a final newline. | ||
| - Keep skills small, composable, and safe by default. | ||
| - Do not commit generated reports, state files, logs, or machine-specific diagnostic captures. | ||
| - Prefer synthetic examples over real local machine data in public artifacts. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,23 @@ | ||
| # Contributing | ||
|
|
||
| Contributions should keep skills small, composable, and safe by default. | ||
|
|
||
| ## Guidelines | ||
|
|
||
| - Keep `SKILL.md` concise and move detailed material into directly linked `references/` files. | ||
| - Prefer deterministic scripts for repeated or fragile workflows. | ||
| - Keep generated state, reports, logs, and machine-specific artifacts out of git. | ||
| - Avoid destructive behavior in diagnostic skills. When remediation is needed, make it a separate reviewed workflow. | ||
| - Include synthetic examples rather than real machine captures. | ||
| - Put skill-specific usage, safety, data-handling, and validation details inside the owning skill folder. | ||
|
|
||
| ## Validation | ||
|
|
||
| Before opening a pull request: | ||
|
|
||
| - Run your runtime's skill validator for every changed skill. | ||
| - Parse or lint bundled scripts with the language's normal tooling. | ||
| - Run the synthetic examples or validation commands documented by each changed skill. | ||
| - Confirm generated outputs remain ignored by git. | ||
|
|
||
| The repository workflow also checks PowerShell parsing, Markdown final newlines, and the current synthetic analysis example. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,21 @@ | ||
| MIT License | ||
|
|
||
| Copyright (c) 2026 KarmCraft | ||
|
|
||
| Permission is hereby granted, free of charge, to any person obtaining a copy | ||
| of this software and associated documentation files (the "Software"), to deal | ||
| in the Software without restriction, including without limitation the rights | ||
| to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||
| copies of the Software, and to permit persons to whom the Software is | ||
| furnished to do so, subject to the following conditions: | ||
|
|
||
| The above copyright notice and this permission notice shall be included in all | ||
| copies or substantial portions of the Software. | ||
|
|
||
| THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
| IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
| FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||
| AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
| LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||
| OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||
| SOFTWARE. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,47 @@ | ||
| # Skills Library | ||
|
|
||
| A public collection of agent skills that I have found useful enough to package, maintain, and share. | ||
|
|
||
| The goal is to keep this library practical: composable, reusable skills that solve real workflow problems for humans and agents using `SKILL.md` compatible runtimes. Each skill should be small enough to understand, safe by default, and easy to combine with other skills. | ||
|
|
||
| Each top-level folder is a self-contained, directly installable skill. | ||
|
|
||
| ## Skills | ||
|
|
||
| | Skill | Purpose | | ||
| | --- | --- | | ||
| | [`sysadmin-windows-startup-performance`](sysadmin-windows-startup-performance/) | Diagnose Windows startup performance with read-only baselines and data-driven analysis. | | ||
|
|
||
| ## Install | ||
|
|
||
| Copy the skill folder you want into the skill directory used by your agent runtime. | ||
|
|
||
| For Codex on Windows: | ||
|
|
||
| ```powershell | ||
| $SkillName = "<skill-folder>" | ||
| Copy-Item -Recurse ".\$SkillName" "$env:USERPROFILE\.codex\skills\$SkillName" | ||
| ``` | ||
|
|
||
| For other `SKILL.md` compatible tools, use their documented skill location. | ||
|
|
||
| ## Repository Layout | ||
|
|
||
| ```text | ||
| <skill-name>/ | ||
| SKILL.md | ||
| agents/openai.yaml | ||
| scripts/ | ||
| tools/ | ||
| references/ | ||
| examples/ | ||
| templates/ | ||
| ``` | ||
|
|
||
| Use `tools/` for helper CLIs, adapters, or small utilities that support a skill but are not the primary workflow scripts. Keep primary repeatable workflows in `scripts/`, long-form guidance in `references/`, and avoid vendoring large binaries, secrets, or machine-specific executables. | ||
|
|
||
| Not every skill uses every optional folder. Generated reports, state files, and logs are intentionally ignored by git. | ||
|
|
||
| ## Safety | ||
|
|
||
| Skills should be safe by default and explicit about their boundaries. Diagnostic skills should collect evidence before recommending changes, and any remediation workflow should be separately reviewed, reversible, and opt-in. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,13 @@ | ||
| # Security Policy | ||
|
|
||
| ## Reporting | ||
|
|
||
| Please report security issues privately through GitHub security advisories if available, or by opening a minimal issue that does not include secrets or exploit details. | ||
|
|
||
| ## Data Handling | ||
|
|
||
| Do not attach real diagnostic captures, generated reports, or local inventory unless you have reviewed and sanitized them first. | ||
|
|
||
| Before sharing artifacts, remove hostnames, usernames, domains, command-line arguments, environment paths, service or task arguments, secrets, tokens, and local network identifiers. | ||
|
|
||
| Collectors should default to least-sensitive output and document any switches that include more detail in the owning skill's safety reference. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,74 @@ | ||
| --- | ||
| name: sysadmin-windows-startup-performance | ||
| description: Collect and analyze read-only Windows startup performance baselines. Use when Codex is asked to diagnose slow Windows boot or login, collect Diagnostics-Performance event log data, inspect startup apps, services, scheduled tasks, resource pressure, recent boot warnings, or prepare conservative data-driven recommendations without changing system configuration. | ||
| --- | ||
|
|
||
| # Sysadmin Windows Startup Performance | ||
|
|
||
| ## Overview | ||
|
|
||
| Use this skill for read-only Windows startup diagnostics. It collects sanitized startup baselines, analyzes likely bottlenecks, and produces JSON plus Markdown outputs that other skills can consume. | ||
|
|
||
| ## Files | ||
|
|
||
| - `scripts/collect-startup-baseline.ps1`: elevated read-only collector for Diagnostics-Performance events, startup inventory, service/task signals, resources, and recent boot warnings. | ||
| - `scripts/analyze-startup-baseline.ps1`: analyzer that ranks findings and writes a Markdown report. | ||
| - `references/data-model.md`: baseline and analysis schema notes. | ||
| - `references/safety.md`: operating rules and remediation boundaries. | ||
| - `examples/synthetic-baseline.json`: synthetic fixture for analyzer validation. | ||
| - `tools/`: reserved for optional helper CLIs, adapters, or small utilities that support this skill. | ||
| - `templates/local-performance/`: optional project-local diagnostic hub scaffold. | ||
|
|
||
| ## Workflow | ||
|
|
||
| 1. Read `references/safety.md` before collecting data or recommending changes. | ||
| 2. Create or use a local hub folder with `scripts/`, `state/`, `reports/`, and `logs/`. A template is available at `templates/local-performance/` when this repository is installed as a project. | ||
| 3. Run the collector from an elevated PowerShell session. Do not fall back to non-admin collection because protected boot timing logs can be missed. | ||
| 4. Run the analyzer on the latest or specified baseline. | ||
| 5. Prefer at least three comparable post-reboot baselines before recommending startup changes. | ||
| 6. If the user asks for remediation, produce a dry-run plan with rollback notes first. Do not mutate startup apps, registry entries, scheduled tasks, services, drivers, security tools, or Windows settings without explicit approval. | ||
|
|
||
| ## Commands | ||
|
|
||
| Collect a baseline: | ||
|
|
||
| ```powershell | ||
| .\scripts\collect-startup-baseline.ps1 | ||
| ``` | ||
|
|
||
| Analyze the latest baseline from the same hub: | ||
|
|
||
| ```powershell | ||
| .\scripts\analyze-startup-baseline.ps1 | ||
| ``` | ||
|
|
||
| Analyze a specific baseline: | ||
|
|
||
| ```powershell | ||
| .\scripts\analyze-startup-baseline.ps1 -BaselinePath .\state\startup-baseline-YYYYMMDD-HHMMSS.json | ||
| ``` | ||
|
|
||
| Include full command-line previews only when explicitly needed: | ||
|
|
||
| ```powershell | ||
| .\scripts\collect-startup-baseline.ps1 -IncludeCommandLines | ||
| ``` | ||
|
|
||
| ## Validation | ||
|
|
||
| When modifying this skill, run the analyzer against the synthetic baseline from the repository root: | ||
|
|
||
| ```powershell | ||
| powershell -NoProfile -ExecutionPolicy Bypass -File .\sysadmin-windows-startup-performance\scripts\analyze-startup-baseline.ps1 -BaselinePath .\sysadmin-windows-startup-performance\examples\synthetic-baseline.json -OutputPath .\sysadmin-windows-startup-performance\reports\synthetic-analysis.md -AnalysisOutputPath .\sysadmin-windows-startup-performance\state\synthetic-analysis.json | ||
| ``` | ||
|
|
||
| The command writes ignored `reports/` and `state/` outputs under the skill folder. | ||
|
|
||
| ## Output | ||
|
|
||
| The collector writes `state/startup-baseline-*.json` unless `-NoWrite` or `-OutputPath` is used. The analyzer writes: | ||
|
|
||
| - `reports/startup-baseline-analysis-*.md` | ||
| - `state/startup-analysis-*.json` | ||
|
|
||
| See `references/data-model.md` before building downstream tooling against these files. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,4 @@ | ||
| interface: | ||
| display_name: "Sysadmin Windows Startup Performance" | ||
| short_description: "Diagnose Windows startup performance." | ||
| default_prompt: "For a first-time assessment, guide the user through five reboot cycles. After each boot, wait 3 to 5 minutes, then run $sysadmin-windows-startup-performance to collect one read-only startup baseline. After the fifth collection, run the single-baseline analyzer on the latest collection; when comparison is needed, analyze earlier baseline files one at a time and summarize repeated patterns." |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.