{"id":"customize","repo":"koinzhang/paseo-plugins","url":"https://github.com/koinzhang/paseo-plugins/tree/main/customize","package":"@koinzhang/paseo-plugin-customize","npm":{"package":"@koinzhang/paseo-plugin-customize","version":"0.1.0","integrity":"sha512-5WW8lyjTqxdNOjAWYUXgnDJXtZ3ucM9/2toCVPj1ILMA7SqN/BdRDO/ot6SWgvfUfe2rowTlg3bpbfj6QXYF+A==","publishedAt":"2026-09-25T15:22:47.488Z","downloadsLast30Days":0},"name":"customize","description":"Inspect local instructions, rules, skills, MCP servers, commands, subagents, and plugins for Paseo providers.","categories":["productivity","provider"],"platforms":[],"caveats":[],"images":[],"themes":[],"health":{"manifestValid":true,"hasReadme":true,"hasLicense":true,"hasTests":true,"hasTypecheckScript":true,"updatedRecently":true},"scannedAt":"2026-09-25T20:21:01.369Z","addedAt":"2026-09-25T20:05:19Z","npmSecurity":{"status":"passed","blockingFindings":0,"advisoryFindings":0,"scannedAt":"2026-09-25T20:20:43.268Z","version":"0.1.0","integrity":"sha512-5WW8lyjTqxdNOjAWYUXgnDJXtZ3ucM9/2toCVPj1ILMA7SqN/BdRDO/ot6SWgvfUfe2rowTlg3bpbfj6QXYF+A=="},"path":"customize","version":"0.1.0","security":{"status":"passed","blockingFindings":0,"advisoryFindings":0,"scannedAt":"2026-09-25T20:20:43.268Z","commit":"25dbb86f2999350d6ad2b5bdf2e4afaaa29c596e"},"license":"MIT","paseoVersionRequirement":">=0.9.0","descriptionNodes":[{"type":"text","text":"Inspect local instructions, rules, skills, MCP servers, commands, subagents, and plugins for Paseo providers."}],"caveatNodes":[],"manifest":{"id":"customize","requirements":{"paseo":">=0.9.0"}},"repoMeta":{"stars":5,"defaultBranch":"main","pushedAt":"2026-09-25T15:27:24Z"},"owner":{"login":"koinzhang","avatarUrl":"https://avatars.githubusercontent.com/u/36128970?v=4"},"installNotesHtml":"<pre><code class=\"language-bash\">paseo plugin add koinzhang/paseo-plugins --path customize\n</code></pre>","readmeText":"# Customize\n\nOne board that scans local agent configuration for a project: **instructions** (AGENTS.md, CLAUDE.md …), **rules**, **skills**, **MCP servers**, **commands**, **subagents**, and **plugins** at project and user level.\n\nRequires Paseo >= 0.9.0.\n\n## What you get\n\n- A **Customize** item in the sidebar's top navigation (next to New workspace, History, Search, Schedules) and in the Command Center opens the board.\n- Submit `/customize` in an agent composer to open the board. It selects the agent's Provider and workspace Project when available, updating each independently and keeping the current selection for any unavailable value.\n- Top-right **Provider** and **Project** pickers. The Provider menu lists enabled Paseo providers that Customize can scan, including Cursor, Cline, CodeBuddy Code, Gemini CLI, Goose, Grok Build, Kilo Code, Kiro CLI, Kimi Code, Qwen Code, and TraeCode CLI. It marks each as Built-in or ACP. Choices persist on the Paseo host; before a project is chosen, it defaults to the workspace you were last on. The Project menu lists every Paseo project.\n- Tabs for Instructions / Rules / Skills / MCP / Commands / Subagents / Plugins. Each tab starts with a \"how it loads\" note for that provider and then **Project** and **User** sections grouped by source directory.\n- A link icon to the left of Provider marks agents that search shared skill directories; providers without compatibility support show no icon. Cursor's icon follows its local `thirdPartyExtensibilityEnabled` IDE setting; OpenCode's follows its external-skill environment flags. The icon and skill explanation update on the next scan when those settings change.\n- A skill reachable through several symlinked roots appears once. Customize prefers the provider's native path, then `.agents/skills`, then another path. Same-name skills backed by different files remain separate.\n- For OpenCode 1.18, every discovered and permitted skill is advertised automatically, even if its frontmatter contains another agent's `disable-model-invocation` setting. The skill body loads only when the agent calls the `skill` tool; `permission.skill: deny` still hides a skill.\n- Each row shows name, description, directory, and a status:\n\n| Status | Meaning |\n|---|---|\n| Auto | Loaded / offered to the model without you doing anything |\n| Conditional | Loaded when a glob, nested directory, or the agent's judgement matches |\n| Manual only | Only when you invoke it (`/name`, `@rule`, `disable-model-invocation`, `allow_implicit_invocation: false` …) |\n| Needs approval | Found, but the provider asks before using it (e.g. unapproved `.mcp.json` servers) |\n| Disabled | Explicitly turned off in config (`enabled = false`, `skillOverrides: off`, `disabledMcpServers` …) |\n| Not loaded | Present but ignored (shadowed by a higher-priority file, untrusted project, off by default) |\n\nThe reason (the exact frontmatter key or config setting) is shown next to the status.\n\n- Click a row for a preview pane at the bottom (first 64 KiB / 400 lines) with **Open**, **Reveal**, and **Copy path**. MCP previews mask `env` / `headers` values and secret-looking arguments.\n\nScanning is read-only. Preview and open only accept paths returned by a scan.\nThe list is disk evidence, not a live CLI inventory. Trust, plugin enablement, command-line flags, and newer CLI versions may change what a running agent uses. An empty category marked \"No scanned location\" means no verified file location is configured in Customize; it does not mean the provider lacks that capability.\n\nProvider/Project scans are saved as private JSON snapshots in the Paseo host's `plugin-data/customize/` directory (`$PASEO_HOME`, or `~/.paseo` by default). The board shows the saved list after an app or plugin restart; hover over Rescan to see the last scan time. It scans in the background when the snapshot is at least 10 minutes old, a compatibility switch changes, no snapshot exists, or you press Rescan. A failed refresh keeps the last list visible with a retry action. Damaged or incompatible snapshots are ignored. Previews and Open recheck paths from saved snapshots against a current scan.\n\nPlugin rows read the declared specification version from the root `plugin.json` `$schema`. A valid supported manifest shows **Agent Plugins 1.0.0**; a future canonical version shows its declared version with an **unverified** qualifier until Customize supports that schema. The badge does not validate bundled skills or MCP servers, or confirm runtime activation.\nFor Cursor, the Plugins tab also scans local test packages under `~/.cursor/plugins/local/<plugin-name>`.\n\nPer-provider mechanisms and their sources are recorded in [`specs/001-customize-board/research.md`](./specs/001-customize-board/research.md) and [`specs/003-acp-configurations/research.md`](./specs/003-acp-configurations/research.md).\n\n## Install\n\n```bash\npaseo plugin add koinzhang/paseo-plugins --path customize\n```\n\n## Development\n\n```bash\ncd customize\nnpm install\nnpm run typecheck\nnpm test\npaseo plugin install \"$PWD\"\npaseo plugin reload customize\n```\n\nProvider scanners live in `server/providers/`; shared helpers (nested directory index, skill discovery, redaction) in `server/scan-kit.ts` and `server/mcp.ts`. The \"how it loads\" notes are data in `shared/mechanisms.ts`. UI follows the Activity design tokens (`client/design-tokens.ts`); `npm test` rejects raw font / radius / icon literals.\n"}