Skip to content

Conversation

@colombod
Copy link
Contributor

@colombod colombod commented Feb 2, 2026

Summary

Add "check before building" guidance to AWARENESS_INDEX.md to prevent module duplication.

Tracking issue: https://github.com/microsoft-amplifier/amplifier-support/issues/43

Changes

File Change
context/shared/AWARENESS_INDEX.md Add domain prerequisite and "Before Building New Functionality" section

What This Adds

Domain Prerequisite Table Entry

| **New module/tool/capability** | **Consult `amplifier:module-catalog-expert`** |

"Before Building New Functionality" Section

4-step process:

  1. Consult amplifier:module-catalog-expert - Focused expert with complete ecosystem catalog
  2. Check if it exists - Similar functionality may exist under different name
  3. Consider extending - Contribute to existing module instead of creating new
  4. Only then build new - If no existing solution covers use case

Architecture

Every Session (minimal cost, ~30 tokens)
┌─────────────────────────────────────────────────┐
│ AWARENESS_INDEX.md                              │
│ "New module → Consult module-catalog-expert"    │
└──────────────────────┬──────────────────────────┘
                       │ triggers delegation
                       ▼
Only When Checking Catalog (~4,600 tokens)
┌─────────────────────────────────────────────────┐
│ amplifier:module-catalog-expert (from PR #211)  │
└─────────────────────────────────────────────────┘

Related

@colombod colombod force-pushed the docs/reuse-philosophy branch from 6ca0168 to ce5225d Compare February 2, 2026 18:50
Copy link
Collaborator

@bkrabach bkrabach left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review: PR #55 - "Before Building New Functionality" guidance

The approach here is architecturally sound - adding lightweight guidance to AWARENESS_INDEX is the correct pattern:

  • Thin pointer (~100 tokens) in a file that's meant to propagate
  • Directs agents to consult an expert rather than loading heavy docs directly
  • Preserves the context sink pattern

Issue: Agent Reference Should Be amplifier:amplifier-expert

The PR references amplifier:module-catalog, but this agent doesn't exist. The correct agent is amplifier:amplifier-expert, which already has MODULES.md @mentioned in its body (line 88) and is explicitly designed as the authoritative consultant for ecosystem knowledge.

Required Fix

-| **New module/tool/capability** | **Consult `amplifier:module-catalog`** |
+| **New module/tool/capability** | **Consult `amplifier:amplifier-expert`** |

-1. **Consult `amplifier:module-catalog`** - Focused expert with the complete ecosystem catalog (MODULES.md)
+1. **Consult `amplifier:amplifier-expert`** - Authoritative ecosystem consultant with access to MODULES.md

Note on Companion PR

The companion PR (amplifier#211) has architectural concerns - adding MODULES.md to context.include would propagate it to all parent bundles, defeating the context sink pattern. I've requested changes there.

This PR (#55) takes the right approach. Just needs the agent reference corrected.

@colombod
Copy link
Contributor Author

colombod commented Feb 3, 2026

Addressing Feedback

Thanks Brian!

Note: amplifier:module-catalog is a New Agent

The companion PR (#211) introduces a new focused agent called module-catalog. It's intentional, not a typo for amplifier-expert.

Rationale:

Agent Purpose Token Cost
amplifier-expert General ecosystem guidance ~2k tokens (ecosystem-overview.md)
module-catalog Focused "what exists?" queries ~4.6k tokens (MODULES.md) - only when spawned

This follows the context sink pattern more precisely:

  • Thin trigger in AWARENESS_INDEX (~30 tokens): "consult module-catalog before building"
  • Heavy catalog loads only when that specific agent runs

If we used amplifier-expert instead, users asking general ecosystem questions ("how do I create a bundle?") would also load MODULES.md even when they don't need the catalog.

context.include Issue Fixed

Per your feedback on #211, I removed context.include from the module-catalog behavior. MODULES.md is now loaded only via the @mention in the agent body, so it won't propagate during composition.

Happy to discuss if you'd prefer consolidating into amplifier-expert!

@colombod colombod requested a review from bkrabach February 3, 2026 03:50
@colombod
Copy link
Contributor Author

colombod commented Feb 3, 2026

Correction: The Agent Now Exists

Apologies for the confusion in my previous comment. When you reviewed, the companion PR (#211) was missing the actual module-catalog files due to a failed push. You were right to flag that the agent didn't exist.

Now fixed: PR #211 has been force-pushed with the complete implementation:

File Description
agents/module-catalog.md Focused catalog agent with @mention to MODULES.md
behaviors/module-catalog.yaml Thin behavior (no context.include - fixed per your feedback)
bundle.md Updated to include the behavior

This PR (#55) references amplifier:module-catalog which now actually exists in #211.

Also fixed in #211:

  • Removed context.include from behavior (uses @mention in agent body instead)
  • Fixed duplicate "Examples:" header

Please re-review both PRs when you have a chance.

Points to amplifier:module-catalog agent for module discovery.
Uses context sink pattern - only loads full catalog when agent spawned.

🤖 Generated with [Amplifier](https://github.com/microsoft/amplifier)

Co-Authored-By: Amplifier <240397093+microsoft-amplifier@users.noreply.github.com>
@colombod colombod force-pushed the docs/reuse-philosophy branch from ce5225d to 36f8904 Compare February 3, 2026 03:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants