{"id":"3a466a7e-8dd5-41f0-a5d6-530ca5956573","shortId":"XVamck","kind":"skill","title":"Create Github Action Workflow Specification","tagline":"Awesome Copilot skill by Github","description":"# Create GitHub Actions Workflow Specification\n\nCreate a comprehensive specification for the GitHub Actions workflow: `${input:WorkflowFile}`.\n\nThis specification serves as a specification for the workflow's behavior, requirements, and constraints. It must be implementation-agnostic, focusing on **what** the workflow accomplishes rather than **how** it's implemented.\n\n## AI-Optimized Requirements\n\n- **Token Efficiency**: Use concise language without sacrificing clarity\n- **Structured Data**: Leverage tables, lists, and diagrams for dense information\n- **Semantic Clarity**: Use precise terminology consistently throughout\n- **Implementation Abstraction**: Avoid specific syntax, commands, or tool versions\n- **Maintainability**: Design for easy updates as workflow evolves\n\n## Specification Template\n\nSave as: `/spec/spec-process-cicd-[workflow-name].md`\n\n```md\n---\ntitle: CI/CD Workflow Specification - [Workflow Name]\nversion: 1.0\ndate_created: [YYYY-MM-DD]\nlast_updated: [YYYY-MM-DD]\nowner: DevOps Team\ntags: [process, cicd, github-actions, automation, [domain-specific-tags]]\n---\n\n## Workflow Overview\n\n**Purpose**: [One sentence describing workflow's primary goal]\n**Trigger Events**: [List trigger conditions]\n**Target Environments**: [Environment scope]\n\n## Execution Flow Diagram\n\n```mermaid\ngraph TD\n    A[Trigger Event] --> B[Job 1]\n    B --> C[Job 2]\n    C --> D[Job 3]\n    D --> E[End]\n    \n    B --> F[Parallel Job]\n    F --> D\n    \n    style A fill:#e1f5fe\n    style E fill:#e8f5e8\n```\n\n## Jobs & Dependencies\n\n| Job Name | Purpose | Dependencies | Execution Context |\n|----------|---------|--------------|-------------------|\n| job-1 | [Purpose] | [Prerequisites] | [Runner/Environment] |\n| job-2 | [Purpose] | job-1 | [Runner/Environment] |\n\n## Requirements Matrix\n\n### Functional Requirements\n| ID | Requirement | Priority | Acceptance Criteria |\n|----|-------------|----------|-------------------|\n| REQ-001 | [Requirement] | High | [Testable criteria] |\n| REQ-002 | [Requirement] | Medium | [Testable criteria] |\n\n### Security Requirements\n| ID | Requirement | Implementation Constraint |\n|----|-------------|---------------------------|\n| SEC-001 | [Security requirement] | [Constraint description] |\n\n### Performance Requirements\n| ID | Metric | Target | Measurement Method |\n|----|-------|--------|-------------------|\n| PERF-001 | [Metric] | [Target value] | [How measured] |\n\n## Input/Output Contracts\n\n### Inputs\n\n```yaml\n# Environment Variables\nENV_VAR_1: string  # Purpose: [description]\nENV_VAR_2: secret  # Purpose: [description]\n\n# Repository Triggers\npaths: [list of path filters]\nbranches: [list of branch patterns]\n```\n\n### Outputs\n\n```yaml\n# Job Outputs\njob_1_output: string  # Description: [purpose]\nbuild_artifact: file  # Description: [content type]\n```\n\n### Secrets & Variables\n\n| Type | Name | Purpose | Scope |\n|------|------|---------|-------|\n| Secret | SECRET_1 | [Purpose] | Workflow |\n| Variable | VAR_1 | [Purpose] | Repository |\n\n## Execution Constraints\n\n### Runtime Constraints\n\n- **Timeout**: [Maximum execution time]\n- **Concurrency**: [Parallel execution limits]\n- **Resource Limits**: [Memory/CPU constraints]\n\n### Environmental Constraints\n\n- **Runner Requirements**: [OS/hardware needs]\n- **Network Access**: [External connectivity needs]\n- **Permissions**: [Required access levels]\n\n## Error Handling Strategy\n\n| Error Type | Response | Recovery Action |\n|------------|----------|-----------------|\n| Build Failure | [Response] | [Recovery steps] |\n| Test Failure | [Response] | [Recovery steps] |\n| Deployment Failure | [Response] | [Recovery steps] |\n\n## Quality Gates\n\n### Gate Definitions\n\n| Gate | Criteria | Bypass Conditions |\n|------|----------|-------------------|\n| Code Quality | [Standards] | [When allowed] |\n| Security Scan | [Thresholds] | [When allowed] |\n| Test Coverage | [Percentage] | [When allowed] |\n\n## Monitoring & Observability\n\n### Key Metrics\n\n- **Success Rate**: [Target percentage]\n- **Execution Time**: [Target duration]\n- **Resource Usage**: [Monitoring approach]\n\n### Alerting\n\n| Condition | Severity | Notification Target |\n|-----------|----------|-------------------|\n| [Condition] | [Level] | [Who/Where] |\n\n## Integration Points\n\n### External Systems\n\n| System | Integration Type | Data Exchange | SLA Requirements |\n|--------|------------------|---------------|------------------|\n| [System] | [Type] | [Data format] | [Requirements] |\n\n### Dependent Workflows\n\n| Workflow | Relationship | Trigger Mechanism |\n|----------|--------------|-------------------|\n| [Workflow] | [Type] | [How triggered] |\n\n## Compliance & Governance\n\n### Audit Requirements\n\n- **Execution Logs**: [Retention policy]\n- **Approval Gates**: [Required approvals]\n- **Change Control**: [Update process]\n\n### Security Controls\n\n- **Access Control**: [Permission model]\n- **Secret Management**: [Rotation policy]\n- **Vulnerability Scanning**: [Scan frequency]\n\n## Edge Cases & Exceptions\n\n### Scenario Matrix\n\n| Scenario | Expected Behavior | Validation Method |\n|----------|-------------------|-------------------|\n| [Edge case] | [Behavior] | [How to verify] |\n\n## Validation Criteria\n\n### Workflow Validation\n\n- **VLD-001**: [Validation rule]\n- **VLD-002**: [Validation rule]\n\n### Performance Benchmarks\n\n- **PERF-001**: [Benchmark criteria]\n- **PERF-002**: [Benchmark criteria]\n\n## Change Management\n\n### Update Process\n\n1. **Specification Update**: Modify this document first\n2. **Review & Approval**: [Approval process]\n3. **Implementation**: Apply changes to workflow\n4. **Testing**: [Validation approach]\n5. **Deployment**: [Release process]\n\n### Version History\n\n| Version | Date | Changes | Author |\n|---------|------|---------|--------|\n| 1.0 | [Date] | Initial specification | [Author] |\n\n## Related Specifications\n\n- [Link to related workflow specs]\n- [Link to infrastructure specs]\n- [Link to deployment specs]\n\n```\n\n## Analysis Instructions\n\nWhen analyzing the workflow file:\n\n1. **Extract Core Purpose**: Identify the primary business objective\n2. **Map Job Flow**: Create dependency graph showing execution order\n3. **Identify Contracts**: Document inputs, outputs, and interfaces\n4. **Capture Constraints**: Extract timeouts, permissions, and limits\n5. **Define Quality Gates**: Identify validation and approval points\n6. **Document Error Paths**: Map failure scenarios and recovery\n7. **Abstract Implementation**: Focus on behavior, not syntax\n\n## Mermaid Diagram Guidelines\n\n### Flow Types\n- **Sequential**: `A --> B --> C`\n- **Parallel**: `A --> B & A --> C; B --> D & C --> D`\n- **Conditional**: `A --> B{Decision}; B -->|Yes| C; B -->|No| D`\n\n### Styling\n```mermaid\nstyle TriggerNode fill:#e1f5fe\nstyle SuccessNode fill:#e8f5e8\nstyle FailureNode fill:#ffebee\nstyle ProcessNode fill:#f3e5f5\n```\n\n### Complex Workflows\nFor workflows with 5+ jobs, use subgraphs:\n```mermaid\ngraph TD\n    subgraph \"Build Phase\"\n        A[Lint] --> B[Test] --> C[Build]\n    end\n    subgraph \"Deploy Phase\"  \n        D[Staging] --> E[Production]\n    end\n    C --> D\n```\n\n## Token Optimization Strategies\n\n1. **Use Tables**: Dense information in structured format\n2. **Abbreviate Consistently**: Define once, use throughout\n3. **Bullet Points**: Avoid prose paragraphs\n4. **Code Blocks**: Structured data over narrative\n5. **Cross-Reference**: Link instead of repeat information\n\nFocus on creating a specification that serves as both documentation and a template for workflow updates.","tags":["create","github","action","workflow","specification","awesome","copilot"],"capabilities":["skill","source-github","category-awesome-copilot"],"categories":["awesome-copilot"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/github/awesome-copilot/create-github-action-workflow-specification","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"install_from":"skills.sh"}},"qualityScore":"0.300","qualityRationale":"deterministic score 0.30 from registry signals: · indexed on skills.sh · published under github/awesome-copilot","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill:v1","enrichmentVersion":1,"enrichedAt":"2026-04-22T16:40:17.325Z","embedding":null,"createdAt":"2026-04-18T20:25:37.806Z","updatedAt":"2026-04-22T16:40:17.325Z","lastSeenAt":"2026-04-22T16:40:17.325Z","tsv":"'-001':234,252,265,511,521 '-002':240,515,525 '-1':214,222 '-2':219 '/spec/spec-process-cicd-':109 '1':179,279,306,325,330,532,591,733 '1.0':122,564 '2':183,285,539,600,741 '3':187,544,610,748 '4':550,618,754 '5':554,626,703,761 '6':635 '7':644 'abbrevi':742 'abstract':89,645 'accept':231 'access':356,362,478 'accomplish':52 'action':3,13,23,143,371 'agnost':46 'ai':60 'ai-optim':59 'alert':426 'allow':399,404,409 'analysi':584 'analyz':587 'appli':546 'approach':425,553 'approv':468,471,541,542,633 'artifact':312 'audit':462 'author':563,568 'autom':144 'avoid':90,751 'awesom':6 'b':177,180,191,659,663,666,672,674,677,715 'behavior':37,497,502,649 'benchmark':519,522,526 'block':756 'branch':296,299 'build':311,372,711,718 'bullet':749 'busi':598 'bypass':393 'c':181,184,660,665,668,676,717,728 'captur':619 'case':491,501 'category-awesome-copilot' 'chang':472,528,547,562 'ci/cd':116 'cicd':140 'clariti':70,82 'code':395,755 'command':93 'complex':698 'complianc':460 'comprehens':18 'concis':66 'concurr':341 'condit':163,394,427,431,670 'connect':358 'consist':86,743 'constraint':40,250,255,334,336,348,350,620 'content':315 'context':212 'contract':272,612 'control':473,477,479 'copilot':7 'core':593 'coverag':406 'creat':1,11,16,124,604,772 'criteria':232,238,244,392,507,523,527 'cross':763 'cross-refer':762 'd':185,188,196,667,669,679,723,729 'data':72,441,447,758 'date':123,561,565 'dd':128,134 'decis':673 'defin':627,744 'definit':390 'dens':79,736 'depend':206,210,450,605 'deploy':382,555,582,721 'describ':154 'descript':256,282,288,309,314 'design':98 'devop':136 'diagram':77,170,653 'document':537,613,636,779 'domain':146 'domain-specific-tag':145 'durat':421 'e':189,202,725 'e1f5fe':200,685 'e8f5e8':204,689 'easi':100 'edg':490,500 'effici':64 'end':190,719,727 'env':277,283 'environ':165,166,275 'environment':349 'error':364,367,637 'event':160,176 'evolv':104 'except':492 'exchang':442 'execut':168,211,333,339,343,418,464,608 'expect':496 'extern':357,436 'extract':592,621 'f':192,195 'f3e5f5':697 'failur':373,378,383,640 'failurenod':691 'ffebe':693 'file':313,590 'fill':199,203,684,688,692,696 'filter':295 'first':538 'flow':169,603,655 'focus':47,647,770 'format':448,740 'frequenc':489 'function':226 'gate':388,389,391,469,629 'github':2,10,12,22,142 'github-act':141 'goal':158 'govern':461 'graph':172,606,708 'guidelin':654 'handl':365 'high':236 'histori':559 'id':228,247,259 'identifi':595,611,630 'implement':45,58,88,249,545,646 'implementation-agnost':44 'inform':80,737,769 'infrastructur':578 'initi':566 'input':25,273,614 'input/output':271 'instead':766 'instruct':585 'integr':434,439 'interfac':617 'job':178,182,186,194,205,207,213,218,221,303,305,602,704 'key':412 'languag':67 'last':129 'level':363,432 'leverag':73 'limit':344,346,625 'link':571,576,580,765 'lint':714 'list':75,161,292,297 'log':465 'maintain':97 'manag':483,529 'map':601,639 'matrix':225,494 'maximum':338 'md':113,114 'measur':262,270 'mechan':455 'medium':242 'memory/cpu':347 'mermaid':171,652,681,707 'method':263,499 'metric':260,266,413 'mm':127,133 'model':481 'modifi':535 'monitor':410,424 'must':42 'name':112,120,208,320 'narrat':760 'need':354,359 'network':355 'notif':429 'object':599 'observ':411 'one':152 'optim':61,731 'order':609 'os/hardware':353 'output':301,304,307,615 'overview':150 'owner':135 'paragraph':753 'parallel':193,342,661 'path':291,294,638 'pattern':300 'percentag':407,417 'perf':264,520,524 'perform':257,518 'permiss':360,480,623 'phase':712,722 'point':435,634,750 'polici':467,485 'precis':84 'prerequisit':216 'primari':157,597 'prioriti':230 'process':139,475,531,543,557 'processnod':695 'product':726 'prose':752 'purpos':151,209,215,220,281,287,310,321,326,331,594 'qualiti':387,396,628 'rate':415 'rather':53 'recoveri':370,375,380,385,643 'refer':764 'relat':569,573 'relationship':453 'releas':556 'repeat':768 'repositori':289,332 'req':233,239 'requir':38,62,224,227,229,235,241,246,248,254,258,352,361,444,449,463,470 'resourc':345,422 'respons':369,374,379,384 'retent':466 'review':540 'rotat':484 'rule':513,517 'runner':351 'runner/environment':217,223 'runtim':335 'sacrif':69 'save':107 'scan':401,487,488 'scenario':493,495,641 'scope':167,322 'sec':251 'secret':286,317,323,324,482 'secur':245,253,400,476 'semant':81 'sentenc':153 'sequenti':657 'serv':29,776 'sever':428 'show':607 'skill':8 'sla':443 'source-github' 'spec':575,579,583 'specif':5,15,19,28,32,91,105,118,147,533,567,570,774 'stage':724 'standard':397 'step':376,381,386 'strategi':366,732 'string':280,308 'structur':71,739,757 'style':197,201,680,682,686,690,694 'subgraph':706,710,720 'success':414 'successnod':687 'syntax':92,651 'system':437,438,445 'tabl':74,735 'tag':138,148 'target':164,261,267,416,420,430 'td':173,709 'team':137 'templat':106,782 'terminolog':85 'test':377,405,551,716 'testabl':237,243 'threshold':402 'throughout':87,747 'time':340,419 'timeout':337,622 'titl':115 'token':63,730 'tool':95 'trigger':159,162,175,290,454,459 'triggernod':683 'type':316,319,368,440,446,457,656 'updat':101,130,474,530,534,785 'usag':423 'use':65,83,705,734,746 'valid':498,506,509,512,516,552,631 'valu':268 'var':278,284,329 'variabl':276,318,328 'verifi':505 'version':96,121,558,560 'vld':510,514 'vulner':486 'who/where':433 'without':68 'workflow':4,14,24,35,51,103,111,117,119,149,155,327,451,452,456,508,549,574,589,699,701,784 'workflow-nam':110 'workflowfil':26 'yaml':274,302 'yes':675 'yyyi':126,132 'yyyy-mm-dd':125,131","prices":[{"id":"a332fc5c-2163-496c-b98d-315d218b05a4","listingId":"3a466a7e-8dd5-41f0-a5d6-530ca5956573","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"github","category":"awesome-copilot","install_from":"skills.sh"},"createdAt":"2026-04-18T20:25:37.806Z"}],"sources":[{"listingId":"3a466a7e-8dd5-41f0-a5d6-530ca5956573","source":"github","sourceId":"github/awesome-copilot/create-github-action-workflow-specification","sourceUrl":"https://github.com/github/awesome-copilot/tree/main/skills/create-github-action-workflow-specification","isPrimary":false,"firstSeenAt":"2026-04-18T21:48:47.967Z","lastSeenAt":"2026-04-22T12:52:09.209Z"},{"listingId":"3a466a7e-8dd5-41f0-a5d6-530ca5956573","source":"skills_sh","sourceId":"github/awesome-copilot/create-github-action-workflow-specification","sourceUrl":"https://skills.sh/github/awesome-copilot/create-github-action-workflow-specification","isPrimary":true,"firstSeenAt":"2026-04-18T20:25:37.806Z","lastSeenAt":"2026-04-22T16:40:17.325Z"}],"details":{"listingId":"3a466a7e-8dd5-41f0-a5d6-530ca5956573","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"github","slug":"create-github-action-workflow-specification","source":"skills_sh","category":"awesome-copilot","skills_sh_url":"https://skills.sh/github/awesome-copilot/create-github-action-workflow-specification"},"updatedAt":"2026-04-22T16:40:17.325Z"}}