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
4 changes: 2 additions & 2 deletions .claude-plugin/marketplace.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"$schema": "https://anthropic.com/claude-code/marketplace.schema.json",
"name": "context-engineering-kit",
"version": "3.9.0",
"version": "3.9.1",
"description": "Hand-crafted collection of advanced context engineering techniques and patterns with minimal token footprint focused on improving agent result quality.",
"owner": {
"name": "NeoLabHQ",
Expand Down Expand Up @@ -77,7 +77,7 @@
{
"name": "sdd",
"description": "Specification Driven Development workflow commands and agents, based on Github Spec Kit and OpenSpec. Uses specialized agents for effective context management and quality review.",
"version": "3.5.0",
"version": "3.5.1",
"author": {
"name": "Vlad Goncharov",
"email": "vlad.goncharov@neolab.finance"
Expand Down
57 changes: 57 additions & 0 deletions .claude/rules/verbatim-move-keeps-block-form.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
---
title: A Verbatim Move Preserves Block Form, Including Blocks That Look Redundant
paths:
- "plugins/**/*.md"
- ".claude/agents/**/*.md"
- ".claude/rules/**/*.md"
---

# A Verbatim Move Preserves Block Form, Including Blocks That Look Redundant

When an instruction says to move or inline content **without summarising or rephrasing**, copy every
block in its original form — tables stay tables, fences stay fences — even when a block restates
something already stated elsewhere in the destination. Judging a block redundant and folding it into
prose is an edit, not a move: it changes what a reader scanning for a table will find, and it hides
inside a diff that otherwise looks like a faithful transplant. If a block really is duplicated,
report the duplication and let the reviewer decide; do not resolve it inside the move.

## Incorrect

The source's output-contract table is judged redundant with a richer table earlier in the host file,
so its four rows are folded into one sentence. The words survive; the table does not.

```markdown
<!-- source -->
| Scratchpad section | Produced by |
|--------------------|-------------|
| `## Phase 1: Requirements Discovery` | STAGE 1 |
| `## Phase 2: Concept Extraction` | STAGE 2 |
| `## Phase 3: Requirements Analysis` (incl. the Acceptance Criteria Draft) | STAGE 3 |
| `## Phase 4: Draft Output` (refined description, scope summary) | STAGE 4 |

<!-- after the "move" -->
MUST contain every section of the sub-step table above: `## Phase 1: Requirements Discovery` (2.1),
`## Phase 2: Concept Extraction` (2.2), `## Phase 3: Requirements Analysis` incl. the Acceptance
Criteria Draft (2.3), and `## Phase 4: Draft Output` — refined description, scope summary (2.4).
```

## Correct

The table is copied as a table; only the stage identifiers are re-anchored to the host's numbering.

```markdown
MUST contain:

| Scratchpad section | Produced by |
|--------------------|-------------|
| `## Phase 1: Requirements Discovery` | 2.1 |
| `## Phase 2: Concept Extraction` | 2.2 |
| `## Phase 3: Requirements Analysis` (incl. the Acceptance Criteria Draft) | 2.3 |
| `## Phase 4: Draft Output` (refined description, scope summary) | 2.4 |
```

## Reference

- `.claude/rules/scope-bounded-token-budget.md` — the companion rule for content outside the change.
- Verify a move with counts, not impressions: compare fences, table rows and headings against the
pre-change file and account for every shortfall.
Loading