# Intelligencex Tools Authoring

> Use when creating or refactoring IntelligenceX tools to maximize helper reuse, reduce duplication, and keep stable tool contracts.

- Skill: `evotecit/intelligencex-tools-authoring` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add evotecit/intelligencex-tools-authoring`
- Raw SKILL.md: https://api.skillmd.com/api/skills/evotecit/intelligencex-tools-authoring/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: evotecit (https://skillmd.com/u/evotecit)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/evotecit/intelligencex-tools-authoring

---


# Skill: intelligencex-tools-authoring

Use this skill when changing files in `IntelligenceX.Tools/**`, especially when adding new tools or consolidating helper logic.

## Trigger Phrases
- "new tool"
- "tooling refactor"
- "reduce duplication in tools"
- "centralize tool helpers"
- "tool contract cleanup"

## Strict Execution Order
1. Identify target package and existing base helpers.
2. Reuse shared helper paths first (`ToolBase`, `ToolQueryHelpers`, `ToolPipeline`, package base helpers).
3. Build typed request binder (`ToolRequestBinder` + `ToolRequestBindingResult<TRequest>`).
4. Implement tool/refactor changes with no output contract drift, using `ToolResultV2` for output envelopes.
5. Add or update tests for helper behavior and edge cases.
6. Run targeted build/tests for changed tool packages.
7. Summarize reusable pattern changes for future tools.

## Commands
- Targeted build:
  - `dotnet build IntelligenceX.Tools/IntelligenceX.Tools.ADPlayground/IntelligenceX.Tools.ADPlayground.csproj -c Release`
  - `dotnet build IntelligenceX.Tools/IntelligenceX.Tools.EventLog/IntelligenceX.Tools.EventLog.csproj -c Release`
  - `dotnet build IntelligenceX.Tools/IntelligenceX.Tools.System/IntelligenceX.Tools.System.csproj -c Release`
- Targeted tests:
  - `dotnet test IntelligenceX.Tools/IntelligenceX.Tools.Tests/IntelligenceX.Tools.Tests.csproj -c Release`
- Full tool solution gate:
  - `dotnet test IntelligenceX.Tools/IntelligenceX.Tools.sln -c Release`

## Fail-Fast Rules
- Do not add package-specific duplicate helpers when a shared helper exists.
- Do not change `error_code`/metadata/table view contracts without explicit intent.
- Do not add `max_results` metadata with direct `meta.Add("max_results", ...)`; use `AddMaxResultsMeta(...)`.
- Keep mass normalization (for example line endings) in a dedicated cleanup PR, not mixed with behavior changes.
- Prefer typed request models over direct `arguments?.Get...` reads in new/refactored tools.
- Prefer middleware composition over inline precondition blocks when preconditions are reusable.
- For AD tools with required `domain_name`, use canonical helpers (`TryReadRequiredDomainQueryRequest`, `TryReadPolicyAttributionToolRequest`, `ExecuteDomainRowsViewTool`, `ExecutePolicyAttributionTool`).

## References
- `InternalDocs/agent-playbooks/tool-authoring-playbook.md`
- `templates/tool-pipeline-template.md`

