Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/tomevault-io/tomes --skill tsa-constraints명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
SKILL.md 표시 중
SOC 직업 분류 기준
| name | tsa-constraints |
| description | | Use when this capability is needed. |
Bio-analogy: inhibitory synapses — declared "X must NOT call Y" rules that fire UNSAFE verdicts when violated. Rules live in
architectural-constraints.ymlat repo root, are evaluated against the persisted call graph, and persist violations in SQLite for fast re-reads.
| Goal | Action |
|---|---|
| List current rules | Read architectural-constraints.yml |
| Check repo against rules | edit action=constraints (no args) |
| Pre-edit gate (includes rule check) | edit action=safe (auto) |
| Add a new rule | Edit YAML + re-run edit action=constraints |
| Filter violations by severity | edit action=constraints severity_min="error" |
| Filter by path | edit action=constraints path_filter="mcp/**" |
edit action=constraints
Returns:
success: true
verdict: SAFE | CAUTION | UNSAFE
violations: [
{rule_id, caller_file, caller_line, callee_name, callee_file, severity, reason}
]
rule_count: <int>
evaluated_edge_count: <int>
Verdict cascade:
UNSAFE → any error-severity violationCAUTION → any warn-severity violationSAFE → nonearchitectural-constraints.yml at repo root- id: <slug, kebab-case>
severity: error | warn | info
rule: forbid
from: "path/glob/**"
to: "path/glob/**"
reason: "<why this is forbidden>"
exceptions: ["specific/file.py"] # optional
edit action=constraints to see if existing code violates the new ruleexceptionsFor each violation row:
rule_id — which rule fired (look it up in the YAML for reason)caller_file:caller_line — the offending call sitecallee_file — what it's calling (may be empty if callee unresolved)severity — error = block, warn = surface only, info = noiserule: forbid — currently the only supported rule type (MVP)from / to — fnmatch-style globs (** for recursive)exceptions — caller-side globs that bypass the ruleInspect:
cat architectural-constraints.yml
Current 3 rules (as of last commit):
mcp-must-not-depend-on-cli — MCP tools are runtime adapters; CLI imports MCP, never reverselanguage-plugins-isolated — language plugins can't know about MCPcore-must-not-import-mcp — core analysis primitives precede MCP layeruv run tree-sitter-analyzer --check-constraints --output-format toon
uv run tree-sitter-analyzer --check-constraints --severity-min error
uv run tree-sitter-analyzer --check-constraints --constraint-path-filter "mcp/**"
uv run tree-sitter-analyzer --check-constraints --constraint-file path/to/alt-rules.yml
Exit codes mirror --change-impact:
CI gating example:
uv run tree-sitter-analyzer --check-constraints || exit 1 # block PR on UNSAFE
tree_sitter_analyzer/mcp/**)reason: — agents reading violations need it to suggest fixes--no-constraints in CI — that defeats the gate's purposeverdict: SAFE | CAUTION | UNSAFE
violations: [...] # empty when SAFE
rule_count: <int>
evaluated_edge_count: <int>
Source: aimasteracc/tree-sitter-analyzer — distributed by TomeVault.