@anionzo/skill 1.1.0
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.
- package/CONTRIBUTING.md +302 -0
- package/LICENSE +21 -0
- package/README.md +209 -0
- package/adapters/README.md +13 -0
- package/adapters/claude-code/README.md +32 -0
- package/adapters/copilot/README.md +32 -0
- package/adapters/gemini/README.md +32 -0
- package/adapters/generic/README.md +32 -0
- package/adapters/opencode/README.md +32 -0
- package/docs/adapter-guide.md +62 -0
- package/docs/authoring-guide.md +69 -0
- package/docs/design-brief.md +97 -0
- package/docs/knowledge-spec.md +78 -0
- package/docs/research-notes.md +99 -0
- package/docs/skill-spec.md +107 -0
- package/i18n/CONTRIBUTING.vi.md +302 -0
- package/i18n/README.vi.md +209 -0
- package/i18n/adapter-guide.vi.md +62 -0
- package/i18n/authoring-guide.vi.md +69 -0
- package/i18n/design-brief.vi.md +97 -0
- package/i18n/knowledge-spec.vi.md +78 -0
- package/i18n/research-notes.vi.md +99 -0
- package/i18n/skill-spec.vi.md +107 -0
- package/knowledge/README.md +7 -0
- package/knowledge/global/debugging-patterns.md +20 -0
- package/knowledge/global/engineering-principles.md +23 -0
- package/knowledge/global/evidence-before-claims.md +20 -0
- package/knowledge/global/review-heuristics.md +23 -0
- package/knowledge/global/skill-triggering-rules.md +24 -0
- package/knowledge/project/README.md +10 -0
- package/knowledge/working/README.md +10 -0
- package/package.json +43 -0
- package/scripts/sync-platform-files +73 -0
- package/scripts/validate-skills +103 -0
- package/skills/brainstorming/SKILL.md +45 -0
- package/skills/brainstorming/examples.md +61 -0
- package/skills/brainstorming/meta.yaml +23 -0
- package/skills/brainstorming/references/output-template.md +26 -0
- package/skills/bug-triage/SKILL.md +47 -0
- package/skills/bug-triage/examples.md +68 -0
- package/skills/bug-triage/meta.yaml +25 -0
- package/skills/bug-triage/references/output-template.md +26 -0
- package/skills/code-review/SKILL.md +41 -0
- package/skills/code-review/examples.md +77 -0
- package/skills/code-review/meta.yaml +24 -0
- package/skills/code-review/references/checklist.md +34 -0
- package/skills/code-review/references/output-template.md +12 -0
- package/skills/docs-writer/SKILL.md +42 -0
- package/skills/docs-writer/examples.md +108 -0
- package/skills/docs-writer/meta.yaml +22 -0
- package/skills/docs-writer/references/output-template.md +17 -0
- package/skills/feature-delivery/SKILL.md +39 -0
- package/skills/feature-delivery/examples.md +83 -0
- package/skills/feature-delivery/meta.yaml +26 -0
- package/skills/feature-delivery/references/output-template.md +26 -0
- package/skills/planning/SKILL.md +61 -0
- package/skills/planning/examples.md +124 -0
- package/skills/planning/meta.yaml +29 -0
- package/skills/planning/references/output-template.md +37 -0
- package/skills/refactor-safe/SKILL.md +53 -0
- package/skills/refactor-safe/examples.md +96 -0
- package/skills/refactor-safe/meta.yaml +28 -0
- package/skills/refactor-safe/references/output-template.md +37 -0
- package/skills/repo-onboarding/SKILL.md +52 -0
- package/skills/repo-onboarding/examples.md +115 -0
- package/skills/repo-onboarding/meta.yaml +23 -0
- package/skills/repo-onboarding/references/output-template.md +24 -0
- package/skills/using-skills/SKILL.md +108 -0
- package/skills/using-skills/examples.md +79 -0
- package/skills/using-skills/meta.yaml +29 -0
- package/skills/using-skills/references/output-template.md +14 -0
- package/skills/verification-before-completion/SKILL.md +46 -0
- package/skills/verification-before-completion/examples.md +83 -0
- package/skills/verification-before-completion/meta.yaml +26 -0
- package/skills/verification-before-completion/references/checklist.md +7 -0
- package/skills/verification-before-completion/references/output-template.md +16 -0
- package/templates/SKILL.md +29 -0
- package/templates/examples.md +13 -0
- package/templates/meta.yaml +14 -0
- package/templates/output-template.md +11 -0
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
# Examples
|
|
2
|
+
|
|
3
|
+
## Example 1
|
|
4
|
+
|
|
5
|
+
User request:
|
|
6
|
+
|
|
7
|
+
```text
|
|
8
|
+
Clean up the payment module — it's gotten too big.
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
Expected result:
|
|
12
|
+
|
|
13
|
+
- define what "clean up" means exactly (split file? rename? extract utilities?)
|
|
14
|
+
- fix scope to specific files before touching anything
|
|
15
|
+
- check which tests cover payment logic before starting
|
|
16
|
+
- make structural changes and verify no behavioral drift
|
|
17
|
+
|
|
18
|
+
### Completed output — Example 1
|
|
19
|
+
|
|
20
|
+
```
|
|
21
|
+
Goal and scope boundary: Split src/services/PaymentService.ts (680 lines) into focused modules without changing any payment behavior.
|
|
22
|
+
- In scope: PaymentService.ts, its direct imports, and related tests
|
|
23
|
+
- Not in scope: API routes, database schema, external payment provider integration
|
|
24
|
+
|
|
25
|
+
Behavior contract: All 14 existing tests in tests/payment.test.ts must continue to pass with identical assertions. No changes to the public API of PaymentService (same method signatures, same return types).
|
|
26
|
+
|
|
27
|
+
Coverage check before: 14 tests covering charge(), refund(), listTransactions(), and webhookHandler(). No test for the internal retry logic — noted but not blocking the refactor.
|
|
28
|
+
|
|
29
|
+
Steps taken:
|
|
30
|
+
1. Extracted retry logic into src/services/payment/retryWithBackoff.ts
|
|
31
|
+
2. Extracted webhook handling into src/services/payment/webhookHandler.ts
|
|
32
|
+
3. Kept PaymentService.ts as the public facade re-exporting the split modules
|
|
33
|
+
4. Updated internal imports; no changes to external callers
|
|
34
|
+
|
|
35
|
+
Coverage result after: All 14 tests pass. Added 2 unit tests for retryWithBackoff to cover the newly isolated module.
|
|
36
|
+
|
|
37
|
+
Behavioral drift check: Compared charge() and refund() outputs for 3 fixture inputs before and after — identical results. Webhook handler returns the same status codes for test payloads.
|
|
38
|
+
|
|
39
|
+
Handoff: verification-before-completion
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### Completed output — Example 2
|
|
43
|
+
|
|
44
|
+
```
|
|
45
|
+
Goal and scope boundary: Migrate all HTTP client calls from axios to native fetch across the service layer without changing any request behavior.
|
|
46
|
+
- In scope: All files importing axios in src/services/
|
|
47
|
+
- Not in scope: External API contracts, retry policies, test mocks
|
|
48
|
+
|
|
49
|
+
Behavior contract: Every existing API call must produce identical request headers, body shape, timeout behavior, and error responses.
|
|
50
|
+
|
|
51
|
+
Coverage check before: 22 integration tests covering all service-layer HTTP calls. All passing with axios.
|
|
52
|
+
|
|
53
|
+
Steps taken:
|
|
54
|
+
1. Audited all 8 call sites for axios-specific features (interceptors, transformRequest, custom agents)
|
|
55
|
+
2. Created src/utils/http.ts with fetch-based wrapper matching axios behavior (auto JSON parse, timeout via AbortController, error normalization)
|
|
56
|
+
3. Migrated one service at a time, running its tests after each migration
|
|
57
|
+
4. Removed axios from package.json after all call sites migrated
|
|
58
|
+
|
|
59
|
+
Coverage result after: All 22 integration tests pass. No behavioral differences detected.
|
|
60
|
+
|
|
61
|
+
Behavioral drift check: Compared request headers and response bodies for all 8 call sites — identical. Timeout behavior confirmed at 10s threshold.
|
|
62
|
+
|
|
63
|
+
Handoff: verification-before-completion
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
## Example 3 — Sample completed output
|
|
67
|
+
|
|
68
|
+
User request:
|
|
69
|
+
|
|
70
|
+
```text
|
|
71
|
+
Clean up the payment module — it's gotten too big.
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
### Completed output
|
|
75
|
+
|
|
76
|
+
```
|
|
77
|
+
Goal and scope boundary: Split src/services/PaymentService.ts (680 lines) into focused modules without changing any payment behavior.
|
|
78
|
+
- In scope: PaymentService.ts, its direct imports, and related tests
|
|
79
|
+
- Not in scope: API routes, database schema, external payment provider integration
|
|
80
|
+
|
|
81
|
+
Behavior contract: All 14 existing tests in tests/payment.test.ts must continue to pass with identical assertions. No changes to the public API of PaymentService (same method signatures, same return types).
|
|
82
|
+
|
|
83
|
+
Coverage check before: 14 tests covering charge(), refund(), listTransactions(), and webhookHandler(). No test for the internal retry logic — noted but not blocking the refactor.
|
|
84
|
+
|
|
85
|
+
Steps taken:
|
|
86
|
+
1. Extracted retry logic into src/services/payment/retryWithBackoff.ts
|
|
87
|
+
2. Extracted webhook handling into src/services/payment/webhookHandler.ts
|
|
88
|
+
3. Kept PaymentService.ts as the public facade re-exporting the split modules
|
|
89
|
+
4. Updated internal imports; no changes to external callers
|
|
90
|
+
|
|
91
|
+
Coverage result after: All 14 tests pass. Added 2 unit tests for retryWithBackoff to cover the newly isolated module.
|
|
92
|
+
|
|
93
|
+
Behavioral drift check: Compared charge() and refund() outputs for 3 fixture inputs before and after — identical results. Webhook handler returns the same status codes for test payloads.
|
|
94
|
+
|
|
95
|
+
Handoff: verification-before-completion
|
|
96
|
+
```
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
name: refactor-safe
|
|
2
|
+
version: 0.1.0
|
|
3
|
+
category: implementation
|
|
4
|
+
summary: Restructure code safely by preserving behavior, maintaining regression coverage, and bounding scope before touching any file.
|
|
5
|
+
summary_vi: Tái cấu trúc code an toàn bằng cách giữ nguyên hành vi, duy trì regression coverage, và giới hạn phạm vi trước khi chạm file nào.
|
|
6
|
+
triggers:
|
|
7
|
+
- refactor this module
|
|
8
|
+
- extract this into a shared utility
|
|
9
|
+
- clean up this file without changing behavior
|
|
10
|
+
- migrate from X to Y
|
|
11
|
+
inputs:
|
|
12
|
+
- code to refactor
|
|
13
|
+
- existing test coverage
|
|
14
|
+
- stated goal and scope boundary
|
|
15
|
+
outputs:
|
|
16
|
+
- scope boundary
|
|
17
|
+
- behavior contract
|
|
18
|
+
- refactor steps
|
|
19
|
+
- regression verification
|
|
20
|
+
constraints:
|
|
21
|
+
- behavior must not change unless explicitly agreed
|
|
22
|
+
- scope must be fixed before starting
|
|
23
|
+
- regression coverage must be checked before and after
|
|
24
|
+
related_skills:
|
|
25
|
+
- using-skills
|
|
26
|
+
- planning
|
|
27
|
+
- verification-before-completion
|
|
28
|
+
- code-review
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
## Goal
|
|
2
|
+
|
|
3
|
+
- Refactor goal (one sentence, no behavior change):
|
|
4
|
+
|
|
5
|
+
## Scope Boundary
|
|
6
|
+
|
|
7
|
+
- In scope:
|
|
8
|
+
- Out of scope:
|
|
9
|
+
|
|
10
|
+
## Behavior Contract
|
|
11
|
+
|
|
12
|
+
- Public surface being preserved:
|
|
13
|
+
- Inputs and expected outputs:
|
|
14
|
+
|
|
15
|
+
## Coverage Before
|
|
16
|
+
|
|
17
|
+
- Tests covering the refactored area:
|
|
18
|
+
- Gaps:
|
|
19
|
+
|
|
20
|
+
## Steps Taken
|
|
21
|
+
|
|
22
|
+
1.
|
|
23
|
+
2.
|
|
24
|
+
3.
|
|
25
|
+
|
|
26
|
+
## Coverage After
|
|
27
|
+
|
|
28
|
+
- Test command run:
|
|
29
|
+
- Result:
|
|
30
|
+
|
|
31
|
+
## Behavioral Drift Check
|
|
32
|
+
|
|
33
|
+
- Confirmed no change in observable behavior:
|
|
34
|
+
|
|
35
|
+
## Handoff
|
|
36
|
+
|
|
37
|
+
- Next skill: verification-before-completion, then code-review
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# Repo Onboarding
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
Understand a repository quickly enough to act safely and explain what matters.
|
|
6
|
+
|
|
7
|
+
## When To Use
|
|
8
|
+
|
|
9
|
+
Load this skill when:
|
|
10
|
+
|
|
11
|
+
- entering a repo for the first time
|
|
12
|
+
- a task depends on understanding architecture or conventions
|
|
13
|
+
- the user asks what the project does or how it is organized
|
|
14
|
+
|
|
15
|
+
## Workflow
|
|
16
|
+
|
|
17
|
+
1. Read the top-level operating docs first, especially `AGENTS.md` and `README.md` when present.
|
|
18
|
+
2. Inspect the most informative source files next:
|
|
19
|
+
- package manifests or build files
|
|
20
|
+
- app entrypoints and framework bootstraps
|
|
21
|
+
- core config files
|
|
22
|
+
- representative tests
|
|
23
|
+
3. Identify:
|
|
24
|
+
- project purpose
|
|
25
|
+
- major components
|
|
26
|
+
- runtime model and key integrations
|
|
27
|
+
- important development or verification commands
|
|
28
|
+
4. Call out what is verified from source versus what is still uncertain.
|
|
29
|
+
5. Recommend the next files or directories to inspect for the user's likely goal.
|
|
30
|
+
|
|
31
|
+
## Output Format
|
|
32
|
+
|
|
33
|
+
- project purpose
|
|
34
|
+
- architecture summary
|
|
35
|
+
- major components and responsibilities
|
|
36
|
+
- important commands or workflows
|
|
37
|
+
- notable conventions or constraints
|
|
38
|
+
- open questions
|
|
39
|
+
- recommended next reads
|
|
40
|
+
|
|
41
|
+
## Red Flags
|
|
42
|
+
|
|
43
|
+
- skipping repo docs and jumping straight into random source files
|
|
44
|
+
- summarizing architecture from folder names alone
|
|
45
|
+
- claiming a behavior without checking source or config
|
|
46
|
+
- reading many low-value files while missing the actual entrypoints
|
|
47
|
+
|
|
48
|
+
## Done Criteria
|
|
49
|
+
|
|
50
|
+
This skill is complete when another engineer could start productive work from the summary without redoing the same orientation pass. Both the "Important Commands" and "Open Questions" fields must be populated.
|
|
51
|
+
|
|
52
|
+
After this skill, the natural next step is `planning` (to plan a change) or `docs-writer` (if the goal is to update documentation).
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
# Examples
|
|
2
|
+
|
|
3
|
+
## Example 1
|
|
4
|
+
|
|
5
|
+
User request:
|
|
6
|
+
|
|
7
|
+
```text
|
|
8
|
+
Can you explain how this service is structured before we add a queue worker?
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
Expected result:
|
|
12
|
+
|
|
13
|
+
- read top-level docs first
|
|
14
|
+
- inspect runtime entrypoints and worker-related modules
|
|
15
|
+
- summarize current architecture and likely integration points
|
|
16
|
+
|
|
17
|
+
### Completed output — Example 1
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
Project purpose: Order processing microservice — receives orders via REST API, persists to PostgreSQL, publishes events to RabbitMQ.
|
|
21
|
+
|
|
22
|
+
Architecture summary: Express.js app using a layered structure (routes → controllers → services → repositories). Bull is already listed in package.json but no active queue consumer exists.
|
|
23
|
+
|
|
24
|
+
Major components:
|
|
25
|
+
- src/routes/ — REST endpoint definitions
|
|
26
|
+
- src/controllers/ — request handling and validation
|
|
27
|
+
- src/services/ — business logic (OrderService, PaymentService)
|
|
28
|
+
- src/repositories/ — Knex-based database access
|
|
29
|
+
- src/events/ — RabbitMQ publisher (no consumer yet)
|
|
30
|
+
|
|
31
|
+
Important commands:
|
|
32
|
+
- npm run dev — start with hot reload
|
|
33
|
+
- npm test — jest unit + integration tests
|
|
34
|
+
- npm run migrate — run Knex migrations
|
|
35
|
+
|
|
36
|
+
Notable conventions:
|
|
37
|
+
- All services are instantiated via a simple DI container in src/container.ts
|
|
38
|
+
- Tests use a shared test database seeded per suite
|
|
39
|
+
|
|
40
|
+
Open questions:
|
|
41
|
+
- Is Bull the intended queue driver, or should the new worker use the existing RabbitMQ publisher?
|
|
42
|
+
- Are there any existing retry/dead-letter conventions?
|
|
43
|
+
|
|
44
|
+
Recommended next reads: src/events/publisher.ts, src/container.ts, config/queue.ts (if present)
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
### Completed output — Example 2
|
|
48
|
+
|
|
49
|
+
```
|
|
50
|
+
Project purpose: Internal dashboard for managing feature flags and A/B test configurations.
|
|
51
|
+
|
|
52
|
+
First things to read:
|
|
53
|
+
1. README.md — setup instructions and architecture overview (up to date, last edited 2 weeks ago)
|
|
54
|
+
2. package.json scripts — `npm run dev`, `npm test`, `npm run build`, `npm run seed`
|
|
55
|
+
3. src/config/ — environment variable definitions and feature flag schema
|
|
56
|
+
4. prisma/schema.prisma — data model (3 main tables: Flag, Variant, Assignment)
|
|
57
|
+
|
|
58
|
+
Important commands:
|
|
59
|
+
- npm run dev — Next.js dev server on port 3000
|
|
60
|
+
- npm test — Vitest test suite (47 tests, all passing)
|
|
61
|
+
- npm run seed — seed local database with sample flags
|
|
62
|
+
- npx prisma studio — open database GUI
|
|
63
|
+
|
|
64
|
+
Directory overview:
|
|
65
|
+
- src/app/ — Next.js App Router pages and layouts
|
|
66
|
+
- src/lib/ — shared utilities (flag evaluation engine, auth helpers)
|
|
67
|
+
- src/components/ — React UI components
|
|
68
|
+
- prisma/ — database schema and migrations
|
|
69
|
+
- e2e/ — Playwright end-to-end tests
|
|
70
|
+
|
|
71
|
+
Notable conventions:
|
|
72
|
+
- Server components by default; client components marked with "use client"
|
|
73
|
+
- Flag evaluation happens server-side via src/lib/evaluate.ts
|
|
74
|
+
- Auth is handled via NextAuth with GitHub OAuth only
|
|
75
|
+
|
|
76
|
+
Recommended next step: Run `npm run dev && npm run seed` to get a local instance with sample data, then explore the flag management UI at /flags.
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
## Example 3 — Sample completed output
|
|
80
|
+
|
|
81
|
+
User request:
|
|
82
|
+
|
|
83
|
+
```text
|
|
84
|
+
Can you explain how this service is structured before we add a queue worker?
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
### Completed output
|
|
88
|
+
|
|
89
|
+
```
|
|
90
|
+
Project purpose: Order processing microservice — receives orders via REST API, persists to PostgreSQL, publishes events to RabbitMQ.
|
|
91
|
+
|
|
92
|
+
Architecture summary: Express.js app using a layered structure (routes → controllers → services → repositories). Bull is already listed in package.json but no active queue consumer exists.
|
|
93
|
+
|
|
94
|
+
Major components:
|
|
95
|
+
- src/routes/ — REST endpoint definitions
|
|
96
|
+
- src/controllers/ — request handling and validation
|
|
97
|
+
- src/services/ — business logic (OrderService, PaymentService)
|
|
98
|
+
- src/repositories/ — Knex-based database access
|
|
99
|
+
- src/events/ — RabbitMQ publisher (no consumer yet)
|
|
100
|
+
|
|
101
|
+
Important commands:
|
|
102
|
+
- npm run dev — start with hot reload
|
|
103
|
+
- npm test — jest unit + integration tests
|
|
104
|
+
- npm run migrate — run Knex migrations
|
|
105
|
+
|
|
106
|
+
Notable conventions:
|
|
107
|
+
- All services are instantiated via a simple DI container in src/container.ts
|
|
108
|
+
- Tests use a shared test database seeded per suite
|
|
109
|
+
|
|
110
|
+
Open questions:
|
|
111
|
+
- Is Bull the intended queue driver, or should the new worker use the existing RabbitMQ publisher?
|
|
112
|
+
- Are there any existing retry/dead-letter conventions?
|
|
113
|
+
|
|
114
|
+
Recommended next reads: src/events/publisher.ts, src/container.ts, config/queue.ts (if present)
|
|
115
|
+
```
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
name: repo-onboarding
|
|
2
|
+
version: 0.1.0
|
|
3
|
+
category: discovery
|
|
4
|
+
summary: Build a practical map of an unfamiliar repository before making claims or edits.
|
|
5
|
+
summary_vi: Xây dựng bản đồ thực tế của repo lạ trước khi đưa ra nhận định hoặc sửa code.
|
|
6
|
+
triggers:
|
|
7
|
+
- explain this repo
|
|
8
|
+
- onboard into a codebase
|
|
9
|
+
- understand architecture before changing code
|
|
10
|
+
inputs:
|
|
11
|
+
- repository files
|
|
12
|
+
- README and operating docs when present
|
|
13
|
+
outputs:
|
|
14
|
+
- architecture summary
|
|
15
|
+
- important commands
|
|
16
|
+
- open questions and next reads
|
|
17
|
+
constraints:
|
|
18
|
+
- prefer source-grounded observations
|
|
19
|
+
- do not infer architecture from names alone
|
|
20
|
+
related_skills:
|
|
21
|
+
- using-skills
|
|
22
|
+
- planning
|
|
23
|
+
- docs-writer
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
## Project Purpose
|
|
2
|
+
|
|
3
|
+
- What the project is for
|
|
4
|
+
|
|
5
|
+
## Architecture Summary
|
|
6
|
+
|
|
7
|
+
- Runtime or framework:
|
|
8
|
+
- Major subsystems:
|
|
9
|
+
- External integrations:
|
|
10
|
+
|
|
11
|
+
## Important Commands
|
|
12
|
+
|
|
13
|
+
- install:
|
|
14
|
+
- test:
|
|
15
|
+
- build:
|
|
16
|
+
- run:
|
|
17
|
+
|
|
18
|
+
## Open Questions
|
|
19
|
+
|
|
20
|
+
- Unknowns that still need deeper inspection
|
|
21
|
+
|
|
22
|
+
## Recommended Next Reads
|
|
23
|
+
|
|
24
|
+
- Files or directories to inspect next
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
# Using Skills
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
Use this skill first when the task shape is unclear or when a session is starting from little context.
|
|
6
|
+
|
|
7
|
+
Its job is to classify the request, pick one primary skill, and define the next move.
|
|
8
|
+
|
|
9
|
+
For code-changing work, prefer an explicit planning step before implementation unless the change is trivially local and already unambiguous.
|
|
10
|
+
|
|
11
|
+
If the request itself is still fuzzy, use a brainstorming step before planning.
|
|
12
|
+
|
|
13
|
+
## When To Use
|
|
14
|
+
|
|
15
|
+
Load this skill when:
|
|
16
|
+
|
|
17
|
+
- starting work in a new session
|
|
18
|
+
- the user request mixes multiple intents
|
|
19
|
+
- you are unsure whether the task is implementation, debugging, review, or docs
|
|
20
|
+
|
|
21
|
+
## Direct Skill Trigger
|
|
22
|
+
|
|
23
|
+
> `an:` stands for "activate now" — a shorthand to immediately load a specific skill.
|
|
24
|
+
|
|
25
|
+
If the user types `an:<skill-name>` (for example `an:planning` or `an:bug-triage`), skip classification and load that skill immediately.
|
|
26
|
+
|
|
27
|
+
**Rules:**
|
|
28
|
+
|
|
29
|
+
- `an:` prefix means the user already knows what they want — do not second-guess
|
|
30
|
+
- if the named skill does not exist, say so and list available skills
|
|
31
|
+
- still apply the planning and verification rules if relevant
|
|
32
|
+
- after the triggered skill completes, return to normal workflow
|
|
33
|
+
|
|
34
|
+
**Available skills:**
|
|
35
|
+
|
|
36
|
+
- `an:brainstorming` — refine vague ideas before planning
|
|
37
|
+
- `an:repo-onboarding` — understand an unfamiliar codebase
|
|
38
|
+
- `an:planning` — create an execution-ready plan
|
|
39
|
+
- `an:feature-delivery` — implement a feature
|
|
40
|
+
- `an:bug-triage` — investigate errors or regressions
|
|
41
|
+
- `an:refactor-safe` — restructure code without behavior change
|
|
42
|
+
- `an:verification-before-completion` — verify before claiming done
|
|
43
|
+
- `an:code-review` — review a diff or PR
|
|
44
|
+
- `an:docs-writer` — update documentation
|
|
45
|
+
|
|
46
|
+
## Workflow
|
|
47
|
+
|
|
48
|
+
1. Check for direct trigger: if the user typed `an:<skill-name>`, load that skill and skip to step 5.
|
|
49
|
+
2. Classify the request into one of these modes:
|
|
50
|
+
- idea refinement or specification
|
|
51
|
+
- repo understanding
|
|
52
|
+
- bug or regression investigation
|
|
53
|
+
- planning and implementation
|
|
54
|
+
- code review
|
|
55
|
+
- documentation work
|
|
56
|
+
- answer-only guidance
|
|
57
|
+
3. Decide whether the task first needs brainstorming or can go straight to planning.
|
|
58
|
+
4. Pick one primary skill.
|
|
59
|
+
5. State the chosen skill and the immediate next step.
|
|
60
|
+
6. Ask a short blocking question only if the task cannot proceed safely without it.
|
|
61
|
+
|
|
62
|
+
## Routing Guide
|
|
63
|
+
|
|
64
|
+
- `an:<skill-name>` (direct trigger) -> load the named skill immediately
|
|
65
|
+
- vague feature idea, unclear goal, tradeoff exploration -> `brainstorming`, then `planning`
|
|
66
|
+
- unfamiliar repo or missing context -> `repo-onboarding`
|
|
67
|
+
- docs work in an unfamiliar repo -> `repo-onboarding` first, then `docs-writer`
|
|
68
|
+
- bug report, error trace, failing test, regression -> `bug-triage`, then `planning` if the fix is not already obvious and bounded
|
|
69
|
+
- implement or change behavior -> `planning`, then `feature-delivery`
|
|
70
|
+
- refactor, restructure, extract, or migrate without behavior change -> `planning`, then `refactor-safe`
|
|
71
|
+
- review diff, PR, or changed files -> `code-review`
|
|
72
|
+
- update README, runbook, onboarding docs, API notes in a known repo -> `docs-writer`
|
|
73
|
+
|
|
74
|
+
## Planning Rule
|
|
75
|
+
|
|
76
|
+
Use `planning` before code changes when any of these are true:
|
|
77
|
+
|
|
78
|
+
- more than one file will likely change
|
|
79
|
+
- the request is ambiguous or under-specified
|
|
80
|
+
- the implementation touches state, data flow, API shape, or architecture boundaries
|
|
81
|
+
- the user explicitly asks for a plan
|
|
82
|
+
|
|
83
|
+
You may skip a separate planning step only when the change is clearly local, low-risk, and already unambiguous.
|
|
84
|
+
|
|
85
|
+
## Verification Rule
|
|
86
|
+
|
|
87
|
+
Use `verification-before-completion` before any strong claim that work is done, fixed, passing, or ready.
|
|
88
|
+
|
|
89
|
+
## Output Format
|
|
90
|
+
|
|
91
|
+
- task type
|
|
92
|
+
- chosen primary skill
|
|
93
|
+
- planning required
|
|
94
|
+
- key assumption or missing decision, if any
|
|
95
|
+
- immediate next step
|
|
96
|
+
|
|
97
|
+
## Red Flags
|
|
98
|
+
|
|
99
|
+
- starting code changes before understanding the request shape
|
|
100
|
+
- treating a fuzzy idea as implementation-ready
|
|
101
|
+
- starting multi-file code changes without an explicit plan
|
|
102
|
+
- loading many skills at once without a clear reason
|
|
103
|
+
- asking broad planning questions before checking if the task is already clear
|
|
104
|
+
- forcing a feature workflow onto a review or docs task
|
|
105
|
+
|
|
106
|
+
## Done Criteria
|
|
107
|
+
|
|
108
|
+
This skill is complete when the chosen skill and the first concrete action are both stated explicitly.
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
# Examples
|
|
2
|
+
|
|
3
|
+
## Example 1
|
|
4
|
+
|
|
5
|
+
User request:
|
|
6
|
+
|
|
7
|
+
```text
|
|
8
|
+
Review these changes before I merge.
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
Expected routing:
|
|
12
|
+
|
|
13
|
+
- task type: code review
|
|
14
|
+
- chosen skill: `code-review`
|
|
15
|
+
- planning required: no
|
|
16
|
+
- next step: inspect the full diff before commenting
|
|
17
|
+
|
|
18
|
+
## Example 2
|
|
19
|
+
|
|
20
|
+
User request:
|
|
21
|
+
|
|
22
|
+
```text
|
|
23
|
+
This login flow started failing after yesterday's deploy.
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
Expected routing:
|
|
27
|
+
|
|
28
|
+
- task type: bug investigation
|
|
29
|
+
- chosen skill: `bug-triage`
|
|
30
|
+
- planning required: maybe, after triage if the fix is not obviously local
|
|
31
|
+
- next step: restate the symptom and try to reproduce it
|
|
32
|
+
|
|
33
|
+
## Example 3
|
|
34
|
+
|
|
35
|
+
User request:
|
|
36
|
+
|
|
37
|
+
```text
|
|
38
|
+
Help me understand this repo before we add a new API endpoint.
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
Expected routing:
|
|
42
|
+
|
|
43
|
+
- task type: repo understanding
|
|
44
|
+
- chosen skill: `repo-onboarding`
|
|
45
|
+
- planning required: not yet
|
|
46
|
+
- next step: read repo docs and inspect core entrypoints
|
|
47
|
+
|
|
48
|
+
## Example 4
|
|
49
|
+
|
|
50
|
+
User request:
|
|
51
|
+
|
|
52
|
+
```text
|
|
53
|
+
Add SSO support to the admin app.
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
Expected routing:
|
|
57
|
+
|
|
58
|
+
- task type: planning and implementation
|
|
59
|
+
- chosen skill: `brainstorming`
|
|
60
|
+
- planning required: yes
|
|
61
|
+
- next step: refine the exact SSO scope and constraints before writing the implementation plan
|
|
62
|
+
|
|
63
|
+
## Example 5 — Sample completed output
|
|
64
|
+
|
|
65
|
+
User request:
|
|
66
|
+
|
|
67
|
+
```text
|
|
68
|
+
We need to speed up the product search endpoint.
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
### Completed output
|
|
72
|
+
|
|
73
|
+
```
|
|
74
|
+
Task type: bug investigation / performance
|
|
75
|
+
Chosen primary skill: planning
|
|
76
|
+
Planning required: yes — the optimization could involve query changes, caching, or index tuning; scope is unclear
|
|
77
|
+
Key assumption: the bottleneck has not been profiled yet
|
|
78
|
+
Immediate next step: profile the current endpoint latency and identify the dominant cost before proposing a fix
|
|
79
|
+
```
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
name: using-skills
|
|
2
|
+
version: 0.1.0
|
|
3
|
+
category: routing
|
|
4
|
+
summary: Route a user request to the right primary skill and working mode before deeper work begins.
|
|
5
|
+
summary_vi: Phân loại request và chọn đúng skill chính trước khi bắt đầu công việc sâu hơn.
|
|
6
|
+
triggers:
|
|
7
|
+
- start a new session
|
|
8
|
+
- decide which skill to load
|
|
9
|
+
- handle mixed or unclear requests
|
|
10
|
+
inputs:
|
|
11
|
+
- user request
|
|
12
|
+
- repo context if available
|
|
13
|
+
outputs:
|
|
14
|
+
- chosen skill
|
|
15
|
+
- working mode
|
|
16
|
+
- immediate next step
|
|
17
|
+
constraints:
|
|
18
|
+
- ask only the shortest blocking question when necessary
|
|
19
|
+
- prefer one primary skill at a time
|
|
20
|
+
related_skills:
|
|
21
|
+
- brainstorming
|
|
22
|
+
- repo-onboarding
|
|
23
|
+
- planning
|
|
24
|
+
- bug-triage
|
|
25
|
+
- feature-delivery
|
|
26
|
+
- refactor-safe
|
|
27
|
+
- code-review
|
|
28
|
+
- verification-before-completion
|
|
29
|
+
- docs-writer
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# Verification Before Completion
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
Stop false completion claims by requiring fresh evidence before saying work is done, fixed, or passing.
|
|
6
|
+
|
|
7
|
+
## When To Use
|
|
8
|
+
|
|
9
|
+
Load this skill when:
|
|
10
|
+
|
|
11
|
+
- about to claim a fix works
|
|
12
|
+
- about to say tests or builds pass
|
|
13
|
+
- about to mark work complete
|
|
14
|
+
- about to commit, open a PR, or hand off finished work
|
|
15
|
+
|
|
16
|
+
## Workflow
|
|
17
|
+
|
|
18
|
+
1. Identify the exact claim being made.
|
|
19
|
+
2. Identify the command, test, or check that proves that claim.
|
|
20
|
+
3. Run the most relevant verification available.
|
|
21
|
+
4. Read the actual result, not just the expectation.
|
|
22
|
+
5. Report one of three states:
|
|
23
|
+
- verified
|
|
24
|
+
- failed verification
|
|
25
|
+
- verification blocked
|
|
26
|
+
6. If blocked, state what remains unproven.
|
|
27
|
+
|
|
28
|
+
## Output Format
|
|
29
|
+
|
|
30
|
+
- claim being checked
|
|
31
|
+
- evidence run
|
|
32
|
+
- result
|
|
33
|
+
- final status
|
|
34
|
+
- remaining uncertainty, if any
|
|
35
|
+
|
|
36
|
+
## Red Flags
|
|
37
|
+
|
|
38
|
+
- saying `should work now`
|
|
39
|
+
- treating code edits as proof
|
|
40
|
+
- using stale test output as fresh evidence
|
|
41
|
+
- extrapolating from a partial check to a broader claim
|
|
42
|
+
- declaring success while verification is still blocked
|
|
43
|
+
|
|
44
|
+
## Done Criteria
|
|
45
|
+
|
|
46
|
+
This skill is complete when the claim is either backed by fresh evidence or explicitly marked as unverified with the blocker stated. If verification passes and a review is warranted, hand off to `code-review`.
|