AgentStack
SKILL verified MIT Self-run

Basic Design

skill-yasunori0418-skills-basic-design · by yasunori0418

spec.md の REQ-# を入力に、機能一覧・モジュール構成・インターフェース・データフローを持つ docs/dev/<対象>/basic-design.md を作成・改訂するスキル。/basic-design <対象名> で明示的に呼び出されたときのみ使用する。

No reviews yet
0 installs
0 views
view→install

Install

$ agentstack add skill-yasunori0418-skills-basic-design

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README — it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-yasunori0418-skills-basic-design)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
today

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming — see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps — measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Basic Design? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

basic-design: 基本設計書の作成・改訂

feature-spec と対をなす 基本設計書 1 本 を作る単機能スキル。成果物は docs/dev//basic-design.md。仕様が「何を満たすか(REQ-#)」を定義するのに対し、 基本設計は 「どう実現するか」 を定義し、各機能を REQ-# へ紐づけて 要求に紐づかない機能 = スコープ外混入 を機械検出可能にする。

このスキルがやらないこと

  • 実装しない。コードの作成・修正は範囲外。
  • 仕様を書かない・改訂しない。要求の追加・変更が必要になったら /feature-spec

の改訂モードへ回す(設計側で要求を勝手に足さない。それがスコープドリフトの発生源)。

  • 詳細設計に踏み込みすぎない。クラス単位の内部実装・アルゴリズムの逐次手順は実装工程の

領分。基本設計は 境界(モジュール・インターフェース・データの流れ) までを確定させる。

  • テスト成果物を作らない・直さないdocs/test// は testing スキル群の担当。

このスキルが従う原則

1. 単体動作(graceful degradation)

  • 成果物の既定パスは docs/dev//basic-design.md
  • プロジェクト側(CLAUDE.md / AGENTS.md 等)に成果物の配置規約があればそちらを優先する
  • 主入力: docs/dev//spec.mdREQ-# を参照して機能一覧を導出する)。
  • 任意入力(あれば整合を取るが、無くても成立する):
  • docs/test//test-analysis.md(テスト条件 TC-#。観測点・境界の洗い出しに使う)
  • docs/test//test-case.md(テストケース CASE-#。設計が想定する入出力と突合する)
  • docs/dev/definition-of-done.md(完成の定義)
  • 任意のレビュードキュメント・ユーザーの直接指示
  • spec.md が無くても作れる。ユーザーの直接指示・任意のレビュードキュメントを入力に

設計書を書いてよい。ただしその場合、機能一覧の「対応要求」列が - になり、 セルフ機械検査が「要求に紐づかない機能」として検出する。 先に /feature-spec を実行して仕様を確定させることを推奨する 旨を利用者へ伝え、 それでも進めるなら検査 NG が出ることを了解のうえで進める。

2. 調査優先 + 決定のみ質問

  • 事実はリポジトリ調査で埋める。既存のモジュール構成・レイヤ分け・命名規約・

依存の向き・公開契約は、利用者に訊く前に自分で調べる。既存構成に馴染む設計を出す。

  • 利用者にしか決められない判断だけAskUserQuestion(推奨案を先頭)で確認する。

本スキルでは 設計方式の選択・既存構成を変えるか否か・分割の粒度・改訂提案の採否 が これに当たる。トレードオフのある選択は選択肢と代償を添えて訊く。

  • 流れは 調査 → ドラフト提示 → 承認 → 規約パスへ書き込み。承認前に確定ファイルを書かない。

3. 記述品質

  • 曖昧語(「適宜」「など」「柔軟に」「必要に応じて」)を設計文から排する。
  • 略号・コードネームを定義なしで使わない。初出で正式名称・意味を併記する。
  • インターフェースは 呼び出し側が実装なしで使える粒度 で書く(名前・入力・出力・

エラー時の振る舞い)。「よしなに返す」で終わらせない。

4. Progressive disclosure

  • 本文は簡潔に保ち、雛形は references/ に置く。
  • テンプレ: [references/template.md](references/template.md)(basic-design.md の雛形)。

機能一覧の REQ-# 契約(下流が依存する形式)

  • 機能一覧は | 機能 | 対応要求 | 概要 | のテーブル で書く。
  • 対応要求列に REQ-# を必ず書く。1 機能が複数要求にまたがるなら REQ-01/03 と併記する。
  • 実在しない REQ-# を書かない(spec.md に無い ID は機械検査で検出される)。
  • 要求に紐づかない機能を足さない。設計中に「これも要るのでは」と気づいたら、

勝手に足さず /feature-spec の改訂モードで要求として立てる ことを提案する。

  • test-case.md があるときは CASE-# との対応が取れるかを確認する(機械検査も突合する)。

手順

引数は `。省略されたら docs/dev/` 配下の既存ディレクトリを一覧して選択を求める。

docs/dev//basic-design.md の存在で 作成モード(無い)と 改訂モード(ある)に 分岐する。

作成モード

手順 1: 入力の確認
  • docs/dev//spec.md を読む。無ければ原則 1 に従い、/feature-spec の先行実行を

推奨したうえで、進めるかを利用者に確認する。

  • 任意入力(test-analysis.md / test-case.md / definition-of-done.md)の有無を確認し、

あるものだけを読む。何を読んで何が無かったかを利用者へ 1 行で報告する。

手順 2: 既存構成の調査

リポジトリを調査して、設計の前提になる事実を集める:

  • 既存のモジュール構成・レイヤ分け・ディレクトリ規約
  • 依存の向き(どの層がどの層を呼んでよいか)と、既存の公開契約
  • 新機能が差し込まれる接続点(拡張ポイント・既存のインターフェース)
  • 既存の設定・データ書式(新しい書式を足すべきか、既存に乗るべきか)
