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
4 changes: 2 additions & 2 deletions skills/how/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ Then proceed to Step 3.

### Step 2b. Direct Explain (simple questions)

Spawn a single subagent subagent that explores and explains in one pass:
Spawn a single subagent that explores and explains in one pass:

- `agent`: `oracle`
- omit `model` to use the configured oracle profile
Expand All @@ -71,7 +71,7 @@ Proceed to Step 4.

### Step 3. Synthesize (complex questions only)

Once all explorers return, spawn a single subagent subagent to synthesize their findings into one coherent explanation:
Once all explorers return, spawn a single subagent to synthesize their findings into one coherent explanation:

- `agent`: `oracle`
- omit `model` to use the configured oracle profile
Expand Down
2 changes: 1 addition & 1 deletion skills/no-comments/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ Use the caller's files or diff. Otherwise use the current diff against the base

## Steps

1. Spawn `subagent` with `agent: "Comment Sicko"`. Pass the scope. Do not restate its rules.
1. Spawn `subagent` with `agent: "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 that treat kept intentional code as guilty. Reshape flags on our-code surprises stay actionable. Do not restore those comments. A keep survives only with proof it is about something we cannot change. Audit missed scoped lint and TypeScript suppressions. Correctness or 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 `/skill:how` or `/skill: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 `/skill: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 `/skill: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.
Expand Down
4 changes: 4 additions & 0 deletions test/resources/resources.test.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -120,11 +120,14 @@ test("active resources use Pi runtime contracts", async () => {
["symbolic model profile", /profile:(?:fast|reasoning|instruction|review)/],
["unsupported subagents.profiles", /subagents\.profiles/],
["unsupported read-write acceptance role", /acceptanceRole:\s*read-write/],
["Comment Sicko spawn", /agent: "Comment Sicko"/],
["doubled subagent", /subagent subagent/],
]) {
assert.doesNotMatch(corpus, pattern, `${token} remains in active resources`);
}
const mode = await readFile(join(skillsDir, "poteto-mode", "SKILL.md"), "utf8");
const how = await readFile(join(skillsDir, "how", "SKILL.md"), "utf8");
const noComments = await readFile(join(skillsDir, "no-comments", "SKILL.md"), "utf8");
const recall = await readFile(join(skillsDir, "recall", "SKILL.md"), "utf8");
const shipping = await readFile(
join(skillsDir, "poteto-mode", "playbooks", "shipping.md"),
Expand All @@ -133,6 +136,7 @@ test("active resources use Pi runtime contracts", async () => {
assert.match(mode, /workflowScript/);
assert.match(how, /runs\.all/);
assert.match(mode, /\bask\b/);
assert.match(noComments, /agent: "comment-sicko"/);
assert.match(recall, /PI_SESSION_FILE/);
assert.match(shipping, /gh stack/);
assert.match(shipping, /Graphite/);
Expand Down