Explain why each skill is available or blocked
まだ誰も着手していません。
評価
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 45/100
- issue の種類
- 機能追加
- 明瞭さ
- おおむね明確
- 活発さ
- 活発
- 技術スタック
- typescript
- 領域
- cli
調査の方向性
まず既存の intent list コマンドと、その人間向け出力および JSON 出力の経路を追跡し、次に skill ごとのポリシーフォームについて dependency #219 を確認します。通常の出力を変更せず、agent の秘匿処理を維持したまま、実装前に最終的な明示的診断サーフェスを定義します。完了とは、受け入れ基準で、一覧にある各ポリシー結果、除外、未検出のエントリ、非表示レビューの動作を区別できることです。
索引モデルが issue の本文から書いたものです。
説明
Problem
intent list shows available skills and can show hidden source summaries, but it does not identify the exact policy decision that made a package or skill available or blocked. Consumers must reconstruct the result from inherited intent.skills, wildcard matching, source kind, and intent.exclude rules.
User outcome
A human can inspect a skill-level diagnostic in human-readable or JSON form and understand why each relevant skill is available, blocked, or not discovered.
In scope
- Add an opt-in human-readable explanation mode for
intent list, proposed asintent list --why. - Add corresponding structured JSON fields with stable decision categories.
- Identify the controlling policy result for explicit package permission, wildcard permission, allow-all mode, absent migration mode, empty deny-all mode, package exclusion, skill exclusion, package not listed, source-kind mismatch, and configured-but-not-discovered entries.
- Add per-skill permission explanations after #219 defines that policy form.
- Report exclusion as the controlling result when a discovered package is both excluded and not listed; preserve the current suppression of the unlisted-source notice for explicitly excluded packages.
- Include the configuration file that owns the effective inherited
intent.skillsdeclaration in human explanation output when available. - Preserve normal
intent listoutput when explanation mode is not requested, including the existing human notice that names unlisted packages. - Use
intent list --why --show-hiddenfor detailed human review of hidden package and skill identities;--whywithout--show-hiddendoes not add hidden identities beyond the existing notice. - Preserve agent redaction regardless of flags: agent sessions receive hidden counts and reasons without hidden package, skill, path, or source identities.
Out of scope
- Changing permission semantics.
- Content hashes, byte drift, or lockfile state.
- Delivery, placement, hook execution, or synchronization state.
- Git source implementation.
Acceptance criteria
Package-level explanations
- Human-readable explanation output identifies why each listed skill is available under the current package-level policy.
-
intent list --why --show-hiddenidentifies why each human-reviewed hidden or excluded candidate is blocked. - JSON explanation output identifies the package, skill when known, availability result, and stable controlling decision category.
- Output distinguishes explicit package permission, wildcard permission, allow-all mode, absent migration mode, and empty deny-all mode.
- Output distinguishes package exclusion, skill exclusion, package-not-listed, and source-kind-mismatch results.
- Exclusion is reported as the controlling result when it removes a package or skill, including a package that is also not listed.
- Configured packages that were not discovered use "not discovered" language rather than claiming they are not installed.
- Human explanation output includes the effective
intent.skillsconfiguration path when available. - Normal human and JSON output remain compatible when explanation mode is not requested.
- The existing default human notice for unlisted packages remains unchanged.
-
--whywithout--show-hiddendoes not add hidden package, skill, path, or source identities beyond the existing human notice. - Agent sessions do not receive hidden package names, skill names, paths, or source identities, even when explanation or hidden-review flags are passed.
- Source-kind-mismatch details are available only in explicit human hidden review.
- The diagnostic does not report content, byte, lockfile, or delivery state.
Per-skill explanations
- After #219 is complete, output distinguishes an explicit per-skill permission from a package-level permission.
- After #219 is complete, configured skills that were not discovered use "not discovered" language.
Dependencies
- #219 for the two per-skill explanation criteria. Package-level explanations can ship independently.
Open decision
Confirm whether intent list --why is the final surface or whether the explanation belongs in another explicit diagnostic mode. The default intent list output must remain concise either way.
- 主要言語
- TypeScript
- スター
- 331
- フォーク
- 22
- 平均マージ
- 12時間 17分
- マージ済み PR(30日)
- 51
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
TanStack/intent のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
-
難易度 5/5 1週間以上 初心者へのやさしさ 45/100
-
難易度 4/5 3〜5日 初心者へのやさしさ 48/100
-
難易度 5/5 1週間以上 初心者へのやさしさ 35/100
-
難易度 5/5 1週間以上 初心者へのやさしさ 45/100
TanStack/intent の issue をすべて見る
似ている issue
-
blocklist removal
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
MetaMask/eth-phishing-detect#296544 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
pastelsky/bundlephobia#1122 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
-
category/development priority/P2 scope/file-operations scope/testing type/enhancement
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
-
Enatega Customer and Rider app: Add-ons price is not visible to customer after order is placed. オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100