Skip to content
Merged
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
10 changes: 6 additions & 4 deletions plugins/aidd-refine/CATALOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,9 +50,10 @@ Auto-generated index of skills, agents, references and assets shipped by the `ai
| Group | File | Description |
|-------|------|---|
| `actions` | [01-challenge.md](skills/02-challenge/actions/01-challenge.md) | - |
| `assets` | [report-template.md](skills/02-challenge/assets/report-template.md) | - |
| `-` | [README.md](skills/02-challenge/README.md) | - |
| `references` | [confidence-rubric.md](skills/02-challenge/references/confidence-rubric.md) | - |
| `-` | [SKILL.md](skills/02-challenge/SKILL.md) | `Rethink prior work to verify correctness against an agreed plan, classifying findings as deal-breakers, suggestions, or correct, with a confidence score. Use when the user says "challenge this", "rethink your plan", "is this correct", "review my last decision", "challenge my decision", "challenge what you did", "is my decision right", "criticize this", "find flaws", or asks for a critical review of just-completed work. Do NOT use for line-by-line code review against a style guide, implementing features, writing tests, or generating new code.` |
| `-` | [SKILL.md](skills/02-challenge/SKILL.md) | `Rethink just-completed work against an agreed plan, classify findings as deal-breakers, suggestions, or correct, with a confidence score. Use to challenge a decision, criticize, or critically review recent work; not for line-by-line style review or writing code.` |

#### `skills/03-condense`

Expand All @@ -62,7 +63,7 @@ Auto-generated index of skills, agents, references and assets shipped by the `ai
| `actions` | [02-stats.md](skills/03-condense/actions/02-stats.md) | - |
| `-` | [README.md](skills/03-condense/README.md) | - |
| `references` | [intensity-levels.md](skills/03-condense/references/intensity-levels.md) | - |
| `-` | [SKILL.md](skills/03-condense/SKILL.md) | `Toggle terse output mode with intensity levels (lite, full, ultra) so prose drops articles, filler, and pleasantries while code, quoted errors, and security warnings stay verbatim. Also reports real token usage and estimated savings under condense mode for the current session. Use when the user says "condense", "condense output", "be more concise", "shorter answers", "tighten output", "/condense", "/condense full", "/condense ultra", "stop condense", "normal mode", "/condense-stats", "how much have we saved", or "token savings". Do NOT use for editing existing prose, summarizing a long document, or compressing source code (only output style is affected, not content).` |
| `-` | [SKILL.md](skills/03-condense/SKILL.md) | `Toggle terse output mode (lite, full, ultra) that drops filler while code, errors, and warnings stay verbatim, and report token savings for the session. Use to condense output, shorten answers, switch intensity, or check savings; not for editing prose or compressing code.` |

#### `skills/04-shadow-areas`

Expand All @@ -77,7 +78,7 @@ Auto-generated index of skills, agents, references and assets shipped by the `ai
| `references` | [locked-sets.json](skills/04-shadow-areas/references/locked-sets.json) | - |
| `references` | [probe-style.md](skills/04-shadow-areas/references/probe-style.md) | - |
| `references` | [severity-rubric.md](skills/04-shadow-areas/references/severity-rubric.md) | - |
| `-` | [SKILL.md](skills/04-shadow-areas/SKILL.md) | `Analytical scan of a markdown artifact (idea, user-stories, PRD, spec) to surface blind spots - unstated assumption, missing actor, missing failure mode, ambiguous term, missing acceptance criterion, missing edge case, and missing dependency - emitting a structured shadow report grouped by category and sorted by severity. Use when the user says "find blind spots in this spec", "what's missing in this PRD", "shadow report", "shadow analysis", "scan for gaps", "find what's missing", "spot blind spots", "review for gaps", or asks for an analytical gap scan of a written artifact. Do NOT use for interactive clarification through iterative Q&A (use aidd-refine:01-brainstorm for that), implementing features, writing tests, or reviewing code style.` |
| `-` | [SKILL.md](skills/04-shadow-areas/SKILL.md) | `Scan a markdown artifact (idea, user stories, PRD, spec) for blind spots and emit a structured shadow report grouped by category and sorted by severity. Use to find gaps, missing parts, or what's missing in a written artifact; not for interactive Q&A (use aidd-refine:01-brainstorm) or code review.` |

#### `skills/05-fact-check`

