You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Open discussion and follow-up work to consolidate Skillware vocabulary and apply an inclusive language pass across the repository.
Today the same concepts appear under many names — operator, human, contributor, user, agent, calling agent, host agent, supervised agent; skill, registry skill, skill bundle, bundle, skill package; Mind / Body / Conscience vs instructions.md / skill.py / manifest.yaml — and some terms are reused for different meanings (eg. operator as runtime person vs operator in ops/security docs).
This RFC does not require one giant PR. It defines principles, a canonical glossary, inclusive-language guidance, and a sweep scope so whoever picks up implementation can systematically review docs, comments, issue/PR templates, examples, and code-facing strings (renaming public APIs only when justified).
Reference (starting point, not exhaustive):Khronos Inclusive Language — block/allow-list, placeholder vs dummy, gender-neutral phrasing, avoid master/slave metaphors, sanity check → confidence check, etc. Apply where relevant; add Skillware-specific terms Khronos does not cover.
Motivation
Problems
Terminology drift — New contributors, skill authors, and agents reading docs hit inconsistent words for the same role or artifact. That slows onboarding, causes wrong assumptions (e.g. “agent” = LLM vs autonomous coding agent vs SkillLoader consumer), and makes cross-doc links harder to maintain.
Same word, different meaning — Example tensions to resolve:
Operator — person running Skillware in production vs person configuring paths vs security “operator checklist”
Agent — LLM with tools vs human-supervised coding agent vs “host agent” in skill instructions
Bundle — dict returned by load_skill() vs directory on disk vs “skill package” in CONTRIBUTING
Skill — registry ID (category/name) vs folder vs Python class vs tool exposed to an LLM
Inclusive language — Some repo prose and comments use casual terms (e.g. dummy in tests/comments, master in marketing copy, gendered defaults) that we can improve without changing behavior. Khronos provides a practical baseline; we should adopt what fits and document exceptions (e.g. tool names like black that we do not rename).
Ripple effects — Terminology choices affect [RFC]: Skill identity and registry architecture #234 identity RFC, trust model, CLI help, skill catalog pages, and agent-native workflow. A single glossary reduces future doc debt.
Goals
One canonical glossary (preferred term → definition → deprecated synonyms → when to use each).
Inclusive language guidelines for Skillware (with Khronos as reference + local additions).
Sweep checklist covering all file classes.
Phased implementation (docs first, comments second, code identifiers only when necessary and semver-aware).
Non-goals
Renaming PyPI package, CLI command names, or registry skill IDs for wording alone.
Rewriting all skill instructions.md voice/persona unless a term is objectively wrong or exclusive.
Blocking skill or framework shipping on completion of this RFC (implementation is follow-up work).
Detailed Design
1. Principles (proposed — open to comment)
One concept, one primary term — Synonyms allowed once per doc for readability, but link to glossary on first use.
Context-specific terms are OK if defined — e.g. host agent (LLM runtime hosting tools) vs contributor (person/agent opening PRs) — but must not collide with operator without disambiguation.
Code wins for APIs — Glossary follows public names (SkillLoader.load_skill, bundle["class"]()); docs align to code, not the reverse, unless a planned rename is approved.
Inclusive by default — Prefer neutral, precise language in docs and comments; avoid ableist, racialized, or gendered metaphors where alternatives exist (Khronos list).
Pragmatic exceptions — Third-party tool names (black, whitelist in upstream docs we quote), skill domain vocabulary (e.g. clinical terms in mental_coach KB sources), and historical CHANGELOG entries may stay unchanged or be noted as exceptions.
Behavior unchanged — Wording-only unless a separate issue approves identifier renames.
2. Terminology map (draft — RFC should refine)
Concept
Preferred term(s)
Avoid / clarify
Notes
Person running skills in their environment
Operator
“user” (too generic), “admin”
Security/trust docs
Person or agent opening PRs
Contributor
“human operator” except when contrasting with autonomous agents
CONTRIBUTING, ai_native_workflow
LLM + tool loop consuming skills
Agent (or host agent when distinguishing from contributor agents)
Decision on Mind/Body/Conscience vs neutral terms in catalog template
Inclusive language policy location and Khronos reference
Sweep scope + phasing agreed
One or more implementation issues filed (good candidate for help wanted)
Drawbacks
Large surface area — Easy to scope-creep into rewrites that do not improve clarity.
Bike-shedding — Terminology debates (agent vs operator) can stall without a decision record.
Churn for contributors — Open PRs may conflict with glossary edits; coordinate or batch merges.
Imperfect automation — Grep-based sweeps miss context; human judgment required (especially skill domain language).
Khronos is not complete — Graphics/API bias; Skillware needs its own agent/skill/bundle vocabulary beyond Khronos.
API renames are costly — Temptation to “fix” code identifiers should be resisted unless separately approved.
Mitigation: RFC locks vocabulary first; implementation is phased; docs-only default; no mandatory rename of registry IDs or CLI; exception list published upfront.
Summary
Open discussion and follow-up work to consolidate Skillware vocabulary and apply an inclusive language pass across the repository.
Today the same concepts appear under many names — operator, human, contributor, user, agent, calling agent, host agent, supervised agent; skill, registry skill, skill bundle, bundle, skill package; Mind / Body / Conscience vs
instructions.md/skill.py/manifest.yaml— and some terms are reused for different meanings (eg. operator as runtime person vs operator in ops/security docs).This RFC does not require one giant PR. It defines principles, a canonical glossary, inclusive-language guidance, and a sweep scope so whoever picks up implementation can systematically review docs, comments, issue/PR templates, examples, and code-facing strings (renaming public APIs only when justified).
Reference (starting point, not exhaustive): Khronos Inclusive Language — block/allow-list, placeholder vs dummy, gender-neutral phrasing, avoid master/slave metaphors, sanity check → confidence check, etc. Apply where relevant; add Skillware-specific terms Khronos does not cover.
Motivation
Problems
Terminology drift — New contributors, skill authors, and agents reading docs hit inconsistent words for the same role or artifact. That slows onboarding, causes wrong assumptions (e.g. “agent” = LLM vs autonomous coding agent vs
SkillLoaderconsumer), and makes cross-doc links harder to maintain.Same word, different meaning — Example tensions to resolve:
load_skill()vs directory on disk vs “skill package” in CONTRIBUTINGcategory/name) vs folder vs Python class vs tool exposed to an LLMInclusive language — Some repo prose and comments use casual terms (e.g. dummy in tests/comments, master in marketing copy, gendered defaults) that we can improve without changing behavior. Khronos provides a practical baseline; we should adopt what fits and document exceptions (e.g. tool names like
blackthat we do not rename).Ripple effects — Terminology choices affect [RFC]: Skill identity and registry architecture #234 identity RFC, trust model, CLI help, skill catalog pages, and agent-native workflow. A single glossary reduces future doc debt.
Goals
Non-goals
instructions.mdvoice/persona unless a term is objectively wrong or exclusive.Detailed Design
1. Principles (proposed — open to comment)
SkillLoader.load_skill,bundle["class"]()); docs align to code, not the reverse, unless a planned rename is approved.black,whitelistin upstream docs we quote), skill domain vocabulary (e.g. clinical terms inmental_coachKB sources), and historical CHANGELOG entries may stay unchanged or be noted as exceptions.2. Terminology map (draft — RFC should refine)
load_skill()return valueskills/category/name/namevs tool name)instructions.md+ manifest cognitive layerskill.py/ skill classmanifest.yamlgovernance fieldsOpen RFC questions
3. Inclusive language (Khronos-aligned + Skillware)
Reference: https://www.khronos.org/about/inclusive-language
dummy_key_for_ciNot in scope to rename
black, etc.)Deliverable: short
docs/contributing/inclusive-language.mdor section in CONTRIBUTING linking Khronos + Skillware exceptions.4. Sweep scope (implementer checklist)
Whoever implements after RFC approval should search and reconcile:
docs/**skills/**skillware/**tests/**,examples/**.github/**templates/python_skill/**CHANGELOG.mdSearch patterns (starting set)
5. Proposed deliverables (implementation — follow-up issue(s))
docs/glossary.md(ordocs/contributing/glossary.md) — canonical terms + deprecated synonymstests/test_registry_docs.pyor new guard (optional) — ban deprecated terms in new docs? (Discuss — may be too strict initially)[Unreleased]when contributor-facing docs change6. Phasing
7. Suggested RFC outcomes (when ready to close)
Drawbacks
Mitigation: RFC locks vocabulary first; implementation is phased; docs-only default; no mandatory rename of registry IDs or CLI; exception list published upfront.