agent-skill-kit 0.1.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (127) hide show
  1. agent_skill_kit-0.1.1.dist-info/METADATA +355 -0
  2. agent_skill_kit-0.1.1.dist-info/RECORD +127 -0
  3. agent_skill_kit-0.1.1.dist-info/WHEEL +4 -0
  4. agent_skill_kit-0.1.1.dist-info/entry_points.txt +2 -0
  5. agents/__init__.py +1 -0
  6. agents/antigravity/adapter.py +97 -0
  7. agents/base.py +182 -0
  8. agents/claude/adapter.py +105 -0
  9. agents/codex/adapter.py +105 -0
  10. agents/cursor/adapter.py +109 -0
  11. agents/gemini/adapter.py +96 -0
  12. ask/__init__.py +4 -0
  13. ask/__main__.py +6 -0
  14. ask/cli.py +35 -0
  15. ask/commands/__init__.py +1 -0
  16. ask/commands/add_agent.py +146 -0
  17. ask/commands/copy.py +335 -0
  18. ask/commands/create.py +163 -0
  19. ask/commands/list_skills.py +54 -0
  20. ask/commands/remove.py +85 -0
  21. ask/commands/sync.py +102 -0
  22. ask/commands/update.py +184 -0
  23. ask/templates/skill/README.md +19 -0
  24. ask/templates/skill/skill.yaml +10 -0
  25. ask/utils/__init__.py +1 -0
  26. ask/utils/agent_registry.py +48 -0
  27. ask/utils/filesystem.py +83 -0
  28. ask/utils/skill_registry.py +112 -0
  29. ask/utils/validators.py +35 -0
  30. skills/coding/ask-bug-finder/README.md +171 -0
  31. skills/coding/ask-bug-finder/SKILL.md +176 -0
  32. skills/coding/ask-bug-finder/skill.yaml +15 -0
  33. skills/coding/ask-code-reviewer/README.md +72 -0
  34. skills/coding/ask-code-reviewer/SKILL.md +72 -0
  35. skills/coding/ask-code-reviewer/skill.yaml +15 -0
  36. skills/coding/ask-commit-assistance/README.md +21 -0
  37. skills/coding/ask-commit-assistance/SKILL.md +65 -0
  38. skills/coding/ask-commit-assistance/skill.yaml +15 -0
  39. skills/coding/ask-component-scaffolder/README.md +43 -0
  40. skills/coding/ask-component-scaffolder/SKILL.md +43 -0
  41. skills/coding/ask-component-scaffolder/scripts/scaffold_component.py +68 -0
  42. skills/coding/ask-component-scaffolder/skill.yaml +8 -0
  43. skills/coding/ask-db-migration-assistant/README.md +48 -0
  44. skills/coding/ask-db-migration-assistant/SKILL.md +48 -0
  45. skills/coding/ask-db-migration-assistant/skill.yaml +8 -0
  46. skills/coding/ask-docker-expert/README.md +44 -0
  47. skills/coding/ask-docker-expert/SKILL.md +45 -0
  48. skills/coding/ask-docker-expert/skill.yaml +14 -0
  49. skills/coding/ask-effective-llm-coder/README.md +27 -0
  50. skills/coding/ask-effective-llm-coder/SKILL.md +27 -0
  51. skills/coding/ask-effective-llm-coder/skill.yaml +8 -0
  52. skills/coding/ask-explaining-code/README.md +299 -0
  53. skills/coding/ask-explaining-code/SKILL.md +299 -0
  54. skills/coding/ask-explaining-code/skill.yaml +16 -0
  55. skills/coding/ask-fastapi-architect/README.md +60 -0
  56. skills/coding/ask-fastapi-architect/SKILL.md +61 -0
  57. skills/coding/ask-fastapi-architect/skill.yaml +14 -0
  58. skills/coding/ask-flutter-architect/README.md +85 -0
  59. skills/coding/ask-flutter-architect/SKILL.md +86 -0
  60. skills/coding/ask-flutter-architect/skill.yaml +14 -0
  61. skills/coding/ask-flutter-mechanic/README.md +55 -0
  62. skills/coding/ask-flutter-mechanic/SKILL.md +56 -0
  63. skills/coding/ask-flutter-mechanic/skill.yaml +15 -0
  64. skills/coding/ask-laravel-architect/README.md +61 -0
  65. skills/coding/ask-laravel-architect/SKILL.md +62 -0
  66. skills/coding/ask-laravel-architect/skill.yaml +16 -0
  67. skills/coding/ask-laravel-mechanic/README.md +94 -0
  68. skills/coding/ask-laravel-mechanic/SKILL.md +95 -0
  69. skills/coding/ask-laravel-mechanic/skill.yaml +16 -0
  70. skills/coding/ask-nextjs-architect/README.md +73 -0
  71. skills/coding/ask-nextjs-architect/SKILL.md +74 -0
  72. skills/coding/ask-nextjs-architect/skill.yaml +14 -0
  73. skills/coding/ask-owasp-security-review/README.md +211 -0
  74. skills/coding/ask-owasp-security-review/SKILL.md +216 -0
  75. skills/coding/ask-owasp-security-review/skill.yaml +16 -0
  76. skills/coding/ask-python-refactor/README.md +85 -0
  77. skills/coding/ask-python-refactor/SKILL.md +90 -0
  78. skills/coding/ask-python-refactor/skill.yaml +15 -0
  79. skills/coding/ask-readme-gardener/README.md +56 -0
  80. skills/coding/ask-readme-gardener/SKILL.md +56 -0
  81. skills/coding/ask-readme-gardener/skill.yaml +8 -0
  82. skills/coding/ask-refactoring-readability/README.md +167 -0
  83. skills/coding/ask-refactoring-readability/SKILL.md +172 -0
  84. skills/coding/ask-refactoring-readability/skill.yaml +15 -0
  85. skills/coding/ask-security-sentinel/README.md +17 -0
  86. skills/coding/ask-security-sentinel/SKILL.md +17 -0
  87. skills/coding/ask-security-sentinel/skill.yaml +8 -0
  88. skills/coding/ask-shadcn-architect/README.md +66 -0
  89. skills/coding/ask-shadcn-architect/SKILL.md +66 -0
  90. skills/coding/ask-shadcn-architect/skill.yaml +8 -0
  91. skills/coding/ask-unit-test-generation/README.md +187 -0
  92. skills/coding/ask-unit-test-generation/SKILL.md +187 -0
  93. skills/coding/ask-unit-test-generation/skill.yaml +16 -0
  94. skills/coding/ask-vue-architect/README.md +80 -0
  95. skills/coding/ask-vue-architect/SKILL.md +81 -0
  96. skills/coding/ask-vue-architect/skill.yaml +14 -0
  97. skills/coding/ask-vue-mechanic/README.md +59 -0
  98. skills/coding/ask-vue-mechanic/SKILL.md +60 -0
  99. skills/coding/ask-vue-mechanic/skill.yaml +15 -0
  100. skills/planning/ask-adr-logger/README.md +41 -0
  101. skills/planning/ask-adr-logger/SKILL.md +41 -0
  102. skills/planning/ask-adr-logger/scripts/create_adr.py +72 -0
  103. skills/planning/ask-adr-logger/skill.yaml +8 -0
  104. skills/planning/ask-brainstorm/README.md +45 -0
  105. skills/planning/ask-brainstorm/SKILL.md +45 -0
  106. skills/planning/ask-brainstorm/skill.yaml +8 -0
  107. skills/planning/ask-buildmaster/README.md +565 -0
  108. skills/planning/ask-buildmaster/SKILL.md +565 -0
  109. skills/planning/ask-buildmaster/skill.yaml +8 -0
  110. skills/planning/ask-project-memory/README.md +21 -0
  111. skills/planning/ask-project-memory/SKILL.md +21 -0
  112. skills/planning/ask-project-memory/skill.yaml +8 -0
  113. skills/tooling/ask-add-agent/README.md +175 -0
  114. skills/tooling/ask-add-agent/skill.yaml +15 -0
  115. skills/tooling/ask-pdf-processing/README.md +294 -0
  116. skills/tooling/ask-pdf-processing/reference/api_usage.md +288 -0
  117. skills/tooling/ask-pdf-processing/reference/form_mappings.yaml +151 -0
  118. skills/tooling/ask-pdf-processing/scripts/extract_text.py +126 -0
  119. skills/tooling/ask-pdf-processing/scripts/fill_form.py +185 -0
  120. skills/tooling/ask-pdf-processing/scripts/merge_pdfs.py +164 -0
  121. skills/tooling/ask-pdf-processing/skill.yaml +20 -0
  122. skills/tooling/ask-skill-capture/README.md +54 -0
  123. skills/tooling/ask-skill-capture/skill.yaml +14 -0
  124. skills/tooling/ask-skill-creator/README.md +253 -0
  125. skills/tooling/ask-skill-creator/SKILL.md +257 -0
  126. skills/tooling/ask-skill-creator/skill.yaml +15 -0
  127. skills/workflows/skill-creator/workflow.md +106 -0
