jellydn / jellydn/tiny-coding-agent
Add Agent Plugins specification support
- 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