make-skill
Make Skill
Create one new workspace Skill from the current conversation through planning, user approval, draft authoring, validation, and publication.
Resolve <workspace> from the runtime directory context: use the current agent's absolute workspace path (also the working directory when no separate project is configured). Pass that same value throughout the lifecycle, independently of the task's project directory and the script cwd. Lifecycle artifacts belong under <workspace>/.qwenpaw/make-skill/; published Skills belong under <workspace>/skills/.
Script interface
Run python scripts/<script> through execute_shell_command, setting cwd to this Skill's <dir> from the available-skills entry. Each script reads one JSON object from stdin (or --input <file>) and returns one JSON object. Every input includes workspace; the table lists the other top-level fields.
| Operation | Script | Other input fields | Successful result |
|---|---|---|---|
| Create a plan | create_plan.py |
plan |
plan_id, normalized plan |
| Revise that plan | create_plan.py |
plan_id, complete new plan |
Same plan_id, normalized plan |
| Initialize after approval | init_draft.py |
plan_id |
draft_id, skill_dir |
| Validate a draft | validate_skill.py |
draft_id |
digest |
| Publish a validated draft | publish_skill.py |
draft_id, expected_digest from validation |
Publication result |
plan_id identifies one editable plan; keep it across revisions, including renames. draft_id identifies the initialized draft for validation, testing, and publication; skill_dir is where its package files belong. Use the returned values unchanged, not IDs inferred from names or paths.