Agent skill
standards-extraction
Extract coding standards and conventions from CONTRIBUTING.md, .editorconfig, linter configs. Use for onboarding and ensuring consistent contributions.
Install this agent skill to your Project
npx add-skill https://github.com/aiskillstore/marketplace/tree/main/skills/consiliency/standards-extraction
SKILL.md
Standards Extraction Skill
Extract coding standards, formatting rules, and contribution guidelines from project configuration files. Returns structured data about project conventions.
Variables
| Variable | Default | Description |
|---|---|---|
| INCLUDE_LINTER_RULES | true | Parse ESLint, Prettier, Ruff configs |
| INCLUDE_EDITOR_CONFIG | true | Parse .editorconfig |
| INCLUDE_GIT_HOOKS | true | Check for pre-commit, husky configs |
| OUTPUT_FORMAT | json | Output format: json, markdown, or toon |
Instructions
MANDATORY - Follow the Workflow steps below in order. Do not skip steps.
- Check for CONTRIBUTING.md or similar guide files
- Parse formatting configuration files
- Parse linting configuration files
- Check for git hooks and CI checks
- Compile standards summary
Red Flags - STOP and Reconsider
If you're about to:
- Assume formatting rules without checking config files
- Skip CONTRIBUTING.md because "it's probably standard"
- Infer conventions without evidence from configs
- Report rules that contradict actual config files
STOP -> Read the config files -> Extract actual rules -> Then report
Workflow
1. Discover Standards Files
Check for these files (in order):
| File | Type | Purpose |
|---|---|---|
CONTRIBUTING.md |
Markdown | Contribution guidelines |
CONTRIBUTING |
Text | Contribution guidelines |
docs/CONTRIBUTING.md |
Markdown | Contribution guidelines |
.github/CONTRIBUTING.md |
Markdown | Contribution guidelines |
.editorconfig |
INI | Editor formatting |
.prettierrc* |
JSON/YAML | Prettier config |
prettier.config.* |
JS/TS | Prettier config |
.eslintrc* |
JSON/YAML | ESLint config |
eslint.config.* |
JS/TS | ESLint flat config |
pyproject.toml |
TOML | Python tools (ruff, black, isort) |
.ruff.toml |
TOML | Ruff config |
.pre-commit-config.yaml |
YAML | Pre-commit hooks |
.husky/ |
Directory | Git hooks |
.github/PULL_REQUEST_TEMPLATE.md |
Markdown | PR template |
.github/ISSUE_TEMPLATE/ |
Directory | Issue templates |
2. Extract Contribution Guidelines
From CONTRIBUTING.md, extract:
- Commit message format: Conventional commits, gitmoji, etc.
- Branch naming: feature/, fix/, etc.
- PR process: Required reviewers, checks, etc.
- Code style notes: Any explicit guidance
- Testing requirements: What tests are required
3. Extract Formatting Rules
From .editorconfig:
[*]
indent_style = space
indent_size = 2
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
From Prettier config:
{
"semi": true,
"singleQuote": true,
"tabWidth": 2,
"printWidth": 100
}
4. Extract Linting Rules
From ESLint:
- Key enabled/disabled rules
- Extended configs (airbnb, standard, etc.)
- Custom rules
From Ruff/Black (pyproject.toml):
[tool.ruff]
line-length = 88
select = ["E", "F", "I"]
[tool.black]
line-length = 88
5. Extract Git Hooks
From .pre-commit-config.yaml:
- Hooks that run on commit
- Required checks
From .husky/:
- Pre-commit scripts
- Pre-push scripts
6. Compile Output
{
"project_root": "/path/to/project",
"extracted_at": "2025-12-21T12:00:00Z",
"contribution_guidelines": {
"source": "CONTRIBUTING.md",
"commit_format": "conventional",
"branch_naming": "type/description",
"pr_requirements": ["tests", "review"],
"notes": []
},
"formatting": {
"indent_style": "space",
"indent_size": 2,
"line_length": 100,
"quotes": "single",
"semicolons": true,
"trailing_commas": "es5",
"sources": [".editorconfig", ".prettierrc"]
},
"linting": {
"javascript": {
"tool": "eslint",
"extends": ["next/core-web-vitals"],
"key_rules": {}
},
"python": {
"tool": "ruff",
"line_length": 88,
"select": ["E", "F", "I"]
}
},
"git_hooks": {
"pre_commit": ["lint-staged", "prettier"],
"pre_push": ["test"]
},
"ci_checks": {
"source": ".github/workflows/",
"checks": ["lint", "test", "build"]
}
}
Cookbook
Parsing Configurations
- IF: Need to parse any config file
- THEN: Read and execute
./cookbook/config-parsing.md
Quick Reference
Commit Format Detection
| Pattern in CONTRIBUTING.md | Format |
|---|---|
| "Conventional Commits" | conventional |
| "feat:", "fix:", "chore:" | conventional |
| ":emoji:" or gitmoji | gitmoji |
| "JIRA-123" pattern | jira |
| No pattern found | freeform |
Common Formatter Configs
| File | Tool |
|---|---|
.prettierrc* |
Prettier |
biome.json |
Biome |
.editorconfig |
EditorConfig |
dprint.json |
dprint |
Common Linter Configs
| File | Tool |
|---|---|
.eslintrc*, eslint.config.* |
ESLint |
pyproject.toml [tool.ruff] |
Ruff |
pyproject.toml [tool.pylint] |
Pylint |
.golangci.yml |
golangci-lint |
clippy.toml |
Clippy (Rust) |
Output Schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"project_root": {"type": "string"},
"extracted_at": {"type": "string", "format": "date-time"},
"contribution_guidelines": {
"type": "object",
"properties": {
"source": {"type": "string"},
"commit_format": {"type": "string"},
"branch_naming": {"type": "string"},
"pr_requirements": {"type": "array", "items": {"type": "string"}},
"notes": {"type": "array", "items": {"type": "string"}}
}
},
"formatting": {
"type": "object",
"properties": {
"indent_style": {"type": "string"},
"indent_size": {"type": "integer"},
"line_length": {"type": "integer"},
"quotes": {"type": "string"},
"semicolons": {"type": "boolean"},
"sources": {"type": "array", "items": {"type": "string"}}
}
},
"linting": {"type": "object"},
"git_hooks": {"type": "object"},
"ci_checks": {"type": "object"}
}
}
Integration
This skill is used by:
/ai-dev-kit:quickstart-codebase- Onboarding workflowlane-executor- To follow project conventions- Contribution validation - To check PR compliance
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
perigon-backend
Perigon ASP.NET Core + EF Core + Aspire conventions
perigon-agent
Pointers for Copilot/agents to apply Perigon conventions
perigon-angular
Angular 21+ standalone/Material/signal conventions for Perigon WebApp
fastapi-mastery
Comprehensive FastAPI development skill covering REST API creation, routing, request/response handling, validation, authentication, database integration, middleware, and deployment. Use when working with FastAPI projects, building APIs, implementing CRUD operations, setting up authentication/authorization, integrating databases (SQL/NoSQL), adding middleware, handling WebSockets, or deploying FastAPI applications. Triggered by requests involving .py files with FastAPI code, API endpoint creation, Pydantic models, or FastAPI-specific features.
context7-efficient
Token-efficient library documentation fetcher using Context7 MCP with 86.8% token savings through intelligent shell pipeline filtering. Fetches code examples, API references, and best practices for JavaScript, Python, Go, Rust, and other libraries. Use when users ask about library documentation, need code examples, want API usage patterns, are learning a new framework, need syntax reference, or troubleshooting with library-specific information. Triggers include questions like "Show me React hooks", "How do I use Prisma", "What's the Next.js routing syntax", or any request for library/framework documentation.
browser-use
Browser automation using Playwright MCP. Navigate websites, fill forms, click elements, take screenshots, and extract data. Use when tasks require web browsing, form submission, web scraping, UI testing, or any browser interaction.
Didn't find tool you were looking for?