@shinaps/skills 0.50.1 → 0.50.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -5,15 +5,30 @@ import { packageRoot } from "../lib/layout.js";
5
5
  import { LINEAR_CONFIG_VERSION, validateLinearConfig } from "../lib/linear-config.js";
6
6
  import { validateManagedConfig } from "../lib/managed-config.js";
7
7
  import { managed } from "../lib/managed.js";
8
- import { run } from "../lib/install.js";
8
+ import { INSTALL_COMMAND, run } from "../lib/install.js";
9
9
  import { autoUpdate } from "../lib/auto-update.js";
10
10
  import { lint } from "../lib/lint.js";
11
- import { ruleCoverage } from "../lib/rule-coverage.js";
12
- import { ruleSnapshot } from "../lib/rule-snapshot.js";
11
+ import { RULE_COVERAGE_COMMAND, ruleCoverage } from "../lib/rule-coverage.js";
12
+ import { RULE_SNAPSHOT_COMMAND, ruleSnapshot } from "../lib/rule-snapshot.js";
13
13
  import { errorMessage } from "../lib/fs.js";
14
+ const usage = [
15
+ `Usage: ${INSTALL_COMMAND}`,
16
+ ' shinaps-skills validate-linear-config <file>',
17
+ ' shinaps-skills validate-managed-config <file>',
18
+ ' shinaps-skills managed <setup|run|status|reply|collect> (see managed --help)',
19
+ ' shinaps-skills auto-update <enable|disable|status|check> codex',
20
+ ' shinaps-skills lint --checks <checks.json> --root <project> --out <result.json> -- <files...>',
21
+ ` ${RULE_SNAPSHOT_COMMAND}`,
22
+ ` ${RULE_COVERAGE_COMMAND}`,
23
+ 'Claude Code: /plugin marketplace add sh1n4ps/shinaps-skills',
24
+ ' /plugin install shinaps@shinaps-skills',
25
+ ].join('\n');
14
26
  const [command, ...rest] = process.argv.slice(2);
