Skip to content

Document fexp_app_capture_tools + flexus_fetch_skill requirement#240

Open
deepmasq wants to merge 1 commit intomainfrom
docs/document-skills-capture-tools-requirement
Open

Document fexp_app_capture_tools + flexus_fetch_skill requirement#240
deepmasq wants to merge 1 commit intomainfrom
docs/document-skills-capture-tools-requirement

Conversation

@deepmasq
Copy link
Contributor

@deepmasq deepmasq commented Mar 3, 2026

Summary

  • Documents that fexp_app_capture_tools must include flexus_fetch_skill when fexp_builtin_skills is non-empty
  • Documents the OpenAI-style tool format with strict at top level (not inside function)
  • Explains that filter_tools() handles this automatically, but custom installers need to include the tool manually

Context

Discovered during RFP Quoter bot testing on staging. Building a custom installer (TypeScript) that bypasses filter_tools() results in:

400: fexp_builtin_skills requires flexus_fetch_skill in fexp_app_capture_tools

The requirement is enforced server-side but was undocumented. Additionally, placing strict inside function (following OpenAI's published format) produces bad keys: {'strict'}.

Test plan

  • Verify AGENTS.md renders correctly on GitHub
  • Confirm the documented tool format matches ckit_cloudtool.py:openai_style_tool() output

🤖 Generated with Claude Code

…skills

When an expert has skills (fexp_builtin_skills is non-empty), the backend
validates that fexp_app_capture_tools contains the flexus_fetch_skill tool.
filter_tools() handles this automatically, but custom installers that bypass
it will hit a 400 error. Also documents the strict key placement (top level,
not inside function) in the OpenAI-style tool format.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant