Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add j5ik2o/okite-ai --skill domain-building-blocksgit clone --depth 1 https://github.com/j5ik2o/okite-aiWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/j5ik2o/okite-ai/domain-building-blocks)<a href="https://agentmods.dev/skills/j5ik2o/okite-ai/domain-building-blocks"><img src="https://agentmods.dev/badge/skills/j5ik2o/okite-ai/domain-building-blocks/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/j5ik2o/okite-ai/domain-building-blocks"><img src="https://agentmods.dev/badge/skills/j5ik2o/okite-ai/domain-building-blocks.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00142 | $0.02505 |
| Opus 5 | $0.00071 | $0.01252 |
| Sonnet 5 | $0.00028 | $0.00501 |
| Haiku 4.5 | $0.00014 | $0.00250 |
Grade A, and why
domain-building-blocks scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 10d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 320 lines — stays where its author put it; the contents beside it link to each section on GitHub.
ドメインモデルのビルディングブロック
このガイドは特定のプログラミング言語に依存せず、どの言語でも適用可能な原則を説明しています。コード例はTypeScriptで示していますが、概念は他の言語にも応用できます。
ドメイン駆動設計では、適切なドメインモデルのビルディングブロックを使うことが重要です。
値オブジェクトの活用
値オブジェクトは、以下の特性を持つオブジェクトです:
- 識別子を持たない: 属性のみで同一性を判断
- 不変: 一度作成したら変更できない
- 自己完結的: 他のエンティティへの参照を持たない
import * as E from 'fp-ts/Either';
class IllegalArgumentError extends Error {
constructor(message: string) {
super(message);
this.name = 'IllegalArgumentError';
}
}
class ValidationError {
private constructor(private readonly _message: string) {}
static of(message: string): ValidationError {
return new ValidationError(message);
}
get message(): string {
return this._message;
}
}
class MoneyAddError extends Error {
constructor(message: string) {
super(message);
this.name = 'MoneyAddError';
}
}
class MoneySubtractError extends Error {
constructor(message: string) {
super(message);
this.name = 'MoneySubtractError';
}
}
class AssertionError extends Error {
constructor(message: string) {
super(message);
this.name = 'AssertionError';
}
}
type MoneyProps = {
amount: number;
currency: string;
};
class Money {
private constructor(
private readonly _amount: number,
private readonly _currency: string
) {
if (this._amount < 0) {
throw new IllegalArgumentError("金額は0以上である必要があります");
}
if (!["JPY", "USD", "EUR"].includes(this._currency)) {
throw new IllegalArgumentError("サポートされていない通貨です");
}
}
static of(props: MoneyProps): Money {
return new Money(props.amount, props.currency);
}
static validate(props: MoneyProps): E.Either<ValidationError, Money> {
try {
return E.right(Money.of(props));
} catch (e: unknown) {
if (e instanceof IllegalArgumentError) {
return E.left(ValidationError.of(e.message));
}
throw new AssertionError("不明なエラーが発生しました");
}
}
private copy(props: Partial<MoneyProps>): Money {
return Money.of({
amount: props.amount ?? this._amount,
currency: props.currency ?? this._currency
});
}
add(other: Money): E.Either<MoneyAddError, Money> {
if (this._currency !== other._currency) {
return E.left(new MoneyAddError("通貨が異なる金額は加算できません"));
}
return E.right(this.copy({ amount: this._amount + other._amount }));
}
subtract(other: Money): E.Either<MoneySubtractError, Money> {
if (this._currency !== other._currency) {
return E.left(new MoneySubtractError("通貨が異なる金額は減算できません"));
}
if ((this._amount - other._amount) < 0) {
return E.left(new MoneySubtractError("金額が負になるため減算できません"));
}
return E.right(this.copy({ amount: this._amount - other._amount }));
}
get breachEncapsulationOfAmount(): number {
return this._amount;
}
get breachEncapsulationOfCurrency(): string {
return this._currency;
}
equals(other: Money): boolean {
return this._amount === other._amount && this._currency === other._currency;
}
toString(): string {
return `${this._amount} ${this._currency}`;
}
}
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 10d ago First seen · 320 lines · 142 tokens per session scan A 2da796bd24eb
domain-building-blocks is a skill published in the GitHub repository j5ik2o/okite-ai (81 stars, last pushed 4mo ago), licensed MIT. It adds 142 tokens to every session and 2,505 once invoked, about $0.0007 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-01.
Other skills, from other repositories
hr-onboarding
A new-hire onboarding plan as a single page — first week schedule, buddy + manager intro, learning track, equipment checklist, and "you're set when…" outcomes. Use when the brief mentions "onboarding", "new hire", "first week plan", or "入职".
book-mirror
Take any book (EPUB/PDF), produce a personalized chapter-by-chapter analysis. Each chapter is preserved in detail (The Chapter) and mirrored back to the reader's actual life (The Mirror) using brain context. The mirror observes and resonates — a friend pointing out parallels, NOT a consultant rearranging the reader's…
miniapp
Build a tiny interactive HTML playground only when someone asks to see, play with, or step through a mechanism.
eli5
Explain research, papers, or technical ideas in plain English with minimal jargon, concrete analogies, and clear takeaways. Use when the user says "ELI5 this", asks for a simple explanation of a paper or research result, wants jargon removed, or asks what something technically dense actually means.
deck-course-module
A course or workshop slide template with persistent learning goals, teaching pages, multiple-choice self-tests, and a wrap-up.
master-yinguang
A reference-based assistant for questions about Yinguang and Pure Land Buddhism, a Buddhist tradition focused on faith, ethical living, and practice connected with rebirth in the Pure Land. It can answer in Yinguang’s historical teaching style.