Single-commit clean baseline after security scrub of niche-tells, project codenames, internal jargon, and contributor-email leaks. Contents: - 100 Rust crates (_primitives/_rust/) - 37 agent manifests (_manifests/) + generated specs (_generated/) - 67 user-invocable skills (skills/) - 33 hooks (hooks/) - Composition blocks (_blocks/) - Documentation (docs/, README.md) - TS adapter packages (_ts_packages/) - Assembler (_assembler/) - Roles (_roles/) - Templates (_templates/) - Forgejo CI (.forgejo/) Author: Denis Parfionovich <info@greendragon.info> License: see LICENSE.
75 lines
3.1 KiB
Text
75 lines
3.1 KiB
Text
# Agent manifest — Constructor Pattern SSoT for {{NAME}}.
|
|
# The .md file is GENERATED from this manifest + _blocks/*.md by _assembler (Rust).
|
|
# Edit THIS file, not the generated .md.
|
|
#
|
|
# Template placeholders (filled by ~/.claude/skills/new-agent):
|
|
# {{NAME}} — agent slug, e.g. "myproject-specialist" (lowercase, [a-z0-9-])
|
|
# {{DESCRIPTION}} — one-line summary shown to the orchestrator
|
|
# {{TOOLS}} — comma-separated Rust-array of tool names, e.g. "Glob", "Grep", "Read"
|
|
# {{MODEL}} — usually "opus"; "sonnet" for cheaper bulk work
|
|
# {{MEMORY_PROJECT}} — memory file name, e.g. "myproject-project.md" (lives under
|
|
# your Claude Code memory directory, typically
|
|
# ~/.claude/memory/)
|
|
# {{PROJECT_CLAUDEMD}} — absolute-ish path to the project's CLAUDE.md
|
|
# {{ROLE}} — 2-3 sentence role description (triple-quoted string)
|
|
# {{BLOCKS}} — computed list of blocks to compose, one per line, quoted,
|
|
# with a trailing comma; see order rules below
|
|
# {{DOMAIN_IN}} — multi-line list of what the agent DOES (quoted TOML strings)
|
|
# {{FORBIDDEN_DOMAIN}} — multi-line list of hard prohibitions
|
|
# {{OUTPUT_EXTRA}} — extra output-report fields (appended to standard shape)
|
|
# {{HANDOFFS}} — array-of-tables, one per downstream agent
|
|
# {{REFERENCES}} — extra reference files beyond baseline/memory/project
|
|
#
|
|
# TOML scope rules enforced by the assembler:
|
|
# 1. All top-level keys (name, description, tools, model, role, blocks,
|
|
# domain_in, forbidden_domain, output_extra_fields, memory_project,
|
|
# project_claudemd) MUST appear BEFORE any [[handoff]] table.
|
|
# 2. [[handoff]] tables MUST appear BEFORE the final [references] table.
|
|
# 3. Obligatory blocks (validator hard-fails without them):
|
|
# "baseline", "evidence-grading", "memory-protocol"
|
|
# 4. At least one handoff is required.
|
|
# 5. domain_in and forbidden_domain must each have >=1 entry.
|
|
|
|
name = "{{NAME}}"
|
|
description = "{{DESCRIPTION}}"
|
|
tools = [{{TOOLS}}]
|
|
model = "{{MODEL}}"
|
|
memory_project = "{{MEMORY_PROJECT}}"
|
|
project_claudemd = "{{PROJECT_CLAUDEMD}}"
|
|
|
|
role = """
|
|
{{ROLE}}
|
|
"""
|
|
|
|
# Order matters: baseline always first, then evidence-grading, memory-protocol,
|
|
# then obligatory rule-blocks, then stack-specific, then deploy-specific, then
|
|
# domain-specific. The assembler concatenates in the order given here.
|
|
blocks = [
|
|
{{BLOCKS}}
|
|
]
|
|
|
|
domain_in = [
|
|
{{DOMAIN_IN}}
|
|
]
|
|
|
|
forbidden_domain = [
|
|
{{FORBIDDEN_DOMAIN}}
|
|
]
|
|
|
|
# Agent-specific output fields (appended to the standard report shape defined
|
|
# in the baseline block). Leave the list non-empty so reports stay auditable.
|
|
output_extra_fields = [
|
|
{{OUTPUT_EXTRA}}
|
|
]
|
|
|
|
# Handoffs MUST come after all top-level keys (TOML array-of-tables scope rule).
|
|
# Each downstream agent = one [[handoff]] table.
|
|
{{HANDOFFS}}
|
|
|
|
# References (extra files beyond auto-included baseline/memory/project).
|
|
# MUST be the LAST section in the file — any top-level key after it would be
|
|
# parsed as belonging to [references].
|
|
[references]
|
|
extra = [
|
|
{{REFERENCES}}
|
|
]
|