AI agent developer based in Beijing. I build tools that turn LLM prompts into compiled, testable software.
agenthatch — Turn any SKILL.md into a standalone, runnable AI Agent.
SKILL.md is prompt engineering, not software engineering. agenthatch treats it as source code. A 6-harness LLM pipeline compiles it into a typed, MCP-integrated agent with a PlanLayer state machine, run via agenthatch run.
Bug fixes to Python's most-used test framework. Actual fixes to pytest core:
- Fix Code.getargs() treating co_flags bitmask values as counts — CO_VARARGS and CO_VARKEYWORDS are bitmask flags, were used as increment values
- fix junitxml bin_xml_escape: supplementary plane characters incorrectly escaped —
\u10000parsed as\u1000+0, entire supplementary plane missing from valid charset - fix mark expression scanner: backslash check in string value, not entire input
- fix approx rel for timedelta: accept float, compute rel * expected
- Fix Argument.__repr__ crash when _action is not initialized
- Fix duplicate values in Config.known_args_namespace for append actions
- Fix: is_fully_escaped does not handle consecutive backslashes correctly
- Add regression test for get_user() OSError handling
- fix config: add deprecation warning for non-string value in string-typed ini option — a TOML list could reach
type="string"options with no warning; "string" was the only scalar type missing the guard - Fix __tracebackhide__ not respected in ExceptionGroup sub-exception tracebacks — sub-exception frames were rendered unfiltered; now filters the TracebackException stack recursively without mutating exception objects
- fix: fall back to x64 binary on Windows ARM64 — Windows ARM64 had no native build. Postinstall downloaded a 0-byte file. Fixed platform detection to fall back to x64 via emulation.
- Currently at DiDi
- Previously AI agent developer at CodeFlying
Third-year CS, Shenyang Agricultural University.
Ship beats perfect. I build tools to solve my own problems, then open-source them.


