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
212 changes: 212 additions & 0 deletions .claude/skills/pair-capability-grill/SKILL.md

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# Decision: `pair-capability-grill` Runs Standalone Without Composition Context

## Date

2026-07-08

## Status

Active

## Category

Process Decision

## Context

Story #229 (`pair-capability-grill` — reusable interview engine) needed to decide whether the skill requires a composing caller (`/pair-process-brainstorm`, `/pair-process-refine-story`) to function, or whether it can run directly when a human invokes it standalone (e.g. "grill me on X").

During #229's refinement session this was resolved as an open question (**Q8**) and recorded only in the story body's "Refinement Session Insights" ("Q8 decided — standalone yes, write-free with optional working/ handoff") — never formalized as a decision record, even though the shipped `SKILL.md` cites "decision Q8" inline as if a durable record existed (`.claude/skills/pair-capability-grill/SKILL.md`, Composition Interface § standalone case). This follows the same pattern closed for D21/Q11 in #232 (`2026-07-08-husky-default-hook-manager.md`) — this ADL closes the equivalent gap for Q8.

## Decision

**`pair-capability-grill` runs standalone with no composition context required.** When invoked directly (not composed by another skill), `$mode` defaults to `interview`; if `$topic` is also omitted, the opening question of the interview simply asks for it. `sync` mode is the one exception — it always requires a target story (`$story`), whether composed or standalone, since sync has no meaning without a story to align on.

Standalone sessions remain write-free like composed ones: the synthesis is printed in conversation rather than returned to a caller, and a `.pair/working/` handoff file is offered (not auto-written) on interruption or explicit request.

## Alternatives Considered

- **Require a composing caller always**: rejected — would make grill unusable for a human who just wants an ad-hoc interview (e.g. "grill me on this design before I build it"), which is the skill's most direct, lowest-friction use case and the one explicitly named in the story's own Business Rules.
- **Standalone mode auto-writes a handoff file**: rejected — contradicts the write-free-by-design contract; a human running an ad-hoc interview may not want a file left behind for a quick, disposable exploration. Handoff stays opt-in.

## Consequences

- `pair-capability-grill`'s Step 0 (Detect Mode and Target) does not HALT when no composing skill and no `$context` are present — this is expected, not an error path, for `interview` mode.
- Documentation, examples, and the Composition Interface section must keep the standalone case as a first-class path, not an edge case bolted onto composed usage.

## Adoption Impact

- No adoption file changes required — this is a skill-internal behavioral decision, not a project-level configuration choice.
- `pair-capability-grill` `SKILL.md` (dataset + installed mirror) already documents this decision inline (Composition Interface § standalone: "decision Q8").
15 changes: 11 additions & 4 deletions .pair/knowledge/skills-guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,9 @@ Run `/pair-next` at the start of every session. It reads project adoption files
| Type | Count | Purpose |
|------|-------|---------|
| **Process** | 9 | Lifecycle phases — orchestrate capability skills |
| **Capability** | 23 | Atomic units — perform a single focused operation |
| **Capability** | 24 | Atomic units — perform a single focused operation |

Process skills compose capability skills. Capability skills are independently invocable. Total: 33 (9 process + 23 capability + 1 navigator).
Process skills compose capability skills. Capability skills are independently invocable. Total: 34 (9 process + 24 capability + 1 navigator).

## Full Catalog

Expand All @@ -37,7 +37,7 @@ Process skills compose capability skills. Capability skills are independently in

