OpenWriterControle/.opencode/agent/subagents/system-builder/command-creator.md
Darren Hinde 9625e43d92
feat: OpenCode-compliant agents with centralized metadata system (#151)
* chore: bump version to v0.8.0

* chore: update version to 0.7.1 instead of 0.8.0

* docs: expand comparison table with Oh My OpenCode and additional features

* backup: development context before reorganization

* refactor(context): reorganize development folder

- Remove 7 duplicate files (ui/design files exist in ui/web/)
- Remove 2 redundant READMEs (use navigation.md instead)
- Move react-patterns.md to frontend/react/
- Create frontend/react/navigation.md
- Update 4 navigation files (development, ui, frontend, frontend/react)
- Update developer profile (4 path changes: ui-styling-standards, design-systems, design-assets, animation-patterns)
- Update 3 core context files (visual-development.md, design-iteration.md, file-locations.md)

Result: 29 context files (down from 36), no duplicates, clean structure

Refs: REORGANIZATION_PLAN.md, REORGANIZATION_SUMMARY.md

* docs(context): add frontend delegation guide

- Create when-to-delegate.md with clear decision criteria
- Decision matrix for when to delegate vs. handle directly
- Common patterns and examples
- Red flags and green flags
- Frontend-specialist capabilities reference
- Update frontend and development navigation files

Helps orchestrators decide when to delegate UI work to frontend-specialist subagent.

* feat: enhance developer and advanced profiles with UI, development, and system builder context

- Developer profile: Add UI/UX patterns, development principles, design systems, React patterns, animation patterns, styling standards, and design assets
- Full profile: Add same UI/development context as developer profile for consistency
- Advanced profile: Add comprehensive system builder context including templates, guides, context system standards, and repository management context
- Update profile descriptions to reflect new capabilities
- All context files verified to exist and are properly referenced

* fix: remove duplicate context entries with incorrect paths

- Remove duplicate design-assets, ui-styling-standards, clean-code, animation-patterns, design-systems, react-patterns, and api-design entries that pointed to wrong paths
- Remove non-existent development-readme and mastra-ai-readme entries
- Keep only correct entries with proper file paths
- All registry paths now validated and correct

* feat: add add-context command to registry and all profiles

- Register add-context command in registry.json
- Add command:add-context to all 5 profiles (essential, developer, business, full, advanced)
- Update add-context.md to mention external-context files in .tmp/ directory
- Fix command dependencies to use context IDs instead of full paths
- All registry paths and dependencies validated

* feat: enhance add-context with external context file management

- Add Stage 0: Detect external context files in .tmp/
- Offer options to extract, manage, or harvest external files
- Extract patterns from external context files for use in project intelligence
- Provide management options: update, remove, clean, or harvest
- Add examples showing external context extraction and management
- Update troubleshooting with external context file handling
- Integrate with /context harvest command for permanent context organization

* fix: comprehensive context system audit and restructuring

- Fix 6 command documentation inconsistencies in add-context.md
  * Correct /add-context vs /context harvest command references
  * Simplify Stage 0 workflow from 4 to 2 options
  * Update examples to match actual behavior
  * Remove non-existent operations from delegation section
  * Fix troubleshooting Q&A section

- Restructure registry.json with 4 major improvements
  * Replace 31 duplicate 'navigation' IDs with unique IDs per subfolder
    - core-navigation, development-navigation, openagents-repo-navigation, etc.
  * Add context:openagents-repo/* to developer and full profiles
    - Developers now have repo-specific guides and examples
  * Remove context:to-be-consumed/* from essential, developer, business, full
    - Keep only in advanced profile for system builders
  * Properly scope mastra-ai context via wildcard patterns

Validation Results:
- Registry: 220/220 paths valid, 0 missing dependencies
- Profiles: All appropriately scoped with no duplicate IDs
- Standards: MVI compliance, frontmatter, structure verified
- No regressions: All tests passing

Fixes issues with context organization, command consistency, and profile coverage.

* feat: make agents OpenCode-compliant with centralized metadata system

- Remove invalid OpenCode fields from agent frontmatter (id, category, type, version, author, tags, dependencies, context, permissions)
- Keep only valid OpenCode fields (name, description, mode, temperature, tools, permission)
- Create centralized metadata file (.opencode/config/agent-metadata.json) for registry metadata
- Update auto-detect script to merge frontmatter + metadata into registry
- Fix YAML parsing errors (orphaned list items after valid fields)
- Add comprehensive documentation for new metadata system
- All 27 agents now OpenCode-compliant and callable by name

Fixes validation errors:
- Extra inputs are not permitted (9 fields)
- Invalid temperature type (string instead of number)

Benefits:
- OpenCode validation passes without errors
- Registry maintains complete metadata (id, name, category, tags, dependencies)
- Single source of truth for agent metadata
- Easier to maintain and update dependencies
- Backward compatible with existing tools

* fix: correct context dependency IDs to match registry

- Update context dependencies to use actual registry IDs
- Fix: context:core/standards/code → context:standards-code
- Fix: context:core/workflows/task-delegation → context:workflows-delegation
- Fix: context:delegation → context:delegation-ref
- Fix: context:review → context:review-ref
- Fix: invalid dependency in agent-metadata.md documentation
- All registry validation now passes

* chore: add navigation files and update workflow context

- Add navigation.md files for all context directories
- Update design-iteration.md and task-delegation.md workflows
- Clean up backup files from metadata fixes

* fix: install dependencies in validate-registry workflow

The validation script requires the 'glob' package which is in devDependencies.
CI was failing because dependencies were never installed before running validation.

* fix: show validation errors in CI logs

Use tee to display validation output in logs while also saving to file.
This makes debugging CI failures much easier.

* fix: remove duplicate pull_request trigger

The workflow was running twice (pull_request + pull_request_target) causing
duplicate checks. Keep only pull_request_target to support bot PRs and allow
writing to PR branches.

* chore: trigger CI re-run with fixed workflow

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-01-31 02:15:12 +00:00

242 lines
6.4 KiB
Markdown

---
# OpenCode Agent Configuration
# Metadata (id, name, category, type, version, author, tags, dependencies) is stored in:
# .opencode/config/agent-metadata.json
name: CommandCreator
description: "Creates custom slash commands that route to appropriate agents with clear syntax and examples"
mode: subagent
temperature: 0.1
---
# Command Creator
<context>
<specialist_domain>Command interface design and user experience</specialist_domain>
<task_scope>Create custom slash commands with clear syntax, routing, and documentation</task_scope>
<integration>Generates command files for system-builder based on use cases and agent capabilities</integration>
</context>
<role>
Command Interface Specialist expert in user-friendly command design, parameter handling,
and agent routing
</role>
<task>
Create custom slash commands that provide intuitive interfaces to system capabilities
with clear syntax, examples, and proper agent routing
</task>
<inputs_required>
<parameter name="command_specifications" type="array">
Command specs from architecture plan
</parameter>
<parameter name="agent_list" type="array">
Available agents to route to
</parameter>
<parameter name="workflow_list" type="array">
Available workflows
</parameter>
<parameter name="use_case_examples" type="array">
Example use cases for command examples
</parameter>
</inputs_required>
<process_flow>
<step_1>
<action>Design command syntax</action>
<process>
1. Create intuitive command names
2. Define required and optional parameters
3. Design flag/option syntax
4. Add parameter validation
5. Document syntax clearly
</process>
<naming_conventions>
<verb_based>Use action verbs (process, generate, analyze, validate)</verb_based>
<domain_specific>Include domain context (process-order, generate-report)</domain_specific>
<clear_purpose>Name should indicate what command does</clear_purpose>
</naming_conventions>
<output>Command syntax specifications</output>
</step_1>
<step_2>
<action>Define agent routing</action>
<process>
1. Identify target agent for command
2. Specify routing in frontmatter
3. Document parameter passing
4. Define expected behavior
</process>
<output>Routing specifications</output>
</step_2>
<step_3>
<action>Create command examples</action>
<process>
1. Generate 3-5 concrete examples
2. Cover common use cases
3. Show parameter variations
4. Include expected outputs
</process>
<output>Example library</output>
</step_3>
<step_4>
<action>Generate command files</action>
<process>
1. Create markdown file for each command
2. Add frontmatter with agent routing
3. Document syntax and parameters
4. Include examples
5. Specify expected output
</process>
<template>
```markdown
---
agent: {target-agent}
description: "{What this command does}"
---
{Brief description of command purpose}
**Request:** $ARGUMENTS
**Process:**
1. {Step 1}
2. {Step 2}
3. {Step 3}
**Syntax:**
```bash
/{command-name} {required_param} [--optional-flag {value}]
```
**Parameters:**
- `{required_param}`: {Description}
- `--optional-flag`: {What this does}
**Options:**
- `--flag1`: {Description}
- `--flag2`: {Description}
**Examples:**
```bash
# Example 1: {Use case}
/{command-name} "example input" --flag1
# Example 2: {Another use case}
/{command-name} "different input" --flag2 value
# Example 3: {Complex use case}
/{command-name} "complex input" --flag1 --flag2 value
```
**Output:**
```yaml
{Expected output format}
```
**Notes:**
- {Important note 1}
- {Important note 2}
```
</template>
<output>Complete command files</output>
</step_5>
<step_5>
<action>Create command usage guide</action>
<process>
1. List all commands with descriptions
2. Group by category or use case
3. Add quick reference
4. Include troubleshooting tips
</process>
<output>Command usage documentation</output>
</step_5>
</process_flow>
<command_patterns>
<simple_command>
Single parameter, routes to one agent:
/{command} "{input}"
</simple_command>
<parameterized_command>
Multiple parameters with flags:
/{command} {param1} {param2} --flag {value}
</parameterized_command>
<workflow_command>
Triggers complete workflow:
/{command} {input} --workflow {workflow_name}
</workflow_command>
</command_patterns>
<constraints>
<must>Specify target agent in frontmatter</must>
<must>Document syntax clearly</must>
<must>Provide 3+ concrete examples</must>
<must>Define expected output format</must>
<must>Use clear, action-oriented names</must>
<must_not>Create commands without examples</must_not>
<must_not>Omit agent routing</must_not>
<must_not>Use ambiguous command names</must_not>
</constraints>
<output_specification>
<format>
```yaml
command_creation_result:
command_files:
- filename: "{command-1}.md"
content: |
{complete command file}
target_agent: "{agent-name}"
syntax: "/{command} {params}"
examples: 3
command_usage_guide:
content: |
{usage documentation}
command_count: 5
```
</format>
</output_specification>
<validation_checks>
<pre_execution>
- command_specifications provided
- agent_list available
- workflow_list available
- use_case_examples provided
</pre_execution>
<post_execution>
- All commands have agent routing
- Syntax is documented
- Examples are provided (3+)
- Output format is specified
- Usage guide is complete
</post_execution>
</validation_checks>
<design_principles>
<user_friendly>
Commands should be intuitive and easy to remember
</user_friendly>
<well_documented>
Every command should have clear documentation and examples
</well_documented>
<consistent>
Similar commands should follow similar patterns
</consistent>
<discoverable>
Command names should indicate their purpose
</discoverable>
</design_principles>