手順 3: 機能一覧の導出

spec.mdREQ-# を 1 件ずつ辿り、実現に必要な機能へ分解してテーブルにする。

  • 1 要求が複数機能に割れることも、複数要求が 1 機能に集約されることもある。

どちらでもよいが、対応要求列が空の行を作らない

  • REQ-# が少なくとも 1 つの機能から参照されているかを確認する(要求の取りこぼし検出)。
手順 4: 設計の作成

[references/template.md](references/template.md) の構成でドラフトを作り、承認後に docs/dev//basic-design.md へ書き込む。必須セクションは 機能一覧 / モジュール構成 / インターフェース / データフロー の 4 つ。

  • モジュール構成: 新設・変更するモジュールと責務、依存の向き。既存構成との関係を明示する。
  • インターフェース: 公開する関数・API・CLI 引数・ファイル書式・イベントの契約

(名前 / 入力 / 出力 / エラー時の振る舞い)。

  • データフロー: 入力がどこから来てどう変換され、どこへ出るか。状態を持つなら

どこが持つか。異常系の流れも書く。

手順 5: セルフ機械検査

後述の「セルフ機械検査」を実行し、NG があればその場で直してから完了宣言する。

改訂モード

既存の docs/dev//basic-design.md を検出したら改訂モードに入る。

手順 1: 未反映の改善提案を収集

以下の入力源を横断して、まだ設計へ反映されていない 指摘・提案を集める。 入力源は疎結合で、どれか 1 つでもあれば成立する:

  • docs/test// 配下のテスト成果物の「改善提案」セクション

test-design.md / test-analysis.md 等。設計の観測可能性・テスト容易性の指摘が集まる)

  • docs/test//test-review-*.md の「未解消の指摘」
  • spec.md の改訂で増えた REQ-#(機能一覧に未反映のものが無いか突合する)
  • ユーザーの直接指示・任意のレビュードキュメント
手順 2: 取捨選択

収集した提案を一覧で提示し、AskUserQuestion(推奨案を先頭)で採否を確認する。 各提案には「反映すると設計のどこが変わるか」(機能追加 / インターフェース変更 / モジュール移動)を添える。インターフェースの破壊的変更 はその旨を明示する。

手順 3: 反映

採用された提案だけを basic-design.md へ反映する。

  • 機能を足すときは 必ず対応する REQ-# を確認する。対応要求が無い機能は反映せず、

/feature-spec の改訂モードで要求を立てることを提案する。

  • spec.md から要求が消えている場合、それを参照する機能行は孤児になる。

機能ごと落とすか、要求を復活させるかを利用者に確認する。

  • テスト成果物側の改善提案の 削除はしない(testing スキルの責務)。
手順 4: セルフ機械検査

作成モードと同じ(下記)。

セルフ機械検査

終了前に、test-review の決定論スクリプトを design-doc モードで自分に対して実行する。

 design-doc docs/dev/ [docs/test/]
  • 第 2 引数は開発ドキュメントのディレクトリ(docs/dev/)。
  • 第 3 引数のテストドキュメントディレクトリは省略可(省略時は docs/dev/ から

docs/test/ を自動導出する)。

  • 検査内容: 必須セクションの存在 / 機能一覧の各項の REQ-# 参照必須と実在 /

test-case.md があれば CASE-# との対応突合。

スクリプトの探索

次の順で探し、最初に見つかったものを使う:

  1. 作業リポジトリ内の skills/testing/test-review/scripts/review-check.sh
  2. install 済み testing-skills プラグインの同一パス

~/.claude/plugins/ 配下等。プラグインの配置は環境で変わるため実在確認をしてから使う)

どちらにも無ければ検査をスキップし、その旨を利用者へ明示する(例: 「review-check.sh が見つからないためセルフ機械検査をスキップした。testing-skills を install するか、/test-review design-doc で別途ゲートを通してほしい」)。 スクリプトの不在を理由に設計作成を失敗させない(原則 1: graceful degradation)。

NG が出たとき

NG は形式契約の違反であり事実なので、利用者判定を待たずにその場で直す。 ただし「対応要求が - の機能がある」NG は、要求側を足さないと直せない。この場合は 自分で要求を捏造せず、/feature-spec の実行を提案 して NG が残る旨を明示する。 SKIP(test-case.md が無い等)は問題ではない。

終了条件

以下を全て満たしたら 「 の基本設計は完了」と明言 して閉じる。満たしていない項目が あれば、何が残っているかを列挙して先へ進めない。

  1. 入力の有無を確認・報告済み(spec.md の有無、任意入力で読んだもの)。
  2. docs/dev//basic-design.md が規約パスへ書き込み済みで、必須 4 セクションを持つ。
  3. 機能一覧の全行に対応要求(REQ-#)が入っている、または - が残る理由を利用者へ明示済み。
  4. セルフ機械検査が NG ゼロ、または残る NG の理由・スクリプト不在によるスキップを

利用者へ明示済み。

完了後の次の一手として、以下を 提案するに留める(本スキルは実行しない):

  • 正式ゲート: /test-review design-doc
  • テスト設計: /test-design
  • 実装フェーズ: 基本設計と test-case.md から実装計画を組み立てる

用語

  • 基本設計(basic design): 要求を実現する構造(モジュール・インターフェース・データの流れ)を

確定させる工程。内部実装の詳細には踏み込まない。

  • インターフェース(interface): モジュール間の公開契約。名前・入力・出力・エラー時の振る舞い。
  • スコープ外混入: 要求に紐づかない機能が設計に紛れ込む状態。機能一覧の REQ-# 参照必須で

機械検出する。

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.