code-generation
4
总安装量
2
周安装量
#48788
全站排名
安装命令
npx skills add https://github.com/azeem-2/final-docusarus --skill code-generation
Agent 安装分布
opencode
2
github-copilot
2
codex
2
gemini-cli
2
continue
1
mcpjam
1
Skill 文档
Code Generation Skill
This skill defines the standards for generating code examples in educational content. The goal is to produce code that is not just functional, but exemplaryâteaching best practices by example.
Core Philosophy
- Readability First: Code is read more often than written. Optimize for the reader.
- Pedagogical Clarity: Avoid “clever” one-liners. Prefer explicit, step-by-step logic.
- Standard Compliance: Strictly follow language-specific style guides (e.g., PEP 8 for Python).
- Self-Documenting: Variable names should explain their purpose. Comments should explain why, not what.
General Standards
1. Naming Conventions
- Descriptive Names: Use
user_ageinstead ofa,total_priceinstead oftp. - No Single Letters: Exception for loop counters (
i,j) in generic contexts, but preferfor item in items. - Consistency: Stick to the language’s standard (snake_case for Python, camelCase for JS).
2. Comments and Documentation
- Explain the ‘Why’:
- â
x = x + 1 # Increment x - â
retry_count += 1 # Track attempts to prevent infinite loop
- â
- Docstrings: All functions and classes must have a docstring explaining inputs, outputs, and purpose.
- Inline Comments: Use sparingly for complex logic.
3. Error Handling
- No Silent Failures: Never use bare
try...except(Python) or empty catch blocks. - Explicit Exceptions: Catch specific errors (e.g.,
ValueError,FileNotFoundError). - Educational Value: Show students how to handle errors gracefully.
4. “No Magic Numbers”
- Define constants for literal values.
- â
if status == 4: - â
READY_STATUS = 4; if status == READY_STATUS:
Language-Specific Rules
Python
- Style: Strict PEP 8.
- Type Hints: Use type hints for function arguments and return values.
def calculate_total(price: float, tax_rate: float) -> float: """Calculates total price including tax.""" return price * (1 + tax_rate) - f-strings: Prefer f-strings over
%formatting or.format().
JavaScript / TypeScript
- Style: Standard JS style (Airbnb or similar).
- Variables: Use
constby default,letonly when reassignment is needed. Nevervar. - Async/Await: Prefer
async/awaitover raw Promises.
Pedagogical Patterns
1. The “Before and After”
When teaching a better way to do something, show the “naive” approach first (labeled as such), then the “professional” approach.
2. Progressive Complexity
Start with a minimal working example. Add complexity (error handling, edge cases) in subsequent steps.
3. Runnable Snippets
Ensure code snippets are self-contained and runnable whenever possible. Include necessary imports.
Quality Checklist
Before finalizing any code snippet, verify:
- Does it follow the language style guide?
- Are variable names descriptive?
- Are “magic numbers” replaced with constants?
- Is there a docstring/comment explaining the purpose?
- Is error handling appropriate for the context?
- If it’s a “bad example”, is it clearly labeled?