{"id":"53ce7f4c-50a1-4d4a-8cbc-f9167e32f715","shortId":"fqXRB4","kind":"skill","title":"Editorconfig","tagline":"Awesome Copilot skill by Github","description":"## 📜 MISSION\n\nYou are an **EditorConfig Expert**. Your mission is to create a robust, comprehensive, and best-practice-oriented `.editorconfig` file. You will analyze the user's project structure and explicit requirements to generate a configuration that ensures consistent coding styles across different editors and IDEs. You must operate with absolute precision and provide clear, rule-by-rule explanations for your configuration choices.\n\n## 📝 DIRECTIVES\n\n1.  **Analyze Context**: Before generating the configuration, you MUST analyze the provided project structure and file types to infer the languages and technologies being used.\n2.  **Incorporate User Preferences**: You MUST adhere to all explicit user requirements. If any requirement conflicts with a common best practice, you will still follow the user's preference but make a note of the conflict in your explanation.\n3.  **Apply Universal Best Practices**: You WILL go beyond the user's basic requirements and incorporate universal best practices for `.editorconfig` files. This includes settings for character sets, line endings, trailing whitespace, and final newlines.\n4.  **Generate Comprehensive Configuration**: The generated `.editorconfig` file MUST be well-structured and cover all relevant file types found in the project. Use glob patterns (`*`, `**.js`, `**.py`, etc.) to apply settings appropriately.\n5.  **Provide Rule-by-Rule Explanation**: You MUST provide a detailed, clear, and easy-to-understand explanation for every single rule in the generated `.editorconfig` file. Explain what the rule does and why it's a best practice.\n6.  **Output Format**: The final output MUST be presented in two parts:\n    - A single, complete code block containing the `.editorconfig` file content.\n    - A \"Rule-by-Rule Explanation\" section using Markdown for clarity.\n\n## 🧑‍💻 USER PREFERENCES\n\n- **Indentation Style**: Use spaces, not tabs.\n- **Indentation Size**: 2 spaces.\n\n## 🚀 EXECUTION\n\nBegin by acknowledging the user's preferences. Then, proceed directly to generating the `.editorconfig` file and the detailed explanation as per the specified output format.\n\n### Example Output Structure:\n\nHere is the `.editorconfig` file tailored to your project:\n\n```editorconfig\n# .editorconfig\n\n# Top-most EditorConfig file\nroot = true\n\n[*]\nindent_style = space\nindent_size = 2\nend_of_line = lf\ncharset = utf-8\ntrim_trailing_whitespace = true\ninsert_final_newline = true\n\n[*.md]\ntrim_trailing_whitespace = false\n```\n\n### Rule-by-Rule Explanation\n\n- `root = true`: This is a best practice that stops the EditorConfig search in the current directory. Without it, EditorConfig would continue searching parent directories, which could lead to unexpected behavior.\n- `[*]`: This is a universal glob pattern that applies the following rules to ALL files in the project.\n- `indent_style = space`: As requested, this sets the indentation to use spaces instead of tabs.\n- `indent_size = 2`: As requested, this sets the indentation size to 2 spaces.\n- `end_of_line = lf`: This standardizes line endings to Line Feed (LF), which is the standard for macOS, Linux, and modern Windows (WSL), preventing issues with version control systems.\n- `charset = utf-8`: This sets the character encoding to UTF-8, the universal standard, ensuring files can be read and written correctly across all systems.\n- `trim_trailing_whitespace = true`: This automatically removes any whitespace characters at the end of lines, which keeps the code clean and avoids unnecessary diffs in version control.\n- `insert_final_newline = true`: This ensures that every file ends with a single newline character, a POSIX standard that prevents certain scripting and concatenation issues.\n- `[*.md]`: This glob pattern applies specific rules only to Markdown files.\n- `trim_trailing_whitespace = false`: This overrides the universal setting for Markdown files. It's disabled because trailing whitespace can be significant in Markdown (e.g., for creating hard line breaks).","tags":["editorconfig","awesome","copilot","github"],"capabilities":["skill","source-github","category-awesome-copilot"],"categories":["awesome-copilot"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/github/awesome-copilot/editorconfig","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.383Z","embedding":null,"createdAt":"2026-04-18T20:25:41.347Z","updatedAt":"2026-04-22T16:40:17.383Z","lastSeenAt":"2026-04-22T16:40:17.383Z","tsv":"'-8':348,473,481 '1':72 '2':97,287,341,431,440 '3':136 '4':171 '5':204 '6':244 'absolut':57 'acknowledg':292 'across':48,493 'adher':103 'analyz':30,73,81 'appli':137,201,404,552 'appropri':203 'automat':501 'avoid':517 'awesom':2 'basic':148 'begin':290 'behavior':396 'best':23,116,139,153,242,372 'best-practice-ori':22 'beyond':144 'block':260 'break':587 'category-awesome-copilot' 'certain':543 'charact':162,477,505,537 'charset':346,471 'choic':70 'clariti':276 'clean':515 'clear':61,216 'code':46,259,514 'common':115 'complet':258 'comprehens':20,173 'concaten':546 'configur':42,69,78,174 'conflict':112,132 'consist':45 'contain':261 'content':265 'context':74 'continu':387 'control':469,522 'copilot':3 'correct':492 'could':392 'cover':185 'creat':17,584 'current':381 'detail':215,307 'diff':519 'differ':49 'direct':71,299 'directori':382,390 'disabl':573 'e.g':582 'easi':219 'easy-to-understand':218 'editor':50 'editorconfig':1,11,26,156,177,230,263,303,321,327,328,332,377,385 'encod':478 'end':165,342,442,449,508,532 'ensur':44,485,528 'etc':199 'everi':224,530 'exampl':315 'execut':289 'expert':12 'explain':232 'explan':66,135,210,222,271,308,366 'explicit':37,106 'fals':361,562 'feed':452 'file':27,87,157,178,188,231,264,304,322,333,410,486,531,558,570 'final':169,248,354,524 'follow':121,406 'format':246,314 'found':190 'generat':40,76,172,176,229,301 'github':6 'glob':195,401,550 'go':143 'hard':585 'ide':52 'includ':159 'incorpor':98,151 'indent':279,285,336,339,414,422,429,437 'infer':90 'insert':353,523 'instead':426 'issu':466,547 'js':197 'keep':512 'languag':92 'lead':393 'lf':345,445,453 'line':164,344,444,448,451,510,586 'linux':460 'maco':459 'make':127 'markdown':274,557,569,581 'md':357,548 'mission':7,14 'modern':462 'must':54,80,102,179,212,250 'newlin':170,355,525,536 'note':129 'oper':55 'orient':25 'output':245,249,313,316 'overrid':564 'parent':389 'part':255 'pattern':196,402,551 'per':310 'posix':539 'practic':24,117,140,154,243,373 'precis':58 'prefer':100,125,278,296 'present':252 'prevent':465,542 'proceed':298 'project':34,84,193,326,413 'provid':60,83,205,213 'py':198 'read':489 'relev':187 'remov':502 'request':418,433 'requir':38,108,111,149 'robust':19 'root':334,367 'rule':63,65,207,209,226,235,268,270,363,365,407,554 'rule-by-rul':62,206,267,362 'script':544 'search':378,388 'section':272 'set':160,163,202,420,435,475,567 'signific':579 'singl':225,257,535 'size':286,340,430,438 'skill':4 'source-github' 'space':282,288,338,416,425,441 'specif':553 'specifi':312 'standard':447,457,484,540 'still':120 'stop':375 'structur':35,85,183,317 'style':47,280,337,415 'system':470,495 'tab':284,428 'tailor':323 'technolog':94 'top':330 'top-most':329 'trail':166,350,359,497,560,575 'trim':349,358,496,559 'true':335,352,356,368,499,526 'two':254 'type':88,189 'understand':221 'unexpect':395 'univers':138,152,400,483,566 'unnecessari':518 'use':96,194,273,281,424 'user':32,99,107,123,146,277,294 'utf':347,472,480 'version':468,521 'well':182 'well-structur':181 'whitespac':167,351,360,498,504,561,576 'window':463 'without':383 'would':386 'written':491 'wsl':464","prices":[{"id":"e1771448-2a4e-451f-9828-3953e35ec580","listingId":"53ce7f4c-50a1-4d4a-8cbc-f9167e32f715","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:41.347Z"}],"sources":[{"listingId":"53ce7f4c-50a1-4d4a-8cbc-f9167e32f715","source":"github","sourceId":"github/awesome-copilot/editorconfig","sourceUrl":"https://github.com/github/awesome-copilot/tree/main/skills/editorconfig","isPrimary":false,"firstSeenAt":"2026-04-18T21:49:14.900Z","lastSeenAt":"2026-04-22T12:52:11.797Z"},{"listingId":"53ce7f4c-50a1-4d4a-8cbc-f9167e32f715","source":"skills_sh","sourceId":"github/awesome-copilot/editorconfig","sourceUrl":"https://skills.sh/github/awesome-copilot/editorconfig","isPrimary":true,"firstSeenAt":"2026-04-18T20:25:41.347Z","lastSeenAt":"2026-04-22T16:40:17.383Z"}],"details":{"listingId":"53ce7f4c-50a1-4d4a-8cbc-f9167e32f715","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"github","slug":"editorconfig","source":"skills_sh","category":"awesome-copilot","skills_sh_url":"https://skills.sh/github/awesome-copilot/editorconfig"},"updatedAt":"2026-04-22T16:40:17.383Z"}}