Expand All @@ -89,6 +90,7 @@ Auto-generated index of skills, agents, references and assets shipped by the `ai
| `assets` | [report-template.md](skills/05-fact-check/assets/report-template.md) | - |
| `-` | [README.md](skills/05-fact-check/README.md) | - |
| `references` | [claim-categories.md](skills/05-fact-check/references/claim-categories.md) | - |
| `references` | [report-output-discipline.md](skills/05-fact-check/references/report-output-discipline.md) | - |
| `references` | [verification-cascade.md](skills/05-fact-check/references/verification-cascade.md) | - |
| `-` | [SKILL.md](skills/05-fact-check/SKILL.md) | `Verify factual claims in a piece of text against authoritative sources and rewrite it with footnote citations, hedging any claim that cannot be confirmed. Runs a cheapest-first verification cascade (project memory and docs, then codebase inspection, then web lookup) and reports both sources when they disagree. Use when the user says "fact-check this", "verify that claim", "are you sure about that", "is that actually true", "cite your sources", "where did you get that fact", "did you make that up", "double-check the version you gave me", "vΓ©rifie cette information", or "es-tu sΓ»r de Γ§a". Do NOT use to auto-guard the AI's own output (this skill only fires on an explicit request), to judge code logic correctness, or to clarify vague requirements through iterative Q&A - use `aidd-refine:01-brainstorm` for that.` |
| `-` | [SKILL.md](skills/05-fact-check/SKILL.md) | `Verify factual claims in a text against authoritative sources and rewrite it with footnote citations, hedging anything unconfirmed. Use to fact-check, verify a claim, or cite sources on explicit request; not for judging code logic or clarifying vague requirements (use aidd-refine:01-brainstorm).` |

20 changes: 7 additions & 13 deletions plugins/aidd-refine/skills/02-challenge/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,38 +1,32 @@
---
name: 02-challenge
description: Rethink prior work to verify correctness against an agreed plan, classifying findings as deal-breakers, suggestions, or correct, with a confidence score. Use when the user says "challenge this", "rethink your plan", "is this correct", "review my last decision", "challenge my decision", "challenge what you did", "is my decision right", "criticize this", "find flaws", or asks for a critical review of just-completed work. Do NOT use for line-by-line code review against a style guide, implementing features, writing tests, or generating new code.
description: Rethink just-completed work against an agreed plan, classify findings as deal-breakers, suggestions, or correct, with a confidence score. Use to challenge a decision, criticize, or critically review recent work; not for line-by-line style review or writing code.
---

# Challenge

Rethink prior work and surface what is wrong, missing, or duplicated. Output a structured report with a confidence score so the user knows whether to ship, iterate, or rework.

## Available actions
## Actions

| # | Action | Role | Input |
| --- | ----------- | ------------------------------------------------------------- | ------------------------------ |
| 01 | `challenge` | Rethink prior work, classify findings, score confidence | review_target + agreed_plan |
| 01 | `challenge` | Rethink prior work, classify findings, score confidence | the work + agreed reference |

## Default flow

Single action skill. The router dispatches to `challenge` whenever the trigger phrases above appear.

## Transversal rules

- Think in first principles. Every step must be logical, with no gap and no missing information.
- Challenge own assumptions and the user's decisions before declaring confidence.
- Look for edge cases, errors, inconsistencies, missing parts, duplications, and optimizations.
- Reason from first principles, no logical gaps.
- Aim for simplifications. If the work can be smaller, say so.
- Output the structured report verbatim per the action's `## Outputs` block.
- Fill `assets/report-template.md` verbatim.

## References

- `@references/confidence-rubric.md`: tiered rubric for the confidence percentage.
- `references/confidence-rubric.md`: tiered rubric for the confidence percentage.

## Assets

- None.

## External data

- None.
- `assets/report-template.md`: findings report skeleton, filled per run.
40 changes: 13 additions & 27 deletions plugins/aidd-refine/skills/02-challenge/actions/01-challenge.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,39 +2,25 @@

Rethink prior work and verify correctness against an agreed plan, then emit a structured findings report.

## Inputs
## Input

- `review_target` (required): what to review. One of: last assistant turn, specific file paths, plan document, or commit range.
- `agreed_plan` (required): the prior agreement, specification, or set of requirements to compare against.
- The work to review: the last answer, specific files, a plan, or a commit range.
- The agreed reference to judge it against: a plan, a spec, or stated requirements. Without one, judge against stated user intent.

