Personal plugin layer for OpenCode and Claude Code: personal skills and preferences
simpsonm09-personal-ai-plugin
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
The personal plugin layer for simpsonm09. It serves OpenCode and Claude Code from one skills/ folder.
The original lives in simpsonm09-org/simpsonm09-personal-ai-plugin; work happens on the personal fork. See repo-standard.
It contributes personal preferences and skills, not shared with the organization. It contributes no MCP server; every personal service is reached through a CLI. maxstack composes this layer last, so it overrides the org layer on a same-key conflict.
Contents
- layer.json describes the layer, including its config fragment and plugin files.
- opencode.fragment.jsonc is the fragment maxstack merges into the workspace config.
- index.ts and package.json are the OpenCode plugin entrypoint.
- skills/ holds the skills the plugin registers.
- .claude-plugin/ holds the Claude Code plugin manifest.
- .github/plugin/ holds the GitHub Copilot CLI plugin manifest. It names no hooks file.
- scripts/ holds the discli setup helpers and the layer contract validator.
- workspace-instructions.md contains the layer's always-on working agreements. Every session pays for this text, so detailed procedures belong in skills.
Servers
The layer contributes no MCP server. General services are reached through a CLI, per the org service-integrations registry. This layer holds the personal concretes the registry defers to, and the personal services: himalaya for email, ntfy for phone notifications, smsgate for texting, and discli for Discord. Discord and Postman reach their secret through the Agent Vault wrappers, with-vault --role agent for the agent and with-secrets or with-vault --role human for the human. The agent-vault skill owns the identities, the bundles, and the proxy. If a future job has no CLI, add one server here, keep it off by default, and remove it once a CLI exists.
Plugin and skills
For OpenCode, the layer is configuration and a plugin at the same time. maxstack's Install-Workspace.ps1 merges the fragment into opencode.jsonc and copies the files named in layer.json into .opencode/plugins/simpsonm09-personal-ai-plugin, where OpenCode loads the plugin. The plugin registers every skills/ /SKILL.md through ctx.skill.transform.
| Skill | Purpose |
| --- | --- |
| integrations-personal | Where each personal value comes from (infer from the tool, Infisical /secrets, or Infisical /pii), the with-secrets and Agent Vault wrappers, and the himalaya, ntfy, and smsgate services. |
| dev-tools | Where each personal tool's settings live and how to apply them. Installing the tools is owned by simpsonm09-dev-setup through tools.yaml. |
| discord | Discord through the discli CLI, including the with-vault and with-secrets wrappers, permission profiles, the audit log, and live listen and serve modes. |
| agent-vault | The Agent Vault model, its identities, the with-vault and with-secrets wrappers, and the known gotchas. Discord and Postman go through it. |
Run just setup-discli once per machine to install discli and run discli doctor.
To add a skill, create skills/ /SKILL.md with name and description frontmatter. The plugin picks it up on the next install and restart.
GitHub Copilot CLI plugin
The same skills load into GitHub Copilot CLI from .github/plugin/plugin.json, with the same name and version as the Claude manifest and no hooks. Load the folder with copilot --plugin-dir , where the folder is this repository or its installed copy. Copilot finds the shared skills/ directory at the plugin root.