Skip to main content

tag-maintenance

タグの親子オントロジー(source/_data/tag_ontology.yml)の整合性チェック・増分追記と、タグの名寄せ・統合の手順。タグ整理、名寄せ、タグ統合、オントロジー更新を頼まれたときに使う。

ソース情報

リポジトリ
future-architect/future-architect.github.io
ソースの最終更新活動
2026年8月12日 22:48
検出された SKILL.md の言語
日本語
スター
25
フォーク
22

インストール方法

デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。

ソースファイルを確認

インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。

ファイルエクスプローラー
2 ファイル

SKILL.md を表示中

SKILL.md
ソースの指示 · 読み取り専用プレビュー
name
tag-maintenance
description
タグの親子オントロジー(source/_data/tag_ontology.yml)の整合性チェック・増分追記と、タグの名寄せ・統合の手順。タグ整理、名寄せ、タグ統合、オントロジー更新を頼まれたときに使う。
# タグメンテナンス ## 前提となる運用方針 (#2292) - **執筆者は具体タグだけ付ける。** daisyUI の記事に CSS / UI/UX を、S3 の記事に AWS を、 React の記事に JavaScript を付けるかの判断は執筆者に求めない (筆者がそのタグでの直接検索に引っかかりたい場合を除く) - 抽象への接続は `source/_data/tag_ontology.yml` の `broader` が肩代わりし、 `scripts/related_posts.js` が展開して関連記事を計算する - **バージョンタグは語幹と同義**。`Go1.27` を書けば `Go` も書いたのと同じ扱いに なる(`scripts/version_tags.js` がデータ層で語幹タグを注入。タグページ・件数・ 関連記事すべてに効く)。語幹を併記してもしなくてもよい - **辺を書く基準**: 「A の記事に B タグを打つのは冗長で打ちたくない」と筆者が感じる 自明な包含だけ書く(TypeScript 記事に JavaScript を打ちたくない、の肩代わり)。 Swift と iOS のような文脈次第の関係は書かず、筆者が直接タグで表明する。 迷ったら書かない - 共起・名前の形(Go1.26/Go1.27 の兄弟)から機械的に導出できる関係は `scripts/related_tags.js` が担うので書き写さない ## データ形式 ```yaml DynamoDB: broader: [AWS, NoSQL] # 複数可 Go: broader: [] # 検討済みの根は [] で明示(未登録=未検討と区別) ``` - 値は実在するタグでなくてもよい(`イベント` / `OS` など照合にだけ使う概念で可)。 ただし broader に書いた名前は必ず同ファイルにノードとして登録する - 関係タイプ(is-a / part-of)は区別しない。「より広い」だけを表す ## バージョン同義(broader とは別の意味論) `broader` は弱い接続(関連記事で減衰あり)、バージョン同義は等価(両方書いたのと同じ)。 3層で決まる: 1. **名前規則(自動)**: 「既存タグ名 + 末尾数字(ドット付き or 2桁以上)」は語幹と同義 (`Go1.27` → `Go`、`インターン2026` → `インターン`)。1桁の数字は `Web3` のような 「数字込みで別概念の名前」と区別できないため対象外(`Python3` は語幹を直接書く) 2. **versionOf(手動追加)**: 表記が語幹と一致しないものを明示する ```yaml Vue3: versionOf: Vue.js # broader は書かない(同義先に吸収される) ``` 3. **notVersion(手動除外)**: 名前規則に誤爆する名前が現れたら `notVersion: true` を付ける check.mjs が導出中の全ペアを `[INFO] バージョン同義:` として列挙するので、 新しいタグを増やしたら誤爆が無いか目視する。 ## 整合性チェック ```sh node .claude/skills/tag-maintenance/check.mjs ``` - `[ERROR]`(exit 1): broader 先の未登録、循環。**push 前に必ず解消する** - `[INFO]`: 未使用ノード、10記事以上で未登録のタグ(増分追記の候補)、 統合候補(記事集合がほぼ重複するタグのペア。オントロジーに登録済みの親子は除外済み) 補助情報として `/doctor/` ページ(ローカルビルドで生成)にもタグ・カテゴリの 機械判定一覧がある。 ## 増分追記の手順 チェックの「未登録」や新しいタグを見つけたら: 1. そのタグの記事を数本読み、より広い既存概念があるか判断する 2. あれば `broader: [親]`、独立した概念なら `broader: []` で追記する 3. 迷ったら書かない([] にする)。誤った親は関連記事を汚すが、無い親は何も壊さない 4. `node .claude/skills/tag-maintenance/check.mjs` でエラーが無いことを確認する ## 名寄せ・統合の手順 チェックの「統合候補」やタグの表記ゆれ(例: 入門 / 初心者向け)を統合するとき: 1. **本当に同義か確認する。** 片方がもう片方の狭い概念なら、統合ではなく `tag_ontology.yml` に親子として登録する(Go1.27 ⊆ Go は統合しない) 2. 同義なら残す側の表記を決め、消す側のタグを持つ全記事の frontmatter を書き換える 3. 消したタグのURLが外部から参照されている可能性があるため、`_config.yml` の `alias:` に旧タグページ → 新タグページの転送を追記する(IaC の前例 #2291) 4. `tag_ontology.yml` に旧タグのノードが残っていれば消し、broader で参照していた 箇所を新タグに付け替える 5. 書き換えた記事は `node_modules/.bin/textlint --fix <path>` を通す
GitHubで見る