## Outputs
## Output

```text
My confidence level of correctness now: XX%

# Previous work to review

# Correctness (100%)
-

# Deal breakers
-

# Suggestions (enhancements only)
-
```
The findings report following `@../assets/report-template.md`: a confidence percentage plus the Correctness, Deal breakers, and Suggestions sections.

## Process

1. Read `review_target` and align it against `agreed_plan`.
2. Challenge own assumptions and the user's decisions.
3. Scan for edge cases, errors, gaps, duplications, and inconsistencies.
4. Classify each finding as Correctness, Deal breaker, or Suggestion.
5. Score confidence per the rubric in `references/confidence-rubric.md`.
6. Emit the Output report verbatim.
1. **Align.** Read the work and line it up against the agreed reference.
2. **Challenge.** Challenge own assumptions and the user's decisions.
3. **Scan.** Scan for edge cases, errors, gaps, duplications, and inconsistencies.
4. **Classify.** Classify each finding as Correctness, Deal breaker, or Suggestion.
5. **Score.** Score confidence per the rubric in `@../references/confidence-rubric.md`.
6. **Emit.** Fill `@../assets/report-template.md` verbatim and emit it.

## Test

- The emitted report contains a confidence percentage and the three classification sections.
- `confidence >= 95%` if and only if the Deal breakers section is empty.
- The confidence value sits in the rubric tier consistent with the findings.
- The report has a confidence percentage and the Correctness, Deal breakers, and Suggestions sections.
- The Deal breakers section is non-empty only when confidence is below 75%.
14 changes: 14 additions & 0 deletions plugins/aidd-refine/skills/02-challenge/assets/report-template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
<!-- Challenge findings report skeleton. Fill each section verbatim, keep the header order. -->

My confidence level of correctness now: XX%

# Previous work to review

# Correctness (100%)
-

# Deal breakers
-

# Suggestions (enhancements only)
-
24 changes: 9 additions & 15 deletions plugins/aidd-refine/skills/03-condense/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
---
name: 03-condense
description: Toggle terse output mode with intensity levels (lite, full, ultra) so prose drops articles, filler, and pleasantries while code, quoted errors, and security warnings stay verbatim. Also reports real token usage and estimated savings under condense mode for the current session. Use when the user says "condense", "condense output", "be more concise", "shorter answers", "tighten output", "/condense", "/condense full", "/condense ultra", "stop condense", "normal mode", "/condense-stats", "how much have we saved", or "token savings". Do NOT use for editing existing prose, summarizing a long document, or compressing source code (only output style is affected, not content).
description: Toggle terse output mode (lite, full, ultra) that drops filler while code, errors, and warnings stay verbatim, and report token savings for the session. Use to condense output, shorten answers, switch intensity, or check savings; not for editing prose or compressing code.
argument-hint: condense | stats
---

# Condense

Toggles a terse output mode with three intensity levels (lite, full, ultra). Strips articles, filler, and pleasantries from prose while preserving technical substance, code blocks, quoted errors, and security warnings.

## Available actions
## Actions

| # | Action | Role | Input |
| --- | ---------- | --------------------------------------------------------------------- | ------------------------------------ |
| 01 | `condense` | Toggle terse mode and apply intensity rules | current_state + requested_intensity |
| 02 | `stats` | Report real token usage and estimated savings for the current session | session log + intensity timeline |
| 01 | `condense` | Toggle terse mode and apply intensity rules | current state + requested level |
| 02 | `stats` | Report real token usage and estimated savings for the current session | session messages + level timeline |

## Default flow

Expand All @@ -25,24 +25,18 @@ Router dispatches by intent:
## Transversal rules

