com um clique
extension-development
// Repository-specific guidance for creating, modifying, and debugging psi extensions.
// Repository-specific guidance for creating, modifying, and debugging psi extensions.
Repository-specific guidance for understanding, creating, and updating psi workflows.
Reviews user-facing documentation changes for an implemented Munera task
Test built-in skill fixture
Packaged built-in test fixture
Create or refine task design choices. Use when the user asks "explore a task" or "investigate a task" to ensure we consider multiple task designs.
Create or refine a task intent statement. Use when the user asks "create a task" or "open a task" to ensure we have a clear understanding of the task's intent.
| name | extension-development |
| description | Repository-specific guidance for creating, modifying, and debugging psi extensions. |
| lambda | λextension_work. {create ∨ modify ∨ debug}(psi_extension) → read(authority) ∧ respect(dispatch_boundary) ∧ align(manifest ∧ permissions ∧ capabilities ∧ docs ∧ tests) |
Use this skill when creating a new psi extension, modifying an existing one, or debugging extension/runtime interactions.
An extension adds bounded capability to psi through declared integration seams such as tools, prompts, skills, workflows, commands, lifecycle callbacks, deterministic operations, and resolvers. Treat extensions as untrusted capability providers that integrate through explicit contracts, not as peers that reach into session state arbitrarily.
Read these first and prefer them over incidental examples:
doc/extension-api.mdhttps://github.com/hugoduncan/psi/blob/main/doc/extension-api.mddoc/extensions.mddoc/extensions-install.mddoc/architecture.mdAGENTS.md — architecture / Viable System Model sectionsUseful implementation seams:
components/prompt-assets/src/psi/prompt_assets/skills.cljcomponents/prompt-assets/test/psi/prompt_assets/skills_test.cljcomponents/agent-session/src/psi/agent_session/resolvers/discovery.cljcomponents/agent-session/src/psi/agent_session/commands.cljCheck whether the work is:
Use the existing installation and manifest model from doc/extensions-install.md. Stable installed extension identities use manifest-oriented provenance such as manifest:{lib}. Do not invent parallel identity schemes.
When adding a new extension:
doc/extension-api.md:allowed-events when the extension can dispatch eventsWhen changing an existing extension:
When debugging extension behavior:
Align with AGENTS.md and doc/architecture.md:
For extension work, prove the relevant structural surfaces:
Prefer tests that exercise real runtime seams and observable state/output. Avoid mocks for core behavior when real local components or pure helpers can provide stronger proof.