@@ -0,0 +1,355 @@
1
+ Metadata-Version: 2.4
2
+ Name: agent-skill-kit
3
+ Version: 0.1.1
4
+ Summary: Centralized skills repository and CLI toolkit for AI agents
5
+ Author: Nava
6
+ License-Expression: MIT
7
+ Keywords: agents,ai,claude,cli,codex,gemini,skills
8
+ Classifier: Development Status :: 3 - Alpha
9
+ Classifier: Environment :: Console
10
+ Classifier: Intended Audience :: Developers
11
+ Classifier: License :: OSI Approved :: MIT License
12
+ Classifier: Programming Language :: Python :: 3
13
+ Classifier: Programming Language :: Python :: 3.9
14
+ Classifier: Programming Language :: Python :: 3.10
15
+ Classifier: Programming Language :: Python :: 3.11
16
+ Classifier: Programming Language :: Python :: 3.12
17
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
18
+ Requires-Python: >=3.9
19
+ Requires-Dist: click>=8.0.0
20
+ Requires-Dist: pyyaml>=6.0
21
+ Requires-Dist: rich>=13.0.0
22
+ Provides-Extra: dev
23
+ Requires-Dist: pytest-cov>=4.0.0; extra == 'dev'
24
+ Requires-Dist: pytest>=7.0.0; extra == 'dev'
25
+ Description-Content-Type: text/markdown
26
+
27
+ # Agent Skill Kit (ASK)
28
+
29
+ ![Agent Skill Kit Banner](assets/banner.png)
30
+
31
+ **Agent Skill Kit (ASK)** is a CLI toolkit for managing, distributing, and syncing skills across multiple AI agents. It serves as a unified "package manager" for your AI's capabilities, allowing you to define a skill once and deploy it to **Gemini, Claude, Codex, Antigravity, Cursor**, and more.
32
+
33
+ ## 🧠 Why Agent Skill Kit?
34
+
35
+ Managing instructions for multiple AI agents is tedious. You often have to:
36
+ * Copy `.cursorrules` to `.codex.md`.
37
+ * Manually sync `~/instructions.md` with project-specific prompts.
38
+ * Format skills differently for Gemini (`SKILL.md`) vs Claude (Slash Commands).
39
+
40
+ **ASK** solves this by treating skills as **reusable packages**.
41
+ 1. **Define Once**: Write a skill in a standard format.
42
+ 2. **Deploy Anywhere**: ASK transforms and copies the skill to the correct location and format for each agent.
43
+ 3. **Sync**: Keep all your agents updated with a single command.
44
+
45
+ ## 🚀 Features
46
+
47
+ - **Multi-Agent Support**: Native support for Gemini, Claude Code, OpenAI Codex, Antigravity, and Cursor.
48
+ - **Dynamic Discovery**: Automatically discovers available agents in the `agents/` directory.
49
+ - **Safe Copy**: Strictly adheres to "Do Not Overwrite". Prompts for a new name if a skill conflicts.
50
+ - **Local & Global**: Choose between **Project-Local** (specific to one repo) or **Global** (user-wide) deployment.
51
+ - **AI-Assisted Creation**: Includes meta-skills that teach your AI how to create new skills (`skill-creator`) or add new agents (`add-agent`).
52
+ - **Extensible**: Add support for any new AI agent in seconds via the `ask add-agent` wizard.
53
+
54
+ ## 📦 Installation
55
+
56
+ ```bash
57
+ # Clone the repository
58
+ git clone https://github.com/NavanithanS/Agent-Skill-Kit.git
59
+ cd Agent-Skill-Kit
60
+
61
+ # Install in editable mode
62
+ pip install -e .
63
+ ```
64
+
65
+ ## 🛠 Usage
66
+
67
+ ### 1. Copy Skills to an Agent ⭐
68
+ **The primary way to use ASK** — Deploy skills to your AI agents using the interactive wizard.
69
+
70
+ **Interactive Mode** (Recommended):
71
+ ```bash
72
+ ask copy
73
+ ```
74
+ The wizard guides you through:
75
+ 1. **Skill Selection**: Beautiful table showing all skills with descriptions and categories
76
+ 2. **Agent Selection**: Compatible agents highlighted for your chosen skill
77
+ 3. **Destination**: Choose between local (project) or global (user-wide) installation
78
+
79
+ **Quick Mode** (with flags):
80
+ ```bash
81
+ # Copy specific skill
82
+ ask copy gemini --skill bug-finder
83
+
84
+ # Copy all compatible skills to an agent
85
+ ask copy claude --all
86
+ ```
87
+
88
+ ### 2. List Available Skills
89
+ View your library of skills, including descriptions and supported agents.
90
+ ```bash
91
+ ask list
92
+ ```
93
+
94
+ ### 3. Create a New Skill
95
+ **AI-Assisted** (Recommended):
96
+ Simply ask your AI agent to create a skill for you:
97
+ ```
98
+ Create a new skill for Docker best practices
99
+
100
+ Make a skill that teaches REST API design
101
+
102
+ create new skill: explaining-code
103
+ Purpose: Explains code using analogies, ASCII diagrams, and step-by-step walkthroughs. Triggered by queries like "How does this work?"
104
+ Instructions emphasize conversational tone, multiple analogies, and highlighting common misconceptions.
105
+ ```
106
+ *Prerequisites: Deploy `ask-skill-creator` to your agent first (see [Tooling Skills](#tooling-skills-meta-skills)).*
107
+
108
+ **Manual CLI** (Alternative):
109
+ Launch the interactive wizard to generate a standardized skill template.
110
+ ```bash
111
+ ask create skill
112
+ ```
113
+
114
+ ### 4. Sync All Skills
115
+ Synchronize your entire skill library to all supported agents at once.
116
+ ```bash
117
+ ask sync all
118
+ ```
119
+
120
+ ### 5. Update Skills
121
+ Keep your installed skills up-to-date with the latest versions from the repository.
122
+ ```bash
123
+ ask update
124
+ ```
125
+ Features:
126
+ - **Version Checks**: Compares installed version vs source.
127
+ - **Interactive**: Select which skills to update (or use `--yes` to update all).
128
+ - **Safe**: Automatic backup (`SKILL.md.bak`) created before overwriting.
129
+
130
+ ### 6. Add Support for New Agents
131
+ Want to use **Windsurf** or **Aider**? Use the scaffold wizard:
132
+ ```bash
133
+ ask add-agent
134
+ ```
135
+ This creates the necessary adapter code, making the new agent available instantly.
136
+
137
+ ## 🎯 Supported Agents
138
+
139
+ | Agent | Local Path (Project) | Global Path (User) | Format |
140
+ |-------|----------------------|--------------------|--------|
141
+ | **Antigravity** | `.agent/skills/` | `~/.gemini/antigravity/skills/` | SKILL.md (YAML) |
142
+ | **Gemini CLI** | `.gemini/skills/` | `~/.gemini/skills/` | SKILL.md (YAML) |
143
+ | **Claude Code** | `.claude/commands/` | `~/.claude/commands/` | Markdown Command |
144
+ | **Codex** | `codex.md` | `~/.codex/instructions/` | Markdown |
145
+ | **Cursor** | `.cursor/rules/` | `~/.cursor/rules/` | Markdown Rules |
146
+
147
+ ## � Available Skills
148
+
149
+ ASK comes with a curated collection of skills to boost your AI agent's capabilities. Each skill provides specialized instructions and best practices.
150
+
151
+ ### Planning Skills
152
+
153
+ | Skill | Description | Use Cases |
154
+ |-------|-------------|-----------|
155
+ | **[adr-logger](skills/planning/ask-adr-logger/README.md)** | Automates creation of Architectural Decision Records | • Recording tech decisions<br>• Documenting context & consequences<br>• Maintaining decision history |
156
+ | **[brainstorm](skills/planning/ask-brainstorm/README.md)** | Guidelines for exploring user intent and requirements | • Defining user intent<br>• Gathering requirements<br>• Exploring design options |
157
+ | **[project-memory](skills/planning/ask-project-memory/README.md)** | Maintains a 'Project Brain' of decisions | • Avoiding re-discussions<br>• Checking past decisions<br>• Recording new choices |
158
+ | **[buildmaster](skills/planning/ask-buildmaster/README.md)** | Smart Epic Orchestration Agent | • Epic discovery & scoping<br>• Ticket decomposition<br>• Execution tracking & handoff |
159
+
160
+ ### Coding Skills
161
+
162
+ | Skill | Description | Use Cases |
163
+ |-------|-------------|-----------|
164
+ | **[bug-finder](skills/coding/ask-bug-finder/README.md)** | Best practices for systematic bug hunting and debugging | • Debugging complex issues<br>• Isolating bugs<br>• Using debugging tools |
165
+ | **[code-reviewer](skills/coding/ask-code-reviewer/README.md)** | AI code reviewer providing constructive feedback | • Code quality checks<br>• Security & performance review<br>• Learning best practices |
166
+ | **[effective-llm-coder](skills/coding/ask-effective-llm-coder/README.md)** | Guides agent in declarative, simple, tenacious coding | • Declarative workflows<br>• Simplicity & tenacity<br>• Iterative refinement |
167
+ | **[commit-assistance](skills/coding/ask-commit-assistance/README.md)** | Assist with code review, staging, and committing | • Pre-commit review<br>• Meaningful commit messages<br>• Staging files |
168
+ | **[explaining-code](skills/coding/ask-explaining-code/README.md)** | Explains code using analogies and diagrams | • Understanding complex code<br>• Visualizing flow<br>• Learning new codebases |
169
+ | **[flutter-architect](skills/coding/ask-flutter-architect/README.md)** | Senior Flutter skill using FVM | • Layer-First Architecture<br>• Stream-based Services<br>• Strict coding conventions |
170
+ | **[flutter-mechanic](skills/coding/ask-flutter-mechanic/README.md)** | Maintenance skill for Flutter projects using FVM | • Clean Build Protocol<br>• iOS/Android fixes<br>• Release protocols |
171
+ | **[laravel-architect](skills/coding/ask-laravel-architect/README.md)** | Senior scaffolding skill for Laravel (SQL/Mongo) | • Logic Layer separation<br>• Hybrid SQL/Mongo Relations<br>• Test-Driven Scaffolding |
172
+ | **[laravel-mechanic](skills/coding/ask-laravel-mechanic/README.md)** | Senior maintenance skill for database safety | • Zero Data Loss protocol<br>• N+1 Query prevention<br>• Queue debugging & forensics |
173
+ | **[owasp-security-review](skills/coding/ask-owasp-security-review/README.md)** | Static code analysis aligned with OWASP Top 10 | • Security scanning<br>• Identifying vulnerabilities<br>• Compliance checks |
174
+ | **[python-refactor](skills/coding/ask-python-refactor/README.md)** | Guidelines for Python code refactoring | • Improving code quality<br>• Refactoring legacy code<br>• Python best practices |
175
+ | **[refactoring-readability](skills/coding/ask-refactoring-readability/README.md)** | Improves code structure for clarity | • Renaming vars/functions<br>• Reducing complexity<br>• Improving readability |
176
+ | **[unit-test-generation](skills/coding/ask-unit-test-generation/README.md)** | Automates creation of comprehensive unit tests | • Generating new tests<br>• Covering edge cases<br>• Improving coverage |
177
+ | **[vue-architect](skills/coding/ask-vue-architect/README.md)** | Expert scaffolding for Vue 3 (Inertia/Nuxt) | • Component blueprints<br>• Stack detection<br>• Best practices enforcement |
178
+ | **[vue-mechanic](skills/coding/ask-vue-mechanic/README.md)** | Expert maintenance skill for Vue 3 (Inertia) | • Fixing navigation reloads<br>• Debugging prop mismatches<br>• Solving reactivity issues |
179
+ | **[component-scaffolder](skills/coding/ask-component-scaffolder/README.md)** | Standardizes UI component creation | • Consistent folder structure<br>• Typed props<br>• Auto-generating tests |
180
+ | **[db-migration-assistant](skills/coding/ask-db-migration-assistant/README.md)** | Ensures safe database schema updates | • Drafting migrations<br>• Creating rollback scripts<br>• Preventing data loss |
181
+ | **[readme-gardener](skills/coding/ask-readme-gardener/README.md)** | Keeps documentation in sync with code | • Updating API docs<br>• Documenting new features<br>• Maintaining README accuracy |
182
+ | **[shadcn-architect](skills/coding/ask-shadcn-architect/README.md)** | Enforces shadcn/ui patterns and consistency | • Preventing style bloat<br>• Enforcing import rules<br>• Promoting accessibility |
183
+ | **[security-sentinel](skills/coding/ask-security-sentinel/README.md)** | Pre-flight security checker for secrets/vulns | • Blocking commits with secrets<br>• Detecting SQL injection<br>• Flagging unsafe Blade usage |
184
+ | **[nextjs-architect](skills/coding/ask-nextjs-architect/README.md)** | Expert scaffolding for Next.js 14+ (App Router) | • Server Components<br>• Server Actions<br>• Metadata API |
185
+ | **[fastapi-architect](skills/coding/ask-fastapi-architect/README.md)** | Expert scaffolding for FastAPI projects | • Pydantic V2<br>• Async SQLAlchemy<br>• Dep Injection |
186
+ | **[docker-expert](skills/coding/ask-docker-expert/README.md)** | Expert guidance on Docker & Containers | • Multi-stage builds<br>• Security best practices<br>• Image optimization |
187
+
188
+ ---
189
+
190
+ ### Tooling Skills (Meta-Skills)
191
+
192
+ #### 🛠️ ask-skill-creator
193
+ **Description**: Teaches AI agents how to create skills for Agent Skill Kit
194
+
195
+ **How to Use**:
196
+ ```bash
197
+ # Deploy to all agents so they can create skills
198
+ ask sync all
199
+ ```
200
+
201
+ **Use Cases**:
202
+ - **AI-Assisted Skill Creation**: Let your AI agent create new skills by simply asking
203
+ ```
204
+ "Create a skill for API design best practices"
205
+ ```
206
+ - Standardizing skill structure and format
207
+ - Automating skill scaffolding
208
+ - Building your custom skill library
209
+ - Teaching AI agents the skill creation workflow
210
+
211
+ **Example Workflow**:
212
+ 1. Deploy this skill to your agent: `ask copy gemini --skill ask-skill-creator`
213
+ 2. Ask your agent: "Create a skill called 'ask-docker-best-practices' for containerization guidelines"
214
+ 3. The agent generates the skill files automatically
215
+
216
+ ---
217
+
218
+ #### 🎯 ask-add-agent
219
+ **Description**: How to add support for new AI code editors to Agent Skill Kit
220
+
221
+ **How to Use**:
222
+ ```bash
223
+ # Deploy to help your agent add new editor support
224
+ ask copy antigravity --skill ask-add-agent
225
+ ```
226
+
227
+ **Use Cases**:
228
+ - **Extending ASK**: Add support for new AI editors (Windsurf, Aider, etc.)
229
+ - Creating custom agent adapters
230
+ - Understanding the agent adapter architecture
231
+ - Contributing new agent support to the project
232
+
233
+ **Example Workflow**:
234
+ 1. Deploy this skill to your agent
235
+ 2. Run the wizard: `ask add-agent`
236
+ 3. Or ask your agent to help: "Add support for Windsurf editor"
237
+ 4. The agent follows the documented process to create the adapter
238
+
239
+ ---
240
+
241
+ #### 📄 ask-pdf-processing
242
+ **Description**: Handle PDF text extraction, form filling, and merging
243
+
244
+ **How to Use**:
245
+ ```bash
246
+ ask copy antigravity --skill ask-pdf-processing
247
+ ```
248
+
249
+ **Use Cases**:
250
+ - Extracting text from PDF documents
251
+ - Processing PDF forms
252
+ - Merging multiple PDFs
253
+ - PDF automation workflows
254
+
255
+ ---
256
+
257
+ #### 🧠 ask-skill-capture
258
+ **Description**: Meta-skill. Analyzes the current session's lessons and saves them as a permanent reusable skill.
259
+
260
+ **How to Use**:
261
+ ```bash
262
+ # Deploy to your agent (e.g., Antigravity, Gemini)
263
+ ask copy antigravity --skill ask-skill-capture
264
+ ```
265
+
266
+ **Use Cases**:
267
+ - **Chat-to-Code**: Turn "messy" chat context into a structured skill
268
+ - **Constraint Capture**: Permanently save rules like "Always use FVM" or "Don't use Tailwind"
269
+ - **Workflow Automation**: Save a successful debugging sequence as a reusable protocol
270
+ - **Team Scaling**: Share tacit knowledge with your team via git-committed skills
271
+
272
+ **Example Workflow**:
273
+ 1. You struggle through a task and finally get it right
274
+ 2. You say: "Capture this as a skill called 'ask-deployment-protocol'"
275
+ 3. The agent analyzes the conversation and generates the `SKILL.md`
276
+ 4. You verify and save it
277
+
278
+ ---
279
+
280
+ ### 🚀 Quick Start with Skills
281
+
282
+ ```bash
283
+ # View all available skills
284
+ ask list
285
+
286
+ # Deploy a specific skill to an agent
287
+ ask copy gemini --skill ask-bug-finder
288
+
289
+ # Deploy all compatible skills to an agent
290
+ ask copy claude --all
291
+
292
+ # Sync all skills to all agents
293
+ ask sync all
294
+
295
+ # Create your own skill (interactive)
296
+ ask create skill
297
+
298
+ # Or ask your AI agent to create one (if skill-creator is deployed)
299
+ "Create a new skill for API testing best practices"
300
+ ```
301
+
302
+ ## �📐 Skill Format
303
+
304
+ Each skill is a directory containing:
305
+ * **`skill.yaml`**: Metadata (name, description, tags, supported agents).
306
+ * **`README.md`**: The actual prompt/instructions for the AI.
307
+
308
+ > [!IMPORTANT]
309
+ > **Naming Convention**: All skill names must start with the `ask-` prefix (e.g., `ask-bug-finder`, `ask-commit-assistance`).
310
+
311
+ ```yaml
312
+ # skill.yaml
313
+ name: ask-bug-finder
314
+ version: 1.0.0
315
+ category: coding
316
+ agents:
317
+ - gemini
318
+ - claude
319
+ - cursor
320
+ ```
321
+
322
+ ## 🧩 Design Principles
323
+
324
+ 1. **Universal Definition**: Skills are defined in a neutral format that can be adapted to any agent.
325
+ 2. **Local-First, Global-Ready**: Prioritize project-specific skills (checked into git) while supporting user-wide global skills.
326
+ 3. **Safe by Default**: The CLI will **never** silently overwrite an existing skill. It always asks.
327
+ 4. **Agentic Workflow**: The toolkit includes skills (`skill-creator`) specifically designed to help AI agents help *you* build more skills.
328
+
329
+ ## 🗂 Repository Structure
330
+
331
+ ```
332
+ agent-skill-kit/
333
+ ├── ask/ # CLI Source Code
334
+ │ ├── commands/ # logic for create, copy, sync, add-agent
335
+ │ └── utils/ # adapter logic, filesystem helpers
336
+ ├── agents/ # Adapters for each AI agent
337
+ │ ├── gemini/
338
+ │ ├── claude/
339
+ │ ├── codex/
340
+ │ ├── antigravity/
341
+ │ └── cursor/ # (Added via ask add-agent)
342
+ └── skills/ # The Skill Library
343
+ ├── coding/
344
+ └── tooling/
345
+ ```
346
+
347
+ ## 🤝 Contributing
348
+
349
+ Contributions are welcome!
350
+ 1. **Create a Skill**: Use `ask create skill` and submit a PR with your best prompts.
351
+ 2. **Add an Agent**: Use `ask add-agent`, test it, and submit the new adapter.
352
+
353
+ ## License
354
+
355
+ MIT
@@ -0,0 +1,127 @@
1
+ agents/__init__.py,sha256=yjvBIa9akGNT4AbiwOW5uhWav1ngk_n-p7R_8MU2r1w,45
2
+ agents/base.py,sha256=crK8bMJ-GfGe-U-ohmgCw34NdfL8K_qlgaVxXEuiPTg,6815
3
+ agents/antigravity/adapter.py,sha256=XYEDwzc-tYC5YiQawJ8Pc9odaoa8SoPC0jF_WzYN_sg,3248
4
+ agents/claude/adapter.py,sha256=BztTKg1uLTPzVOL4tGsVHMimFSdtEXj3qTWTUkvjqFI,4016
5
+ agents/codex/adapter.py,sha256=TjYC9GVthLes3sNSx5uwv9UVhwm5W1WEWZBheDC6wFc,3761
6
+ agents/cursor/adapter.py,sha256=DoHbjdJp2nELzoKcCdtZnQ0-dFG8_S83MoQaAbFKAPg,3696
7
+ agents/gemini/adapter.py,sha256=PGwP-3UrOt6FZtFscro-fezOZ6dAir2TO_HSkrVaiWk,3180
8
+ ask/__init__.py,sha256=XUr7fxXfOW4CN6zDJ8k_Pv9JFdF50vVxXNTqvVtwU94,109
9
+ ask/__main__.py,sha256=GPEM4anOHyTIaedv5rXQIFUhfnohURTYRpAoOTOfXZE,102
10
+ ask/cli.py,sha256=FvJD5s8amG5WLeJLI17nKnThzQuCjD3swwZ5rthB0Rg,814
11
+ ask/commands/__init__.py,sha256=bDribyfKLiuaGKmXomxN6JNHBwZMCkARuHF0jgNESiI,40
12
+ ask/commands/add_agent.py,sha256=vtP-xPXEVtFIjTG8j8cwLa6xsDMMYOxW-DPMWPJK65Y,5053
13
+ ask/commands/copy.py,sha256=FIIZPncb-7ZyB2V15jONPKGNJNWt7HZgx6CAGo3V8Sk,12362
14
+ ask/commands/create.py,sha256=FeX82F51zSc--reIaRHsBwhc_wvmZ5-K86moWPDUDWo,4839
15
+ ask/commands/list_skills.py,sha256=bPwxM0MwrpajhpibcQd3CfkgQkjMniU_tyr4N7x_Qdw,1791
16
+ ask/commands/remove.py,sha256=F9DixGnKsrGh5khavA7YC7s0fBayMtvv2GLOY8RUmVI,3427
17
+ ask/commands/sync.py,sha256=HMNwBi_B_T6DM19eZnTuthXewPpUcC7krUuu3QIwWUE,3231
18
+ ask/commands/update.py,sha256=bXdE7ii6LpB0c8_ZEm7zOkBsx1BW811C7iIfsru_h-4,6616
19
+ ask/templates/skill/README.md,sha256=eAq6NRfBvm_ANUVAxexiemAvk4FpPwrL0SuC8f-Sf6M,252
20
+ ask/templates/skill/skill.yaml,sha256=kgQpzDDE5BrAYbbf7dlUQiZ4BGtxZTV290-HAwy0xos,161
21
+ ask/utils/__init__.py,sha256=CFI2eC8zdD42YVfh4219amy-E2p4aHVPOYy7OI5iCDU,45
22
+ ask/utils/agent_registry.py,sha256=GmGXMQ-cJ7H6OpSiOHOkAJrI4ZS4P_2REetsR6ffHgA,1404
23
+ ask/utils/filesystem.py,sha256=jiq7xyrMmRbLsawCvPQUalrWi_UNRSIV5Pl8TR69Li0,2742
24
+ ask/utils/skill_registry.py,sha256=49tJ2hwt-hKwr5y8jZ27RP-fU0TpCuLtjz1yRMxYXIA,3736
25
+ ask/utils/validators.py,sha256=mKR8A6-c8pKuk6gBxuJxAlEkXIw6klrNY__A1AMdy0I,862
26
+ skills/coding/ask-bug-finder/README.md,sha256=9fxGvrs5RRzEY2OBmeSxV2BzDbv6dK6Pig2Cye0bmCU,4270
27
+ skills/coding/ask-bug-finder/SKILL.md,sha256=rJPA3WQGaAhZs3cgi3lvRwR4sZ_k-zf0mh85wln4QuE,4369
28
+ skills/coding/ask-bug-finder/skill.yaml,sha256=NcOukD1IDBT-e2rRrubWkZWt9-rFsKTIyWUbD8P_S2g,263
29
+ skills/coding/ask-code-reviewer/README.md,sha256=yM778R59iJBif71o9wkSQroJCnpZqfHHMr1WM0D4xMA,3257
30
+ skills/coding/ask-code-reviewer/SKILL.md,sha256=yM778R59iJBif71o9wkSQroJCnpZqfHHMr1WM0D4xMA,3257
31
+ skills/coding/ask-code-reviewer/skill.yaml,sha256=zsrPj9rRtIVeAKqct2erBSgdyDtkJIKm0hwqga9xU4Q,280
32
+ skills/coding/ask-commit-assistance/README.md,sha256=aTFKL6WgmD2VTOCfZS9R2xPtr26Y0sl6wklQp60doRI,809
33
+ skills/coding/ask-commit-assistance/SKILL.md,sha256=bpAe4KIBY3ij3bXWs8fq3co3WbMH_nUHZc4LiRuz0kQ,2583
34
+ skills/coding/ask-commit-assistance/skill.yaml,sha256=CI-nlz44Z4Iv7ZHeSLtTDVb5KfHyRv8vb2Jxx2DXV4A,252
35
+ skills/coding/ask-component-scaffolder/README.md,sha256=l0PknyeVlsGJGEUp8LulPIgmGhZ6QlIGBRBY-jopQSU,1198
36
+ skills/coding/ask-component-scaffolder/SKILL.md,sha256=l0PknyeVlsGJGEUp8LulPIgmGhZ6QlIGBRBY-jopQSU,1198
37
+ skills/coding/ask-component-scaffolder/skill.yaml,sha256=2nF4H-zj3bfW2jM6JUEk2MOb3AlVG99s7KK_oY6BHR0,120
38
+ skills/coding/ask-component-scaffolder/scripts/scaffold_component.py,sha256=Gngf4tUr28yEXYXQ14RUfBjFJ-nouaxFwsYMECuw_5E,1937
39
+ skills/coding/ask-db-migration-assistant/README.md,sha256=Q9bYXEDWDBcUWRpRSuGLrrG_0ITZxx5Z0j0gbjZ8qf4,1638
40
+ skills/coding/ask-db-migration-assistant/SKILL.md,sha256=Q9bYXEDWDBcUWRpRSuGLrrG_0ITZxx5Z0j0gbjZ8qf4,1638
41
+ skills/coding/ask-db-migration-assistant/skill.yaml,sha256=3MFcylOe_3h9xc27T2dZIBbQj-IAP7WIlCqm8rNGuK8,122
42
+ skills/coding/ask-docker-expert/README.md,sha256=n-Z7ypn7MwuhfgJ1-RLYPQVegHrDYZH5-Attqzdisc4,1784
43
+ skills/coding/ask-docker-expert/SKILL.md,sha256=1PZ4Y1dTD3tojyfKHdVCeORiXwirER5uDMdw2DxWi8Y,1790
44
+ skills/coding/ask-docker-expert/skill.yaml,sha256=FO2ASMVCA8Oi0wU83AmgRHMKoP_OlTWy0SESdZeRiLU,303
45
+ skills/coding/ask-effective-llm-coder/README.md,sha256=QHPmgrBjinjXKiqAPou-12O6YE_c2M7wEgjgzuIT3gc,2050
46
+ skills/coding/ask-effective-llm-coder/SKILL.md,sha256=QHPmgrBjinjXKiqAPou-12O6YE_c2M7wEgjgzuIT3gc,2050
47
+ skills/coding/ask-effective-llm-coder/skill.yaml,sha256=FoWqhQXnaX7HyvDLFvRVQY_ApZ6RT3voeRDGGtNP7w8,119
48
+ skills/coding/ask-explaining-code/README.md,sha256=CG370y0RhYhR1PIWt_Ri66LBeZUT-K0-e-ru8DGXbLQ,9876
49
+ skills/coding/ask-explaining-code/SKILL.md,sha256=CG370y0RhYhR1PIWt_Ri66LBeZUT-K0-e-ru8DGXbLQ,9876
50
+ skills/coding/ask-explaining-code/skill.yaml,sha256=QAKMZWb66MWMMrjGjlE9mgAyCt7syBE7OUQKGN2wr-A,300
51
+ skills/coding/ask-fastapi-architect/README.md,sha256=iQktrKWc-62SswmWXgE7fQIIJJ07wMRBvnMclZKM71w,1904
52
+ skills/coding/ask-fastapi-architect/SKILL.md,sha256=iWI7vilDws-0Ii6bEacY1a5xK1tRQuvgx98O8Lm-MF8,1914
53
+ skills/coding/ask-fastapi-architect/skill.yaml,sha256=vrWjKQmvwSRwTAXUtvfuvpW0uvDZHFPgodjZYEJNaLo,301
54
+ skills/coding/ask-flutter-architect/README.md,sha256=xAYbT6Ufkg2B5EfkDIl_2YjT7XTOWVCKvcUPgcbpQ7w,3717
55
+ skills/coding/ask-flutter-architect/SKILL.md,sha256=Y9gftZSX3Pkz6x4X9EfhB2xTgsQe1Ki3_thlsU0_GUg,3741
56
+ skills/coding/ask-flutter-architect/skill.yaml,sha256=FaRvwJGp7jp4Y4mLYSIkf-EDP9ZIIGYDKPNvMiYt3vw,341
57
+ skills/coding/ask-flutter-mechanic/README.md,sha256=XD38q4PNstPWP8kR8FGNPojLPLQvsHv77mY7oOC0l1w,2325
58
+ skills/coding/ask-flutter-mechanic/SKILL.md,sha256=NyGVnrTaHn-SMsnUHfdnQRlmOIpVpPNs801TYpArpUA,2349
59
+ skills/coding/ask-flutter-mechanic/skill.yaml,sha256=9TsOBU_lAuXI_lPe-Iir2YgIZncduFFcGYi_RerUjKw,332
60
+ skills/coding/ask-laravel-architect/README.md,sha256=yVThKmik8pBQRLW87Kkr7DWqARLFefV478qho0OKPsk,3114
61
+ skills/coding/ask-laravel-architect/SKILL.md,sha256=1WeZPRqex0j84_ryAr9qPdWISEzvfcLFOLMOZr_3dfY,3142
62
+ skills/coding/ask-laravel-architect/skill.yaml,sha256=Ck4JJmOmSpJuW3QnDNFLb9fgO-t6MrV4B1eN4UMY1gM,312
63
+ skills/coding/ask-laravel-mechanic/README.md,sha256=o0ITf86qeltpHOfDDGY4-rOQwcEp7qshOKR7EZzm5QY,3825
64
+ skills/coding/ask-laravel-mechanic/SKILL.md,sha256=ALh_nfgH4PuNmvYdPcrJkvGeqr4Cu_nG3gqFdr4Fqlk,3853
65
+ skills/coding/ask-laravel-mechanic/skill.yaml,sha256=YL7E4l4e7744Yi0ld3DSAbVex6C_lB7HdzdyXnEQOvc,301
66
+ skills/coding/ask-nextjs-architect/README.md,sha256=axVGwyrs7TKZa6DlpkwbXVzqwbHkzDsVHNfES7XuVh4,2717
67
+ skills/coding/ask-nextjs-architect/SKILL.md,sha256=haT5Huqzdoe4A7giGymXbh0xC159iDJLXb5BfmkfMFE,2716
68
+ skills/coding/ask-nextjs-architect/skill.yaml,sha256=U63Gs7_UGXYdzLFWBATNtlSn0pt4x0YlhPgOfURHpqg,301
69
+ skills/coding/ask-owasp-security-review/README.md,sha256=zxHOOJxxZ4_xFaNhQKzoreGMC-TLsDUonrEhZMgI9DQ,8360
70
+ skills/coding/ask-owasp-security-review/SKILL.md,sha256=2L9Y-89YBeelCpySNMVXNwpl5XRnbfFggkdL6IT0jrM,8573
71
+ skills/coding/ask-owasp-security-review/skill.yaml,sha256=A7WG-k3OAPE7oeTSl2LY_cJGMJRZuVqNbyMcJX-J0E4,389
72
+ skills/coding/ask-python-refactor/README.md,sha256=zcw3vQSskCLDr_m93IUaULf07iGJ_cfNBkjFc7UoT_U,2257
73
+ skills/coding/ask-python-refactor/SKILL.md,sha256=y3U8fNFajeCNsn5S-HYgOdxsWCfp0zLUy_BQt9o44Bg,2363
74
+ skills/coding/ask-python-refactor/skill.yaml,sha256=u8Mf0AfiwjvlmafVKh-_17Zy4pbPBhKl4yHUZZvrL9s,263
75
+ skills/coding/ask-readme-gardener/README.md,sha256=4tR_z0ymiDLU5WMTcWpjlS-v3f-C8sij2fqKgOY-eiw,1655
76
+ skills/coding/ask-readme-gardener/SKILL.md,sha256=4tR_z0ymiDLU5WMTcWpjlS-v3f-C8sij2fqKgOY-eiw,1655
77
+ skills/coding/ask-readme-gardener/skill.yaml,sha256=_s9flSxILl9KgUsu5g1dEt8JxhNrTSAQlOpESpVYT5Y,115
78
+ skills/coding/ask-refactoring-readability/README.md,sha256=M-daKM0h4FhHHYQj9t-mYH2W1kaFvw-ZWzenfRr2bdI,5758
79
+ skills/coding/ask-refactoring-readability/SKILL.md,sha256=ebW9udF1Sht_geTg2BgsTG_26uygKwOvtmaP62MDeR0,5917
80
+ skills/coding/ask-refactoring-readability/skill.yaml,sha256=9c5vH7UEX_FtQDJkb7RoZFh4NieyZ8PeYjD25Iiqw-4,334
81
+ skills/coding/ask-security-sentinel/README.md,sha256=SywW8n2MwW9d4D-FbXLajhy0X3w-YWpOvelH6wttuxY,731
82
+ skills/coding/ask-security-sentinel/SKILL.md,sha256=SywW8n2MwW9d4D-FbXLajhy0X3w-YWpOvelH6wttuxY,731
83
+ skills/coding/ask-security-sentinel/skill.yaml,sha256=xGOHaVnBUFbJ6qiT-QJCQucKeIN0uxbPGLF7QXQXP6o,117
84
+ skills/coding/ask-shadcn-architect/README.md,sha256=ofIJeoIvHUUa12sgSBP7o1OFwVI4YXSVmK_3hUkfi2E,2516
85
+ skills/coding/ask-shadcn-architect/SKILL.md,sha256=ofIJeoIvHUUa12sgSBP7o1OFwVI4YXSVmK_3hUkfi2E,2516
86
+ skills/coding/ask-shadcn-architect/skill.yaml,sha256=ksgsgQ3ElH0uU6bffD5Mvpw5k1lRt2PnaOsEP9ZEqQs,116
87
+ skills/coding/ask-unit-test-generation/README.md,sha256=xcXbmmO3EWNDMkVw7eJlu4Sm8-VFs2EmbIxMxCfh7lI,7284
88
+ skills/coding/ask-unit-test-generation/SKILL.md,sha256=xcXbmmO3EWNDMkVw7eJlu4Sm8-VFs2EmbIxMxCfh7lI,7284
89
+ skills/coding/ask-unit-test-generation/skill.yaml,sha256=QypBo8DgERsBK3t5RA3oVwWhLMLXiQHmW3rBELPifDc,339
90
+ skills/coding/ask-vue-architect/README.md,sha256=V2VFo-3Gpk1SvfgP3re_Rgybqe7__m16BjbuJvgJJbA,3154
91
+ skills/coding/ask-vue-architect/SKILL.md,sha256=aDqOgiIM0VicmaOAmcZsygtmJ3qnvl3bEX2XqIg4FUk,3178
92
+ skills/coding/ask-vue-architect/skill.yaml,sha256=mfYsX28T-AzpQZ_mvm2wjrPIddFj6TZrOK7JfeaigTg,312
93
+ skills/coding/ask-vue-mechanic/README.md,sha256=sa4ClvjQH1apS9In4m0FwZ--RX_S5JrtVOX-QCLu5co,2940
94
+ skills/coding/ask-vue-mechanic/SKILL.md,sha256=b1732uF86_YbgI7SwRT-DOAsQTvdqHr6C0COl_S_h74,2964
95
+ skills/coding/ask-vue-mechanic/skill.yaml,sha256=oIy_LYl28veOOY1v9-ZttrmzMrPuFjo3g5xMzIoPFIM,318
96
+ skills/planning/ask-adr-logger/README.md,sha256=-IBBBhyLhZc6kd7eVf_3ddKVxAI9AgBpLD4RUACzupo,1351
97
+ skills/planning/ask-adr-logger/SKILL.md,sha256=-IBBBhyLhZc6kd7eVf_3ddKVxAI9AgBpLD4RUACzupo,1351
98
+ skills/planning/ask-adr-logger/skill.yaml,sha256=9cL-DQRpb4tAPIVeWE2y4_dVZR3DVmQ94DMbnDoj_oE,112
99
+ skills/planning/ask-adr-logger/scripts/create_adr.py,sha256=1yebVHxcfnf0go2hyNXTrnqoup1NN7XSZopzrseigvQ,2065
100
+ skills/planning/ask-brainstorm/README.md,sha256=Xq6FL-htaFdm9Klphuo6-qmuNpO-DvOtaHuVbtD5G-A,1828
101
+ skills/planning/ask-brainstorm/SKILL.md,sha256=Xq6FL-htaFdm9Klphuo6-qmuNpO-DvOtaHuVbtD5G-A,1828
102
+ skills/planning/ask-brainstorm/skill.yaml,sha256=Ln7ewBQrXuB_BeBooFgRZxP98INQmaXM92ktq_tuNQY,112
103
+ skills/planning/ask-buildmaster/README.md,sha256=hCg9hW2c2OJ3YAMWX8Xl0lpQ9bo9vjOqzHgfteqRhMY,13877
104
+ skills/planning/ask-buildmaster/SKILL.md,sha256=hCg9hW2c2OJ3YAMWX8Xl0lpQ9bo9vjOqzHgfteqRhMY,13877
105
+ skills/planning/ask-buildmaster/skill.yaml,sha256=6zcTCdBS7OPvVPOwcV5s1U8ZbSPvvJnf1XbKvDd5zyQ,113
106
+ skills/planning/ask-project-memory/README.md,sha256=M8HKSzQ77Qz351kFZDh-vzVfD9NqJinlEnKkQIVinYM,805
107
+ skills/planning/ask-project-memory/SKILL.md,sha256=M8HKSzQ77Qz351kFZDh-vzVfD9NqJinlEnKkQIVinYM,805
108
+ skills/planning/ask-project-memory/skill.yaml,sha256=OLP-uMHlnrbyd3SJIGSZox-c7YILOqzjH5F7fzF6SyI,116
109
+ skills/tooling/ask-add-agent/README.md,sha256=gW9rEfrhch3bzNHQx_BC9WqqOe1zplLjaiVT5B_VHM4,4720
110
+ skills/tooling/ask-add-agent/skill.yaml,sha256=wV60xW2dFvVD98Vxa2RzMkRuVC0He4uO5GEjLgyEbF8,252
111
+ skills/tooling/ask-pdf-processing/README.md,sha256=vOw7Qu5QlMgpai9gtimLI2b3c4ZPHsb_H-qhKorC0so,6907
112
+ skills/tooling/ask-pdf-processing/skill.yaml,sha256=cvUQ-HveWXnKyfMsYL73E7iFAiUTWZ13CQI8HnAH76g,339
113
+ skills/tooling/ask-pdf-processing/reference/api_usage.md,sha256=1fUZsBCbVDxprGdVq9-Zs5MY6i2j1v24QTTEIsfbQdY,5997
114
+ skills/tooling/ask-pdf-processing/reference/form_mappings.yaml,sha256=nGGPAo3tFd1foBXYJVvMrqN934J-XmGOJZegaqqnujA,2938
115
+ skills/tooling/ask-pdf-processing/scripts/extract_text.py,sha256=_a662WZ5XQQdmA1SpOg5I04KzIuuLBFAO7rjiDDX89M,3401
116
+ skills/tooling/ask-pdf-processing/scripts/fill_form.py,sha256=gmuTetJ7cIsiTuJDBfvwDptVEJPFcCrJnkqUeRD_a70,5215
117
+ skills/tooling/ask-pdf-processing/scripts/merge_pdfs.py,sha256=lS-9s4GV0lNBRBcy-RqJk_kxznPhg6r5QPCAWJ7CyUI,4261
118
+ skills/tooling/ask-skill-capture/README.md,sha256=DL0vPlYKNPBKtP3Eo2wyb9-A9X2bDb4M74uvWgGuwA8,1821
119
+ skills/tooling/ask-skill-capture/skill.yaml,sha256=KnJsu8VY-MfKGUwpWBoW3O0-5Cqb66LWPnmOL-X0Roc,276
120
+ skills/tooling/ask-skill-creator/README.md,sha256=k13CxRrPWzoezr9Kriz3_sVEVFr_0CEX5m1kaG0xr-s,5685
121
+ skills/tooling/ask-skill-creator/SKILL.md,sha256=21Zdx11ct_V8R69oocuzEKgGnWKSA8M-42yRuNGfnNk,5758
122
+ skills/tooling/ask-skill-creator/skill.yaml,sha256=8QxYJna4W6LEvboGtetz7gCSJIwQiwtF7F7spGiEUKw,259
123
+ skills/workflows/skill-creator/workflow.md,sha256=V2Q_dnzyzA06ev58ZpNfAS2y0OZdck1443nthYktA7s,2060
124
+ agent_skill_kit-0.1.1.dist-info/METADATA,sha256=uRv9RCwVT6sA4LaBqM-AhF9LIQk_z6E8Eui36pJxboI,16381
125
+ agent_skill_kit-0.1.1.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
126
+ agent_skill_kit-0.1.1.dist-info/entry_points.txt,sha256=kDEUvxGsgvP-Tt6BJCyghngiFCx5hbZtL_PFkv2iTVk,37
127
+ agent_skill_kit-0.1.1.dist-info/RECORD,,
@@ -0,0 +1,4 @@
1
+ Wheel-Version: 1.0
2
+ Generator: hatchling 1.28.0
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ ask = ask.cli:main
agents/__init__.py ADDED
@@ -0,0 +1 @@
1
+ """Agent adapters for skill distribution."""
@@ -0,0 +1,97 @@
1
+ """Antigravity adapter - transforms skills for Google Antigravity."""
2
+
3
+ from pathlib import Path
4
+ from typing import Dict
5
+
6
+ from agents.base import BaseAdapter
7
+ from ask.utils.skill_registry import get_skill_readme
8
+
9
+
10
+ class AntigravityAdapter(BaseAdapter):
11
+ """Adapter for Antigravity skill format.
12
+
13
+ Paths (from https://antigravity.google/docs/skills):
14
+ - Local (project): .agent/skills/<skill-name>/SKILL.md
15
+ - Global (user): ~/.gemini/antigravity/skills/<skill-name>/SKILL.md
16
+ """
17
+
18
+ def __init__(self, use_global: bool = False, project_root: Path = None):
19
+ if use_global:
20
+ # Global: ~/.gemini/antigravity/skills/
21
+ self.target_dir = Path.home() / ".gemini" / "antigravity" / "skills"
22
+ else:
23
+ # Local: .agent/skills/
24
+ self.project_root = project_root or Path.cwd()
25
+ self.target_dir = self.project_root / ".agent" / "skills"
26
+
27
+ def get_target_path(self, skill: Dict, name: str = None) -> Path:
28
+ """Get the target path for a skill."""
29
+ skill_name = name or skill.get("name", "unknown")
30
+ return self.target_dir / skill_name / "SKILL.md"
31
+
32
+ def transform(self, skill: Dict) -> str:
33
+ """
34
+ Transform a skill into Antigravity format.
35
+
36
+ Antigravity uses SKILL.md with YAML frontmatter.
37
+ """
38
+ name = skill.get("name", "Unknown")
39
+ description = skill.get("description", "")
40
+ version = skill.get("version", "0.0.0")
41
+ readme = get_skill_readme(skill) or ""
42
+
43
+ content = f"""---
44
+ name: {name}
45
+ version: {version}
46
+ description: {description}
47
+ ---
48
+
49
+ {readme}
50
+ """
51
+ return content
52
+
53
+ def install_resources(self, skill: Dict, target_dir: Path, dry_run: bool = False, force: bool = False) -> Dict[str, bool]:
54
+ """
55
+ Install scripts and sidecar files to the skill directory.
56
+ """
57
+ import shutil
58
+
59
+ skill_path_str = skill.get("_path")
60
+ if not skill_path_str:
61
+ return {"conflict": False}
62
+
63
+ skill_path = Path(skill_path_str)
64
+ conflicts = []
65
+ resources_to_copy = ["scripts", "reference", "images", "assets", "examples.md", "reference.md"]
66
+
67
+ # Check conflicts
68
+ for resource in resources_to_copy:
69
+ src = skill_path / resource
70
+ dst = target_dir / resource
71
+ if src.exists() and dst.exists() and not force:
72
+ conflicts.append(f"Resource exists: {dst}")
73
+
74
+ if conflicts:
75
+ return {"conflict": True, "details": ", ".join(conflicts)}
76
+
77
+ if dry_run:
78
+ return {"conflict": False}
79
+
80
+ # Perform Copy
81
+ for resource in resources_to_copy:
82
+ src = skill_path / resource
83
+ dst = target_dir / resource
84
+
85
+ if src.exists():
86
+ if force and dst.exists():
87
+ if dst.is_dir():
88
+ shutil.rmtree(dst)
89
+ else:
90
+ dst.unlink()
91
+
92
+ if src.is_dir():
93
+ shutil.copytree(src, dst)
94
+ else:
95
+ shutil.copy2(src, dst)
96
+
97
+ return {"conflict": False}