npx claudepluginhub joshuarweaver/cascade-code-general-misc-1 --plugin epieczko-bettyThis skill uses the workspace's default tool permissions.
**Version**: 0.1.0
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Guides building MCP servers enabling LLMs to interact with external services via tools. Covers best practices, TypeScript/Node (MCP SDK), Python (FastMCP).
Generates original PNG/PDF visual art via design philosophy manifestos for posters, graphics, and static designs on user request.
Version: 0.1.0 Status: active
The docs.expand.glossary skill automatically discovers undocumented terms from Betty manifests and documentation, then enriches glossary.md with auto-generated definitions. This ensures comprehensive documentation coverage and helps maintain consistency across the Betty ecosystem.
skill.yaml and agent.yaml manifestsglossary.md with new entries organized alphabetically| Name | Type | Required | Default | Description |
|---|---|---|---|---|
glossary_path | string | No | docs/glossary.md | Path to the glossary file to expand |
base_dir | string | No | Project root | Base directory to scan for manifests |
dry_run | boolean | No | false | Preview changes without writing to file |
include_auto_generated | boolean | No | true | Include auto-generated definitions |
| Name | Type | Description |
|---|---|---|
summary | object | Summary with counts, file paths, and operation metadata |
new_definitions | object | Dictionary mapping new terms to their definitions |
manifest_terms | object | Categorized terms extracted from manifests |
skipped_terms | array | Terms that were skipped (already documented or too common) |
skill.yaml fields:
status values (active, draft, deprecated, archived)runtime values (python, javascript, bash)permissions (filesystem:read, filesystem:write, network:http)type valuesentrypoints parametersagent.yaml fields:
reasoning_mode (iterative, oneshot)status valuescapabilitiesdocs/*.md files for capitalized multi-word phrasesglossary.md to identify already-documented termsskills/ and agents/ directories for YAML filesThe skill includes predefined definitions for common terms:
For unknown terms, the skill can generate contextual definitions based on category and usage patterns.
# Expand glossary with all undocumented terms
python glossary_expand.py
# Preview changes without writing
python glossary_expand.py --dry-run
# Use custom glossary location
python glossary_expand.py --glossary-path /path/to/glossary.md
from skills.docs.expand.glossary.glossary_expand import expand_glossary
# Expand glossary
result = expand_glossary(
glossary_path="docs/glossary.md",
dry_run=False,
include_auto_generated=True
)
# Check results
if result['ok']:
summary = result['details']['summary']
print(f"Added {summary['new_terms_count']} new terms")
print(f"New terms: {summary['new_terms']}")
================================================================================
GLOSSARY EXPANSION SUMMARY
================================================================================
Glossary: /home/user/betty/docs/glossary.md
Existing terms: 45
New terms added: 8
Scanned: 25 skills, 2 agents
--------------------------------------------------------------------------------
NEW TERMS:
--------------------------------------------------------------------------------
### Archived
A status indicating that a component has been retired and is no longer
maintained or available.
### Dry Run
A mode that previews an operation without actually executing it or making
changes.
### Handler
The script or function that implements the core logic of a skill or operation.
...
--------------------------------------------------------------------------------
Glossary updated successfully!
================================================================================
{
"ok": true,
"status": "success",
"timestamp": "2025-10-23T19:54:00Z",
"details": {
"summary": {
"glossary_path": "docs/glossary.md",
"existing_terms_count": 45,
"new_terms_count": 8,
"new_terms": ["Archived", "Dry Run", "Handler", ...],
"scanned_files": {
"skills": 25,
"agents": 2
}
},
"new_definitions": {
"Archived": "A status indicating...",
"Dry Run": "A mode that previews...",
...
},
"manifest_terms": {
"status": ["active", "draft", "deprecated", "archived"],
"runtime": ["python", "bash"],
"permissions": ["filesystem:read", "filesystem:write"]
}
}
}
# .github/workflows/docs-check.yml
- name: Check glossary completeness
run: |
python skills/docs.expand.glossary/glossary_expand.py --dry-run
# Fail if new terms found
if [ $? -eq 0 ]; then
echo "Glossary is complete"
else
echo "Missing glossary terms - run skill to update"
exit 1
fi
Can be integrated as a pre-commit hook to ensure glossary stays current:
# .claude/hooks.yaml
- name: glossary-completeness-check
event: on_commit
command: python skills/docs.expand.glossary/glossary_expand.py --dry-run
blocking: false
The skill automatically skips:
context.schema - For validating manifest structuredocumentation, glossary, automation, analysis, manifests
generate.docs - Generate SKILL.md documentation from manifestsregistry.query - Query registries for specific terms and metadataskill.define - Define and register new skills