jellydn / jellydn/tiny-coding-agent

Add Agent Plugins specification support

Open
#112 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
14
Forks
2
Avg merge
8d 14h
Merged PRs (30d)
2

Description

## Summary

Add support for the Agent Plugins open specification so `tiny-coding-agent` can discover and consume portable agent plugins across compatible clients.

Reference: https://agent-plugins.org/

## Motivation

Agent Plugins provides a common packaging format for reusable agent capabilities, including skills and MCP server configuration. Supporting the specification would let `tiny-coding-agent` reuse plugins built for the broader agent ecosystem instead of requiring project-specific integration.

This also fits the project's goal of keeping the coding agent small while allowing capabilities to be extended externally.

## Proposed scope

### Phase 1 — Plugin discovery and manifest

- [ ] Discover plugin directories
- [ ] Parse and validate `plugin.json`
- [ ] Support the Agent Plugins schema/version field
- [ ] Expose discovered plugin metadata to the agent runtime
- [ ] Provide useful validation/error messages for invalid plugins

### Phase 2 — Skills

- [ ] Discover `skills/` declared/provided by a plugin
- [ ] Load `SKILL.md` instructions using the existing skills mechanism where possible
- [ ] Keep plugin skills isolated/namespaced to avoid collisions
- [ ] Define precedence when local and plugin-provided skills share a name

### Phase 3 — MCP

- [ ] Read plugin `mcp.json`
- [ ] Register configured MCP servers with the existing tool/MCP layer
- [ ] Handle environment/configuration requirements without embedding secrets in plugins
- [ ] Surface MCP startup/configuration errors clearly

### Phase 4 — CLI / UX

Consider a minimal interface such as:

```bash
tiny-agent plugin list
tiny-agent plugin inspect
tiny-agent plugin validate
```

Installation/registry support can remain out of scope initially; loading plugins from configured local directories is enough for the first implementation.

## Design principles

- Follow the Agent Plugins specification rather than inventing a custom plugin format.
- Keep the core agent runtime independent from individual plugins.
- Reuse the existing skills and MCP implementations instead of introducing parallel systems.
- Prefer progressive loading so plugin metadata can be discovered without loading every skill/tool into context.
- Treat plugin configuration and executable MCP servers as untrusted input.

## Acceptance criteria

A minimal example plugin containing:

```text
example-plugin/
├── plugin.json
├── skills/
│ └── example/
│ └── SKILL.md
└── mcp.json
```

can be discovered by `tiny-coding-agent`, validated, and its skill/MCP capabilities made available to the agent runtime.

## References

- Agent Plugins: https://agent-plugins.org/
- Specification: https://agent-plugins.org/specification
- Plugin author guide: https://agent-plugins.org/plugin-authors

Contributor guide

No contributing guide indexed for this repository

Research direction

The issue names the existing skills mechanism, tool/MCP layer, and TypeScript CLI/runtime, but no repository files or tests. Start by locating those entry points and reviewing the Agent Plugins specification; done means a local example plugin can be discovered, validated, and expose its skills and MCP capabilities through the runtime.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
ai, cli
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.