Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions pstack/skills/poteto-mode/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,8 @@ Read the leaf skill in full for any principle you apply. Each entry names when i

**Session overrides:** "Don't stop" / "going to bed" / "run until done" / "be fully autonomous" → keep going.

**Parallel shell defaults.** Run the first execution of an unverified command shape once and alone. Batch a shape into parallel calls only after it has succeeded in this session.

**No is an acceptable answer.** Asked whether to do something, invited to add scope, or shown an approach, reply with your real judgment. Decline, push back, or say "this doesn't earn its place" when true. A recommendation is a judgment, not a validation. Agreement is not the default, candor over sycophancy.

## Subagents
Expand Down
2 changes: 1 addition & 1 deletion pstack/skills/poteto-mode/playbooks/pause-safely.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,6 @@
1. Stop at a safe boundary. Finish the current atomic step or back out of it. Never stop mid-edit in a known-broken state. Start nothing new, and cancel any nested subagents.
2. Take no irreversible action to pause. No PR and no push unless you already had one out.
3. Make the work durable. Commit uncommitted edits as one clear `wip:` commit on the current branch so nothing is lost. If the tree is broken, say so in the commit body in one line.
4. Write the resume note off-context. Capture intent, what you were doing, progress and what's verified, current state, next steps, key files, and gotchas. For the compaction trigger write it to a file like `/tmp/<slug>-resume.md`. If a show-me-your-work trail exists, point at it instead of duplicating it.
4. Write the resume note off-context. Capture intent, what you were doing, progress and what's verified, current state, next steps, key files, and gotchas. Segregate verified facts from inference and label each. Never derive limits, budgets, or thresholds from unconfirmed figures; carry the raw figures and their sources. For the compaction trigger write it to a file like `/tmp/<slug>-resume.md`. If a show-me-your-work trail exists, point at it instead of duplicating it.

**Reply:** where you are in the loop, what's on disk versus still in your head (paths, no diff dumps), the commits you made and whether the tree is clean, and the first action on resume. This is a pause, not a final report.
4 changes: 2 additions & 2 deletions pstack/skills/poteto-mode/playbooks/session-pickup.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@

**You own the resume point. Read the prior trail, don't redo it.**

1. Locate the prior trail. A local transcript under the active workspace's `agent-transcripts/` directory (the system prompt names the path. Do not glob across `~/.cursor/projects/*/`, that crosses workspace boundaries and reads private chats from unrelated projects), a cloud-agent URL, or a pushed branch. Read the metadata overview and last messages first, then scan back for the decision points. Parse a long transcript in a subagent and keep the reduced timeline in the main thread (the **principle-guard-the-context-window** skill).
2. Reconstruct operational state. The branch and worktree, what already landed (`git log`, `git diff` against the base), the open todos, the decisions made. The prior trail is authoritative input. Resist the bias to re-derive it.
1. Locate the prior trail. A local transcript under the active workspace's `agent-transcripts/` directory (the system prompt names the path. Do not glob across `~/.cursor/projects/*/`, that crosses workspace boundaries and reads private chats from unrelated projects), a cloud-agent URL, or a pushed branch. Pick the locator by harness: Cursor writes JSONL under `agent-transcripts/`, OpenCode stores sessions in `~/.local/share/opencode/opencode.db` (open it read-only with `?immutable=1` and export to text), Codex writes rollout files under `~/.codex`. Verify a candidate transcript by session metadata (ids, parent links), not by filename: rollout filenames are host-local and forked subagent sessions can share the parent UUID. Normalize timestamps to one zone before comparing them. Read the metadata overview and last messages first, then scan back for the decision points. Parse a long transcript in a subagent and keep the reduced timeline in the main thread (the **principle-guard-the-context-window** skill).
2. Reconstruct operational state. The branch and worktree, what already landed (`git log`, `git diff` against the base), the open todos, the decisions made. The prior trail is authoritative input. Resist the bias to re-derive it. When a shared meter (spend, quota, counters) drifted since the checkpoint, enumerate the current session's own consumption as the first candidate and subtract it before building external theories or deriving parameters from the drifted figure.
3. Diff done vs pending. Compare what shipped against what was planned, name the resume point, do not re-run the prior repro or redo completed work. A "let me verify from scratch" pass means you're treating the trail as untrustworthy when it's authoritative.
4. Route the remaining work to the matching playbook and pick the verdict: continue the execution, ship a finished recommendation, ratify or override a prior conclusion, or postmortem a failed run. The pickup playbook ends here. The routed playbook owns the rest.
5. Verify the inherited claims against the original goal on the real artifact (the **principle-prove-it-works** skill). A passing prior self-report is not the proof.
Expand Down
5 changes: 5 additions & 0 deletions pstack/skills/principle-boundary-discipline/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,11 @@ Code organization:
- Prompt construction: structured state in, string out
- Scoring and assessment: pure transforms from state to results

Measurement and adversarial engagements:
- Guards belong at the engagement edge: the authorized targets, credentials, and budget
- Every interior restriction must trace to the engagement's stated goal, or be labeled a human option
- An interior fence silently changes what the measurement means

**The tests:**
- "Is this data crossing a system boundary right now?" If not, validation is redundant.
- "Can this be a pure function that the shell just calls?" If yes, extract it.
2 changes: 2 additions & 0 deletions pstack/skills/principle-prove-it-works/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,4 +30,6 @@ When verifying delegated work, inspect the actual output artifact (git diff, fil

The strongest proof is a deterministic script that re-runs the same comparison, not a one-time eyeball. Write the script, run it, and keep its output as an artifact a reviewer can re-run instead of trusting your word.

Empty or missing verification output is a failed verification, never a pass. Make the script assert loudly on the empty case; a silent green run is a defect in the check itself.

Keep the artifact visible for the human. Commit it only for large or complex work where the trail has to be auditable later, like a big port or migration (the **show-me-your-work** skill).
2 changes: 1 addition & 1 deletion pstack/skills/reflect/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ Invoke when the user says "reflect" or "/reflect". Skip when the conversation is

### 1. Locate the active transcript

The parent finds its own transcript file before fanning out. The system prompt names the active workspace's `agent-transcripts/` directory. Use that path. Do not glob across `~/.cursor/projects/*/`. That crosses workspace boundaries and reads private chats from unrelated projects.
The parent finds its own transcript file before fanning out. Detect the harness first. Cursor writes JSONL under the active workspace's `agent-transcripts/` directory (the system prompt names the path; use it, and do not glob across `~/.cursor/projects/*/`). OpenCode stores sessions in `~/.local/share/opencode/opencode.db`; open it read-only with `?immutable=1` and export to text. Codex writes rollout files under `~/.codex`. Never cross workspace boundaries or read private chats from unrelated projects.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Harness locators skip workspace-scoped matching

Medium Severity · Logic Bug

The new locators send the agent to OpenCode's opencode.db and Codex files under ~/.codex without scoping those stores to this workspace or session. Reflect then still globs workspace agent-transcripts/ JSONL and matches Cursor's message.content[0].text, so non-Cursor runs miss the active transcript or ingest other projects' chats.

Additional Locations (1)
Fix in Cursor Fix in Web

Triggered by learned rule: Workspace-scoping for transcript-mining skills

Reviewed by Cursor Bugbot for commit 4bd53f7. Configure here.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

New prose uses banned clause joiners

Low Severity · Bugbot Rules

Added pstack/skills sentences join independent clauses with semicolons, and session-pickup uses a mid-sentence connector colon after filename. Unslop bans those clause joiners in skill prose outside code spans, labels, and list introductions.

Additional Locations (2)
Fix in Cursor Fix in Web

Triggered by learned rule: pstack skill prose follows unslop punctuation

Reviewed by Cursor Bugbot for commit 4bd53f7. Configure here.


```bash
ls -t <agent-transcripts>/*.jsonl <agent-transcripts>/*/*.jsonl <agent-transcripts>/*/subagents/*.jsonl 2>/dev/null | head -10
Expand Down