references/always-on-snippet.md
# Always-on snippet(極薄・ツール共通)
Cursor User Rules / Claude Code の `~/.claude/CLAUDE.md` / その他エージェントのグローバル指示に、以下をそのまま置く。
---
## 社内ナレッジ(company knowledge)
組織の設計・規約・メソドロジ・技術標準の正本は、このマシンに1つだけ存在する。各プロダクトリポジトリにはコピーしない。
### ルートの解決順
1. 環境変数 `COMPANY_KNOWLEDGE_ROOT`
2. なければ `~/.config/company/knowledge-root`(1行の絶対パス)
3. なければ `$HOME/.config/company/skeleton`
### 使い方
- 社内知が必要な作業では `company-knowledge` スキルに従うこと
- スキルが無い/使えない場合でも、解決したルートの `_general/README.md` を先に読み、必要なファイルだけ追読すること
- 正本に無い内容を推測で埋めないこと
---
references/map-cheatsheet.md
# Domain cheatsheet
`$ROOT/_general/` 配下。まず領域の README を読んでから個別ファイルへ。
| 領域 | 典型トリガー | Path |
|------|----------------|------|
| human | 振る舞い、コミュニケーション、議事 | `human/` |
| method | 営業、見積、PM、スクラム、設計手法 | `method/` |
| tech | 言語、FW、クラウド、コーディング標準 | `tech/` |
| team | チーム開発の進め方 | `team/` |
| tool | 業務ツール紹介 | `tool/` |
| uml | UML の書き方 | `uml/` |
| docs | 設計書サンプル・標準化 | `docs/` |
| architecture | よくある機能構成の参考 | `architecture/` |
| agent | AI エージェント関連の社内メモ | `agent/` |
| ospo | OSS / OSPO | `ospo/` |
スタック別のテンプレや実装骨格は `_general` 外(例: `$ROOT/rails/`、`$ROOT/nextjs/`)にもある。地図を読んでから必要なら辿る。
scripts/resolve-root.sh
#!/bin/sh
# Resolve COMPANY_KNOWLEDGE_ROOT for agents (Cursor / Claude / etc.)
set -e
print_if_dir() {
if [ -n "$1" ] && [ -d "$1" ]; then
printf '%s\n' "$1"
return 0
fi
return 1
}
if print_if_dir "${COMPANY_KNOWLEDGE_ROOT:-}"; then
exit 0
fi
config_home="${XDG_CONFIG_HOME:-$HOME/.config}"
config_file="${config_home}/company/knowledge-root"
if [ -f "$config_file" ]; then
root=$(head -n 1 "$config_file" | tr -d '\r\n')
if print_if_dir "$root"; then
exit 0
fi
fi
if print_if_dir "$HOME/.config/company/skeleton"; then
exit 0
fi
echo "company-knowledge: root not found." >&2
echo "Set COMPANY_KNOWLEDGE_ROOT, or write an absolute path to ${config_file}," >&2
echo "or clone the company knowledge repo to \$HOME/.config/company/skeleton." >&2
exit 1
SKILL.md
---
name: company-knowledge
description: >-
Resolves and reads the company knowledge corpus (design standards, methodology,
tech standards, architecture patterns) with progressive disclosure. Use when
organizational conventions, 社内規約, 設計標準, メソドロジ, 見積, 営業プロセス,
技術標準, Rails/Next 社内方針, architecture samples, or company OS knowledge
are needed — not for product-specific code in the current repo alone.
---
# company-knowledge
社内ナレッジの正本はマシンに1つ。各プロダクトリポジトリには置かない。
中身は埋め込まず、解決したルート配下の Markdown を必要な分だけ読む。
## Resolve root
優先順:
1. 環境変数 `COMPANY_KNOWLEDGE_ROOT`(存在するディレクトリ)
2. `~/.config/company/knowledge-root`(1行の絶対パス。`XDG_CONFIG_HOME` があればそちら)
3. `$HOME/.config/company/skeleton`
可能なら先にスクリプトを実行する:
```bash
sh scripts/resolve-root.sh
```
(この Skill ディレクトリからの相対パス。インストール先では Skill 配下の同名スクリプト。)
解決できない場合は、ユーザーに env か設定ファイルの設定を依頼して止まる。推測パスで進めない。
## Read order
1. `$ROOT/_general/README.md`(地図)
2. 該当領域の `README.md` / `_index.md`
3. 必要な個別 Markdown のみ
領域の当たりは [references/map-cheatsheet.md](references/map-cheatsheet.md) を参照。
## Rules
- 正本に無い内容を社内規約として断定しない
- 読んだファイルのパスを根拠にしてから提案する
- 全文をコンテキストに詰め込まない(地図 → 領域 → 個別)
- プロダクト固有の話は現在のリポジトリを優先し、社内横断知だけこの正本を使う
## Always-on snippet
各ツールの「常時ルール」には本文を増やさず、[references/always-on-snippet.md](references/always-on-snippet.md) をコピーする。