15
27
  try {
16
- if (command === '--version') {
28
+ if (!command || command === 'help' || command === '--help') {
29
+ console.log(usage);
30
+ }
31
+ else if (command === '--version') {
17
32
  console.log(JSON.parse(await readFile(join(packageRoot, 'package.json'), 'utf8')).version);
18
33
  }
19
34
  else if (command === 'validate-linear-config') {
@@ -5,23 +5,10 @@ import { spawnSync } from 'node:child_process';
5
5
  import { registerPlugin, replaceInstallation, restore, } from "./transaction.js";
6
6
  import { withLock } from "./lock.js";
7
7
  import { readTextIfExists, sha256, writeFileAtomic } from "./fs.js";
8
- import { RULE_COVERAGE_COMMAND } from "./rule-coverage.js";
9
- import { RULE_SNAPSHOT_COMMAND } from "./rule-snapshot.js";
10
8
  import { codexHomeMismatch, codexHomeOf, isRecordedCodexHome, managedAgent, managedRoot, marketplaceName, packageRoot, payloadDir, payloadPaths, pluginDir, pluginId, statePath, } from "./layout.js";
11
9
  const actions = ['install', 'update', 'uninstall', 'recover'];
12
10
  const isAction = (value) => actions.includes(value);
13
- const usage = [
14
- 'Usage: shinaps-skills <install|update|uninstall|recover> codex',
15
- ' shinaps-skills validate-linear-config <file>',
16
- ' shinaps-skills validate-managed-config <file>',
17
- ' shinaps-skills managed <setup|run|status|reply|collect> (see managed --help)',
18
- ' shinaps-skills auto-update <enable|disable|status|check> codex',
19
- ' shinaps-skills lint --checks <checks.json> --root <project> --out <result.json> -- <files...>',
20
- ` ${RULE_SNAPSHOT_COMMAND}`,
21
- ` ${RULE_COVERAGE_COMMAND}`,
22
- 'Claude Code: /plugin marketplace add sh1n4ps/shinaps-skills',
23
- ' /plugin install shinaps@shinaps-skills',
24
- ].join('\n');
11
+ export const INSTALL_COMMAND = 'shinaps-skills <install|update|uninstall|recover> codex';
25
12
  const installGuidance = [
26
13
  'No Shinaps AI account is required to install. For MCP features, create an account at https://app.shinaps.ai and use your client’s authentication flow.',
27
14
  'MCP setup (only if not already configured): codex mcp add shinaps-ai --url https://app.shinaps.ai/mcp',
@@ -34,14 +21,9 @@ const installGuidance = [
34
21
  * @param options 動作環境の指定。`auto-update check` とテストが使う。
35
22
  */
36
23
  export async function run(args, options = {}) {
37
- const log = options.log ?? console.log;
38
24
  const [action, target, ...extra] = args;
39
- if (!action || action === '--help' || action === 'help') {
40
- log(usage);
41
- return;
42
- }
43
- if (!isAction(action) || target !== 'codex' || extra.length) {
44
- throw new Error(`Unknown command: ${args.join(' ')}. ${usage.split('\n')[0]} (see --help).`);
25
+ if (!action || !isAction(action) || target !== 'codex' || extra.length) {
26
+ throw new Error(`Unknown command: ${args.join(' ')}. Usage: ${INSTALL_COMMAND} (see --help).`);
45
27
  }
46
28
  const installation = openInstallation(options);
47
29
  switch (action) {
@@ -16,6 +16,7 @@
16
16
  - Managed の共通定義は `plugins/shinaps-claude/managed-agents/` を編集元として Codex 版へ複製し、テストで一致を確認する。Managed の skill の `staffing.md`・`workflow.md`・`launch.md` は Claude 版を写した適応版で一致はテストしないため(`review.md`・`design.md` は下の正本の複製でテストする)、Claude 版の工程・体制の基準を変えたら Managed への適用可否を判断する。
17
17
  - レビューの共通契約は `references/review.md` を正本とし、本文を Managed の skill の `references/review.md` に複製してテストで一致を確認する。Codex の `shinaps-reviewer` は、Claude 版の「レビューの種類」以降の本文を同じ文で持ち、テストで一致を確認する。担当の構成・対象の固定・完了の判定・採否は契約に、種類ごとの作業手順は役割の定義に、単独起動の対象・体制・到達点は `references/review-standalone.md` に、担当の起動と修正の引き継ぎ先だけを両版の `review` の `SKILL.md` に書く。
18
18
  - テスト方針は各版の `references/testing.md` を正本とし、その段落を役割定義と Managed の lead の定義に複製する。設計の観点は `references/dev/design.md` を正本とし、本文を独立設計担当(`shinaps-architect`)の定義と Managed の skill の `references/design.md` に複製する。どちらもテストで一致を確認する。
19
+ - 上の完全一致の複製(`references`・Managed の共通定義・Managed の skill の `review.md`・`design.md`)は、編集元を直した後に `npm run sync:copies` で依存の順に上書きできる(編集元で消したファイルは写しからも手で消す)。役割定義の本文やテスト方針の段落のような部分の写しは対象外で、手で揃える。
19
20
  - 役割の定義は Claude 版が Markdown、Codex 版が TOML、Managed 版が `ant apply` 用の frontmatter を付けた Markdown。サブエージェント内では shinaps MCP を直接呼ばず、rule の全文はスキル側から渡すか、スキル側が機械保存した snapshot のファイルを読ませる(MCP の利用量が重複せず、全文をモデルに書き写させないため)。この原則を全ての役割定義に書く。
20
21
  - `autonomous-commit-review` の役割は `commit` に統合した。旧 `linear` の入口は廃止し、`linear-plan`・`linear-execute` に分けた。規約照合と簡素化の独立した入口は `review` に統合し、規約の一括抽出の入口は廃止した(規約の登録は利用者がその場で依頼する)。個人用の別 AI 呼び出し・ブラウザ管理・ゴール管理・動画制作はこの plugin に含めない。Bridge 本体は同梱せず、導入済みの MCP と WebStorm プラグインを使う。
21
22
 
package/docs/install.md CHANGED
@@ -13,7 +13,7 @@ npx @shinaps/skills@latest uninstall codex
13
13
  npx @shinaps/skills@latest recover codex
14
14
  ```
15
15
 
16
- `install` はスキルを Codex plugin として登録し、10 個のサブエージェントを `${CODEX_HOME:-~/.codex}/agents/` へ配置します。新しいセッションから使えます。
16
+ `install` はスキルを Codex plugin として登録し、[サブエージェント](agents.md)を `${CODEX_HOME:-~/.codex}/agents/` へ配置します。新しいセッションから使えます。
17
17
 
18
18
  - 配布物は `~/.local/share/shinaps-ai/skills/codex/` に保持し、一時的な npx のキャッシュに依存しません。同じ親ディレクトリの `state.json` に、配置したエージェントと内容のハッシュを記録します。
19
19
  - 管理対象外の同名ファイルや、導入後に編集されたエージェントは上書き・削除せずに止まります。必要な変更を退避してから再実行してください。`CODEX_HOME` を変える場合は、元の配置先で先に `uninstall` します。
@@ -26,7 +26,7 @@ npx @shinaps/skills@latest recover codex
26
26
  設定の検証(`validate-linear-config`・`validate-managed-config`)、Managed Agents の操作(`managed`)、規約の機械検査と受け渡し(`lint`・`rule-snapshot`・`rule-coverage`、[規約の機械検査](lint.md))には、配布 CLI `shinaps-skills` を使います。CLI は plugin に含まれないため、利用中のスキルと同じ版を導入します。
27
27
 
28
28
  ```sh
29
- npm install -g @shinaps/skills@0.50.1
29
+ npm install -g @shinaps/skills@0.50.2
30
30
  shinaps-skills --version
31
31
  ```
32
32
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shinaps/skills",
3
- "version": "0.50.1",
3
+ "version": "0.50.2",
4
4
  "description": "Install Shinaps AI workflows and custom agents for Codex",
5
5
  "type": "module",
6
6
  "bin": {
@@ -23,6 +23,7 @@
23
23
  "test": "node --test \"test/*.test.ts\"",
24
24
  "check": "npm run format:check && tsc --noEmit",
25
25
  "verify:package": "node scripts/verify-package.ts",
26
+ "sync:copies": "node scripts/sync-copies.ts",
26
27
  "format": "biome format --write .",
27
28
  "format:check": "biome format ."
28
29
  },
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "shinaps",
3
3
  "description": "Shinaps AIの開発ワークフロー。プロジェクトの指示から条件を読み、調査・設計・実装・簡素化・レビュー・コミット・PR・リリースとLinearでの開発進行を支援する。",
4
- "version": "0.50.1",
4
+ "version": "0.50.2",
5
5
  "author": {
6
6
  "name": "shinaps"
7
7
  },
@@ -14,6 +14,10 @@
14
14
 
15
15
  依頼が種類を限定している場合(規約照合だけ、簡素化だけなど)は、限定された種類だけを依頼する。担当は1名とする。ただし ULTRA を同時に指定され、限定された種類に規約照合または可読性・慣習レビューが含まれるときは、その種類を技術領域ごとに1名へ依頼する。
16
16
 
17
+ 指摘の検証の担当は、この構成の人数とは別に、呼び出す入口の手順が定める条件で加える(単独の `review` は単独レビューの手順、dev は体制の判断に従う)。
18
+
19
+ 規約を照らす種類は、独立コードレビュー(rule 観点)・規約照合・可読性・慣習レビューとする。依頼する種類にこれらを含むときだけ、入口の手順で規約を取得し、機械検査と照合の範囲の報告を行う。実装の簡素化・指摘の検証だけのレビューでは規約の取得と機械検査を必須にせず、目的・維持する外部契約・コード・利用側・テストで判断する。ただし、規約を根拠にする指摘を検証するときは、その規約だけを(元のレビューの snapshot、または id からの全文の取得で)渡す。担当には渡した規約だけを読ませ、渡していない規約の読了を求めない。
20
+
17
21
  技術領域は、Web・API・iOSのように技術や実装慣習が違う領域とする。配布先・写し・文書の分類は、別の技術領域に数えない。技術領域ごとに担当を置く場合は、全変更ファイルがちょうど1名の範囲に属するようにし、足りない技術領域があれば担当を足す。複数担当なら確認範囲を明記し、重大な契約の独立確認を分担だけで置き換えない。
18
22
 
19
23
  ## 対象の固定
@@ -25,12 +29,12 @@
25
29
 
26
30
  ## 担当へ渡すもの
27
31
 
28
- - 共通: 目的、確認範囲、担当番号、固定した版と読む場所(一時worktreeのパスなど)、依頼する種類、規約全文または読むファイルの指定、合意済み仕様。入手できなかったもの(計画・受入条件など)はそのことを伝える。
32
+ - 共通: 目的、確認範囲、担当番号、固定した版と読む場所(一時worktreeのパスなど)、依頼する種類、合意済み仕様。規約を照らす種類では、規約全文または読むファイルの指定。入手できなかったもの(計画・受入条件など)はそのことを伝える。
29
33
  - 独立コードレビュー: 対象コード、全差分、利用側、計画、検証結果。計画自体も誤りうるものとして確かめさせる。設計適合性は、計画・受入条件・責務・依存方向と実コードを照合させる。
30
34
  - 規約照合: 対象ファイルの一覧と、変更範囲の確認コマンド。担当は対象ファイルの現状全文を読む。
31
35
  - 可読性・慣習レビュー: 担当する範囲の差分と対象ファイルの現状全文、先例。
32
36
  - 実装の簡素化: 目的、維持する外部契約、対象コード、計画。
33
- - 指摘の検証: 元の対象、検証する指摘の全文、確認範囲、外部調査があればその結果。
37
+ - 指摘の検証: 元の対象、検証する指摘の全文(規約を根拠にする指摘はその規約の全文または読むファイル)、確認範囲、外部調査があればその結果。
34
38
 
35
39
  ## 独立性
36
40
 
@@ -38,7 +42,7 @@
38
42
 
39
43
  ## 機械検査
40
44
 
41
- 規約に機械検査(`checks`)があり入口の手順で実行できるときは、対象の固定後、担当へ渡す前に実行する。版が変わったら実行し直し、前回の結果を引き継がない。
45
+ 規約を照らす種類を依頼し、規約に機械検査(`checks`)があり入口の手順で実行できるときは、対象の固定後、担当へ渡す前に実行する。版が変わったら実行し直し、前回の結果を引き継がない。
42
46
 
43
47
  - 全体を検査して違反が無いと確かめた組(規約×ファイル)と、違反を確かめた組は、そのファイルの rule 観点・規約照合から外す。外した規約の id をファイルごとに担当へ伝える。
44
48
  - 一部だけを検査した組は担当の照合に残し、機械検査の指摘を添える。
@@ -67,4 +71,4 @@
67
71
 
68
72
  ## 報告
69
73
 
70
- 固定した版、体制と担当、確認範囲と完了状態、全指摘の対象箇所・発生条件・影響・修正案と採否・根拠、既存箇所の指摘、機械検査の組の状態ごとの数と実行できなかった理由、未照合の規約、未確認の範囲、未解決の事項を報告する。推測と確認済みの事実、実施した検証と未実施を区別する。独立コードレビューを依頼し規約照合の種類を依頼しなかった場合は、規約を独立コードレビューの中で照らし、ファイルごとの完了一覧が無いことを書く。どちらも依頼しなかった場合は、規約を照合していないと書く。
74
+ 固定した版、体制と担当、確認範囲と完了状態、全指摘の対象箇所・発生条件・影響・修正案と採否・根拠、既存箇所の指摘、機械検査の組の状態ごとの数と実行できなかった理由、未照合の規約、未確認の範囲、未解決の事項を報告する。推測と確認済みの事実、実施した検証と未実施を区別する。規約照合の種類を依頼せず、規約を照らす他の種類を依頼した場合は、規約をその種類の中で照らし、ファイルごとの完了一覧が無いことを書く。規約を照らす種類を依頼しなかった場合は、規約を照合していないと書く。
@@ -4,7 +4,7 @@
4
4
 
5
5
  ## 検証CLIと契約版
6
6
 
7
- 利用中のskillとCLIの版を確認し、0.50.1のskillには同じ版のnpm CLIを導入する(`npm install -g @shinaps/skills@0.50.1`)。pluginだけにはCLIは含まれない。導入・更新は検証に必要な準備として行い、検証のたびに `npx latest` を取得しない。
7
+ 利用中のskillとCLIの版を確認し、0.50.2のskillには同じ版のnpm CLIを導入する(`npm install -g @shinaps/skills@0.50.2`)。pluginだけにはCLIは含まれない。導入・更新は検証に必要な準備として行い、検証のたびに `npx latest` を取得しない。
8
8
 
9
9
  0.48.0から `config_version: 3`(操作ごとの許可の一覧を廃止し `constraints` を必須にした契約)だけを受理する。0.47.x以前のCLIと `$schema` のURLはv3を拒否し、0.48.0以降はv2を拒否するため、skill・CLI・`$schema` の版を揃えてから下の[旧設定の移行](#旧設定の移行)を行う。
10
10
 
@@ -43,11 +43,11 @@
43
43
 
44
44
  ## 4. 規約と機械検査
45
45
 
46
- [Shinaps規約の取得](rules.md)の「照合のために取得する」に従い、対象ファイルについて snapshot を作り、同じ手順の「照合結果に書くこと」を報告に含める。取得できなければ規約照合を未確認として報告し、照合済みとしない(コードのレビューは続ける)。`checks` を持つ規約があれば[規約の機械検査](lint.md)の「照合で使う」を行う。プロジェクトの `AGENTS.md`・`CLAUDE.md` と関連 docs も担当へ渡す。その後、スキルの「担当の起動」に従って担当を起動する。
46
+ 依頼する種類が契約の「規約を照らす種類」を含むときは、[Shinaps規約の取得](rules.md)の「照合のために取得する」に従い、対象ファイルについて snapshot を作り、同じ手順の「照合結果に書くこと」を報告に含める。取得できなければ規約照合を未確認として報告し、照合済みとしない(コードのレビューは続ける)。`checks` を持つ規約があれば[規約の機械検査](lint.md)の「照合で使う」を行う。含まないときは、対象ファイルの snapshot と機械検査を行わない(指摘の検証の根拠の規約は契約のとおり渡す)。プロジェクトの `AGENTS.md`・`CLAUDE.md` と関連 docs は、どちらの場合も担当へ渡す。その後、スキルの「担当の起動」に従って担当を起動する。
47
47
 
48
48
  ## 5. 検証と報告
49
49
 
50
- 契約の「指摘の検証と統合」に従い、メインが全指摘を実コードで確かめて採否を決める。指摘の独立検証を依頼されたとき、またはメインと指摘元の根拠の対立が解消しないときは、別の担当に「指摘の検証」を依頼する。テストに関わる指摘は[テスト方針](testing.md)に従う。採否の確定後に[規約の適用結果](rules.md#適用結果を記録する)を既定で記録する(依頼でOFFにできる。失敗は未記録として報告する)。契約の「報告」と `findings.md` のパスを報告する。
50
+ 契約の「指摘の検証と統合」に従い、メインが全指摘を実コードで確かめて採否を決める。指摘の独立検証を依頼されたとき、メインと指摘元の根拠の対立が解消しないとき、または採否を誤ったときの影響が大きい簡素化の提案(公開契約や状態管理に触れる、影響が広範囲に及ぶなど)があるときは、別の担当1名に「指摘の検証」を依頼する。簡素化の提案はその提案だけを渡して、失う契約・増える複雑さ・変更範囲を確かめさせ、対象全体のレビューを繰り返さない。どの場合も、利用者が担当の人数を限っているときは追加せず、独立検証していない指摘として報告する(根拠の対立は未解決とする)。テストに関わる指摘は[テスト方針](testing.md)に従う。採否の確定後に[規約の適用結果](rules.md#適用結果を記録する)を既定で記録する(依頼でOFFにできる。失敗は未記録として報告する)。契約の「報告」と `findings.md` のパスを報告する。
51
51
 
52
52
  ## 6. 到達点
53
53
 
@@ -14,6 +14,10 @@
14
14
 
15
15
  依頼が種類を限定している場合(規約照合だけ、簡素化だけなど)は、限定された種類だけを依頼する。担当は1名とする。ただし ULTRA を同時に指定され、限定された種類に規約照合または可読性・慣習レビューが含まれるときは、その種類を技術領域ごとに1名へ依頼する。
16
16
 
17
+ 指摘の検証の担当は、この構成の人数とは別に、呼び出す入口の手順が定める条件で加える(単独の `review` は単独レビューの手順、dev は体制の判断に従う)。
18
+
19
+ 規約を照らす種類は、独立コードレビュー(rule 観点)・規約照合・可読性・慣習レビューとする。依頼する種類にこれらを含むときだけ、入口の手順で規約を取得し、機械検査と照合の範囲の報告を行う。実装の簡素化・指摘の検証だけのレビューでは規約の取得と機械検査を必須にせず、目的・維持する外部契約・コード・利用側・テストで判断する。ただし、規約を根拠にする指摘を検証するときは、その規約だけを(元のレビューの snapshot、または id からの全文の取得で)渡す。担当には渡した規約だけを読ませ、渡していない規約の読了を求めない。
20
+
17
21
  技術領域は、Web・API・iOSのように技術や実装慣習が違う領域とする。配布先・写し・文書の分類は、別の技術領域に数えない。技術領域ごとに担当を置く場合は、全変更ファイルがちょうど1名の範囲に属するようにし、足りない技術領域があれば担当を足す。複数担当なら確認範囲を明記し、重大な契約の独立確認を分担だけで置き換えない。
18
22
 
19
23
  ## 対象の固定
@@ -25,12 +29,12 @@
25
29
 
26
30
  ## 担当へ渡すもの
27
31
 
28
- - 共通: 目的、確認範囲、担当番号、固定した版と読む場所(一時worktreeのパスなど)、依頼する種類、規約全文または読むファイルの指定、合意済み仕様。入手できなかったもの(計画・受入条件など)はそのことを伝える。
32
+ - 共通: 目的、確認範囲、担当番号、固定した版と読む場所(一時worktreeのパスなど)、依頼する種類、合意済み仕様。規約を照らす種類では、規約全文または読むファイルの指定。入手できなかったもの(計画・受入条件など)はそのことを伝える。
29
33
  - 独立コードレビュー: 対象コード、全差分、利用側、計画、検証結果。計画自体も誤りうるものとして確かめさせる。設計適合性は、計画・受入条件・責務・依存方向と実コードを照合させる。
30
34
  - 規約照合: 対象ファイルの一覧と、変更範囲の確認コマンド。担当は対象ファイルの現状全文を読む。
31
35
  - 可読性・慣習レビュー: 担当する範囲の差分と対象ファイルの現状全文、先例。
32
36
  - 実装の簡素化: 目的、維持する外部契約、対象コード、計画。
33
- - 指摘の検証: 元の対象、検証する指摘の全文、確認範囲、外部調査があればその結果。
37
+ - 指摘の検証: 元の対象、検証する指摘の全文(規約を根拠にする指摘はその規約の全文または読むファイル)、確認範囲、外部調査があればその結果。
34
38
 
35
39
  ## 独立性
36
40
 
@@ -38,7 +42,7 @@
38
42
 
39
43
  ## 機械検査
40
44
 
41
- 規約に機械検査(`checks`)があり入口の手順で実行できるときは、対象の固定後、担当へ渡す前に実行する。版が変わったら実行し直し、前回の結果を引き継がない。
45
+ 規約を照らす種類を依頼し、規約に機械検査(`checks`)があり入口の手順で実行できるときは、対象の固定後、担当へ渡す前に実行する。版が変わったら実行し直し、前回の結果を引き継がない。
42
46
 
43
47
  - 全体を検査して違反が無いと確かめた組(規約×ファイル)と、違反を確かめた組は、そのファイルの rule 観点・規約照合から外す。外した規約の id をファイルごとに担当へ伝える。
44
48
  - 一部だけを検査した組は担当の照合に残し、機械検査の指摘を添える。
@@ -67,4 +71,4 @@
67
71
 
68
72
  ## 報告
69
73
 
70
- 固定した版、体制と担当、確認範囲と完了状態、全指摘の対象箇所・発生条件・影響・修正案と採否・根拠、既存箇所の指摘、機械検査の組の状態ごとの数と実行できなかった理由、未照合の規約、未確認の範囲、未解決の事項を報告する。推測と確認済みの事実、実施した検証と未実施を区別する。独立コードレビューを依頼し規約照合の種類を依頼しなかった場合は、規約を独立コードレビューの中で照らし、ファイルごとの完了一覧が無いことを書く。どちらも依頼しなかった場合は、規約を照合していないと書く。
74
+ 固定した版、体制と担当、確認範囲と完了状態、全指摘の対象箇所・発生条件・影響・修正案と採否・根拠、既存箇所の指摘、機械検査の組の状態ごとの数と実行できなかった理由、未照合の規約、未確認の範囲、未解決の事項を報告する。推測と確認済みの事実、実施した検証と未実施を区別する。規約照合の種類を依頼せず、規約を照らす他の種類を依頼した場合は、規約をその種類の中で照らし、ファイルごとの完了一覧が無いことを書く。規約を照らす種類を依頼しなかった場合は、規約を照合していないと書く。
@@ -42,7 +42,7 @@ Shinaps AIのMCPから規約を取得する手順。取得は呼出し元(メ
42
42
 
43
43
  ## 照合のために取得する
44
44
 
45
- 対象ファイルが確定した照合の手順。応答をモデルが書き写すと本文や `checks` が欠けうるので、plugin の hook(PostToolUse)が応答をそのまま `<Gitのルート>/.shinaps/work/rule-captures/` へ保存し、そこから `shinaps-skills rule-snapshot` が担当と機械検査の読むファイルを作る。保存先はGit管理の外のローカルで、サーバーへは送らない。
45
+ 対象ファイルが確定した照合の手順。応答をモデルが書き写すと本文や `checks` が欠けうるので、plugin の hook(PostToolUse)が応答をそのまま `<セッションの作業ディレクトリのGitのルート(無ければ作業ディレクトリ)>/.shinaps/work/rule-captures/` へ保存し、そこから `shinaps-skills rule-snapshot` が担当と機械検査の読むファイルを作る。保存先はGit管理の外のローカルで、サーバーへは送らない。
46
46
 
47
47
  1. 取得の前の時刻を `date +%s000` で記録する。
48
48
  2. 領域ごとに入力を作業記録の下(例: `rules/<領域>/input.json`)へ書く。「一覧を取る」と同じ条件で、`fields` だけ `"full"` にする。
@@ -53,7 +53,7 @@ Shinaps AIのMCPから規約を取得する手順。取得は呼出し元(メ
53
53
  shinaps-skills rule-snapshot --since <時刻> --input <input.json> [--exclude-label <slug>] --out <作業記録>/rules/<領域>
54
54
  ```
55
55
 
56
- 取得と同じGitのルートで実行する(別の場所なら `--captures <dir>` で保存先を渡す)。`rule-snapshot` が無いときは、利用中のスキルと同じ版のCLIを導入する。`--exclude-label` には、「全文を取る規約を選ぶ」の除外の条件に当たる軸のlabelだけを渡す(CLIはこの条件を判定しない)。除外した規約はidと理由が `manifest.json` に残る。
56
+ 取得と同じGitのルートで実行する。それと違う場所(プロジェクトを開かずに始めたチャットから対象のリポジトリで実行するときなど)では、捕捉はチャット側にあるので、その保存先を `--captures <dir>` で渡す。`rule-snapshot` が無いときは、利用中のスキルと同じ版のCLIを導入する。`--exclude-label` には、「全文を取る規約を選ぶ」の除外の条件に当たる軸のlabelだけを渡す(CLIはこの条件を判定しない)。除外した規約はidと理由が `manifest.json` に残る。
57
57
 
58
58
  出力は `manifest.json`(`contentHash`、入力、`ruleIds`、除外、partのhash)、`parts/part-NNN.json`(全文)、`lint-checks.json`(全文の `checks` そのまま)。
59
59
 
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "shinaps",
3
- "version": "0.50.1",
3
+ "version": "0.50.2",
4
4
  "description": "Shinaps AIのCodex向け開発ワークフロー",
5
5
  "skills": "./skills/"
6
6
  }
@@ -14,6 +14,10 @@
14
14
 
15
15
  依頼が種類を限定している場合(規約照合だけ、簡素化だけなど)は、限定された種類だけを依頼する。担当は1名とする。ただし ULTRA を同時に指定され、限定された種類に規約照合または可読性・慣習レビューが含まれるときは、その種類を技術領域ごとに1名へ依頼する。
16
16
 
17
+ 指摘の検証の担当は、この構成の人数とは別に、呼び出す入口の手順が定める条件で加える(単独の `review` は単独レビューの手順、dev は体制の判断に従う)。
18
+
19
+ 規約を照らす種類は、独立コードレビュー(rule 観点)・規約照合・可読性・慣習レビューとする。依頼する種類にこれらを含むときだけ、入口の手順で規約を取得し、機械検査と照合の範囲の報告を行う。実装の簡素化・指摘の検証だけのレビューでは規約の取得と機械検査を必須にせず、目的・維持する外部契約・コード・利用側・テストで判断する。ただし、規約を根拠にする指摘を検証するときは、その規約だけを(元のレビューの snapshot、または id からの全文の取得で)渡す。担当には渡した規約だけを読ませ、渡していない規約の読了を求めない。
20
+
17
21
  技術領域は、Web・API・iOSのように技術や実装慣習が違う領域とする。配布先・写し・文書の分類は、別の技術領域に数えない。技術領域ごとに担当を置く場合は、全変更ファイルがちょうど1名の範囲に属するようにし、足りない技術領域があれば担当を足す。複数担当なら確認範囲を明記し、重大な契約の独立確認を分担だけで置き換えない。
18
22
 
19
23
  ## 対象の固定
@@ -25,12 +29,12 @@
25
29
 
26
30
  ## 担当へ渡すもの
27
31
 
28
- - 共通: 目的、確認範囲、担当番号、固定した版と読む場所(一時worktreeのパスなど)、依頼する種類、規約全文または読むファイルの指定、合意済み仕様。入手できなかったもの(計画・受入条件など)はそのことを伝える。
32
+ - 共通: 目的、確認範囲、担当番号、固定した版と読む場所(一時worktreeのパスなど)、依頼する種類、合意済み仕様。規約を照らす種類では、規約全文または読むファイルの指定。入手できなかったもの(計画・受入条件など)はそのことを伝える。
29
33
  - 独立コードレビュー: 対象コード、全差分、利用側、計画、検証結果。計画自体も誤りうるものとして確かめさせる。設計適合性は、計画・受入条件・責務・依存方向と実コードを照合させる。
30
34
  - 規約照合: 対象ファイルの一覧と、変更範囲の確認コマンド。担当は対象ファイルの現状全文を読む。
31
35
  - 可読性・慣習レビュー: 担当する範囲の差分と対象ファイルの現状全文、先例。
32
36
  - 実装の簡素化: 目的、維持する外部契約、対象コード、計画。
33
- - 指摘の検証: 元の対象、検証する指摘の全文、確認範囲、外部調査があればその結果。
37
+ - 指摘の検証: 元の対象、検証する指摘の全文(規約を根拠にする指摘はその規約の全文または読むファイル)、確認範囲、外部調査があればその結果。
34
38
 
35
39
  ## 独立性
36
40
 
@@ -38,7 +42,7 @@
38
42
 
39
43
  ## 機械検査
40
44
 
41
- 規約に機械検査(`checks`)があり入口の手順で実行できるときは、対象の固定後、担当へ渡す前に実行する。版が変わったら実行し直し、前回の結果を引き継がない。
45
+ 規約を照らす種類を依頼し、規約に機械検査(`checks`)があり入口の手順で実行できるときは、対象の固定後、担当へ渡す前に実行する。版が変わったら実行し直し、前回の結果を引き継がない。
42
46
 
43
47
  - 全体を検査して違反が無いと確かめた組(規約×ファイル)と、違反を確かめた組は、そのファイルの rule 観点・規約照合から外す。外した規約の id をファイルごとに担当へ伝える。
44
48
  - 一部だけを検査した組は担当の照合に残し、機械検査の指摘を添える。
@@ -67,4 +71,4 @@
67
71
 
68
72
  ## 報告
69
73
 
70
- 固定した版、体制と担当、確認範囲と完了状態、全指摘の対象箇所・発生条件・影響・修正案と採否・根拠、既存箇所の指摘、機械検査の組の状態ごとの数と実行できなかった理由、未照合の規約、未確認の範囲、未解決の事項を報告する。推測と確認済みの事実、実施した検証と未実施を区別する。独立コードレビューを依頼し規約照合の種類を依頼しなかった場合は、規約を独立コードレビューの中で照らし、ファイルごとの完了一覧が無いことを書く。どちらも依頼しなかった場合は、規約を照合していないと書く。
74
+ 固定した版、体制と担当、確認範囲と完了状態、全指摘の対象箇所・発生条件・影響・修正案と採否・根拠、既存箇所の指摘、機械検査の組の状態ごとの数と実行できなかった理由、未照合の規約、未確認の範囲、未解決の事項を報告する。推測と確認済みの事実、実施した検証と未実施を区別する。規約照合の種類を依頼せず、規約を照らす他の種類を依頼した場合は、規約をその種類の中で照らし、ファイルごとの完了一覧が無いことを書く。規約を照らす種類を依頼しなかった場合は、規約を照合していないと書く。
@@ -4,7 +4,7 @@
4
4
 
5
5
  ## 検証CLIと契約版
6
6
 
7
- 利用中のskillとCLIの版を確認し、0.50.1のskillには同じ版のnpm CLIを導入する(`npm install -g @shinaps/skills@0.50.1`)。pluginだけにはCLIは含まれない。導入・更新は検証に必要な準備として行い、検証のたびに `npx latest` を取得しない。
7
+ 利用中のskillとCLIの版を確認し、0.50.2のskillには同じ版のnpm CLIを導入する(`npm install -g @shinaps/skills@0.50.2`)。pluginだけにはCLIは含まれない。導入・更新は検証に必要な準備として行い、検証のたびに `npx latest` を取得しない。
8
8
 
9
9
  0.48.0から `config_version: 3`(操作ごとの許可の一覧を廃止し `constraints` を必須にした契約)だけを受理する。0.47.x以前のCLIと `$schema` のURLはv3を拒否し、0.48.0以降はv2を拒否するため、skill・CLI・`$schema` の版を揃えてから下の[旧設定の移行](#旧設定の移行)を行う。
10
10
 
@@ -43,11 +43,11 @@
43
43
 
44
44
  ## 4. 規約と機械検査
45
45
 
46
- [Shinaps規約の取得](rules.md)の「照合のために取得する」に従い、対象ファイルについて snapshot を作り、同じ手順の「照合結果に書くこと」を報告に含める。取得できなければ規約照合を未確認として報告し、照合済みとしない(コードのレビューは続ける)。`checks` を持つ規約があれば[規約の機械検査](lint.md)の「照合で使う」を行う。プロジェクトの `AGENTS.md`・`CLAUDE.md` と関連 docs も担当へ渡す。その後、スキルの「担当の起動」に従って担当を起動する。
46
+ 依頼する種類が契約の「規約を照らす種類」を含むときは、[Shinaps規約の取得](rules.md)の「照合のために取得する」に従い、対象ファイルについて snapshot を作り、同じ手順の「照合結果に書くこと」を報告に含める。取得できなければ規約照合を未確認として報告し、照合済みとしない(コードのレビューは続ける)。`checks` を持つ規約があれば[規約の機械検査](lint.md)の「照合で使う」を行う。含まないときは、対象ファイルの snapshot と機械検査を行わない(指摘の検証の根拠の規約は契約のとおり渡す)。プロジェクトの `AGENTS.md`・`CLAUDE.md` と関連 docs は、どちらの場合も担当へ渡す。その後、スキルの「担当の起動」に従って担当を起動する。
47
47
 
48
48
  ## 5. 検証と報告
49
49
 
50
- 契約の「指摘の検証と統合」に従い、メインが全指摘を実コードで確かめて採否を決める。指摘の独立検証を依頼されたとき、またはメインと指摘元の根拠の対立が解消しないときは、別の担当に「指摘の検証」を依頼する。テストに関わる指摘は[テスト方針](testing.md)に従う。採否の確定後に[規約の適用結果](rules.md#適用結果を記録する)を既定で記録する(依頼でOFFにできる。失敗は未記録として報告する)。契約の「報告」と `findings.md` のパスを報告する。
50
+ 契約の「指摘の検証と統合」に従い、メインが全指摘を実コードで確かめて採否を決める。指摘の独立検証を依頼されたとき、メインと指摘元の根拠の対立が解消しないとき、または採否を誤ったときの影響が大きい簡素化の提案(公開契約や状態管理に触れる、影響が広範囲に及ぶなど)があるときは、別の担当1名に「指摘の検証」を依頼する。簡素化の提案はその提案だけを渡して、失う契約・増える複雑さ・変更範囲を確かめさせ、対象全体のレビューを繰り返さない。どの場合も、利用者が担当の人数を限っているときは追加せず、独立検証していない指摘として報告する(根拠の対立は未解決とする)。テストに関わる指摘は[テスト方針](testing.md)に従う。採否の確定後に[規約の適用結果](rules.md#適用結果を記録する)を既定で記録する(依頼でOFFにできる。失敗は未記録として報告する)。契約の「報告」と `findings.md` のパスを報告する。
51
51
 
52
52
  ## 6. 到達点
53
53
 
@@ -14,6 +14,10 @@
14
14
 
15
15
  依頼が種類を限定している場合(規約照合だけ、簡素化だけなど)は、限定された種類だけを依頼する。担当は1名とする。ただし ULTRA を同時に指定され、限定された種類に規約照合または可読性・慣習レビューが含まれるときは、その種類を技術領域ごとに1名へ依頼する。
16
16
 
17
+ 指摘の検証の担当は、この構成の人数とは別に、呼び出す入口の手順が定める条件で加える(単独の `review` は単独レビューの手順、dev は体制の判断に従う)。
18
+
19
+ 規約を照らす種類は、独立コードレビュー(rule 観点)・規約照合・可読性・慣習レビューとする。依頼する種類にこれらを含むときだけ、入口の手順で規約を取得し、機械検査と照合の範囲の報告を行う。実装の簡素化・指摘の検証だけのレビューでは規約の取得と機械検査を必須にせず、目的・維持する外部契約・コード・利用側・テストで判断する。ただし、規約を根拠にする指摘を検証するときは、その規約だけを(元のレビューの snapshot、または id からの全文の取得で)渡す。担当には渡した規約だけを読ませ、渡していない規約の読了を求めない。
20
+
17
21
  技術領域は、Web・API・iOSのように技術や実装慣習が違う領域とする。配布先・写し・文書の分類は、別の技術領域に数えない。技術領域ごとに担当を置く場合は、全変更ファイルがちょうど1名の範囲に属するようにし、足りない技術領域があれば担当を足す。複数担当なら確認範囲を明記し、重大な契約の独立確認を分担だけで置き換えない。
18
22
 
19
23
  ## 対象の固定
@@ -25,12 +29,12 @@
25
29
 
26
30
  ## 担当へ渡すもの
27
31
 
28
- - 共通: 目的、確認範囲、担当番号、固定した版と読む場所(一時worktreeのパスなど)、依頼する種類、規約全文または読むファイルの指定、合意済み仕様。入手できなかったもの(計画・受入条件など)はそのことを伝える。
32
+ - 共通: 目的、確認範囲、担当番号、固定した版と読む場所(一時worktreeのパスなど)、依頼する種類、合意済み仕様。規約を照らす種類では、規約全文または読むファイルの指定。入手できなかったもの(計画・受入条件など)はそのことを伝える。
29
33
  - 独立コードレビュー: 対象コード、全差分、利用側、計画、検証結果。計画自体も誤りうるものとして確かめさせる。設計適合性は、計画・受入条件・責務・依存方向と実コードを照合させる。
30
34
  - 規約照合: 対象ファイルの一覧と、変更範囲の確認コマンド。担当は対象ファイルの現状全文を読む。
31
35
  - 可読性・慣習レビュー: 担当する範囲の差分と対象ファイルの現状全文、先例。
32
36
  - 実装の簡素化: 目的、維持する外部契約、対象コード、計画。
33
- - 指摘の検証: 元の対象、検証する指摘の全文、確認範囲、外部調査があればその結果。
37
+ - 指摘の検証: 元の対象、検証する指摘の全文(規約を根拠にする指摘はその規約の全文または読むファイル)、確認範囲、外部調査があればその結果。
34
38
 
35
39
  ## 独立性
36
40
 
@@ -38,7 +42,7 @@
38
42
 
39
43
  ## 機械検査
40
44
 
41
- 規約に機械検査(`checks`)があり入口の手順で実行できるときは、対象の固定後、担当へ渡す前に実行する。版が変わったら実行し直し、前回の結果を引き継がない。
45
+ 規約を照らす種類を依頼し、規約に機械検査(`checks`)があり入口の手順で実行できるときは、対象の固定後、担当へ渡す前に実行する。版が変わったら実行し直し、前回の結果を引き継がない。
42
46
 
43
47
  - 全体を検査して違反が無いと確かめた組(規約×ファイル)と、違反を確かめた組は、そのファイルの rule 観点・規約照合から外す。外した規約の id をファイルごとに担当へ伝える。
44
48
  - 一部だけを検査した組は担当の照合に残し、機械検査の指摘を添える。
@@ -67,4 +71,4 @@
67
71
 
68
72
  ## 報告
69
73
 
70
- 固定した版、体制と担当、確認範囲と完了状態、全指摘の対象箇所・発生条件・影響・修正案と採否・根拠、既存箇所の指摘、機械検査の組の状態ごとの数と実行できなかった理由、未照合の規約、未確認の範囲、未解決の事項を報告する。推測と確認済みの事実、実施した検証と未実施を区別する。独立コードレビューを依頼し規約照合の種類を依頼しなかった場合は、規約を独立コードレビューの中で照らし、ファイルごとの完了一覧が無いことを書く。どちらも依頼しなかった場合は、規約を照合していないと書く。
74
+ 固定した版、体制と担当、確認範囲と完了状態、全指摘の対象箇所・発生条件・影響・修正案と採否・根拠、既存箇所の指摘、機械検査の組の状態ごとの数と実行できなかった理由、未照合の規約、未確認の範囲、未解決の事項を報告する。推測と確認済みの事実、実施した検証と未実施を区別する。規約照合の種類を依頼せず、規約を照らす他の種類を依頼した場合は、規約をその種類の中で照らし、ファイルごとの完了一覧が無いことを書く。規約を照らす種類を依頼しなかった場合は、規約を照合していないと書く。
@@ -42,7 +42,7 @@ Shinaps AIのMCPから規約を取得する手順。取得は呼出し元(メ
42
42
 
43
43
  ## 照合のために取得する
44
44
 
45
- 対象ファイルが確定した照合の手順。応答をモデルが書き写すと本文や `checks` が欠けうるので、plugin の hook(PostToolUse)が応答をそのまま `<Gitのルート>/.shinaps/work/rule-captures/` へ保存し、そこから `shinaps-skills rule-snapshot` が担当と機械検査の読むファイルを作る。保存先はGit管理の外のローカルで、サーバーへは送らない。
45
+ 対象ファイルが確定した照合の手順。応答をモデルが書き写すと本文や `checks` が欠けうるので、plugin の hook(PostToolUse)が応答をそのまま `<セッションの作業ディレクトリのGitのルート(無ければ作業ディレクトリ)>/.shinaps/work/rule-captures/` へ保存し、そこから `shinaps-skills rule-snapshot` が担当と機械検査の読むファイルを作る。保存先はGit管理の外のローカルで、サーバーへは送らない。
46
46
 
47
47
  1. 取得の前の時刻を `date +%s000` で記録する。
48
48
  2. 領域ごとに入力を作業記録の下(例: `rules/<領域>/input.json`)へ書く。「一覧を取る」と同じ条件で、`fields` だけ `"full"` にする。
@@ -53,7 +53,7 @@ Shinaps AIのMCPから規約を取得する手順。取得は呼出し元(メ
53
53
  shinaps-skills rule-snapshot --since <時刻> --input <input.json> [--exclude-label <slug>] --out <作業記録>/rules/<領域>
54
54
  ```
55
55
 
56
- 取得と同じGitのルートで実行する(別の場所なら `--captures <dir>` で保存先を渡す)。`rule-snapshot` が無いときは、利用中のスキルと同じ版のCLIを導入する。`--exclude-label` には、「全文を取る規約を選ぶ」の除外の条件に当たる軸のlabelだけを渡す(CLIはこの条件を判定しない)。除外した規約はidと理由が `manifest.json` に残る。
56
+ 取得と同じGitのルートで実行する。それと違う場所(プロジェクトを開かずに始めたチャットから対象のリポジトリで実行するときなど)では、捕捉はチャット側にあるので、その保存先を `--captures <dir>` で渡す。`rule-snapshot` が無いときは、利用中のスキルと同じ版のCLIを導入する。`--exclude-label` には、「全文を取る規約を選ぶ」の除外の条件に当たる軸のlabelだけを渡す(CLIはこの条件を判定しない)。除外した規約はidと理由が `manifest.json` に残る。
57
57
 
58
58
  出力は `manifest.json`(`contentHash`、入力、`ruleIds`、除外、partのhash)、`parts/part-NNN.json`(全文)、`lint-checks.json`(全文の `checks` そのまま)。
59
59