Skip to content

pstack: add autopilot playbooks, /no-comments, Comment Sicko, and /technical-writing (0.13.0) - #185

Merged
poteto merged 4 commits into
mainfrom
pstack/autopilot-no-comments-tech-writing
Aug 2, 2026
Merged

pstack: add autopilot playbooks, /no-comments, Comment Sicko, and /technical-writing (0.13.0)#185
poteto merged 4 commits into
mainfrom
pstack/autopilot-no-comments-tech-writing

Conversation

@poteto

@poteto poteto commented Aug 2, 2026

Copy link
Copy Markdown
Collaborator

What landed

  • Autopilot-full and Autopilot-stack playbooks, wired through poteto-mode
  • /no-comments + Comment Sicko agent
  • /technical-writing (Diátaxis + Google developer style + STE + Global English)
  • README + plugin bump 0.12.00.13.0

Test plan

  • Plugin discovers skills + both agents (comment-sicko, poteto-agent)
  • Version is 0.13.0
  • Opening a PR playbook runs /no-comments before review
  • Comment Sicko spawns by registered subagent_type (no workspace path cite)

Note

Low Risk
Documentation and agent workflow metadata only; no runtime application code or security-sensitive paths.

Overview
Bumps pstack to 0.13.0 and expands poteto-mode with two autonomous delivery playbooks plus pre-review comment and prose standards.

Autopilot-full and Autopilot-stack add parallel cloud-agent owner loops with swarm verification at merge-ready heads; full autopilot can authorize owner merges after a clean root verdict, while stack autopilot builds a verified linear Graphite chain for the operator to land. Opening a PR and both autopilot paths now run /no-comments alongside /deslop.

New /no-comments spawns the read-only Comment Sicko subagent (agents/comment-sicko.md) to flag deletable comments and MUST KILL suppressions; the parent skill audits findings, applies small fixes, and offers encodings for claimed constraints. /technical-writing is wired for docs, RFCs, readmes, PR text, and commits (Diátaxis + Google style + STE + Global English). README documents eighteen playbooks and the new skills/agents.

Reviewed by Cursor Bugbot for commit 0469268. Bugbot is set up for automated code reviews on this repo. Configure here.

cursoragent and others added 2 commits August 2, 2026 02:56
Co-authored-by: lauren <poteto@users.noreply.github.com>
Co-authored-by: lauren <poteto@users.noreply.github.com>

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes using high effort and found 2 potential issues.

Autofix Details

Bugbot Autofix prepared fixes for both issues found in the latest run.

  • ✅ Fixed: Wrong Comment Sicko agent path
    • Removed the hardcoded workspace path so the skill spawns Comment Sicko by its registered subagent_type alone, which resolves on plugin installs where .cursor/agents/comment-sicko.md never exists.
  • ✅ Fixed: Review trigger skips PR playbook
    • Added the /no-comments pass to the Opening a PR playbook's PRs hygiene list and its PR-opening-subagent step list so the Before review trigger has a matching step on every ship path, not just autopilot.

Create PR

Or push these changes by commenting:

@cursor push d98202b924
Preview (d98202b924)
diff --git a/pstack/skills/no-comments/SKILL.md b/pstack/skills/no-comments/SKILL.md
--- a/pstack/skills/no-comments/SKILL.md
+++ b/pstack/skills/no-comments/SKILL.md
@@ -16,7 +16,7 @@
 
 ## Steps
 
-1. Spawn `Task` with `subagent_type: "Comment Sicko"` from `.cursor/agents/comment-sicko.md`. Pass the scope. Do not restate its rules.
+1. Spawn `Task` with `subagent_type: "Comment Sicko"`. Pass the scope. Do not restate its rules.
 2. Inspect its report and diff. Reject application-code edits, scope escapes, exception-protected deletions, misstated `MUST KILL` reasons, and flags on code a kept comment presents as intentional. Audit missed scoped lint and TypeScript suppressions; correctness/safety suppressions stay actionable `MUST KILL`s. Restore deletions only with exact exceptions and scoped proof. Before accepting thin `IMPORTANT` or `do not remove` kills or keeps, run `/how` or `/why` on their symbol. If a kill is ambiguous, do not restore. If a keep is refuted or still ambiguous, delete it. Revert and rerun one rejected report with the failure named; reject a second, report it open, and fail `/no-comments`.
 3. Fix trivial accepted flags directly by deleting a dead path, dropping a parameter, or using the real API. If any fix needs a shape, run `/architect` once for the accepted set and surrounding code. Stop at the sketch. Architect shapes. Step 4 implements.
 4. Implement the smallest root-cause fix in scope. Remove every named workaround. If the root cause is out of scope, land the smallest in-scope fix and report the rest open. The **principle-fix-root-causes** and **principle-redesign-from-first-principles** skills guide intent only: fix real causes, redesign as if requirements always existed, never bolt on symptom guards. Neither authorizes widening the fence nor fixing instances outside it.

diff --git a/pstack/skills/poteto-mode/playbooks/opening-a-pr.md b/pstack/skills/poteto-mode/playbooks/opening-a-pr.md
--- a/pstack/skills/poteto-mode/playbooks/opening-a-pr.md
+++ b/pstack/skills/poteto-mode/playbooks/opening-a-pr.md
@@ -6,6 +6,6 @@
 
 **Commits.** Commit liberally; rebase into small, ordered commits before opening PRs. Each commit is a future PR: landable, ordered to tell the story. Amend when the fix belongs in a just-made commit; new commit when separable.
 
-**PRs.** `/deslop` the diff before commit; apply the **unslop** skill to the PR description and commit bodies. Small PRs, 5 narrow over 1 fat; stack follow-ups, branch off main only for genuinely independent work. For stacked PRs, use whatever stacking tool your team uses; the principle is small, ordered slices with the stack visible to reviewers. `gh pr view <number>` before referencing PR status. Rebase on `main` before substantial stack work. No `## Summary` / `## Test plan` boilerplate on small PRs; commit bodies don't restate the subject. After opening, run Cursor's built-in **babysit** skill; push back when feedback drifts from intent.
+**PRs.** `/deslop` the diff before commit; `/no-comments` the diff before review; apply the **unslop** skill to the PR description and commit bodies. Small PRs, 5 narrow over 1 fat; stack follow-ups, branch off main only for genuinely independent work. For stacked PRs, use whatever stacking tool your team uses; the principle is small, ordered slices with the stack visible to reviewers. `gh pr view <number>` before referencing PR status. Rebase on `main` before substantial stack work. No `## Summary` / `## Test plan` boilerplate on small PRs; commit bodies don't restate the subject. After opening, run Cursor's built-in **babysit** skill; push back when feedback drifts from intent.
 
-A subagent that opens a PR runs `interrogate` and `/deslop`, returns the URL, and does NOT babysit. Return to the parent.
+A subagent that opens a PR runs `interrogate`, `/deslop`, and `/no-comments`, returns the URL, and does NOT babysit. Return to the parent.

You can send follow-ups to the cloud agent here.

Comment thread pstack/skills/no-comments/SKILL.md Outdated
Comment thread pstack/skills/poteto-mode/SKILL.md
@poteto
poteto marked this pull request as ready for review August 2, 2026 03:23
poteto and others added 2 commits August 1, 2026 20:28
Prior commit reconstructed these from secondary metadata. Restore from
the real tip/main sources with only public-path edits.
…a PR

Spawn Comment Sicko by subagent_type alone; the hardcoded
.cursor/agents/ path does not exist on plugin installs. Add the
/no-comments pass to the Opening a PR playbook so the Before review
trigger holds outside the autopilot playbooks.
@poteto
poteto force-pushed the pstack/autopilot-no-comments-tech-writing branch from 9691bd6 to 0469268 Compare August 2, 2026 03:28
@poteto
poteto merged commit b047069 into main Aug 2, 2026
2 checks passed
@poteto
poteto deleted the pstack/autopilot-no-comments-tech-writing branch August 2, 2026 03:29

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes using high effort and found 3 potential issues.

Fix All in Cursor

Bugbot Autofix is ON, but it could not run because the branch was deleted or merged before autofix could start.

Reviewed by Cursor Bugbot for commit 0469268. Configure here.

**PRs.** `/deslop` the diff before commit; `/no-comments` the diff before review; apply the **unslop** skill to the PR description and commit bodies. Small PRs, 5 narrow over 1 fat; stack follow-ups, branch off main only for genuinely independent work. For stacked PRs, use whatever stacking tool your team uses; the principle is small, ordered slices with the stack visible to reviewers. `gh pr view <number>` before referencing PR status. Rebase on `main` before substantial stack work. No `## Summary` / `## Test plan` boilerplate on small PRs; commit bodies don't restate the subject. After opening, run Cursor's built-in **babysit** skill; push back when feedback drifts from intent.

A subagent that opens a PR runs `interrogate` and `/deslop`, returns the URL, and does NOT babysit. Return to the parent.
A subagent that opens a PR runs `interrogate`, `/deslop`, and `/no-comments`, returns the URL, and does NOT babysit. Return to the parent.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Opening PR skips technical writing

Medium Severity · Logic Bug

