Review and export commands follow the latest published official docs. This page helps you run one review path where failure stays visible.
Two creation paths
Choose the path by the evidence you already have. The typed path is model-free and reproducible; generation is useful only when the Server has a working generation provider.
The CLI currently has no
experience propose or skill propose subcommand. Use the Python Client or HTTP API for model-free typed proposals.
This tutorial establishes a deterministic Review loop with typed proposals first, then shows model-generation commands.
1. Prepare exact evidence
Capture one task-result Source. Createpropose_experience.py:
SCOPE_ID and CANDIDATE_ID in later CLI commands with the values printed by the script.
2. Inspect the Candidate
The default Inbox lists pending heads only:- all four proposal fields;
- exact
source_refsandartifact_refs; target, which appears only for replacement;status,family, andreason;- current
version.
3. Revise replaces the whole proposal
candidate_conflict. Do not change the value to 2 and retry without confirming that current v2 is the proposal you intend to approve.
4. Approve or reject
Approve the inspected v2:result_artifact:
5. Verify Experience recall
There is nopowercontext context prepare CLI command. Use the Python Client:
SCOPE_ID with the actual value.
Approval makes the current Experience head eligible for recall, but it does not guarantee selection for every query. Scope, query relevance, and byte budget still apply. Pending, rejected, and historical Experience Revisions stay outside default recall.
6. Create a Skill Candidate
The clearest lineage for a new Skill is the approved Experience. Createpropose_skill.py:
SCOPE_ID and EXPERIENCE_ID, then run the script. Use the same Candidate list, show, revise, and approve commands.
For longer instructions, use a UTF-8 file:
--instructions and --instructions-file.
Approval produces:
7. Read and export an exact Skill Revision
Read it first:claude_code, not claude-code.
The output directory contains:
powercontext.json cites exact skill/SKILL_ID@1. CLI export is create-only and refuses an existing destination.
Managed Skill export currently supports Codex and Claude Code only. A bundled Skill shipped with a plugin does not imply managed export support.
Model-generation path
With a generation model configured, a Candidate may also be generated from exact evidence:generation_unavailable.
Other Skill origins:
source: one or more exact Source refs only, with no Artifact refs or target;usage: an exact target Skill and at least one bounded Source. The Server validates reference shape; the reviewer decides whether the Source truly records useful observed behavior.
Conflict handling
A replacement Candidate cannot switch its target to another Revision during revise.
How you know it worked
- A typed proposal can create a pending Candidate without a model.
- Generate may return pending, or no change.
- Review always shows the Candidate first, then uses the
expected_versionyou inspected. - A stale version returns 409.
- Approval returns an exact
result_artifact. - The approved current Experience may participate in relevant recall.
- Approving a Skill does not export it, and does not execute it.
- The export directory contains
SKILL.mdandpowercontext.json. - An existing destination, or local drift, is never overwritten silently.
Next step
Connect a Python Agent
First integration is LangGraph or LangChain.
Configure a common or coding Agent
Hermes and OpenClaw are common Agents. Codex and Claude Code are on coding agents.

