skilldrop-cli 0.9.0 → 0.9.2
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/README.md +7 -2
- package/bin/skilldrop.js +179 -3
- package/model-routing.json +4 -0
- package/package.json +2 -2
- package/packs.json +8 -3
- package/skills/adr-generator/evals/eval_queries.json +34 -0
- package/skills/adr-generator/evals/evals.json +17 -0
- package/skills/ai-adoption-rollout/SKILL.md +61 -0
- package/skills/ai-adoption-rollout/evals/eval_queries.json +34 -0
- package/skills/ai-adoption-rollout/evals/evals.json +19 -0
- package/skills/ai-adoption-rollout/manifest.json +33 -0
- package/skills/ai-readiness-assessment/SKILL.md +66 -0
- package/skills/ai-readiness-assessment/evals/eval_queries.json +34 -0
- package/skills/ai-readiness-assessment/evals/evals.json +17 -0
- package/skills/ai-readiness-assessment/manifest.json +34 -0
- package/skills/ai-usage-policy/SKILL.md +67 -0
- package/skills/ai-usage-policy/evals/eval_queries.json +34 -0
- package/skills/ai-usage-policy/evals/evals.json +19 -0
- package/skills/ai-usage-policy/manifest.json +33 -0
- package/skills/ai-use-case-triage/SKILL.md +59 -0
- package/skills/ai-use-case-triage/evals/eval_queries.json +34 -0
- package/skills/ai-use-case-triage/evals/evals.json +18 -0
- package/skills/ai-use-case-triage/manifest.json +34 -0
- package/skills/api-contract-draft/evals/eval_queries.json +34 -0
- package/skills/api-contract-draft/evals/evals.json +18 -0
- package/skills/architecture-diagrams/evals/eval_queries.json +34 -0
- package/skills/architecture-diagrams/evals/evals.json +16 -0
- package/skills/audience-profile/evals/eval_queries.json +34 -0
- package/skills/audience-profile/evals/evals.json +15 -0
- package/skills/brief-intake/evals/eval_queries.json +34 -0
- package/skills/brief-intake/evals/evals.json +16 -0
- package/skills/bug-triage/evals/eval_queries.json +34 -0
- package/skills/bug-triage/evals/evals.json +17 -0
- package/skills/council-review/evals/eval_queries.json +38 -0
- package/skills/council-review/evals/evals.json +18 -0
- package/skills/data-contract/evals/eval_queries.json +34 -0
- package/skills/data-contract/evals/evals.json +16 -0
- package/skills/db-schema-design/evals/eval_queries.json +34 -0
- package/skills/db-schema-design/evals/evals.json +16 -0
- package/skills/decision-log/evals/eval_queries.json +34 -0
- package/skills/decision-log/evals/evals.json +17 -0
- package/skills/deck-builder/evals/eval_queries.json +34 -0
- package/skills/deck-builder/evals/evals.json +17 -0
- package/skills/design-doc/evals/eval_queries.json +34 -0
- package/skills/design-doc/evals/evals.json +17 -0
- package/skills/devils-advocate/evals/eval_queries.json +38 -0
- package/skills/devils-advocate/evals/evals.json +19 -0
- package/skills/doc-critique/evals/eval_queries.json +38 -0
- package/skills/doc-critique/evals/evals.json +17 -0
- package/skills/exec-summary/evals/eval_queries.json +34 -0
- package/skills/exec-summary/evals/evals.json +17 -0
- package/skills/figma-diagrams/evals/eval_queries.json +34 -0
- package/skills/figma-diagrams/evals/evals.json +15 -0
- package/skills/incident-comms/evals/eval_queries.json +34 -0
- package/skills/incident-comms/evals/evals.json +16 -0
- package/skills/migration-plan/evals/eval_queries.json +34 -0
- package/skills/migration-plan/evals/evals.json +16 -0
- package/skills/nfr-spec/evals/eval_queries.json +34 -0
- package/skills/nfr-spec/evals/evals.json +16 -0
- package/skills/observability-plan/evals/eval_queries.json +34 -0
- package/skills/observability-plan/evals/evals.json +16 -0
- package/skills/postmortem-generator/evals/eval_queries.json +34 -0
- package/skills/postmortem-generator/evals/evals.json +17 -0
- package/skills/prd-draft/evals/eval_queries.json +34 -0
- package/skills/prd-draft/evals/evals.json +17 -0
- package/skills/requirements-interview/evals/eval_queries.json +34 -0
- package/skills/requirements-interview/evals/evals.json +16 -0
- package/skills/reverse-architecture/evals/eval_queries.json +34 -0
- package/skills/reverse-architecture/evals/evals.json +16 -0
- package/skills/runbook-generator/evals/eval_queries.json +34 -0
- package/skills/runbook-generator/evals/evals.json +17 -0
- package/skills/slide-outliner/evals/eval_queries.json +34 -0
- package/skills/slide-outliner/evals/evals.json +16 -0
- package/skills/sonar-onboard/evals/eval_queries.json +34 -0
- package/skills/sonar-onboard/evals/evals.json +16 -0
- package/skills/sonar-review/evals/eval_queries.json +34 -0
- package/skills/sonar-review/evals/evals.json +16 -0
- package/skills/test-plan-generator/evals/eval_queries.json +34 -0
- package/skills/test-plan-generator/evals/evals.json +16 -0
- package/skills/threat-model/evals/eval_queries.json +34 -0
- package/skills/threat-model/evals/evals.json +18 -0
- package/skills/user-story-splitter/evals/eval_queries.json +34 -0
- package/skills/user-story-splitter/evals/evals.json +16 -0
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"skill_name": "bug-triage",
|
|
3
|
+
"evals": [
|
|
4
|
+
{
|
|
5
|
+
"id": 1,
|
|
6
|
+
"prompt": "Triage this report: 'checkout is broken on mobile sometimes, a customer complained in Slack this morning'.",
|
|
7
|
+
"assertions": [
|
|
8
|
+
"An engineer could start work without contacting the reporter — either the repro steps stand alone, or a no-repro diagnostics list states exactly what to collect",
|
|
9
|
+
"The title is findable by symptom search, containing the words a future reporter would type",
|
|
10
|
+
"Repro steps are numbered and start from a clean state",
|
|
11
|
+
"Expected versus actual behaviour are stated separately",
|
|
12
|
+
"Every factual claim is tagged [reported], [verified], or [assumption] — nothing is asserted untagged",
|
|
13
|
+
"Severity is assigned with a stated reason rather than inherited from the reporter's tone"
|
|
14
|
+
]
|
|
15
|
+
}
|
|
16
|
+
]
|
|
17
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"query": "Convene the council on this architecture decision",
|
|
4
|
+
"should_trigger": true
|
|
5
|
+
},
|
|
6
|
+
{
|
|
7
|
+
"query": "I want multiple senior perspectives to deliberate this change",
|
|
8
|
+
"should_trigger": true
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
"query": "Get an architect, security, and SRE view on this before we commit",
|
|
12
|
+
"should_trigger": true
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"query": "Run a pre-mortem style multi-perspective review of this RFC",
|
|
16
|
+
"should_trigger": true
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"query": "This is risky and load-bearing — I need more than one reviewer's lens",
|
|
20
|
+
"should_trigger": true
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"query": "Review this code for edge cases the first pass missed",
|
|
24
|
+
"should_trigger": false
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"query": "Critique this document against its quality bar",
|
|
28
|
+
"should_trigger": false
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"query": "Score Postgres vs DynamoDB on weighted criteria",
|
|
32
|
+
"should_trigger": false
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"query": "Write the ADR recording the decision we already made",
|
|
36
|
+
"should_trigger": false
|
|
37
|
+
}
|
|
38
|
+
]
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"skill_name": "council-review",
|
|
3
|
+
"evals": [
|
|
4
|
+
{
|
|
5
|
+
"id": 1,
|
|
6
|
+
"prompt": "We're considering moving our monolith's checkout flow onto a separate service before Black Friday. Convene the council and give me a verdict.",
|
|
7
|
+
"assertions": [
|
|
8
|
+
"Each of the five standing seats takes an independent stance (support / conditions / oppose / abstain) before any cross-talk",
|
|
9
|
+
"Every seat point is concrete and attached to evidence — file:line for code, or the named assumption for a decision",
|
|
10
|
+
"Genuine disagreements are surfaced as named cruxes; agreement is reported honestly as unanimous rather than manufactured into conflict",
|
|
11
|
+
"A Chair issues a single reconciled verdict (PROCEED / WITH CONDITIONS / REVISE / RECONSIDER / SPLIT)",
|
|
12
|
+
"The verdict names the tradeoff chosen, records dissent, and states what would change the decision",
|
|
13
|
+
"Bench seats are added only when the change warrants them, and benching is stated explicitly",
|
|
14
|
+
"No persona cosplay — the persona is used as a lens, not costume prose"
|
|
15
|
+
]
|
|
16
|
+
}
|
|
17
|
+
]
|
|
18
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"query": "Write a data contract for this table",
|
|
4
|
+
"should_trigger": true
|
|
5
|
+
},
|
|
6
|
+
{
|
|
7
|
+
"query": "We have downstream consumers of this dataset — define the contract and its SLAs",
|
|
8
|
+
"should_trigger": true
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
"query": "Define the schema and quality guarantees for this event stream",
|
|
12
|
+
"should_trigger": true
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"query": "What should our producers promise consumers about this data?",
|
|
16
|
+
"should_trigger": true
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"query": "Draft the OpenAPI spec for our REST API",
|
|
20
|
+
"should_trigger": false
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"query": "Design the database schema and indexes from our access patterns",
|
|
24
|
+
"should_trigger": false
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"query": "Write the product requirements document",
|
|
28
|
+
"should_trigger": false
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"query": "Plan our observability and alerting",
|
|
32
|
+
"should_trigger": false
|
|
33
|
+
}
|
|
34
|
+
]
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"skill_name": "data-contract",
|
|
3
|
+
"evals": [
|
|
4
|
+
{
|
|
5
|
+
"id": 1,
|
|
6
|
+
"prompt": "We publish an `orders_daily` table that three downstream teams consume. Write the data contract.",
|
|
7
|
+
"assertions": [
|
|
8
|
+
"Every field carries a meaning plus a unit or allowed-values, not merely a type — the cents-vs-dollars class of bug is designed out",
|
|
9
|
+
"Every quality SLA states a threshold, a check, and a breach action; 'high quality' is rejected as an SLA",
|
|
10
|
+
"The evolution policy explicitly names meaning-change-under-a-stable-name as a breaking change",
|
|
11
|
+
"The contract names the owner and the consumers it is a promise to",
|
|
12
|
+
"Freshness, completeness, validity, and distribution are each addressed or explicitly marked not-applicable"
|
|
13
|
+
]
|
|
14
|
+
}
|
|
15
|
+
]
|
|
16
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"query": "Design the database schema for this feature",
|
|
4
|
+
"should_trigger": true
|
|
5
|
+
},
|
|
6
|
+
{
|
|
7
|
+
"query": "What tables, keys, and indexes do I need for these queries?",
|
|
8
|
+
"should_trigger": true
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
"query": "Should this be relational or document, given our access patterns?",
|
|
12
|
+
"should_trigger": true
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"query": "Model the data layer for this access pattern list",
|
|
16
|
+
"should_trigger": true
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"query": "Write a data contract for the table our consumers read",
|
|
20
|
+
"should_trigger": false
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"query": "Draft the OpenAPI contract for the service",
|
|
24
|
+
"should_trigger": false
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"query": "Diagram our system architecture",
|
|
28
|
+
"should_trigger": false
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"query": "Plan the migration from the old schema",
|
|
32
|
+
"should_trigger": false
|
|
33
|
+
}
|
|
34
|
+
]
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"skill_name": "db-schema-design",
|
|
3
|
+
"evals": [
|
|
4
|
+
{
|
|
5
|
+
"id": 1,
|
|
6
|
+
"prompt": "Design the schema for an order-history feature. Queries: fetch one order by id, list a customer's orders newest-first, and report daily totals by region.",
|
|
7
|
+
"assertions": [
|
|
8
|
+
"Access patterns are listed before the schema, with frequency and selectivity",
|
|
9
|
+
"The paradigm choice is justified against those access patterns — relational-by-default needs no defence, every move past it does",
|
|
10
|
+
"Keys and partitioning are justified by the actual queries; a random UUIDv4 clustered primary key is not used without a stated reason",
|
|
11
|
+
"Every index maps to a real predicate from the listed queries rather than being speculative",
|
|
12
|
+
"Denormalization, where proposed, names the read it serves and the write cost it adds"
|
|
13
|
+
]
|
|
14
|
+
}
|
|
15
|
+
]
|
|
16
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"query": "Extract the decisions and action items from these meeting notes",
|
|
4
|
+
"should_trigger": true
|
|
5
|
+
},
|
|
6
|
+
{
|
|
7
|
+
"query": "Turn this Slack thread into a decision log with owners and due dates",
|
|
8
|
+
"should_trigger": true
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
"query": "What did we actually decide in this transcript, and who owns what?",
|
|
12
|
+
"should_trigger": true
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"query": "Give me a structured log of decisions from this design review",
|
|
16
|
+
"should_trigger": true
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"query": "Write an ADR for the decision we made",
|
|
20
|
+
"should_trigger": false
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"query": "Summarize this meeting for executives",
|
|
24
|
+
"should_trigger": false
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"query": "Draft the design doc for what we agreed",
|
|
28
|
+
"should_trigger": false
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"query": "Critique the quality of this decision log",
|
|
32
|
+
"should_trigger": false
|
|
33
|
+
}
|
|
34
|
+
]
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"skill_name": "decision-log",
|
|
3
|
+
"evals": [
|
|
4
|
+
{
|
|
5
|
+
"id": 1,
|
|
6
|
+
"prompt": "Pull the decisions and action items out of this design-review transcript. [transcript: mixed opinions, a couple of agreed decisions, some unowned follow-ups, and relative dates like 'next Friday']",
|
|
7
|
+
"assertions": [
|
|
8
|
+
"Opinions are not promoted to decisions — only items the group acknowledged appear as decisions",
|
|
9
|
+
"Ownership is never invented; items with no named owner are flagged unowned rather than assigned",
|
|
10
|
+
"The source column quotes the discussion verbatim in a short snippet, not a paraphrase",
|
|
11
|
+
"Action items are written in active voice",
|
|
12
|
+
"Relative dates are converted to absolute dates, marked when inferred",
|
|
13
|
+
"The output is a structured table the user can paste into a doc or tracker"
|
|
14
|
+
]
|
|
15
|
+
}
|
|
16
|
+
]
|
|
17
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"query": "Build me a PowerPoint from this content",
|
|
4
|
+
"should_trigger": true
|
|
5
|
+
},
|
|
6
|
+
{
|
|
7
|
+
"query": "Generate a .pptx deck for this exec presentation",
|
|
8
|
+
"should_trigger": true
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
"query": "Turn this into actual slides I can present, with our brand colors",
|
|
12
|
+
"should_trigger": true
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"query": "I need a real deck file, not an outline",
|
|
16
|
+
"should_trigger": true
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"query": "Just outline the slides — I'll build the deck myself",
|
|
20
|
+
"should_trigger": false
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"query": "Write a one-page summary for executives",
|
|
24
|
+
"should_trigger": false
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"query": "Which audience archetype should I target and what are its rules?",
|
|
28
|
+
"should_trigger": false
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"query": "Critique the deck I already made",
|
|
32
|
+
"should_trigger": false
|
|
33
|
+
}
|
|
34
|
+
]
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"skill_name": "deck-builder",
|
|
3
|
+
"evals": [
|
|
4
|
+
{
|
|
5
|
+
"id": 1,
|
|
6
|
+
"prompt": "Build a .pptx from this content for an exec audience, using our brand palette (navy/white).",
|
|
7
|
+
"assertions": [
|
|
8
|
+
"A real .pptx file is produced, not an outline",
|
|
9
|
+
"The title slide carries a real title, subtitle, presenter, and date — never left blank",
|
|
10
|
+
"Section dividers appear sparingly, at most one every 4-5 content slides",
|
|
11
|
+
"Big-number layouts use only numbers the user supplied; no statistic is invented for emphasis",
|
|
12
|
+
"Bullet density matches the stated audience rather than a fixed default",
|
|
13
|
+
"The requested palette is applied rather than the default theme"
|
|
14
|
+
]
|
|
15
|
+
}
|
|
16
|
+
]
|
|
17
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"query": "Draft a design doc for this feature",
|
|
4
|
+
"should_trigger": true
|
|
5
|
+
},
|
|
6
|
+
{
|
|
7
|
+
"query": "Write a Google-style engineering design document from this brief",
|
|
8
|
+
"should_trigger": true
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
"query": "I need a technical design with goals, non-goals, alternatives, and rollout",
|
|
12
|
+
"should_trigger": true
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"query": "Turn this feature brief into a design doc the team can review",
|
|
16
|
+
"should_trigger": true
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"query": "Write an ADR recording this one decision",
|
|
20
|
+
"should_trigger": false
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"query": "Draft the product requirements document for this feature",
|
|
24
|
+
"should_trigger": false
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"query": "Critique the design doc I already wrote",
|
|
28
|
+
"should_trigger": false
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"query": "Split this epic into user stories",
|
|
32
|
+
"should_trigger": false
|
|
33
|
+
}
|
|
34
|
+
]
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"skill_name": "design-doc",
|
|
3
|
+
"evals": [
|
|
4
|
+
{
|
|
5
|
+
"id": 1,
|
|
6
|
+
"prompt": "Draft a design doc for a notification service that consumes domain events and delivers email and push notifications for about 1M events/day.",
|
|
7
|
+
"assertions": [
|
|
8
|
+
"Non-goals are real scope boundaries a reader might otherwise assume are in scope, not throat-clearing",
|
|
9
|
+
"Each alternative carries a two-sentence what-it-is and why-we-didn't-pick-it",
|
|
10
|
+
"Every risk has a mitigation, not a bare list of concerns",
|
|
11
|
+
"Goals are stated with measurable targets rather than adjectives",
|
|
12
|
+
"The rollout section names stages and what would halt it",
|
|
13
|
+
"Facts not supplied by the user are marked as open questions rather than invented"
|
|
14
|
+
]
|
|
15
|
+
}
|
|
16
|
+
]
|
|
17
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"query": "Review this code I just wrote before I merge it",
|
|
4
|
+
"should_trigger": true
|
|
5
|
+
},
|
|
6
|
+
{
|
|
7
|
+
"query": "Anything I might have missed in this implementation?",
|
|
8
|
+
"should_trigger": true
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
"query": "Adversarially review this diff for edge cases and broken assumptions",
|
|
12
|
+
"should_trigger": true
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"query": "I just finished the feature and the tests pass — is it ready to ship?",
|
|
16
|
+
"should_trigger": true
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"query": "Find the bugs a staff engineer would push back on in review",
|
|
20
|
+
"should_trigger": true
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"query": "Critique this design document",
|
|
24
|
+
"should_trigger": false
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"query": "Convene multiple senior personas to deliberate this architecture decision",
|
|
28
|
+
"should_trigger": false
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"query": "Implement this ticket from its acceptance criteria",
|
|
32
|
+
"should_trigger": false
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"query": "Run the full gate and reviewers and tell me if this is safe to merge",
|
|
36
|
+
"should_trigger": false
|
|
37
|
+
}
|
|
38
|
+
]
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
{
|
|
2
|
+
"skill_name": "devils-advocate",
|
|
3
|
+
"evals": [
|
|
4
|
+
{
|
|
5
|
+
"id": 1,
|
|
6
|
+
"prompt": "Here's the payment-retry handler I just finished — it retries failed charges up to 3 times with exponential backoff, and the tests pass. Review it before I open the PR.",
|
|
7
|
+
"assertions": [
|
|
8
|
+
"Every finding has a reproducible scenario a senior engineer can replay mentally — named input, current behavior, expected behavior",
|
|
9
|
+
"Every finding cites file:line, not just a section or function name",
|
|
10
|
+
"Severity is calibrated — blockers do not outnumber majors; inflated findings are demoted",
|
|
11
|
+
"Findings are grouped by the four lenses (edge cases, assumptions, staff-engineer pushback, test-coverage gaps), skipping lenses that do not apply rather than padding",
|
|
12
|
+
"Test-coverage gaps name the concrete missing test case, not 'add more tests'",
|
|
13
|
+
"Assertion theater is called out — tests that execute the code without asserting the behavior",
|
|
14
|
+
"Output ends with a 'what's solid' section so the author knows what not to touch",
|
|
15
|
+
"The review scopes to the change under review, never sweeping the whole codebase"
|
|
16
|
+
]
|
|
17
|
+
}
|
|
18
|
+
]
|
|
19
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"query": "Critique this design doc before I share it",
|
|
4
|
+
"should_trigger": true
|
|
5
|
+
},
|
|
6
|
+
{
|
|
7
|
+
"query": "Review this ADR and tell me where it's weak",
|
|
8
|
+
"should_trigger": true
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
"query": "Is this runbook actually good? Give me a structured critique",
|
|
12
|
+
"should_trigger": true
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"query": "Score this exec summary against a quality bar",
|
|
16
|
+
"should_trigger": true
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"query": "Review my document and give me severity-tagged findings with fixes",
|
|
20
|
+
"should_trigger": true
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"query": "Review this pull request for bugs",
|
|
24
|
+
"should_trigger": false
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"query": "Write a new ADR for this decision",
|
|
28
|
+
"should_trigger": false
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"query": "Get five senior personas to deliberate whether we should do this",
|
|
32
|
+
"should_trigger": false
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"query": "Summarize this document for executives",
|
|
36
|
+
"should_trigger": false
|
|
37
|
+
}
|
|
38
|
+
]
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"skill_name": "doc-critique",
|
|
3
|
+
"evals": [
|
|
4
|
+
{
|
|
5
|
+
"id": 1,
|
|
6
|
+
"prompt": "Critique this design doc before I circulate it to the team. [design doc: a TL;DR full of adjectives, an approach section that says 'industry standard', no SLOs, and a one-line rollout plan]",
|
|
7
|
+
"assertions": [
|
|
8
|
+
"Every finding quotes the document verbatim rather than paraphrasing it — the quoted snippet is the audit trail",
|
|
9
|
+
"Findings are local and anchored to a section, not global judgments like 'the tone is off'",
|
|
10
|
+
"Severity is calibrated — blockers do not outnumber majors",
|
|
11
|
+
"Fixes are paste-able: when the fix is 'add a section', the critique shows what that section should contain",
|
|
12
|
+
"The critique reviews whether the doc made its case, and does not re-debate the underlying technical topic",
|
|
13
|
+
"The document archetype is identified and the critique is run against that archetype's quality bar"
|
|
14
|
+
]
|
|
15
|
+
}
|
|
16
|
+
]
|
|
17
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"query": "Summarize this design doc for our executives",
|
|
4
|
+
"should_trigger": true
|
|
5
|
+
},
|
|
6
|
+
{
|
|
7
|
+
"query": "I need a one-page summary of this long proposal for a non-technical stakeholder",
|
|
8
|
+
"should_trigger": true
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
"query": "Give me the 30-second version of this technical document",
|
|
12
|
+
"should_trigger": true
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"query": "Compress this into something our COO will actually read",
|
|
16
|
+
"should_trigger": true
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"query": "Build me a PowerPoint of this",
|
|
20
|
+
"should_trigger": false
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"query": "Outline the slides for this presentation",
|
|
24
|
+
"should_trigger": false
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"query": "What should I change about how I present to a board audience?",
|
|
28
|
+
"should_trigger": false
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"query": "Critique this document against its quality bar",
|
|
32
|
+
"should_trigger": false
|
|
33
|
+
}
|
|
34
|
+
]
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"skill_name": "exec-summary",
|
|
3
|
+
"evals": [
|
|
4
|
+
{
|
|
5
|
+
"id": 1,
|
|
6
|
+
"prompt": "Compress this 14-page platform-migration design doc into a one-page summary for our non-technical COO.",
|
|
7
|
+
"assertions": [
|
|
8
|
+
"Fits one page and leads with the decision or ask, not background",
|
|
9
|
+
"Numbers are quantified where available; where they aren't, the summary says 'directional' rather than inventing precision",
|
|
10
|
+
"A non-engineer meets no unexplained technical term in the first paragraph",
|
|
11
|
+
"No internal team-speak (OKRs, swimlanes, north-star metric) survives into the summary",
|
|
12
|
+
"Nothing is asserted that isn't supported by the source document",
|
|
13
|
+
"The output is prose a reader can scan in ~30 seconds — not slides and not a deck outline"
|
|
14
|
+
]
|
|
15
|
+
}
|
|
16
|
+
]
|
|
17
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"query": "List the frames in our Figma file",
|
|
4
|
+
"should_trigger": true
|
|
5
|
+
},
|
|
6
|
+
{
|
|
7
|
+
"query": "Read this Figma file structure via the API",
|
|
8
|
+
"should_trigger": true
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
"query": "Post a comment on this Figma frame",
|
|
12
|
+
"should_trigger": true
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"query": "Convert this FigJam connector graph into a diagram spec",
|
|
16
|
+
"should_trigger": true
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"query": "Draw an architecture diagram in Mermaid from this description",
|
|
20
|
+
"should_trigger": false
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"query": "Reverse-engineer our architecture from the repo",
|
|
24
|
+
"should_trigger": false
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"query": "Build a PowerPoint deck from this content",
|
|
28
|
+
"should_trigger": false
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"query": "Audit this UI for accessibility issues",
|
|
32
|
+
"should_trigger": false
|
|
33
|
+
}
|
|
34
|
+
]
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"skill_name": "figma-diagrams",
|
|
3
|
+
"evals": [
|
|
4
|
+
{
|
|
5
|
+
"id": 1,
|
|
6
|
+
"prompt": "List the pages and frames in this Figma file and post a comment on the checkout frame.",
|
|
7
|
+
"assertions": [
|
|
8
|
+
"The token is read from the FIGMA_TOKEN environment variable and never logged or passed on the command line",
|
|
9
|
+
"Output is filtered to pages, frames, and groups (about three levels) and summarized rather than dumping raw JSON",
|
|
10
|
+
"Before posting any comment, the exact comment text and target frame are shown for confirmation",
|
|
11
|
+
"The skill states clearly when FIGMA_TOKEN is missing rather than failing opaquely"
|
|
12
|
+
]
|
|
13
|
+
}
|
|
14
|
+
]
|
|
15
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"query": "Draft a status page update for this ongoing incident",
|
|
4
|
+
"should_trigger": true
|
|
5
|
+
},
|
|
6
|
+
{
|
|
7
|
+
"query": "We're live in an incident — I need customer, internal, and exec updates",
|
|
8
|
+
"should_trigger": true
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
"query": "Write the customer-facing comms while we investigate",
|
|
12
|
+
"should_trigger": true
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"query": "How do I tell stakeholders about this outage right now?",
|
|
16
|
+
"should_trigger": true
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"query": "Write the blameless postmortem now that it's resolved",
|
|
20
|
+
"should_trigger": false
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"query": "Generate the runbook for this service",
|
|
24
|
+
"should_trigger": false
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"query": "Summarize this technical doc for executives",
|
|
28
|
+
"should_trigger": false
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"query": "Extract decisions and action items from the incident channel",
|
|
32
|
+
"should_trigger": false
|
|
33
|
+
}
|
|
34
|
+
]
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"skill_name": "incident-comms",
|
|
3
|
+
"evals": [
|
|
4
|
+
{
|
|
5
|
+
"id": 1,
|
|
6
|
+
"prompt": "We're 20 minutes into a live incident — checkout is failing for about 30% of users, cause not yet confirmed. Draft the customer, internal, and exec updates.",
|
|
7
|
+
"assertions": [
|
|
8
|
+
"Each message's first sentence is reader-facing impact, not an internal symptom or architecture detail",
|
|
9
|
+
"Every message names the next-update time, or marks it [set HH:MM] when unknown",
|
|
10
|
+
"No unconfirmed cause is stated and no commitment is made that might need retracting",
|
|
11
|
+
"The three audiences (customer status page, internal stakeholders, exec) get genuinely different messages rather than one text reused",
|
|
12
|
+
"Nothing is asserted beyond what the operator supplied"
|
|
13
|
+
]
|
|
14
|
+
}
|
|
15
|
+
]
|
|
16
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"query": "Plan the migration for this schema change",
|
|
4
|
+
"should_trigger": true
|
|
5
|
+
},
|
|
6
|
+
{
|
|
7
|
+
"query": "How do we roll this datastore swap out safely with no downtime?",
|
|
8
|
+
"should_trigger": true
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
"query": "Give me a phased expand-migrate-contract plan for this API version",
|
|
12
|
+
"should_trigger": true
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"query": "We're switching auth providers — plan the cutover and rollback",
|
|
16
|
+
"should_trigger": true
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"query": "Design the new database schema and its indexes",
|
|
20
|
+
"should_trigger": false
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"query": "Split this migration work into user stories",
|
|
24
|
+
"should_trigger": false
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"query": "Write the runbook for the on-call team",
|
|
28
|
+
"should_trigger": false
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"query": "Write an ADR recording why we chose this datastore",
|
|
32
|
+
"should_trigger": false
|
|
33
|
+
}
|
|
34
|
+
]
|