/technical-writing is triggered for PR descriptions and commit messages, but opening-a-pr still only applies unslop on those surfaces. Verbatim playbook steps win over triggers, so the normal ship path never runs the new standard.

Additional Locations (1)
Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 0469268. Configure here.

2. Inspect its report and diff. Reject application-code edits, scope escapes, exception-protected deletions, misstated `MUST KILL` reasons, and flags on code a kept comment presents as intentional. Audit missed scoped lint and TypeScript suppressions; correctness/safety suppressions stay actionable `MUST KILL`s. Restore deletions only with exact exceptions and scoped proof. Before accepting thin `IMPORTANT` or `do not remove` kills or keeps, run `/how` or `/why` on their symbol. If a kill is ambiguous, do not restore. If a keep is refuted or still ambiguous, delete it. Revert and rerun one rejected report with the failure named; reject a second, report it open, and fail `/no-comments`.
3. Fix trivial accepted flags directly by deleting a dead path, dropping a parameter, or using the real API. If any fix needs a shape, run `/architect` once for the accepted set and surrounding code. Stop at the sketch. Architect shapes. Step 4 implements.
4. Implement the smallest root-cause fix in scope. Remove every named workaround. If the root cause is out of scope, land the smallest in-scope fix and report the rest open. The **principle-fix-root-causes** and **principle-redesign-from-first-principles** skills guide intent only: fix real causes, redesign as if requirements always existed, never bolt on symptom guards. Neither authorizes widening the fence nor fixing instances outside it.
5. Collect constraint comments. `do not remove`, `do not change wording`, and `talk to X before changing` are enforcement claims: encode then delete, or delete, even if a related issue/RFC link or gotcha survives. Issue/RFC links explaining constraints keep their exception. Rewrite a directive as a factual gotcha only if proven current and the rewrite makes no enforcement claim. Offer the cheapest encoding: type, runtime, test, or CI lint. Tests and CI lints count as encodings. Every encoding stays in scope and replaces its comment. Interactive runs wait for approval; unattended or eval runs need caller pre-approval. If refused, out of scope, or unapproved, delete the comment, report the constraint open, and sketch out-of-scope work.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Autopilot drops constraint encodings

High Severity · Logic Bug

/no-comments only encodes constraint comments in unattended runs when the caller pre-approves encodings; otherwise it deletes them and leaves the constraint open. Autopilot-full and Autopilot-stack invoke /no-comments under full autonomy without granting that pre-approval, so merged or stacked PRs can lose enforcement comments without replacements.

Additional Locations (2)
Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 0469268. Configure here.

**You own the verdicts, never the PRs. One owner runs each PR from build to merge, and nothing merges without your clean swarm verdict.** For "autopilot this queue", "full autopilot", and one-owner-per-PR programs. The job is a queue of independent PRs handed over to drive to merged with full autonomy. Orchestrate runs a standing program whose coordinator lands verified work itself and whose workers never merge; here each PR's owner carries the whole lifecycle through the merge, and the root keeps only verification, countersigns, and audits.

1. **Mark the operator's items and honor state-then-wait.** Items the operator names stay hers. She reviews and she clicks, and no owner merges one. When she asks for the protocol or the plan to be stated, deliver the statement and stop. Execution starts only on her explicit go.
2. **Spawn one owner per PR with the full lifecycle.** One Cursor cloud agent per PR owns build, gt registration, self-proof on the real artifact (the **prove-it-works** principle skill), skeptical Bugbot triage via Cursor's built-in **babysit** skill, a slop-strip (the `deslop` skill from the `cursor-team-kit` plugin (`/deslop`)), `/no-comments` (the **no-comments** skill), a restack onto current trunk, the babysit loop to green (Cursor's built-in **babysit** skill), and the merge itself. The restack always precedes babysit and never waits for drift or conflicts. Every owner keeps a decisions.tsv trail per the **show-me-your-work** skill, never committed, returned with its reports. The merge is the one step an owner may not take alone; step 4 gates it.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Comment fixes may miss commit

Medium Severity · Potential Edge Case

Autopilot-full runs /no-comments, which can delete comments and implement MUST KILL fixes, then immediately restacks onto trunk. The owner lifecycle never says to commit or amend those edits first, so restack can proceed on a dirty tree or drop the fixes.

Additional Locations (1)
Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 0469268. Configure here.

github-actions Bot added a commit to SmailG/claude-cursor-plugins that referenced this pull request Aug 2, 2026
…o-comments, Comment Sicko, and /technical-writing (0.13.0) (cursor#185)

chore: sync with cursor/plugins — pstack: add autopilot playbooks, /no-comments, Comment Sicko, and /technical-writing (0.13.0) (cursor#185)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants