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: 1 addition & 1 deletion cursor-team-kit/skills/fix-ci/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
name: fix-ci
description: Find failing PR checks, inspect logs or external check links, and apply focused fixes
description: Find failing pull request checks, inspect logs or external check links, and apply focused fixes. Use when an open pull request on the current branch has a red host or continuous integration check, including during feature work, or when the user asks to get a pull request green.
---

# Fix CI
Expand Down
6 changes: 3 additions & 3 deletions pstack/skills/arena/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,11 +25,11 @@ If a candidate produces no output, proceed with N-1 and note the dropout.

## Phase C: Cross-judge

After all Phase B candidates complete, choose one model from the `arena cross-judge pool` line in `~/.cursor/rules/pstack-models.mdc`. If the rule or that line is missing, choose from `claude-opus-5-5-xhigh` and `grok-4.7-xhigh-fast`. Prefer a different model family from the parent's. Spawn one readonly judge subagent on that model. It sees the rubric and the candidates by path label, scores each criterion, and recommends a base with rationale. It runs in parallel with your reading in Phase D. Don't spawn it while candidates are still writing.
After all Phase B candidates complete, choose one model from the `arena cross-judge pool` line in `~/.cursor/rules/pstack-models.mdc`. If the rule or that line is missing, choose from `claude-opus-5-5-xhigh` and `grok-4.7-xhigh-fast`. Prefer a different model family from the parent's. Spawn one readonly judge subagent on that model. It sees the rubric and the candidates by path label, scores each criterion, and recommends a base with rationale. It runs in parallel with your reading in Phase D. Don't spawn it while candidates are still writing. Disqualify a candidate whose load-bearing claim fails a check against the repo, such as a manual excerpt, an existing render, or a prior image.

## Phase D: Pick a base

Read every candidate end to end before picking. Score each against the rubric criterion by criterion, not on holistic feel, and compare with the cross-judge. Agreement on the base confirms the pick. Disagreement means one of you is biased or the rubric was ambiguous. Read both rationales before deciding.
Read every candidate end to end before picking. Score each against the rubric criterion by criterion, not on holistic feel, and compare with the cross-judge. The judge's total is not sufficient when a load-bearing claim fails that repo check. Agreement on the base confirms the pick. Disagreement means one of you is biased or the rubric was ambiguous. Read both rationales before deciding.

Pick the base a future maintainer can extend most easily without breaking invariants. When two feel tied, prefer the cleaner boundary or smaller API, per the Laziness Protocol.

Expand All @@ -45,4 +45,4 @@ Verify the synthesized artifact like any other output, per the **prove-it-works*

## Outputs

One synthesized artifact, with a short synthesis note alongside naming the base and why, the cross-judge's verdict, each graft with its source candidate, what was rejected and why, any convergence or dropouts, and the verification result.
One synthesized artifact, with a short synthesis note alongside naming the base and why, the cross-judge's verdict, each graft with its source candidate, what was rejected and why, any convergence or dropouts, and the verification result. Keep that note in the session store or a repo note. A copy that exists only under `/tmp` is not the record.
2 changes: 1 addition & 1 deletion pstack/skills/how/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ When in doubt, take the simple path.

## 2. Explore (complex only)

Decompose the question into 2 to 4 angles, each a distinct slice of the subsystem. Spawn all explorers in a single message, each with `references/explorer-prompt.md` and its angle filled in.
Decompose the question into 2 to 4 angles, each a distinct slice of the subsystem. Spawn all explorers in a single message, each with `references/explorer-prompt.md` and its angle filled in. When the docs and a host probe can disagree on an interrupt or a device flag, measure on the host before the explainer locks that line.

## 3. Synthesize (complex only)

Expand Down
10 changes: 6 additions & 4 deletions pstack/skills/poteto-mode/playbooks/feature.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,17 @@
1. `how` over the affected subsystem.
2. `architect` for parallel design exploration.
3. Write the throughput checkpoint as four todo items. A dimension that genuinely does not apply (single file, no fan-out) keeps its item with `n/a: <reason>` rather than being dropped:
- **Blocking first steps.** Gates run before fan-out.
- **Blocking first steps.** Gates run before fan-out. A red host or pull request check on the branch is one of those gates. Reproduce it and fix it before how or architect.
- **Independent workstreams.** Disjoint files, services, or layers parallelize. Shared writes serialize.
- **Shared mutable state.** Default to splitting the target (the **separate-before-serializing-shared-state** principle skill). Serialize only for real invariants.
- **Smallest safe decomposition.** If one worker is best, name why.

Write these four items before architect fan-out and before code delegates. A missing item is not a start.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Feature gates run after design

Medium Severity · Logic Bug

The numbered Feature steps still run how and architect first, but the new checkpoint text tells the agent to reproduce a red host check and write the four items before those steps. Agents copy the steps in order, so the new gates run after design fan-out.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 9eb149e. Configure here.