- **Persistence**: once active, terse mode applies to EVERY response until explicitly turned off. Do not drift back to verbose prose after many turns, when uncertain, or when the task changes. The level remains active for the rest of the session unless changed or stopped.
- **Off switch**: terse mode stops only on explicit user signal - `stop condense`, `normal mode`, `/condense off`, or invoking the skill again to toggle.
- **Off switch**: terse mode stops only on explicit user signal: `stop condense`, `normal mode`, `/condense off`, or invoking the skill again to toggle.
- **Toggle**: invoking the skill while active toggles it off; invoking while off turns it on at the default level (`full`) unless an explicit intensity is given.
- **Drop fluff**: drop articles (a/an/the), filler (just/really/basically/actually/simply), pleasantries (sure/certainly/of course/happy to), and hedging. Fragments are acceptable.
- **Short synonyms**: prefer short words (big not extensive, fix not "implement a solution for"). Technical terms stay exact. Code blocks are unchanged. Errors are quoted verbatim.
- **Pattern**: `[thing] [action] [reason]. [next step].`
- Bad: "Sure! I'd be happy to help you with that. The issue you're experiencing is likely caused by..."
- Good: "Bug in auth middleware. Token expiry check uses `<` not `<=`. Fix:"
- **Auto-pause** (drop terse mode for these passages, then resume): security warnings, irreversible action confirmations, multi-step sequences where fragment order or omitted conjunctions risk misread, compression itself creating technical ambiguity, user asks to clarify or repeats a question.
- **Boundaries**: code, commits, and pull request bodies are written in normal English regardless of intensity. The intensity level persists until toggled off or until session end.
- **Auto-pause**: drop terse mode for the passages listed in `references/intensity-levels.md` (security warnings, irreversible confirmations, ambiguity risks), then resume.
- **Boundaries**: code, commits, and pull request bodies are written in normal English regardless of intensity.

## References

- `@references/intensity-levels.md`: detailed per-level rules and side-by-side examples.

## Assets

- None.
- `references/intensity-levels.md`: detailed per-level rules and side-by-side examples.

## External data

- `../hooks/condense-stats.js` - UserPromptSubmit hook that intercepts stats triggers, reads the session transcript, and returns the formatted savings report without invoking the model.
- `../hooks/condense-stats.js`: UserPromptSubmit hook that intercepts stats triggers, reads the session transcript, and returns the formatted savings report without invoking the model.
35 changes: 11 additions & 24 deletions plugins/aidd-refine/skills/03-condense/actions/01-condense.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,39 +2,26 @@

Toggle terse output mode and apply the requested intensity rules to subsequent prose turns.

## Inputs
## Input

- `current_state` (required): inferred from session context. Either `on` (with current intensity level) or `off`.
- `requested_intensity` (required): one of `lite`, `full`, `ultra`, or `toggle` to flip the current state.
- Whether condense is currently on (and at which level) or off, read from session context.
- The requested change: a level (lite, full, ultra) or a plain on/off toggle.

## Outputs
## Output

```text
Condense: ON (full).
Articles dropped, filler removed. Code, errors, warnings stay verbatim. Stop with "stop condense" or "normal mode".
```

Or on off:

```text
Condense: OFF.
Normal prose resumed.
```
A single confirmation line: `Condense: ON (<level>).` when enabling, or `Condense: OFF.` when disabling.

## Process

1. Detect the toggle command and target intensity from the user message.
2. Resolve the new state by combining `current_state` with `requested_intensity`:
1. **Detect.** Read the toggle command and target level from the user message.
2. **Resolve.** Combine the current state with the request:
- Explicit level (`lite | full | ultra`) sets that level (or switches level if already on).
- `toggle` flips on/off; default level when turning on is `full`.
- Off phrases (`stop condense`, `normal mode`, `/condense off`) force off.
3. Emit the confirmation block with the resolved state filled in.
4. Apply the transversal rules to every subsequent prose turn until the next off signal, using per-level rules from `@../references/intensity-levels.md`.
5. **Hold persistence.** Do not drift back to verbose prose across many turns, when uncertain, or when the topic changes. Auto-pause only for the specific passages listed in the reference.
3. **Emit.** The reply MUST begin with this exact line, filled in and unaltered: `Condense: ON (<level>).` when enabling, or `Condense: OFF.` when disabling. The stats action and the hook parse this line from the transcript, so never paraphrase, decorate, or omit it.
4. **Apply.** Apply the transversal rules to every subsequent prose turn until the next off signal, using per-level rules and auto-pause passages from `@../references/intensity-levels.md`.

## Test

- After turning condense ON: the next non-code, non-warning assistant turn drops articles consistent with the active intensity.
- After turning condense OFF: the next assistant turn returns to normal prose.
- Code blocks, quoted errors, and security warnings remain verbatim regardless of condense state.
- After 5 consecutive turns post-activation: the terse style is still applied (no drift back to verbose).
- After ON, the next non-code, non-warning turn drops articles at the active intensity; after OFF, it returns to normal prose.
- Code blocks, quoted errors, and security warnings stay verbatim regardless of state.
Loading