Skip to content
Skillpedia
Writing40k · #5425

write-coding-standards-from-file

Lets your agent write a coding standards document. It uses coding styles from provided files and folders to create the guidelines.

What it does

This tool creates a coding standards document for a project. It analyzes an existing code file to establish style rules and guidelines for your project.

When to use it

  • ✓When starting a new project and wanting to define a style guide.
  • ✓When you want to ensure everyone on the team follows the same coding rules.
  • ✓When you need to document the best coding practices for your project.

Example of what to ask your AI

“Create a coding style guide based on the file 'my_code.py'.”

Want more? Open the sections below.

How to use

The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.

Skill link

https://github.com/github/awesome-copilot/blob/main/skills/write-coding-standards-from-file/SKILL.md

Ready-to-paste message

Use this skill to help me: https://github.com/github/awesome-copilot/blob/main/skills/write-coding-standards-from-file/SKILL.md Read the SKILL.md file at that link and follow its instructions for my task.
How it works

The tool reads a code file you provide. It identifies the coding style used (like indentation and variable names) and generates a document with these rules for others to follow.

Installation

Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.

In the terminal (Claude Code, Codex, Cursor), in your project folder:

npx skills add github/awesome-copilot --skill write-coding-standards-from-file

Or download just the file:

curl -L https://raw.githubusercontent.com/github/awesome-copilot/main/skills/write-coding-standards-from-file/SKILL.md -o SKILL.md
Technical content (original SKILL.md)

Original text by the author, straight from GitHub.

Write Coding Standards From File

Use the existing syntax of the file(s) to establish the standards and style guides for the project. If more than one file or a folder is passed, loop through each file or files in the folder, appending the file's data to temporary memory or a file, then when complete use temporary data as a single instance; as if it were the file name to base the standards and style guideline on.

Rules and Configuration

Below is a set of quasi-configuration boolean and string[] variables. Conditions for handling true, or other values for each variable are under the level two heading ## Variable and Parameter Configuration Conditions.

Parameters for the prompt have a text definition. There is one required parameter ${fileName}, and several optional parameters ${folderName}, ${instructions}, and any [configVariableAsParameter].

Configuration Variables

  • addStandardsTest = false;
  • addToREADME = false;
  • addToREADMEInsertions = ["atBegin", "middle", "beforeEnd", "bestFitUsingContext"];
    • Default to beforeEnd.
  • createNewFile = true;
  • fetchStyleURL = true;
  • findInconsistencies = true;
  • fixInconsistencies = true;
  • newFileName = ["CONTRIBUTING.md", "STYLE.md", "CODE_OF_CONDUCT.md", "CODING_STANDARDS.md", "DEVELOPING.md", "CONTRIBUTION_GUIDE.md", "GUIDELINES.md", "PROJECT_STANDARDS.md", "BEST_PRACTICES.md", "HACKING.md"];
    • For each file in ${newFileName}, if file does not exist, use that file name and break, else continue to next file name of ${newFileName}.
  • outputSpecToPrompt = false;
  • useTemplate = "verbose"; // or "v"
    • Possible values are [["v", "verbose"], ["m", "minimal"], ["b", "best fit"], ["custom"]].
    • Selects one of the two example templates at the bottom of prompt file under the level two heading ## Coding Standards Templates, or use another composition that is a better fit.
    • If custom, then apply per request.

Configuration Variables as Prompt Parameters

If any of the variable names are passed to prompt as-is, or as a similar but clearly related text value, then override the default variable value with the value passed to prompt.

Prompt Parameters

  • fileName = The name of the file that will be analyzed in terms of: indentation, variable naming, commenting, conditional procedures, functional procedures, and other syntax related data for the coding language of the file.
  • folderName = The name of the folder that will be used to extract data from multiple files into one aggregated dataset that will be analyzed in terms of: indentation, variable naming, commenting, conditional procedures, functional procedures, and other syntax related data for the coding language of the files.
  • instructions = Additional instructions, rules, and procedures that will be provided for unique cases.
  • [configVariableAsParameter] = If passed will override the default state of the configuration variable. Example:
    • useTemplate = If passed will override the configuration ${useTemplate} default. Values are [["v", "verbose"], ["m", "minimal"], ["b", "best fit"]].

Required and Optional Parameters

  • fileName - required
  • folderName - optional
  • instructions - optional
  • [configVariableAsParameter] - optional

Variable and Parameter Configuration Conditions

${fileName}.length > 1 || ${folderName} != undefined

  • If true, toggle ${fixInconsistencies} to false.

${addToREADME} == true

  • Insert the coding standards into the README.md instead of outputting to the prompt or creating a new file.
  • If true, toggle both ${createNewFile} and ${outputSpecToPrompt} to false.

${addToREADMEInsertions} == "atBegin"

  • If ${addToREADME} is true, then insert the coding standards data at the beginning of the README.md file after the title.

${addToREADMEInsertions} == "middle"

  • If ${addToREADME} is true, then insert the coding standards data at the middle of the README.md file, changing the standards title heading to match that of the README.md composition.

${addToREADMEInsertions} == "beforeEnd"

  • If ${addToREADME} is true, then insert the coding standards data at the end of the README.md file, inserting a new line after the last character, then inserting the data on a new line.

${addToREADMEInsertions} == "bestFitUsingContext"

…

FAQ

What happens if I provide multiple files?

If you provide multiple files or a folder, the tool will combine the information from all of them to create a single set of coding standards.

Can I add my own instructions?

Yes, you can add extra instructions for specific cases, such as particular naming conventions or formatting rules.

Can the tool fix issues it finds?

Yes, if configured, the tool can identify inconsistencies in the code and fix them to follow the defined standards.

Details

Original description by the author

Write a coding standards document for a project using the coding styles from the file(s) and/or folder(s) passed as arguments in the prompt.

repo: github/awesome-copilot

Popularity

GitHub stars
40k
Ranking position
#5425
License
MIT
Updated
10/15/2026

Is this skill useful?

0

Sign in to vote.

Comments

  • …

More skills from this repository

Similar skills