gradion-ai/freeact/output-parsers
Claude Code and agent skill by gradion-ai/freeact
- community
Checking that the SKILL.md file is still in the repository.
Generate output parsers for mcptools with unstructured return types. Use when a tool returns raw strings or Result models with single str fields and needs structured ParseResult output. Covers testing tools, identifying parseable structures, extending modules with ParseResult models, and creating parser implementations.
Install
npx vskill@latest install gradion-ai/freeact/output-parsersSKILL.md
Output Parsers for mcptools
Generate output parsers for Python tools in the mcptools package that have unstructured return types.
Identifying Unstructured Return Types
A tool has an unstructured return type when its run() function returns:
- A
strdirectly - A
Resultmodel with a singlestrfield (namedresult,content,output, etc.) plus onlymodel_config
A Result model with multiple fields (beyond model_config) has a structured return type and does not need a parser.
Workflow
1. Test the Python tool
Run the Python tool with ipybox_execute_ipython_cell tool using 2-3 example inputs to observe return value patterns:
2. Identify structure
Examine the output for parseable structure (JSON, JSONL, XML, delimited text, etc.). If no consistent structure exists, a parser cannot be generated.
3. Extend the Python tool module
Preservation rules when extending tool modules:
- Never modify existing
Paramsclass or other existing model definitions - Never remove or modify existing imports (they may be used by existing code)
- Only add new imports, models, and functions
Docstring guidelines:
- Derive docstrings from the original
run()function docstring ParseResultdocstring should describe the parsed data structurerun_parsed()docstring must be exactly the same as therun()docstring- Field descriptions should explain what each field contains
Add to {generated_rel_dir}/mcptools/<category>/<tool>.py:
- A
ParseResultmodel:
- A
run_parsed()function:
4. Create parser module
Create {generated_rel_dir}/mcpparse/<category>/<tool>.py with:
5. Test run_parsed()
Call the ipybox_reset tool to restart the IPython kernel so the next import loads the modified module.
Then test with ipybox_execute_ipython_cell using the same example inputs from step 1:
Verify that the ParseResult fields are correctly populated.
Examples
str return type (web_search)
Original: run(params: Params) -> str returns JSONL
Extended with:
SearchResultmodel for individual itemsParseResultwithresults: list[SearchResult]run_parsed()that parses JSONL into structured objects
Result return type (search_abstracts)
Original: run(params: Params) -> Result where Result.result: str
Extended with:
Articlemodel for individual itemsParseResultwitharticles: list[Article]run_parsed()that parsesresult.resultinto structured objects
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingfreeact/config/templates/skills/output-parsers/SKILL.md
Popularity
- Repository stars
- 128
- Repository forks
- 9
- 7-day trend score
- 24
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 28 Apr 2026, 6 months ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/gradion-ai/freeact/output-parsers)