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
67 changes: 25 additions & 42 deletions .agents/skills/sce-decision/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
---
name: sce-decision
description: >
Write one immutable ADR for one qualifying system-wide decision
Write one immutable ADR for one decision already qualified by context synchronization
---

# SCE Decision

## Purpose

Write exactly one architecture decision record for one qualifying system-wide
important decision during successful task context synchronization. Return
a deterministic internal handoff to the invoking synchronization phase. Do not
render an independent user-visible response.
Write exactly one architecture decision record for one decision already qualified
by successful task context synchronization. Return a deterministic internal
handoff to the invoking synchronization phase. Do not render an independent
user-visible response.

## Input

Expand All @@ -28,28 +28,22 @@ synchronization. It must identify:
Do not accept raw workflow arguments, ordinary phase state, multiple decisions,
or direct user invocation. Do not reconstruct missing material facts.

## Decision gate

A decision qualifies only when it establishes or changes a system-wide important
constraint involving at least one of:

- System boundaries or ownership.
- Public or cross-domain interfaces.
- Data models or persistence.
- Compatibility contracts.
- Security posture.
- Deployment or distribution strategy.
- A major dependency.
- A similarly durable constraint that is costly or risky to reverse.

Routine implementation details, local refactors, naming and formatting choices,
temporary experiments, and easily reversible choices do not qualify. When the
request does not demonstrate the threshold, return `not_qualified` (or
`skipped` when the caller deliberately skips the gate); do not create an ADR
merely because context synchronization occurred. A nonqualifying or skipped
result is non-blocking, so the invoking synchronization phase continues
normally. Reserve `blocked` for missing, contradictory, or otherwise unsafe
decision input or history.
## Qualification handoff

The invoking task context synchronization phase solely owns the decision
qualification threshold and decides whether this skill is invoked. Treat the
caller's gate result as authoritative; do not redefine, broaden, or independently
rerun that threshold here.

Require the request to state why the caller qualified the decision and include
supporting evidence. If the request explicitly represents a nonqualifying gate
outcome, return `not_qualified` (or `skipped` when the caller deliberately skipped
the gate) without writing an ADR. If a claimed qualification is unsupported by
its supplied evidence, return `not_qualified`. Missing, contradictory, or
otherwise unsafe material input remains `blocked`.

`not_qualified` and `skipped` are non-blocking to the invoking synchronization
phase.

## Workflow

Expand Down Expand Up @@ -91,21 +85,10 @@ deterministic slug; never add an arbitrary counter and never overwrite a record.

### 4. Write the ADR

Create exactly one file using `references/adr-template.md` and these rules:

- **Context** states the forces and constraint that made a decision necessary.
- **Decision** states one resulting choice, not a list of unrelated choices.
- **Rationale** explains why this path best satisfies the constraints.
- **Alternatives considered** names credible alternatives and why they were not
selected.
- **Compatibility and risks** states compatibility effects, migration concerns,
and material risks with mitigations.
- **Guardrails** records durable limits that keep the decision narrow.
- **Consequences** records positive and negative resulting constraints.
- **Follow-up** lists only established work or conditions; use `None.` when no
follow-up is established.
- **References** links the plan, relevant tasks, evidence, current-state context,
related ADRs, and any superseded ADR.
Read `references/adr-template.md` before writing. It is the sole authority for
the persisted ADR schema and section semantics. Populate that template from the
validated request and evidence; do not restate or invent a parallel section
contract here.

Use repository-relative Markdown links where practical. Describe durable truth,
not the implementation session. Do not edit current-state context; the invoking
Expand Down
4 changes: 2 additions & 2 deletions .agents/skills/sce-decision/references/adr-template.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Decision: {concise decision title}

Date: {YYYY-MM-DD}
Status: {Proposed|Accepted|Rejected|Deprecated|Superseded}
Status: {validated decision status}
Plan: `{context/plans/plan-name.md}`
Task: `{task-id or comma-separated task IDs}`
Supersedes: `{context/decisions/YYYY-MM-DD-prior-decision.md}`
Expand All @@ -14,7 +14,7 @@ Omit `Task` or `Supersedes` only when it does not apply. Do not omit `Plan`.

## Decision

{Exactly one durable system-wide choice.}
{Exactly one durable choice already qualified by task context synchronization.}

## Rationale

Expand Down
4 changes: 4 additions & 0 deletions .agents/skills/sce-next-task/references/context-sync.md
Original file line number Diff line number Diff line change
Expand Up @@ -157,6 +157,10 @@ verified classification and explain the difference in the report.

## 3.5 Record qualifying architecture decisions

This subsection is the sole owner of decision qualification. The threshold below
decides whether `sce-decision` is invoked; the decision skill consumes that gate
result and must not restate or broaden it.

During this successful synchronization, determine whether the completed change
establishes or changes a system-wide important constraint involving one or more
of:
Expand Down
67 changes: 25 additions & 42 deletions .claude/skills/sce-decision/SKILL.md

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions .claude/skills/sce-decision/references/adr-template.md

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 4 additions & 0 deletions .claude/skills/sce-next-task/references/context-sync.md

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

