본문으로 건너뛰기
cccskills
무료GitHub에 공개

StreamFlow Mypy Type Checking

This skill should be used when the user asks to "fix mypy errors", "add type annotations", "fix type checking", "resolve no-untyped-def", "fix mypy type errors", or when working with type hints while respecting StreamFlow's forbidden type constraints (no Any, dict[str, Any], etc.).

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

설치 방법 보기

포함된 파일(3)

  • SKILL.md2.6 KB
  • no-untyped-def/SKILL.md2.6 KB
  • var-annotated/SKILL.md2.6 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

StreamFlow Mypy Type Checking Skill

Core Constraint

See AGENTS.md for the authoritative forbidden types list. If a fix requires a forbidden type, DO NOT FIX IT. Skip the error entirely.

Sub-Skills

Error codeDescriptionSub-skill
[no-untyped-def]Function missing type annotationsStreamFlow Mypy no-untyped-def Fixer skill
[var-annotated]Variable missing type annotationStreamFlow Mypy var-annotated Fixer skill

General Workflow

  1. Classify: Can the fix use concrete types only? If NO → skip entirely
  2. Fix: Add annotations (see sub-skill for patterns)
  3. Validate — must return no output:
    git diff | grep -E "Any\b|MutableMapping\[.*Any|MutableSequence\[.*Any|list\[Any|dict\[.*Any"
    
  4. Quality check — must pass:
    uv run make format-check codespell-check typing
    
  5. Commit: Load the StreamFlow Git Workflow skill

Allowed Types Quick Reference

  • Primitives: None, bool, int, str, float, bytes
  • Concrete classes: Workflow, Connector, Port, Token, etc.
  • Unions: str | None, int | bool
  • Generics: list[str], dict[str, int], set[Token]
  • Special: Self, type[MyClass], Literal["a", "b"]

Prefer Literal over str/int for fixed value sets (statuses, connector types, mode flags).

Broad arguments, narrow returns: parameters use abstract types (Iterable, Sequence, Mapping); return types use concrete types (list, dict, set).

Annotation Patterns

# Always annotate with concrete types
def process(self, workflow: Workflow, config: WorkflowConfig) -> bool: ...

# Self for classmethods
@classmethod
async def load(cls, persistent_id: int) -> Self: ...

# Optional: use X | None, not Optional[X]
def get(self, name: str) -> Connector | None: ...

# Always annotate return types — mypy strict mode requires it
async def close(self) -> None: ...

When in doubt, skip it. Better to leave an error than violate the forbidden types constraint.

See Also

  • AGENTS.md — Forbidden types list, mandatory rules
  • StreamFlow Git Workflow skill — Commit message format and approval workflow
  • StreamFlow Code Style skill — Code style guidelines

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

This skill should be used when the user asks to "update the changelog", "add a changelog entry", "write a CHANGELOG entry", or when preparing a git commit in StreamFlow that requires updating the `## [Unreleased]` section of `CHANGELOG.md`.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

alpha-unito/streamflow672026년 10월 19일 업데이트

This skill should be used when the user asks to "add docstrings", "write error handling", "use naming conventions", "handle exceptions", or when writing new Python code for StreamFlow that requires docstring format, naming conventions, exception handling, or async cleanup patterns.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

alpha-unito/streamflow672026년 10월 19일 업데이트

This skill should be used when the user asks to "write documentation", "add a doc page", "update RST files", "add a tutorial", or when writing or editing Sphinx RST documentation for StreamFlow.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

alpha-unito/streamflow672026년 10월 19일 업데이트

This skill should be used when the user asks to "add an example", "write a tutorial", "document a new workflow example", or when creating a new worked example under `docs/source/examples/`.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

alpha-unito/streamflow672026년 10월 19일 업데이트

This skill should be used when the user asks to "write a commit message", "create a commit", "format a commit", "what commit type to use", or when preparing changes for a git commit in StreamFlow. Provides commit message format, type conventions, and examples.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

alpha-unito/streamflow672026년 10월 19일 업데이트

This skill should be used when the user encounters "no-untyped-def" mypy errors, asks to "fix no-untyped-def errors", "add type annotations to functions", or mentions "Function is missing a type annotation". Provides specific workflow for fixing missing type annotations while respecting forbidden type constraints.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

alpha-unito/streamflow672026년 10월 19일 업데이트

alpha-unito의 스킬 모두 보기

이 스킬의 문제 신고