skill: add Android skills
This commit is contained in:
@@ -0,0 +1,77 @@
|
||||
Optimizes AppFunction KDoc for AI agents and Model Context Protocol.
|
||||
|
||||
## Instructions
|
||||
|
||||
### Workflow: Agent-Centric Documentation
|
||||
|
||||
1. **Identify the Core Outcome** : Start the description with a strong, imperative verb (e.g., "Search", "Create", "Update"). Focus on the *user
|
||||
benefit*, not the code implementation.
|
||||
2. **Workflow Dependencies** : Explicitly state if another function must be called first using the standard phrase: **Required workflow: Call "Function
|
||||
A" first to "Objective"**.
|
||||
3. **Parameter Documentation** :
|
||||
- For **Functions** : Use specific `@param` tags. Isolate validation rules and default values here.
|
||||
- For **Serializables** : Use inline KDoc directly for each property declarations. KSP will **not** extract documentation from class-level tags.
|
||||
4. **Error Surface Mapping** : Rewrite `@throws` descriptions to provide actionable recovery steps for the AI agent (e.g., "If "Error", suggest the user check their internet connection").
|
||||
|
||||
### Workflow: Global App Description (Server Instructions)
|
||||
|
||||
When writing the `appfn:description` for `app_metadata.xml`, follow these
|
||||
instructions:
|
||||
|
||||
1. **Capture Cross-Function Relationships**: Explain dependencies or sequences between tools (e.g., "Always call 'authenticate' before fetching data").
|
||||
2. **Document Operational Patterns**: Guide the LLM on token conserving usage (e.g., "Use 'batch_update' over multiple 'update' calls").
|
||||
3. **Specify Constraints**: Define clear boundaries (e.g., "File operations limited to workspace", "Rate limit: 10 req/min").
|
||||
4. **Anti-Patterns** :
|
||||
- DON'T repeat individual function descriptions.
|
||||
- DON'T include marketing claims or subjective praise.
|
||||
- DON'T attempt to prompt model personality or conversation style.
|
||||
|
||||
## Critical Constraints
|
||||
|
||||
### Descriptive, Not Imperative
|
||||
|
||||
Describe what the function *does* , not what the LLM *must* do. Avoid phrases
|
||||
like "You must call this..." in favor of "This function provides...".
|
||||
|
||||
### No "Fluff"
|
||||
|
||||
Remove conversational padding like "This method is used to..." or "Helpful
|
||||
for...". Be concise and technical.
|
||||
|
||||
### Inline KDoc for Serializables
|
||||
|
||||
**MANDATORY** : For `@AppFunctionSerializable` classes, documentation MUST be
|
||||
inline For each property. KSP ignores class-level `@param` or `@property` tags
|
||||
for these classes.
|
||||
|
||||
## Examples
|
||||
|
||||
### Example: MCP Refactoring
|
||||
|
||||
**Original**:
|
||||
|
||||
`/** This function helps you find people. */`
|
||||
|
||||
**Refined**:
|
||||
|
||||
/**
|
||||
* Search for message recipients by name or email.
|
||||
* Required workflow: Call this before "sendMessage" to obtain valid recipient IDs.
|
||||
* @param query Search string for name/email. If null, returns 3 most recent contacts.
|
||||
* @return List of "Recipient" objects matching the query.
|
||||
*/
|
||||
|
||||
### Example: Global App Description
|
||||
|
||||
**Refined**:
|
||||
|
||||
This app provides functions for task management and team collaboration.
|
||||
|
||||
Operational Patterns:
|
||||
- Always use 'searchUsers' to resolve user handles to internal IDs before calling 'assignTask'.
|
||||
- Prefer 'batchUpdateStatus' when modifying more than 3 tasks simultaneously to reduce
|
||||
latency.
|
||||
|
||||
Constraints:
|
||||
- Task titles are limited to 100 characters.
|
||||
- Attachment uploads are limited to 5MB.
|
||||
Reference in New Issue
Block a user