> How-to guides 04 and 05 (subdomain/bounded-context definition) no longer map to a process skill — see [Domain Modeling Skills](#domain-modeling-skills-2) below and [Migration Notes](#migration-notes).

### Capability Skills (23)
### Capability Skills (24)

#### Domain Modeling Skills (2)

Expand Down Expand Up @@ -94,6 +94,12 @@ Reclassified from process to capability (D24) — see [Callers Matrix](#callers-
| `/pair-capability-assess-code-quality` | Code quality metrics assessment |
| `/pair-capability-manage-flags` | Feature flag lifecycle management |

#### Discovery Skills (1)

| Skill | Scope |
|-------|-------|
| `/pair-capability-grill` | Reusable interview engine (interview / sync modes), write-free |

## Directory Structure

```text
Expand Down Expand Up @@ -121,7 +127,8 @@ Reclassified from process to capability (D24) — see [Callers Matrix](#callers-
│ ├── setup-gates/
│ ├── setup-pm/
│ ├── assess-code-quality/
│ └── manage-flags/
│ ├── manage-flags/
│ └── grill/
└── next/ # Navigator skill
└── SKILL.md
```
Expand Down
7 changes: 3 additions & 4 deletions apps/website/content/docs/contributing/writing-skills.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@ This guide walks you through creating a new skill for the pair Knowledge Base.

| Type | Count | Purpose |
|------|-------|---------|
| **Process** | 11 | Lifecycle phases — orchestrate capability skills (e.g., `/implement`, `/review`) |
| **Capability** | 19 | Atomic units — perform a single focused operation (e.g., `/verify-quality`, `/record-decision`) |
| **Process** | 9 | Lifecycle phases — orchestrate capability skills (e.g., `/implement`, `/review`) |
| **Capability** | 24 | Atomic units — perform a single focused operation (e.g., `/verify-quality`, `/record-decision`) |

Process skills **compose** capability skills. Capability skills are independently invocable.

Expand Down Expand Up @@ -177,6 +177,5 @@ Add your skill to `packages/knowledge-hub/dataset/.pair/knowledge/skills-guide.m
## Resources

- [Agent Skills specification](https://agentskills.io) — The open standard.
- [Skills Catalog](/docs/reference/skills-catalog) — Full list of all 30 pair skills.
- [Skills Catalog](/docs/reference/skills-catalog) — Full list of all 34 pair skills.
- [Skills concept](/docs/concepts/skills) — How skills fit into the pair ecosystem.

4 changes: 2 additions & 2 deletions apps/website/content/docs/reference/skill-management.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -164,7 +164,7 @@ If two different source paths flatten to the same installed name (e.g. `a/b/` an
| ------ | ----- | ------- |
| `pair-` | 1 | Top-level skills (only `next`) |
| `pair-process-` | 9 | Workflow orchestration skills |
| `pair-capability-` | 23 | Atomic operation skills |
| `pair-capability-` | 24 | Atomic operation skills |

### Transform Functions

Expand Down Expand Up @@ -267,6 +267,6 @@ No code change is required in `apps/pair-cli` — the `skills` registry (`config

## Related

- [Skills Catalog](/docs/reference/skills-catalog) — All 33 pair skills
- [Skills Catalog](/docs/reference/skills-catalog) — All 34 pair skills
- [Configuration Reference](/docs/reference/configuration) — config.json registry settings
- [KB Structure Reference](/docs/reference/kb-structure) — Directory layout
10 changes: 8 additions & 2 deletions apps/website/content/docs/reference/skills-catalog.mdx
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
---
title: Skills Catalog
description: Complete catalog of all 33 pair skills organized by type — process, capability, and meta.
description: Complete catalog of all 34 pair skills organized by type — process, capability, and meta.
---

pair ships with 33 skills organized into three types: **process** (workflow orchestration), **capability** (atomic operations), and **meta** (navigation). Each skill is a `SKILL.md` file invoked as a slash command by your AI coding assistant.
pair ships with 34 skills organized into three types: **process** (workflow orchestration), **capability** (atomic operations), and **meta** (navigation). Each skill is a `SKILL.md` file invoked as a slash command by your AI coding assistant.

> **Last updated:** 2026-07-07. Source: `packages/knowledge-hub/dataset/.skills/`

Expand Down Expand Up @@ -88,6 +88,12 @@ Reclassified from process skills — see [Migration Notes](/docs/reference/skill
| **write-issue** | `/pair-capability-write-issue` | Creates or updates issues in the adopted PM tool using template-driven formatting. |
| **estimate** | `/pair-capability-estimate` | Estimates a refined user story using the adopted estimation methodology. |

### Discovery Capabilities

| Skill | Command | Description |
| ----- | ------- | ----------- |
| **grill** | `/pair-capability-grill` | Reusable interview engine: one question at a time, always with a recommendation, exploring KB/codebase before asking. `sync` mode drives systematic AI-human alignment on a story until explicit shared understanding. Write-free — returns the synthesis to the caller. |

## Skill Properties

All skills share these properties:
Expand Down
15 changes: 11 additions & 4 deletions packages/knowledge-hub/dataset/.pair/knowledge/skills-guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,9 @@ Run `/next` at the start of every session. It reads project adoption files and P
| Type | Count | Purpose |
|------|-------|---------|
| **Process** | 9 | Lifecycle phases — orchestrate capability skills |
| **Capability** | 23 | Atomic units — perform a single focused operation |
| **Capability** | 24 | Atomic units — perform a single focused operation |

Process skills compose capability skills. Capability skills are independently invocable. Total: 33 (9 process + 23 capability + 1 navigator).
Process skills compose capability skills. Capability skills are independently invocable. Total: 34 (9 process + 24 capability + 1 navigator).

## Full Catalog

Expand All @@ -37,7 +37,7 @@ Process skills compose capability skills. Capability skills are independently in

> How-to guides 04 and 05 (subdomain/bounded-context definition) were removed — domain modeling is referenced inline by each real caller's own how-to (02, 03, 06, 09; 08 planned — #242). See [Domain Modeling Skills](#domain-modeling-skills-2) below and [Migration Notes](#migration-notes).

### Capability Skills (23)
### Capability Skills (24)

#### Domain Modeling Skills (2)

Expand Down Expand Up @@ -94,6 +94,12 @@ Reclassified from process to capability (D24) — see [Callers Matrix](#callers-
| `/assess-code-quality` | Code quality metrics assessment |
| `/manage-flags` | Feature flag lifecycle management |

#### Discovery Skills (1)

| Skill | Scope |
|-------|-------|
| `/grill` | Reusable interview engine (interview / sync modes), write-free |

## Directory Structure

```text
Expand Down Expand Up @@ -121,7 +127,8 @@ Reclassified from process to capability (D24) — see [Callers Matrix](#callers-
│ ├── setup-gates/
│ ├── setup-pm/
│ ├── assess-code-quality/
│ └── manage-flags/
│ ├── manage-flags/
│ └── grill/
└── next/ # Navigator skill
└── SKILL.md
```
Expand Down
Loading
Loading