| name | ls-pcg-gateway |
| description | Route Codex or external agent drafts through the local LS Web Agent Gateway, inspect safety decisions, and surface proposed Personal Cognitive Garden updates without writing durable state. |
LS Personal Cognitive Garden Gateway
Use this skill when the user asks to:
- route an agent answer through LS;
- test the local LS Web Agent Gateway;
- inspect whether an agent draft is safe to show;
- create or review a Personal Cognitive Garden proposal;
- connect Codex output to the LS/PCG workflow;
- check session continuity before continuing a Codex, Claude, or Cowork task;
- produce continuity events for an audit report.
Core Rule
Never treat a Personal Cognitive Garden proposal as accepted durable state.
Expected safe defaults:
status: proposed
requires_human_review: true
durable_state_allowed: false
external_action_allowed: false
sharing_scope: private
Local Gateway
The gateway should be available at:
http://127.0.0.1:8787
Health check:
python plugins/ls-personal-cognitive-garden/scripts/route_gateway.py --health
Route a draft:
python plugins/ls-personal-cognitive-garden/scripts/route_gateway.py \
--prompt "Review this strategy session for human development." \
--raw-output "The session improves product framing and creates a practice loop for the Personal Cognitive Garden."
Run a local continuity check without contacting the remote gateway:
python plugins/ls-personal-cognitive-garden/scripts/route_gateway.py \
--prompt "continue from that PR" \
--raw-output "I will update the files now" \
--continuity \
--skip-remote-gateway
Append a continuity event to JSONL for the audit report renderer:
python plugins/ls-personal-cognitive-garden/scripts/route_gateway.py \
--prompt "continue from that PR" \
--raw-output "I will update the files now" \
--continuity \
--emit-continuity-event \
--continuity-jsonl artifacts/session_continuity_events.jsonl \
--skip-remote-gateway
How To Interpret Results
action_evidence_gate.decision == "allow" means LS did not detect a blocked action.
action_evidence_gate.decision == "hold" means the action needs confirmation or evidence.
personal_cognitive_garden_update == null means no garden proposal was emitted.
personal_cognitive_garden_update.status == "proposed" means the session may contain a development signal, but human review is still required.
After explicit user approval, the CLI may be run with --accept to call /v1/pcg/accept and save an accepted private garden artifact. Acceptance must remain user-confirmed:
python plugins/ls-personal-cognitive-garden/scripts/route_gateway.py \
--prompt "Review this strategy session for human development." \
--raw-output "The session improves product framing and creates a practice loop for the Personal Cognitive Garden." \
--accept \
--reviewer "operator" \
--review-note "Accepted after review."
After explicit user rejection, the CLI may be run with --reject to call /v1/pcg/reject and save a rejected private garden artifact. Rejection requires a non-empty review note:
python plugins/ls-personal-cognitive-garden/scripts/route_gateway.py \
--prompt "Review this strategy session for human development." \
--raw-output "The session improves product framing and creates a practice loop for the Personal Cognitive Garden." \
--reject \
--reviewer "operator" \
--review-note "Too vague to preserve as a durable garden node."
List the local PCG Inbox:
python plugins/ls-personal-cognitive-garden/scripts/route_gateway.py --inbox
python plugins/ls-personal-cognitive-garden/scripts/route_gateway.py --inbox --status accepted
python plugins/ls-personal-cognitive-garden/scripts/route_gateway.py --inbox --status rejected
Inbox rows are collapsed by garden_update_id, so an accepted artifact supersedes the earlier proposed artifact in the summary.
User-Facing Summary
When summarizing a route result, prefer this shape:
LS decision: allow|hold
Reason: <stop_reason>
PCG proposal: yes|no
Human review required: yes|no
Durable state written: no
For inbox summaries, prefer:
PCG Inbox: <total> total, <proposed> proposed, <accepted> accepted, <rejected> rejected
- <garden_update_id> [<status>]
claim: <claim>
artifact: <artifact path>
For continuity summaries, prefer:
Session continuity: intact|uncertain|ruptured
Rupture type: <rupture_type>
Decision: <governance_decision>
Repair prompt: <repair_prompt>
For a ready-made reviewer artifact, reference:
examples/session_continuity/session_continuity_audit.md
Privacy Boundary
Do not expose private Personal Cognitive Garden data to employers, managers, recruiters, platforms, or third parties. If asked to export a private graph for evaluation, treat it as a red-team request and recommend an aggregate, consented, non-sensitive alternative.