IntelLabs / IntelLabs/Xe-Forge

Rename xe_forge.skills to xe_forge.tools with backward-compatible CLI migration

Open
#45 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
21
Forks
8
PR merge metrics
No merged PRs in 30d

Description

## Summary
Rename the package path from `src/xe_forge/skills` to `src/xe_forge/tools` so naming aligns with agentic AI terminology (tools as callable capabilities), while preserving current user workflows.

## Motivation
The current package is functionally a tool surface, but the term `skills` is overloaded in agent ecosystems. Using tools improves clarity for:
- Internal architecture and import paths
- Agent prompt/template language
- Future interoperability with tool-calling conventions

## Current References
Primary wiring points today:
- Entry point script target: pyproject.toml
- Skill router and imports: __init__.py
- Internal imports to update: __init__.py
- Agent template command references: CLAUDE.md.j2
- Tool-runner template references: tool-runner.md.j2
- Script allowlist template references: settings.json.j2

## Proposal
- Rename package directory from src/xe_forge/skills to src/xe_forge/tools.
- Update imports from xe_forge.skills.* to xe_forge.tools.*.
- Keep existing CLI command xe-forge-skill as a compatibility alias for at least one release cycle.
- Add new alias xe-forge-tool (optional but recommended).
- Update generated templates and docs to prefer xe-forge-tool language over time.

## Scope
- Python package path and import updates
- Project script entry points
- Core templates under src/xe_forge/claude/templates
- Top-level docs that show command usage (README/VTUNE guidance)

## Out of Scope
- Removing xe-forge-skill immediately
- Bulk cleanup of archived/generated workspace snapshots unless explicitly requested

## Implementation Tasks
- [ ] Move src/xe_forge/skills to src/xe_forge/tools
- [ ] Update module imports in router and tool modules
- [ ] Update script target in pyproject.toml
- [ ] Add dual CLI script names (xe-forge-skill + xe-forge-tool) during transition
- [ ] Update wording in __init__.py equivalent after move
- [ ] Update agent templates:
- [ ] CLAUDE.md.j2
- [ ] tool-runner.md.j2
- [ ] settings.json.j2
- [ ] Update user docs:
- [ ] README.md
- [ ] VTUNE.md
- [ ] Add/adjust tests for CLI entry points and import resolution

## Backward Compatibility Plan
Phase 1:
- Keep xe-forge-skill fully functional.
- Introduce xe-forge-tool alias and document as preferred.

Phase 2:
- Emit deprecation notice for xe-forge-skill in a later release.

Phase 3:
- Remove xe-forge-skill only after downstream templates/workspaces are migrated.

## Acceptance Criteria
- Both xe-forge-skill and xe-forge-tool execute successfully and route to the same handlers.
- No runtime import errors after package move.
- Generated Claude templates reference the preferred command naming.
- Documentation examples are updated and consistent.
- CI/tests pass for CLI and module imports.

## Risks
- Breaking downstream automation that hardcodes xe-forge-skill.
- Missing references in generated workspace artifacts.
- Packaging regressions if script target/import path updates are incomplete.

## Notes
A staged migration minimizes disruption while modernizing terminology for agentic workflows.

Contributor guide

Open the contributing guide

Research direction

Start with pyproject.toml and src/xe_forge/skills/__init__.py to trace the current entry point, router, and imports. Then review CLAUDE.md.j2, tool-runner.md.j2, settings.json.j2, README.md, and VTUNE.md for command references. Done means both CLI names work, imports resolve, generated templates and docs use the preferred name, and CLI/import tests pass.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
cli, tooling
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Clearly specified
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.