4. Delegate code-writing to a subagent using your configured feature model (default `grok-4.7-xhigh-fast`) with a specific scope (file paths, named data shape and its organizing structure per **principle-model-the-domain**, a state machine over scattered booleans, a table/registry over branching, a typed model over repeated shape assumptions, chosen before the delegate writes logic, and success criteria). Pick each subagent's reasoning level and fast or standard speed for the job, per the Subagents section. When the implementation admits multiple valid shapes (error handling, abstraction layer, test structure), delegate via the **arena** skill instead so the runners surface the alternatives and the cross-judge guards the pick. Mandatory: no skip-with-reason escape, and Laziness Protocol does not override it (the gain is review separation, not lines saved). A subagent forbidden to spawn satisfies this by owning the diff directly with the same review separation. No "standing by" reply that waits on a nested agent. Comments per **Comments**. Surgical edits, re-ground against the source for upstream-derived files. Port shared-primitive improvements to all consumers and verify each. Commit liberally.
5. Verify on the matching surface. "Inconclusive" or wrong-surface is not a pass. Flag it.
5. Verify on the matching surface. "Inconclusive" or wrong-surface is not a pass. Flag it. For a block or device driver, that surface is the host render test plus the guest serial log, not protection-domain clippy alone. After a hardware delegate, review dword-aligned config cycles, message-signaled interrupt capability writes, and the device command bit before trusting clippy.
6. Rebase into small, ordered commits. Stack follow-ups.
Use the **sequence-verifiable-units** principle skill, building, verifying, and committing each small unit before the next.
7. If the design is contested, `interrogate` before shipping.
Use the **sequence-verifiable-units** principle skill, building, verifying, and committing each small unit before the next. Waiting to be asked for a commit does not waive those units. Land each green unit before the final push unless the operator waives that.
7. If the design is contested, `interrogate` before shipping. A green guest smoke does not cancel that step when how or arena left an explicit disagreement. A poll loop can hide a wrong interrupt record.
8. Run **Opening a PR**.

Code-coupled work (one feature, one migration) goes to a single owner with the checkpoint inline. That owner fans out internally after the blocking phase. Parent-level fan-out is for slices that produce independent artifacts (audits, cross-subsystem investigations, competing experiments). Rewrite the checkpoint at phase boundaries. Spawn a fresh owner rather than chaining interrupts.
Expand Down
2 changes: 1 addition & 1 deletion pstack/skills/poteto-mode/playbooks/opening-a-pr.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ Invoked at the end of every other playbook.

**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. Commit bodies don't restate the subject.

**PRs.** Run `/deslop` from `cursor-team-kit` over the diff before commit and `/no-comments` before review. Write every PR title, description, and commit body with `/technical-writing` (every layer except Diátaxis, and apply the STE vocabulary rules: one word per action, keep articles, a plain verb over `-ing` where one works), then apply `/unslop`.
**PRs.** Before create, run `gh pr view` for the branch, or `gh pr list --head`. If a pull request already exists, push and edit its title and body. Do not open a second one. Run `/deslop` from `cursor-team-kit` over the diff before commit and `/no-comments` before review. Write every PR title, description, and commit body with `/technical-writing` (every layer except Diátaxis, and apply the STE vocabulary rules: one word per action, keep articles, a plain verb over `-ing` where one works), then apply `/unslop`.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

PR check ignores Origin and OPEN

Medium Severity · Bugbot Rules

The new existence check runs only gh pr view or gh pr list --head and then edits whatever pull request it finds. That is the first PR operation, before forge resolution, so Origin-hosted work misses the existing pull request and opens a second one. gh pr view can also return a closed pull request and then block a new open. This drops forge-neutral Origin handling and the sole-OPEN preference.

Additional Locations (1)
Fix in Cursor Fix in Web

Triggered by learned rule: pstack PR playbooks stay forge-neutral

Reviewed by Cursor Bugbot for commit 9eb149e. Configure here.


**Titles.** Conventional Commits `type(scope): subject`, no trailing period. Type such as `feat`, `fix`, `docs`, `refactor`, `test`, `chore`, or `perf`. Scope is the area, such as `pstack` or `poteto-mode`. Subject is short, imperative, and names a real symbol when one carries the change, for example `fix(pstack): retarget opening-a-pr babysit trigger`.

Expand Down
1 change: 1 addition & 0 deletions pstack/skills/principle-prove-it-works/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ Check the real thing, not a proxy:
- Check process liveness directly, not indirectly through derived state
- Read the actual value, not a cached or derived representation
- When verification fails, suspect the observation method before suspecting the system
- After a subagent reports success, rerun the same command. Only that exit code and the artifact count as proof

## Script the check when you can

Expand Down