Pre-action boundary checking — validates agent tool calls against declared capabilities and task contracts
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Pythonic patterns from PEP 8 and PEP 20
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
설치 방법 보기설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.
Apply idiomatic Python patterns and best practices from official Python documentation.
Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!
indentation:
- Use 4 spaces per indentation level
- Never mix tabs and spaces
- Continuation lines align vertically or use hanging indent
line_length:
- Maximum 79 characters for code
- Maximum 72 characters for docstrings/comments
- Teams may agree on 99 characters for code
blank_lines:
- Two blank lines around top-level definitions
- One blank line between method definitions
- Use sparingly inside functions
rules:
- One import per line
- Position at file top, after docstrings
- Group order: standard library → third-party → local
- Separate groups with blank lines
- Prefer absolute imports
- Avoid wildcard imports (from X import *)
example: |
import os
import sys
from third_party import lib
from myproject import module
avoid:
- Extra spaces inside parentheses/brackets
- Spaces before commas or colons
- Spaces between function name and parenthesis
- Multiple spaces for alignment
required:
- Single space around binary operators
- Spaces around -> in annotations
- No spaces around = for default parameters
modules_packages:
style: lowercase_with_underscores
example: my_module
classes:
style: CapWords
example: MyClass
functions_variables:
style: lowercase_with_underscores
example: my_function, my_variable
constants:
style: ALL_CAPS_WITH_UNDERSCORES
example: MAX_SIZE, DEFAULT_VALUE
exceptions:
style: CapWords + Error suffix
example: ValueError, CustomError
private:
single_underscore: _internal (weak internal)
double_underscore: __private (name mangling)
trailing_underscore: class_ (avoid keyword conflict)
avoid:
- Single characters l, O, I (ambiguous)
principles:
- Comments contradicting code are worse than none
- Use complete sentences
- Keep comments up to date
block_comments:
- Indent at same level as code
- Start each line with # and space
inline_comments:
- Minimum two spaces from code
- Avoid obvious statements
docstrings:
- Write for all public modules, functions, classes, methods
- Use triple quotes
- First line: concise summary
- Blank line before detailed description
comparisons:
- Use 'is' and 'is not' for None, True, False
- Prefer isinstance() over type()
- Use 'is not' rather than 'not ... is'
sequences:
- Test empty: if not seq: (not if len(seq) == 0)
- Use .startswith() and .endswith()
exceptions:
- Derive from Exception, not BaseException
- Catch specific exceptions
- Avoid bare except clauses
- Use 'raise X from Y' for chaining
functions:
- Use def, not lambda assignment
- Consistent return statements
- Use with for resource management
type_hints:
- Follow PEP 484 syntax
- Space after colon in annotations
- No space before colon
list_comprehension:
prefer: "[x*2 for x in items if x > 0]"
over: |
result = []
for x in items:
if x > 0:
result.append(x*2)
context_managers:
prefer: "with open('file') as f:"
over: |
f = open('file')
try:
...
finally:
f.close()
unpacking:
prefer: "a, b = b, a"
over: |
temp = a
a = b
b = temp
enumerate:
prefer: "for i, item in enumerate(items):"
over: "for i in range(len(items)):"
dictionary:
prefer: "d.get(key, default)"
over: "d[key] if key in d else default"
When writing or reviewing Python code:
아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.
로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.
아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.
Pre-action boundary checking — validates agent tool calls against declared capabilities and task contracts
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Auto-detect project context and optimize harness — deactivate unused agents/skills, suggest missing experts, generate project profile
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Adversarial code review using attacker mindset — trust boundary, attack surface, business logic, and defense evaluation
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Apache Airflow best practices for DAG authoring, testing, and production deployment
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Alembic migration patterns for naming conventions, safety checks, expand-contract, env.py configuration, and CI integration
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Pre-routing ambiguity analysis — scores request clarity and asks clarifying questions when needed (inspired by ouroboros)
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.