67 changes: 25 additions & 42 deletions .pi/skills/sce-decision/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
---
name: sce-decision
description: >
Write one immutable ADR for one qualifying system-wide decision
Write one immutable ADR for one decision already qualified by context synchronization
---

# SCE Decision

## Purpose

Write exactly one architecture decision record for one qualifying system-wide
important decision during successful task context synchronization. Return
a deterministic internal handoff to the invoking synchronization phase. Do not
render an independent user-visible response.
Write exactly one architecture decision record for one decision already qualified
by successful task context synchronization. Return a deterministic internal
handoff to the invoking synchronization phase. Do not render an independent
user-visible response.

## Input

Expand All @@ -28,28 +28,22 @@ synchronization. It must identify:
Do not accept raw workflow arguments, ordinary phase state, multiple decisions,
or direct user invocation. Do not reconstruct missing material facts.

## Decision gate

A decision qualifies only when it establishes or changes a system-wide important
constraint involving at least one of:

- System boundaries or ownership.
- Public or cross-domain interfaces.
- Data models or persistence.
- Compatibility contracts.
- Security posture.
- Deployment or distribution strategy.
- A major dependency.
- A similarly durable constraint that is costly or risky to reverse.

Routine implementation details, local refactors, naming and formatting choices,
temporary experiments, and easily reversible choices do not qualify. When the
request does not demonstrate the threshold, return `not_qualified` (or
`skipped` when the caller deliberately skips the gate); do not create an ADR
merely because context synchronization occurred. A nonqualifying or skipped
result is non-blocking, so the invoking synchronization phase continues
normally. Reserve `blocked` for missing, contradictory, or otherwise unsafe
decision input or history.
## Qualification handoff

The invoking task context synchronization phase solely owns the decision
qualification threshold and decides whether this skill is invoked. Treat the
caller's gate result as authoritative; do not redefine, broaden, or independently
rerun that threshold here.

Require the request to state why the caller qualified the decision and include
supporting evidence. If the request explicitly represents a nonqualifying gate
outcome, return `not_qualified` (or `skipped` when the caller deliberately skipped
the gate) without writing an ADR. If a claimed qualification is unsupported by
its supplied evidence, return `not_qualified`. Missing, contradictory, or
otherwise unsafe material input remains `blocked`.

`not_qualified` and `skipped` are non-blocking to the invoking synchronization
phase.

## Workflow

Expand Down Expand Up @@ -91,21 +85,10 @@ deterministic slug; never add an arbitrary counter and never overwrite a record.

### 4. Write the ADR

Create exactly one file using `references/adr-template.md` and these rules:

- **Context** states the forces and constraint that made a decision necessary.
- **Decision** states one resulting choice, not a list of unrelated choices.
- **Rationale** explains why this path best satisfies the constraints.
- **Alternatives considered** names credible alternatives and why they were not
selected.
- **Compatibility and risks** states compatibility effects, migration concerns,
and material risks with mitigations.
- **Guardrails** records durable limits that keep the decision narrow.
- **Consequences** records positive and negative resulting constraints.
- **Follow-up** lists only established work or conditions; use `None.` when no
follow-up is established.
- **References** links the plan, relevant tasks, evidence, current-state context,
related ADRs, and any superseded ADR.
Read `references/adr-template.md` before writing. It is the sole authority for
the persisted ADR schema and section semantics. Populate that template from the
validated request and evidence; do not restate or invent a parallel section
contract here.

Use repository-relative Markdown links where practical. Describe durable truth,
not the implementation session. Do not edit current-state context; the invoking
Expand Down
4 changes: 2 additions & 2 deletions .pi/skills/sce-decision/references/adr-template.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Decision: {concise decision title}

Date: {YYYY-MM-DD}
Status: {Proposed|Accepted|Rejected|Deprecated|Superseded}
Status: {validated decision status}
Plan: `{context/plans/plan-name.md}`
Task: `{task-id or comma-separated task IDs}`
Supersedes: `{context/decisions/YYYY-MM-DD-prior-decision.md}`
Expand All @@ -14,7 +14,7 @@ Omit `Task` or `Supersedes` only when it does not apply. Do not omit `Plan`.

## Decision

{Exactly one durable system-wide choice.}
{Exactly one durable choice already qualified by task context synchronization.}

## Rationale

Expand Down
4 changes: 4 additions & 0 deletions .pi/skills/sce-next-task/references/context-sync.md
Original file line number Diff line number Diff line change
Expand Up @@ -157,6 +157,10 @@ verified classification and explain the difference in the report.

## 3.5 Record qualifying architecture decisions

This subsection is the sole owner of decision qualification. The threshold below
decides whether `sce-decision` is invoked; the decision skill consumes that gate
result and must not restate or broaden it.

During this successful synchronization, determine whether the completed change
establishes or changes a system-wide important constraint involving one or more
of:
Expand Down
Loading
Loading