Ask me what skills you need
What are you building?
Tell me what you're working on and I'll find the best agent skills for you.
AIMessage.content is a str on simple OpenAI calls and a list[dict] on Claude
the instant any tool_use, thinking, or image block enters the response.
Code that does message.content.lower() crashes with
AttributeError: 'list' object has no attribute 'lower' — the #1 first-production-call
LangChain 1.0 bug on Anthropic. And that is one of four separate "content shape"
pitfalls in this skill:
AIMessage.content list-vs-string divergencewith_structured_output(method="function_calling") silently drops
Optional[list[X]] fields on ~40% of real schemastemperature=0 is not deterministic on Anthropic even though it is on OpenAIThis skill walks through ChatAnthropic, ChatOpenAI, and ChatGoogleGenerativeAI
initialization; model routing; token counting that is actually correct during
streaming; content-block iteration; and a decision tree for with_structured_output
methods that holds up on real schemas. Pin: langchain-core 1.0.x,
npx skills add jeremylongshore/claude-code-plugins-plus-skills --skill langchain-model-inferenceHow clear and easy to understand the SKILL.md instructions are, rated from 1 to 5.
Mostly clear, but there are still a few confusing or poorly structured parts.
How directly an agent can act on the SKILL.md instructions, rated from 1 to 5.
Partially actionable with several concrete steps, but still missing important details.