Registry Update
について
Registry Updateスキルは、新規スキルが作成または検証される際に、Betty Frameworkスキルレジストリへのすべての変更を一元的に管理します。スレッドセーフな方法でレジストリファイルを更新する前に検証を実行し、一貫性とポリシー適用を保証します。開発者はレジストリへの直接書き込みではなく、このスキルを使用する必要があります。
クイックインストール
Claude Code
推奨/plugin add https://github.com/epieczko/bettygit clone https://github.com/epieczko/betty.git ~/.claude/skills/Registry UpdateこのコマンドをClaude Codeにコピー&ペーストしてスキルをインストールします
ドキュメント
registry.update
Purpose
The registry.update skill centralizes all changes to /registry/skills.json.
Instead of each skill writing to the registry directly, they call this skill to ensure consistency, policy enforcement, and audit logging.
Usage
Basic Usage
python skills/registry.update/registry_update.py <path_to_skill.yaml>
Arguments
| Argument | Type | Required | Description |
|---|---|---|---|
| manifest_path | string | Yes | Path to the skill manifest file (skill.yaml) |
Behavior
- Policy Enforcement: Runs
policy.enforceskill (if available) to validate the manifest against organizational policies - Load Manifest: Reads and parses the skill manifest YAML
- Update Registry: Adds or updates the skill entry in
/registry/skills.json - Thread-Safe: Uses file locking to ensure safe concurrent updates
- Audit Trail: Records all registry modifications
Outputs
Success Response
{
"ok": true,
"status": "success",
"errors": [],
"path": "skills/api.validate/skill.yaml",
"details": {
"skill_name": "api.validate",
"version": "0.1.0",
"action": "updated",
"registry_file": "/registry/skills.json",
"policy_enforced": true
}
}
Failure Response (Policy Violation)
{
"ok": false,
"status": "failed",
"errors": [
"Policy violations detected:",
" - Skill name must follow domain.action pattern",
" - Description must be at least 20 characters"
],
"path": "skills/bad-skill/skill.yaml"
}
Policy Enforcement
Before updating the registry, this skill runs policy.enforce (if available) to validate:
- Naming Conventions: Skills follow
domain.actionpattern - Required Fields: All mandatory fields present and valid
- Dependencies: Referenced dependencies exist in registry
- Version Conflicts: No version conflicts with existing skills
If policy enforcement fails, the registry update is blocked and errors are returned.
Thread Safety
The skill uses file locking via safe_update_json to ensure:
- Multiple concurrent updates don't corrupt the registry
- Atomic read-modify-write operations
- Proper error handling and rollback on failure
Integration
With skill.define
skill.define automatically calls registry.update after validation:
# This validates AND updates registry
python skills/skill.define/skill_define.py skills/my.skill/skill.yaml
With skill.create
skill.create scaffolds a skill and registers it:
python skills/skill.create/skill_create.py my.skill "Does something"
# Internally calls skill.define which calls registry.update
Direct Usage
For manual registry updates:
python skills/registry.update/registry_update.py skills/custom.skill/skill.yaml
Registry Structure
The /registry/skills.json file has this structure:
{
"registry_version": "1.0.0",
"generated_at": "2025-10-23T12:00:00Z",
"skills": [
{
"name": "api.validate",
"version": "0.1.0",
"description": "Validate OpenAPI specifications",
"inputs": ["spec_path", "guideline_set"],
"outputs": ["validation_report", "valid"],
"dependencies": ["context.schema"],
"status": "active",
"entrypoints": [...],
"tags": ["api", "validation"]
}
]
}
Files Modified
- Registry:
/registry/skills.json– Updated with skill entry - Logs: Registry updates logged to Betty's logging system
Exit Codes
- 0: Success (registry updated)
- 1: Failure (policy violation or update failed)
Common Errors
| Error | Cause | Solution |
|---|---|---|
| "Manifest file not found" | Path incorrect or file doesn't exist | Check the path to skill.yaml |
| "Policy violations detected" | Skill doesn't meet requirements | Fix policy violations listed in errors |
| "Invalid YAML in manifest" | Malformed YAML syntax | Fix YAML syntax errors |
Best Practices
- Use via skill.define: Don't call directly unless needed
- Policy Compliance: Ensure skills pass policy checks before registration
- Version Control: Keep registry changes in git for full history
- Atomic Updates: The skill handles thread safety automatically
See Also
- skill.define – Validates manifests before calling registry.update (skill.define SKILL.md)
- policy.enforce – Enforces organizational policies (if configured)
- Betty Architecture – Five-Layer Model
Status
Active – Production-ready, core infrastructure skill
Version History
- 0.1.0 (Oct 2025) – Initial implementation with policy enforcement and thread-safe updates
GitHub リポジトリ
関連スキル
algorithmic-art
メタThis Claude Skill creates original algorithmic art using p5.js with seeded randomness and interactive parameters. It generates .md files for algorithmic philosophies, plus .html and .js files for interactive generative art implementations. Use it when developers need to create flow fields, particle systems, or other computational art while avoiding copyright issues.
subagent-driven-development
開発This skill executes implementation plans by dispatching a fresh subagent for each independent task, with code review between tasks. It enables fast iteration while maintaining quality gates through this review process. Use it when working on mostly independent tasks within the same session to ensure continuous progress with built-in quality checks.
executing-plans
デザインUse the executing-plans skill when you have a complete implementation plan to execute in controlled batches with review checkpoints. It loads and critically reviews the plan, then executes tasks in small batches (default 3 tasks) while reporting progress between each batch for architect review. This ensures systematic implementation with built-in quality control checkpoints.
cost-optimization
その他This Claude Skill helps developers optimize cloud costs through resource rightsizing, tagging strategies, and spending analysis. It provides a framework for reducing cloud expenses and implementing cost governance across AWS, Azure, and GCP. Use it when you need to analyze infrastructure costs, right-size resources, or meet budget constraints.
