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
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,7 @@

## 1. Breaking Changes Analysis

Fetch the official migration guide via WebFetch. For each breaking change, grep `src/`, config files,
and `package.json` to determine applicability. Produce two tables:
Fetch the official migration guide via WebFetch. For each breaking change, grep `src/`, config files, and `package.json` to determine applicability. Produce two tables:

**問題なし(対応不要)**

Expand All @@ -26,14 +25,12 @@ Key areas to check:

## 2. Companion Package Check

Some packages must be upgraded together in the same commit to avoid version mismatch.
Check `package.json` for known companion pairs:
Some packages must be upgraded together in the same commit to avoid version mismatch. Check `package.json` for known companion pairs:

- `@sveltejs/kit` + `@sveltejs/vite-plugin-svelte`
- `eslint` + `@eslint/js`

Also verify peer dependency compatibility (`"eslint": "^8 || ^9 || ^10"` style) for all
related packages already installed.
Also verify peer dependency compatibility (`"eslint": "^8 || ^9 || ^10"` style) for all related packages already installed.

If companion packages are found, include them in the upgrade scope.

Expand Down Expand Up @@ -66,9 +63,6 @@ pnpm check
pnpm test:unit
```

> **`pnpm check` tip:** If type errors appear and you have uncommitted changes, run
> `git stash && pnpm check 2>&1 | tail -5` to confirm whether errors are pre-existing.
> Restore with `git stash pop`. If there is nothing to stash, skip this check — without
> a baseline to compare against, it gives no useful signal.
> **`pnpm check` tip:** If type errors appear and you have uncommitted changes, run `git stash && pnpm check 2>&1 | tail -5` to confirm whether errors are pre-existing. Restore with `git stash pop`. If there is nothing to stash, skip this check — without a baseline to compare against, it gives no useful signal.

Update the plan.md `- [ ]` checklist and add a verification results table when done.
14 changes: 14 additions & 0 deletions .agents/skills/extract-approach/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---
name: extract-approach
description: Use when a non-trivial problem has just been solved (bug fixed after debugging, tricky implementation completed, blocker resolved) and the session is about to move on. A solution without its learnings note is unfinished work.
argument-hint: '[task-name-en]'
---

Extract the approach from the just-solved problem into a learnings note for: $ARGUMENTS

**Skip when:** trivial fixes (typo, rename, config tweak), dependency bumps, or the insight is already covered by `docs/guides/agent-rules/` or the task's `plan.md`.

1. **Identify the problem** — the symptom from this session and what made it non-trivial; multiple candidates → confirm which one with AskUserQuestion
2. **Extract** — 問題 / 有効だったアプローチ / ハマった点 / 教訓 only; apply the extraction and abstraction rules in [instructions.md](instructions.md)
3. **Write the note** — `docs/dev-notes/YYYY-MM-DD/{task-name-en}/learning.md`; naming and format rules in [instructions.md](instructions.md)
4. **Escalate durable rules** — propose target file and exact wording for project-wide conventions; **do not apply without user confirmation**
34 changes: 34 additions & 0 deletions .agents/skills/extract-approach/instructions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# extract-approach instructions

## What to extract

Record only what changes future behavior. No session log, no timestamps, no narration of the order things happened in.

| Section | Content |
| -------------------- | --------------------------------------------- |
| 問題 | Symptom and root cause, one line each |
| 有効だったアプローチ | What worked, and **why** it worked |
| ハマった点 | Dead ends actually tried, and why each failed |
| 教訓 | Reusable rules that apply beyond this task |

Omit a section that has nothing real to say. An empty ハマった点 is a signal the problem may have been trivial — reconsider the skip condition.

## Align abstraction (抽象度を揃える)

State every 教訓 at the same level of generality:

- One general rule per bullet, optionally followed by a single concrete example from this session.
- Never mix operational steps and principles in the same list.
- A bullet that only makes sense for this one file or this one bug is not a 教訓 — move it to 有効だったアプローチ or drop it.

## Note format

- Path: `docs/dev-notes/YYYY-MM-DD/{task-name-en}/learning.md`, using today's date.
- Directory name: `$ARGUMENTS` if given; else the `plan.md` directory name of the task this problem belongs to (when the session is executing one); else a short kebab-case name.
- Japanese prose, English code identifiers, 30 lines or fewer.
- One semantic paragraph or list item per line; no width-based hard line breaks.
- If the file already exists, append a `---`-separated entry instead of rewriting it.

## Escalating to a durable rule

A 教訓 belongs in a rules document when it would apply to an unrelated future task in the same path. Propose the target file under `docs/guides/agent-rules/` (or `AGENTS.md` for a project-wide principle) and the exact wording, then wait for the user's decision.
Original file line number Diff line number Diff line change
Expand Up @@ -36,4 +36,4 @@ Read stdout from `--reporter=default` / `--reporter=verbose`. **Never read a cac
- **A test catching nothing that other tests miss** — a deletion candidate. Confirm by re-running the full mutant set without it.
- **N tests failing on one mutant** — not N times the value. Parameterized cases over one fixture usually report the same fact N times; the count is a proxy, not evidence.

Record the matrix in the commit message or `plan.md` when it justifies removing tests — it is the evidence `.claude/rules/testing.md` requires for a deliberate test-count drop.
Record the matrix in the commit message or `plan.md` when it justifies removing tests — it is the evidence `docs/guides/agent-rules/testing.md` requires for a deliberate test-count drop.
45 changes: 0 additions & 45 deletions .claude/rules/accessibility.md

This file was deleted.

1 change: 1 addition & 0 deletions .claude/rules/accessibility.md
60 changes: 0 additions & 60 deletions .claude/rules/auth.md

This file was deleted.

1 change: 1 addition & 0 deletions .claude/rules/auth.md
96 changes: 0 additions & 96 deletions .claude/rules/coding-style.md

This file was deleted.

1 change: 1 addition & 0 deletions .claude/rules/coding-style.md
13 changes: 0 additions & 13 deletions .claude/rules/github-actions.md

This file was deleted.

1 change: 1 addition & 0 deletions .claude/rules/github-actions.md
Loading
Loading