UAT: agents skill tools --format json uses wrong field name source_skill instead of spec-required from_skill; tool entries missing read_only, writes, checkpoint fields #6858

Open
opened 2026-04-10 03:40:45 +00:00 by HAL9000 · 0 comments
Owner

Background and Context

The spec (§ "agents skill tools") defines a specific JSON schema for agents skill tools <NAME> --format json. Code analysis of src/cleveragents/cli/commands/skill.py shows the JSON output uses incorrect field names and is missing required fields.

Current Behavior

agents skill tools --format json (lines 866–903 of skill.py) outputs:

{
  "skill_name": "local/devops-toolkit",
  "tools": [
    {
      "name": "...",
      "source_skill": "local/file-ops",
      "source": "builtin",
      "is_direct": false,
      "is_inline": false
    }
  ],
  "capability_summary": {
    "total_tools": 23,
    "read_only_tools": 10,
    "write_tools": 13,
    "checkpointable_tools": 10,
    "has_side_effects": false
  }
}

Issues:

  1. Field source_skill should be from_skill (spec §"agents skill tools" JSON tab)
  2. Per-tool entries are missing read_only, writes, and checkpoint fields
  3. Per spec, tool entries for direct tools should have from_skill: null (not source_skill: <skill_name>)
  4. Top-level key is skill_name but spec wraps everything under data.tools and data.summary
  5. capability_summary uses wrong field names: read_only_tools/write_tools/checkpointable_tools instead of spec's read_only/writes/checkpointable; summary key should be used not capability_summary

Expected Behavior

Per spec, agents skill tools local/devops-toolkit --format json must produce:

{
  "data": {
    "tools": [
      { "name": "read_file", "source": "builtin", "from_skill": "local/file-ops", "read_only": true, "writes": false, "checkpoint": null },
      { "name": "create_issue", "source": "mcp:linear", "from_skill": null, "read_only": false, "writes": true, "checkpoint": "no" }
    ],
    "summary": {
      "total": 23,
      "from_includes": 17,
      "direct": 6,
      "read_only": 10,
      "writes": 13,
      "checkpointable": 10
    }
  }
}

Acceptance Criteria

  • Each tool entry has from_skill (not source_skill); direct tools have from_skill: null
  • Each tool entry includes read_only (bool), writes (bool), and checkpoint (string|null) fields
  • Summary uses keys total, from_includes, direct, read_only, writes, checkpointable (not read_only_tools/write_tools/checkpointable_tools)
  • Summary is under data.summary key, not capability_summary at top level

Supporting Information

  • Spec: docs/specification.md § "agents skill tools" (JSON tab, lines ~7325–7370)
  • Code: src/cleveragents/cli/commands/skill.py lines 866–903

Subtasks

  • Fix source_skillfrom_skill in tool entry dict
  • Add read_only, writes, checkpoint fields to each tool entry
  • Rename top-level output key from capability_summary to summary with corrected field names
  • Run nox -e unit_tests, add Behave scenario covering JSON schema correctness
  • Run nox (all default sessions), fix any errors

Definition of Done

This issue is complete when:

  • All subtasks above are completed and checked off.
  • A Git commit is created with Conventional Changelog format first line.
  • The commit is pushed to the remote on an appropriate branch.
  • The commit is submitted as a pull request to master, reviewed, and merged before this issue is marked done.

Automated by CleverAgents Bot
Supervisor: UAT Testing | Agent: uat-tester

## Background and Context The spec (§ "agents skill tools") defines a specific JSON schema for `agents skill tools <NAME> --format json`. Code analysis of `src/cleveragents/cli/commands/skill.py` shows the JSON output uses incorrect field names and is missing required fields. ## Current Behavior `agents skill tools --format json` (lines 866–903 of `skill.py`) outputs: ```json { "skill_name": "local/devops-toolkit", "tools": [ { "name": "...", "source_skill": "local/file-ops", "source": "builtin", "is_direct": false, "is_inline": false } ], "capability_summary": { "total_tools": 23, "read_only_tools": 10, "write_tools": 13, "checkpointable_tools": 10, "has_side_effects": false } } ``` Issues: 1. Field `source_skill` should be `from_skill` (spec §"agents skill tools" JSON tab) 2. Per-tool entries are missing `read_only`, `writes`, and `checkpoint` fields 3. Per spec, tool entries for direct tools should have `from_skill: null` (not `source_skill: <skill_name>`) 4. Top-level key is `skill_name` but spec wraps everything under `data.tools` and `data.summary` 5. `capability_summary` uses wrong field names: `read_only_tools`/`write_tools`/`checkpointable_tools` instead of spec's `read_only`/`writes`/`checkpointable`; `summary` key should be used not `capability_summary` ## Expected Behavior Per spec, `agents skill tools local/devops-toolkit --format json` must produce: ```json { "data": { "tools": [ { "name": "read_file", "source": "builtin", "from_skill": "local/file-ops", "read_only": true, "writes": false, "checkpoint": null }, { "name": "create_issue", "source": "mcp:linear", "from_skill": null, "read_only": false, "writes": true, "checkpoint": "no" } ], "summary": { "total": 23, "from_includes": 17, "direct": 6, "read_only": 10, "writes": 13, "checkpointable": 10 } } } ``` ## Acceptance Criteria - [ ] Each tool entry has `from_skill` (not `source_skill`); direct tools have `from_skill: null` - [ ] Each tool entry includes `read_only` (bool), `writes` (bool), and `checkpoint` (string|null) fields - [ ] Summary uses keys `total`, `from_includes`, `direct`, `read_only`, `writes`, `checkpointable` (not `read_only_tools`/`write_tools`/`checkpointable_tools`) - [ ] Summary is under `data.summary` key, not `capability_summary` at top level ## Supporting Information - Spec: `docs/specification.md` § "agents skill tools" (JSON tab, lines ~7325–7370) - Code: `src/cleveragents/cli/commands/skill.py` lines 866–903 ## Subtasks - [ ] Fix `source_skill` → `from_skill` in tool entry dict - [ ] Add `read_only`, `writes`, `checkpoint` fields to each tool entry - [ ] Rename top-level output key from `capability_summary` to `summary` with corrected field names - [ ] Run `nox -e unit_tests`, add Behave scenario covering JSON schema correctness - [ ] Run `nox` (all default sessions), fix any errors ## Definition of Done This issue is complete when: - All subtasks above are completed and checked off. - A Git commit is created with Conventional Changelog format first line. - The commit is pushed to the remote on an appropriate branch. - The commit is submitted as a pull request to `master`, reviewed, and merged before this issue is marked done. --- **Automated by CleverAgents Bot** Supervisor: UAT Testing | Agent: uat-tester
HAL9000 added this to the v3.4.0 milestone 2026-04-10 04:39:50 +00:00
HAL9000 self-assigned this 2026-04-10 06:06:36 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
cleveragents/cleveragents-core#6858
No description provided.