Skill v1.0.0
currentAutomated scan100/100version: "1.0.0" name: configuration description: Use when a Project Agent reads or changes lore indexes and group memberships, managed presets, game modules, automations, Skills, or Agent profiles through config_read and config_apply. category: configuration agent: general,ide
Configuration
Manage every supported configuration resource through the stable config_read and config_apply tools. Never edit Denova configuration files or internal JSON storage directly.
Required workflow
- For an unfamiliar resource, call
config_readwithoperation=describe. Omitresourceto discover all registered kinds, or provide one kind for its contract. - Call
config_read(operation=list)to resolve the exact ID and scope. Catalogs useitemsplusnext_cursor; continue with the identical request and returned cursor untiltruncated=falsewhen the full catalog matters. Before an update or delete, callconfig_read(operation=get)for the exact ID and retain its latest revision. - Read exactly the relevant reference below with
read({"path":"skill://configuration/references/<file>.md"}). Do not infer a value shape from another resource. - Follow that resource's mutation semantics. Call
config_applyfor exactly one create, update, or delete and use only names returned bydescribe. - For update and delete, copy the latest revision from
config_read; never guess, copy an example placeholder, or reuse a stale revision. Preserve every field or layer section the user did not ask to change.
get accepts any number of IDs. A mixed batch succeeds with existing items, explicit missing_ids, and per-ID failures; an entirely unsuccessful completed batch fails. Large exact reads also return next_cursor. Never treat truncated=true as a complete read.
config_applyreturns only a compact persistence receipt (resource,operation,id,revision). Read the changed item again and compare the requested fields plus preservation-sensitive fields. Report success only when the effective result matches.
Deletion must be explicitly requested by the user. If a stale-revision conflict occurs, read the current item again, reconcile the requested change with that value, and retry once with the new revision. Do not silently overwrite concurrent changes.
Mutation semantics
| Resources | Update behavior | |
|---|---|---|
narrative_style, game_planning, event_package, rule_system, state_system, image_preset | Complete editable-resource replacement. Start from get, change only requested fields, and submit the complete editable value. Omitted arrays and objects are cleared or defaulted. | |
automation | Sparse patch. Omitted fields stay unchanged; a present triggers array replaces the whole trigger list. target is create-only and immutable. | |
agent_profile | Fixed Agents use sectional layered updates. A custom_agent mutation is user-only and replaces its complete independent definition; General SubAgent and custom SubAgent mutations follow the resource reference. | |
skill | Complete replacement of one root SKILL.md or one supporting reference file. The root revision covers the whole Skill directory. | |
style_reference | Create writes one document; update replaces its complete Markdown content. | |
lore_index | Workspace singleton index. Update replaces the complete guide: introduction, ordered custom groups and automatic-group detail overrides. Removing a group backs up the collection and clears only its associations. | |
lore_index_membership | One existing lore item by ID. Update replaces only its complete index_memberships array; [] restores automatic grouping. Apply independently per item, preserving unrelated associations. |
Fields returned for inspection such as path, custom, builtin_overridden, invalid, error, timestamps, resolved snapshots, run history, and secrets are host-owned unless the resource reference explicitly says otherwise. Never add an unknown field: configuration values reject unknown keys.
Examples use REVISION_FROM_GET as a visible placeholder. Always replace it with the exact current revision returned for the same resource, ID, and scope.
Reference routing
style_reference→skill://configuration/references/style-reference.mdnarrative_style→skill://configuration/references/narrative-style.mdgame_planning→skill://configuration/references/game-planning.mdevent_package→skill://configuration/references/event-package.mdrule_system→skill://configuration/references/rule-system.mdstate_system→skill://configuration/references/state-system.mdimage_preset→skill://configuration/references/image-preset.mdautomation→skill://configuration/references/automation.mdskill→skill://configuration/references/skill.mdagent_profile→skill://configuration/references/agent-profile.mdlore_index,lore_index_membership→skill://configuration/references/lore-index.md
For lore index organization, use these configuration resources. For creating or editing lore bodies, use query_lore_items with detail=full and write_lore_items when available. Do not pass index fields to write_lore_items or edit the backing JSON directly. Index management applies to the current project in both writing and game configuration pages; it does not enable configuration mutations during game play.
These are references, not sub-Skills. Do not pass a sub_skill argument or invoke another Skill name.