# Authoring edge cases Read only when the task touches the edge case. - **Portability:** Pi accepts some forms the Agent Skills standard rejects. Keep the portable contract: lowercase `name`, directory/name agreement, non-empty `description`, valid YAML frontmatter. - **Invocation:** `disable-model-invocation` is a boolean. Do not add a dispatcher prompt when current Pi invocation already supplies the behavior. - **Links:** resolve local Markdown links from their source file. Ignore URLs, anchors, absolute paths, and examples inside code blocks. Check target existence; do not promise remote availability or heading validity. - **Scripts:** any recognized helper extension anywhere in the skill makes the package scripted. Extensionless files do not. A declaration of `node --test` is packaging evidence, not proof that tests run. - **Fixtures:** use OS temp directories; do not execute fixture helpers. Spawn subprocesses with `process.execPath` and argument arrays, never shell strings. - **Scope:** checker tests prove structural behavior only. Trigger quality, prose effectiveness, source authority, and semantic correctness need review or a controlled scenario. - **Research:** keep downloaded material and generated evidence outside the repository unless explicitly requested.