Skip to main content

optimize-workflow

Optimize CI runners and workflow structure for speed, simplicity, stability, and cost.

설치로 이동

소스 정보

저장소
smartcontractkit/chainlink
최근 소스 활동
2026년 7월 30일 13:14
감지된 SKILL.md 언어
영어
스타
8,247
포크
1,988

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

파일 탐색기
5 개 파일

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
optimize-workflow
description
Optimize CI runners and workflow structure for speed, simplicity, stability, and cost.
disable-model-invocation
true
<initialization> 1. Confirm missing inputs: target workflow, scope, priorities (default: stability > speed > cost). 2. Setup baseline: - Analyze target workflow (runners, caching, bottlenecks, critical path). - Setup test workflow (add `workflow_dispatch`, mock inputs if needed). - Init/resume trial log: `.github/.agents/skills/optimize-workflow/trials/[workflow]/summary.md`. - Record baseline run metrics. </initialization> <git_workflow> To prevent index/branch lock conflicts: - Do NOT checkout local trial branches. - Push trial commits directly from working branch to remote refs: `git push -f origin HEAD:refs/heads/trial/[trial-name]` - Delete remote trial refs on cleanup: `git push origin --delete trial/[trial-name]` </git_workflow> <constraints> - Git: Direct ref pushes only. No local branch switching during trials. - Runners: Prefer `ubuntu-latest`. Use `runs-on` for larger runners (verify API first). - Scope: One change per trial. Keep cache status identical across comparison runs. - Validation: Lint YAML (`actionlint` or dry-run) before pushing. - Tools: Use `gh` CLI and workflow scripts for monitoring/comparisons. </constraints> <tools> - Monitor: `python3 .github/.agents/skills/optimize-workflow/scripts/workflow_monitor.py [run_id] [trial-name]` - Outputs `report.json`, `report.md`, and runner logs to `.github/.agents/skills/optimize-workflow/trials/[workflow]/[trial-name]/` - Quick analysis: Inspect `## Longest Jobs (Bottlenecks)` in `report.md` or query `jq '.slowest_jobs[] | select(.is_outlier)' report.json` / `jq '([.jobs[].duration_seconds] | add / length) as $avg | .jobs[] | select(.duration_seconds > $avg * 1.5)' report.json`. - Compare: `python3 .github/.agents/skills/optimize-workflow/scripts/workflow_compare.py [trial-1] [trial-2]` - Outputs `.github/.agents/skills/optimize-workflow/trials/[workflow]/[trial-1]-[trial-2]-comparison.md` </tools> <resources> - [runs-on docs](https://runs-on.com/docs/) | [spot pricing](https://runs-on.com/docs/costs/spot-pricing/) - [available runners](https://go.runs-on.com/api) - [GitHub Actions docs](https://docs.github.com/en/actions) </resources> <loop> 1. Define single-variable trial and prompt for user approval. 2. Push commit to remote ref: `git push -f origin HEAD:refs/heads/trial/[trial-name]`. 3. Trigger run: `gh workflow run --ref trial/[trial-name]`. 4. Monitor run with `workflow_monitor.py`. 5. Compare with `workflow_compare.py` against baseline/previous trial. 6. Update trial log in `summary.md`. Include before/after diagram if structure changed. 7. Present condensed result to user; prompt for next trial or completion. <trial-template> | Runner | Structure | Experiment | Expectation | Branch | Run ID | Commit | Stability | Runtime | Cost | Notes | |---|---|---|---|---|---|---|---|---|---|---| | `config` | `cached/parallel` | Tested change | Expected impact | `trial/...` | `id` | `sha` | Pass/Fail | mm:ss | $ | Notes | </trial-template> </loop> <complete trigger="User stops loop or all trials done"> 1. Recommend final configuration. 2. Output PR summary table and before/after Mermaid diagrams: ```md ### [Workflow/Job Name] Runner & Structure Changes | Approach | Runner | Structure | Stability | Runtime | Runtime Delta (Abs/%) | Cost | Cost Delta (Abs/%) | |---|---|---|---|---|---|---|---| | [Old](link) | [runner] | [structure] | Pass/Fail | mm:ss | +0:00 (+0%) | $ | +$ (+0%) | | [New](link) | [runner] | [structure] | Pass/Fail | mm:ss | +0:00 (+0%) | $ | +$ (+0%) | ``` 3. Clean up debug code. Make final edits on working branch. Ask user to commit. 4. Delete remote trial branches (`git push origin --delete trial/[trial-name]`) and temporary files. </complete>
GitHub에서 보기