一键导入
python-workflow
Python 项目工作流增强 - 覆盖 Python 特有的开发模式、测试工具和常见陷阱 自动叠加到 agentic-workflow 上,提供语言专属指导
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Python 项目工作流增强 - 覆盖 Python 特有的开发模式、测试工具和常见陷阱 自动叠加到 agentic-workflow 上,提供语言专属指导
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
智能体工作流:单入口设计,所有任务从 router 开始 TRIGGER when: 开发、修复、规划、分析、审查、调研、实施 DO NOT TRIGGER when: 简单闲聊
完成阶段 - 收尾工作、自反思和状态更新 当前版本对齐 .workflow_state.json 状态管理 v1.2: 新增可选 learn 技能触发建议与总结摘要复用
调试阶段 - 系统化问题定位和修复 5步调试法:闻味道 → 揪头发 → 照镜子 → 执行 → 复盘 包含压力升级机制和7项检查清单 v1.2: 强化 context-aware 激活、memory_hints 复用与失败升级事件记录
执行阶段 - TDD 开发循环和代码实现 当前版本对齐 .specs/<feature>/tasks.md、.contract.json、run_tracker.py 和 step_recorder.py Reflexion 强化: mid-task reflection checkpoint + AgentSys 子 agent schema 验证 v1.3: 新增 memory_hints/memory_query/memory_intent 复用与阶段摘要回流
深度探索阶段 - 苏格拉底式追问挖掘用户深层想法 通过迭代追问发现谬误、局限、潜能和潜意识中的构思
产品咨询阶段 - 在开始编码前重构产品想法 问正确的问题,确保理解用户真正想要什么
| name | python-workflow |
| version | 1.0.0 |
| status | implemented |
| description | Python 项目工作流增强 - 覆盖 Python 特有的开发模式、测试工具和常见陷阱 自动叠加到 agentic-workflow 上,提供语言专属指导 |
| tags | ["language","python","workflow"] |
| requires | {"tools":["Bash","Read","Write","Grep"]} |
当检测到 Python 项目时(存在 pyproject.toml / setup.py / *.py),此 skill 的规则叠加在 agentic-workflow 之上。
# 自动检测项目类型
test -f pyproject.toml && echo "Python/pyproject"
test -f setup.py && echo "Python/setuptools"
test -f requirements.txt && echo "Python/requirements"
NO TYPE HINTS = REJECT — 新函数必须有类型注解(Python 3.9+ 用 from __future__ import annotations)
NO BARE EXCEPT — 禁止裸 except:,必须捕获具体异常类型
NO MUTABLE DEFAULTS — 禁止 def f(x=[]) 模式,用 None 替代
NO SILENT FAILURES — 禁止空 except pass,必须记录或重抛
# 在每次提交前运行
python3 -m ruff check . --fix # 自动修复 lint 问题
python3 -m mypy . --ignore-missing-imports # 类型检查
python3 -m pytest tests/ -q # 测试
# 必须在每个模块顶部添加(在 Python 3.10+ 类型注解语法前)
from __future__ import annotations
# 正确:
def process(items: list[str] | None = None) -> dict[str, Any]:
...
# 错误(3.9 不支持,除非有上面的 import):
def process(items: list[str] | None = None) -> dict[str, Any]: # ❌ 无 __future__
# pytest 标准命令
python3 -m pytest tests/ -v --tb=long # 详细失败信息
python3 -m pytest tests/ -q --tb=short # 快速模式
python3 -m pytest tests/ -k "test_name" # 单测试
python3 -m pytest --cov=scripts --cov-report=term-missing # 覆盖率
# Step 1 强制诊断(Python 项目)
python3 -m pytest --tb=long -q 2>&1 | tail -60 # 完整错误输出
python3 -m ruff check . 2>&1 | head -30 # Lint 错误
python3 -c "import sys; print(sys.version)" # Python 版本确认
pip list | grep -E "pytest|ruff|mypy" | head -10 # 工具版本
| 问题 | 症状 | 修复 |
|---|---|---|
| `list | None` 类型语法错误 | TypeError: unsupported operand |
| 循环导入 | ImportError: cannot import name | 检查 __init__.py,使用延迟导入 |
| 可变默认参数 | 多次调用结果累积 | 改为 = None,函数内 if x is None: x = [] |
| Mock 未重置 | 测试间状态泄漏 | 使用 @pytest.fixture(autouse=True) 清理 |
assert 被优化掉 | -O 模式 assert 无效 | 用 if not condition: raise ValueError |
除标准 REVIEWING 清单外,额外检查:
except: 或 except Exception: passpytest --cov)from __future__ import annotations 存在于需要的模块# 推荐:pyproject.toml + pip install -e .
pip install -e ".[dev]"
# 检查依赖是否正常安装
python3 -c "import scripts; print('OK')"