Skip to content

Add scaffolding for agent_protocol_bridge: manifest, base skill, Prot… - #438

Open
AkashGowdaNC wants to merge 1 commit into
ARPAHLS:mainfrom
AkashGowdaNC:feat/issue-429-agent-protocol-bridge
Open

AkashGowdaNC wants to merge 1 commit into
ARPAHLS:mainfrom
AkashGowdaNC:feat/issue-429-agent-protocol-bridge

Conversation

@AkashGowdaNC

Copy link
Copy Markdown

Refs #429

What this commit adds

Scaffolding for the dev_tools/agent_protocol_bridge skill:

  • manifest.yaml — declares the 6 actions, the 6 protocols, and the constitution
  • skill.py — AgentProtocolBridgeSkill(BaseSkill) with action dispatch; every action is stubbed for now
  • translators/base.py — the ProtocolTranslator ABC (protocol_id, to_canonical, from_canonical)
  • instructions.md — when the skill is loaded and what each action does
  • test_skill.py — 9 tests covering the manifest, action dispatch, and the ABC contract

Status

Scaffolding only. Translators and action implementations land in follow-up commits on this same branch, per the plan agreed with @rosspeili.

Test

@rosspeili

rosspeili commented Oct 16, 2026 •

Copy link
Copy Markdown
Contributor

Hey @AkashGowdaNC, thanks for landing the initial scaffolding slice! The structure is clean and the ABC separation in translators/base.py is a good foundation.

A few quick notes and tips for this slice and the upcoming ones:

1. PR Description Template

Please update the PR description to use the official PULL_REQUEST_TEMPLATE.md. We welcome AI assistants and autonomous agent workflows, but all PRs must retain the standard checklist and sections so maintainers can track progress as commits land. You can check off what is done in Slice 1 and leave pending items for subsequent slices. Read Contributing in detail, or give your agent access to ai native workflow md, to avoid ping-pong reviews that could have been avoided if you had the right context.

2. Linters & Formatting (Quick Fix, also keep in mind for down the line)

Running python -m black --check . and flake8 currently flags W292 no newline at end of file across the newly added .py files. Running python -m black . locally before your next push will format these cleanly.

3. Manifest Polish

In manifest.yaml, parameters.required: [] is currently empty. Since action is strictly mandatory for routing, please declare:

required:
  - action

(Also, in skill.py, please use self.load_manifest_from_dir(os.path.dirname(file)) provided by BaseSkill rather than custom yaml file reading).

4. Architectural Tip for Slice 2 (translators/)

In translators/base.py, to_canonical(data) and from_canonical(canonical) are generic dictionaries. Since the bridge handles 4 distinct payload types (translate_schema, translate_call, translate_result, translate_messages), make sure the canonical representation has a clear discriminator (e.g. {"kind": "schema", "payload": ...}) or explicit methods so target.from_canonical() knows what wire shape to emit without ambiguity.

Looking forward to the mcp.py and openai.py slice! 🚀

This branch has not been deployed

No deployments
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