Skip to content
Back to skills

Compose

ASecurity

Generate structured documents from composition templates. Combines reference templates with live data to produce reviewable output artifacts. Triggered by compose, document, generate report, create brief, write proposal.

  • 229 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added June 6, 2026
businessbash

Works with

  • cli

Security analysis

A100/100

Scanned June 6, 2026

npx -y skills add Miosa-osa/canopy --skill compose --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Compose?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Compose
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/miosa-osa-compose/badge)](https://www.skillsdirectory.com/skills/miosa-osa-compose)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: compose
description: Generate structured documents from composition templates. Combines reference templates with live data to produce reviewable output artifacts. Triggered by compose, document, generate report, create brief, write proposal.
---

# /compose — Generate Document from Template

## Purpose

Produces structured output artifacts by combining a composition template (ROM) with
live workspace data. The template defines the skeleton. The agent fills it with
current context. The output lands in `output/` for human review.

## Usage

```
/compose <template-name> [--for <receiver>] [--data <source>] [--status draft|review]
```

## Arguments

| Arg | Required | Default | Description |
|-----|----------|---------|-------------|
| `template-name` | Yes | — | Name of template in `reference/compositions/` |
| `--for` | No | — | Intended receiver (adjusts genre encoding) |
| `--data` | No | auto | Data source: `auto` scans relevant `data/` + `output/` |
| `--status` | No | `draft` | Initial status of the output file |
| `--output` | No | auto | Override output directory (default: `output/{genre}/`) |

## Workflow

1. **Load template** — Read `reference/compositions/{template-name}.md`
2. **Resolve receiver** — If `--for` specified, look up receiver's genre preference
   (from SYSTEM.md people table or company.yaml org chart)
3. **Gather data** — Scan `data/`, recent `output/`, and engine (if available) for
   relevant context. Use search if engine exists, otherwise scan by keyword.
4. **Generate** — Fill template skeleton with gathered data. Follow genre rules.
   Apply Signal Theory encoding: resolve all 5 dimensions S=(M,G,T,F,W).
5. **Write output** — Save to `output/{genre}/{date}-{title}.md` with frontmatter:
   ```yaml
   ---
   genre: {from template}
   type: {speech act}
   status: {draft|review}
   created_by: {agent name}
   created_at: {date}
   for: {receiver if specified}
   template: {template-name}
   ---
   ```
6. **Report** — Show output path, word count, data sources used.

## Examples

```bash
# Generate a quarterly review from template
/compose quarterly-review

# Write a proposal for a specific client
/compose client-brief --for "ACME Corp" --status review

# Create a weekly signal report using specific data
/compose weekly-signal --data "data/pipeline.json"

# Generate meeting prep doc
/compose meeting-prep --for "Ed Honour"
```

## Composition Template Format

Templates in `reference/compositions/` follow this structure:

```markdown
---
genre: proposal
default_output: output/proposals/
sections:
  - objective
  - key_messages
  - supporting_data
  - call_to_action
data_sources:
  - data/pipeline.json
  - output/analyses/
---

# {title}

## Objective
{Agent fills: one sentence, what outcome}

## Key Messages
{Agent fills: 3-5 bullets from gathered data}

## Supporting Data
{Agent fills: relevant metrics, quotes, evidence}

## Call to Action
{Agent fills: single unambiguous ask + deadline}
```

## Output

- File written to `output/{genre}/{date}-{title}.md`
- Frontmatter with full metadata for OSA command center
- Status set to `draft` (user reviews and promotes to `approved`)

## Dependencies

- `reference/compositions/` must contain the named template
- `data/` and/or `output/` for context gathering
- Engine search (optional, for richer data gathering)
- People/receiver table in SYSTEM.md or company.yaml (optional, for genre matching)

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…