@pugi/cli 1.0.0-alpha.17 → 1.0.0-alpha.171
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/models.json +1 -0
- package/package.json +19 -6
- package/skills/a11y/SKILL.md +19 -0
- package/skills/ab-test-analysis/SKILL.md +15 -0
- package/skills/ai-sdk/SKILL.md +19 -0
- package/skills/api-integration/SKILL.md +19 -0
- package/skills/architecture-review/SKILL.md +19 -0
- package/skills/brand-voice/SKILL.md +19 -0
- package/skills/ci-cd-pipeline/SKILL.md +15 -0
- package/skills/code-review/SKILL.md +19 -0
- package/skills/competitor-analysis/SKILL.md +19 -0
- package/skills/content-design/SKILL.md +27 -0
- package/skills/css-tailwind/SKILL.md +31 -0
- package/skills/css-tailwind/quirks.md +86 -0
- package/skills/db-vector/SKILL.md +19 -0
- package/skills/design-radix/SKILL.md +19 -0
- package/skills/design-system/SKILL.md +27 -0
- package/skills/detecting-data-anomalies/SKILL.md +15 -0
- package/skills/docker-deploy/SKILL.md +15 -0
- package/skills/edge-case-finder/SKILL.md +19 -0
- package/skills/fonts/SKILL.md +19 -0
- package/skills/framework-grammy/SKILL.md +19 -0
- package/skills/framework-mastra/SKILL.md +19 -0
- package/skills/framework-nestjs/SKILL.md +19 -0
- package/skills/framework-prisma/SKILL.md +19 -0
- package/skills/funnel-optimization/SKILL.md +19 -0
- package/skills/icons/SKILL.md +19 -0
- package/skills/landing-templates/SKILL.md +19 -0
- package/skills/market-research/SKILL.md +19 -0
- package/skills/metrics-dashboard/SKILL.md +19 -0
- package/skills/monitoring-setup/SKILL.md +15 -0
- package/skills/motion/SKILL.md +19 -0
- package/skills/nestjs-api/SKILL.md +29 -0
- package/skills/nestjs-api/quirks.md +26 -0
- package/skills/nextjs-page/SKILL.md +19 -0
- package/skills/orchestrating-multi-agent-systems/SKILL.md +19 -0
- package/skills/preprocessing-data/SKILL.md +15 -0
- package/skills/project-memory-keeper/SKILL.md +19 -0
- package/skills/public-apis/SKILL.md +19 -0
- package/skills/pugi-patterns/SKILL.md +19 -0
- package/skills/react-component/SKILL.md +19 -0
- package/skills/sprint-planning/SKILL.md +19 -0
- package/skills/stack-selection/SKILL.md +15 -0
- package/skills/standup-summary/SKILL.md +15 -0
- package/skills/task-decomposition/SKILL.md +19 -0
- package/skills/team-routing/SKILL.md +15 -0
- package/skills/tech-survey/SKILL.md +15 -0
- package/skills/test-plan/SKILL.md +15 -0
- package/skills/typescript-refactor/SKILL.md +15 -0
- package/skills/ui-components/SKILL.md +26 -0
- package/skills/ux-patterns/SKILL.md +27 -0
- package/skills/web-platform/SKILL.md +19 -0
- package/skills/web-scrape/SKILL.md +19 -0
- package/skills/web-search/SKILL.md +15 -0
- package/skills/webapp-testing/SKILL.md +29 -0
- package/skills/webapp-testing/quirks.md +26 -0
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: market-research
|
|
3
|
+
description: "Runs search over a topic, summarises findings with citations using research methods frameworks."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<!-- GENERATED by pugi-core packages/opencode/script/generate-persona-skill-pack.ts — do not hand-edit. -->
|
|
7
|
+
|
|
8
|
+
# Market Research
|
|
9
|
+
|
|
10
|
+
Runs search over a topic, summarises findings with citations using research methods frameworks.
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
## Grounding
|
|
14
|
+
|
|
15
|
+
This skill retrieves from the Anvil RAG workspace `marketing_frameworks`. Ask grounded questions in that domain before inventing answers.
|
|
16
|
+
|
|
17
|
+
## Owner
|
|
18
|
+
|
|
19
|
+
Owner persona: `researcher` (THE_TEN Agent×Skill×RAG matrix).
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: metrics-dashboard
|
|
3
|
+
description: "Designs KPI dashboards — DAU, MRR, retention, funnel cohorts — grounded in dashboard/chart block templates."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<!-- GENERATED by pugi-core packages/opencode/script/generate-persona-skill-pack.ts — do not hand-edit. -->
|
|
7
|
+
|
|
8
|
+
# Metrics Dashboard
|
|
9
|
+
|
|
10
|
+
Designs KPI dashboards — DAU, MRR, retention, funnel cohorts — grounded in dashboard/chart block templates.
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
## Grounding
|
|
14
|
+
|
|
15
|
+
This skill retrieves from the Anvil RAG workspace `landing_templates`. Ask grounded questions in that domain before inventing answers.
|
|
16
|
+
|
|
17
|
+
## Owner
|
|
18
|
+
|
|
19
|
+
Owner persona: `analyst` (THE_TEN Agent×Skill×RAG matrix).
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: monitoring-setup
|
|
3
|
+
description: "Wires Prometheus / Grafana / Langfuse instrumentation into a service."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<!-- GENERATED by pugi-core packages/opencode/script/generate-persona-skill-pack.ts — do not hand-edit. -->
|
|
7
|
+
|
|
8
|
+
# Monitoring Setup
|
|
9
|
+
|
|
10
|
+
Wires Prometheus / Grafana / Langfuse instrumentation into a service.
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
## Owner
|
|
14
|
+
|
|
15
|
+
Owner persona: `devops` (THE_TEN Agent×Skill×RAG matrix).
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: motion
|
|
3
|
+
description: "Motion patterns — springs, transitions, staggering, reduced-motion compliance."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<!-- GENERATED by pugi-core packages/opencode/script/generate-persona-skill-pack.ts — do not hand-edit. -->
|
|
7
|
+
|
|
8
|
+
# Motion & Animation
|
|
9
|
+
|
|
10
|
+
Motion patterns — springs, transitions, staggering, reduced-motion compliance.
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
## Grounding
|
|
14
|
+
|
|
15
|
+
This skill retrieves from the Anvil RAG workspace `motion_assets`. Ask grounded questions in that domain before inventing answers.
|
|
16
|
+
|
|
17
|
+
## Owner
|
|
18
|
+
|
|
19
|
+
Owner persona: `designer` (THE_TEN Agent×Skill×RAG matrix).
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: nestjs-api
|
|
3
|
+
description: "Generates idiomatic NestJS modules, controllers, services, DTOs."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<!-- GENERATED by pugi-core packages/opencode/script/generate-persona-skill-pack.ts — do not hand-edit. -->
|
|
7
|
+
|
|
8
|
+
# NestJS API Builder
|
|
9
|
+
|
|
10
|
+
Generates idiomatic NestJS modules, controllers, services, DTOs.
|
|
11
|
+
|
|
12
|
+
## Rules
|
|
13
|
+
|
|
14
|
+
- Every dependency you import must be in package.json before you import it. A test file is code: importing `@nestjs/testing` without adding it fails the build for the whole project, not just the test.
|
|
15
|
+
- Run the project's own build once before reporting done. `tsc` is the cheapest reviewer you have and it reads the tsconfig the customer will ship with, not the one you assumed.
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
## Known failure modes
|
|
19
|
+
|
|
20
|
+
Read `quirks.md` in this directory BEFORE writing code in this domain. It records 2 failures that reached a customer build, each with the symptom, the cause, and the check that tells them apart.
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
## Grounding
|
|
24
|
+
|
|
25
|
+
This skill retrieves from the Anvil RAG workspace `framework_nestjs`. Ask grounded questions in that domain before inventing answers.
|
|
26
|
+
|
|
27
|
+
## Owner
|
|
28
|
+
|
|
29
|
+
Owner persona: `dev` (THE_TEN Agent×Skill×RAG matrix).
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
<!-- GENERATED by pugi-core packages/opencode/script/generate-persona-skill-pack.ts — do not hand-edit. -->
|
|
2
|
+
|
|
3
|
+
# NestJS API Builder — known failure modes
|
|
4
|
+
|
|
5
|
+
Each entry below reached a customer build. The symptom is what you will
|
|
6
|
+
actually observe; the build succeeds in every one of these cases.
|
|
7
|
+
|
|
8
|
+
## strict-property-initialization
|
|
9
|
+
|
|
10
|
+
**Symptom.** The build fails with `TS2564: Property 'x' has no initializer and is not definitely assigned in the constructor` on every DTO field.
|
|
11
|
+
|
|
12
|
+
**Cause.** The NestJS starter enables `strictPropertyInitialization`. A DTO declares fields the framework fills at runtime from the request body, which the compiler cannot see.
|
|
13
|
+
|
|
14
|
+
**Check.** Read `strict` and `strictPropertyInitialization` in tsconfig.json before writing the first DTO.
|
|
15
|
+
|
|
16
|
+
**Fix.** Declare DTO fields with the definite-assignment marker — `image!: string` — or give them a default. Do not disable the compiler flag to make the error go away: it protects the rest of the code.
|
|
17
|
+
|
|
18
|
+
## test-imports-uninstalled-package
|
|
19
|
+
|
|
20
|
+
**Symptom.** The build fails with `TS2307: Cannot find module '@nestjs/testing'` even though the application code is fine.
|
|
21
|
+
|
|
22
|
+
**Cause.** A spec file was written importing the testing utilities, but the package was never added to devDependencies. `tsc -p tsconfig.json` compiles spec files too, so one unbuildable test fails the whole project.
|
|
23
|
+
|
|
24
|
+
**Check.** Before writing a `.test.ts`/`.spec.ts`, check that every module it imports appears in package.json. `@nestjs/testing` is NOT part of the default starter.
|
|
25
|
+
|
|
26
|
+
**Fix.** Add the package to devDependencies and install it, or do not write the test. A test that cannot compile is worse than no test — it takes the build down with it.
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: nextjs-page
|
|
3
|
+
description: "Builds Next.js App Router pages with shadcn/ui + Tailwind."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<!-- GENERATED by pugi-core packages/opencode/script/generate-persona-skill-pack.ts — do not hand-edit. -->
|
|
7
|
+
|
|
8
|
+
# Next.js Page Builder
|
|
9
|
+
|
|
10
|
+
Builds Next.js App Router pages with shadcn/ui + Tailwind.
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
## Grounding
|
|
14
|
+
|
|
15
|
+
This skill retrieves from the Anvil RAG workspace `framework_nextjs`. Ask grounded questions in that domain before inventing answers.
|
|
16
|
+
|
|
17
|
+
## Owner
|
|
18
|
+
|
|
19
|
+
Owner persona: `frontend` (THE_TEN Agent×Skill×RAG matrix).
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: orchestrating-multi-agent-systems
|
|
3
|
+
description: "Designs and coordinates multi-agent topologies (planner / workers / critics) grounded in the AI SDK cookbook patterns."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<!-- GENERATED by pugi-core packages/opencode/script/generate-persona-skill-pack.ts — do not hand-edit. -->
|
|
7
|
+
|
|
8
|
+
# Orchestrating Multi Agent Systems
|
|
9
|
+
|
|
10
|
+
Designs and coordinates multi-agent topologies (planner / workers / critics) grounded in the AI SDK cookbook patterns.
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
## Grounding
|
|
14
|
+
|
|
15
|
+
This skill retrieves from the Anvil RAG workspace `ai_sdk_cookbook`. Ask grounded questions in that domain before inventing answers.
|
|
16
|
+
|
|
17
|
+
## Owner
|
|
18
|
+
|
|
19
|
+
Owner persona: `pugi` (THE_TEN Agent×Skill×RAG matrix).
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: preprocessing-data
|
|
3
|
+
description: "Cleans, transforms, and feature-engineers datasets for analysis or ML."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<!-- GENERATED by pugi-core packages/opencode/script/generate-persona-skill-pack.ts — do not hand-edit. -->
|
|
7
|
+
|
|
8
|
+
# Preprocessing Data
|
|
9
|
+
|
|
10
|
+
Cleans, transforms, and feature-engineers datasets for analysis or ML.
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
## Owner
|
|
14
|
+
|
|
15
|
+
Owner persona: `analyst` (THE_TEN Agent×Skill×RAG matrix).
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: project-memory-keeper
|
|
3
|
+
description: "Maintains shared project state — name, stack, goals, decisions log — grounded in the Pugi corpus."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<!-- GENERATED by pugi-core packages/opencode/script/generate-persona-skill-pack.ts — do not hand-edit. -->
|
|
7
|
+
|
|
8
|
+
# Project Memory Keeper
|
|
9
|
+
|
|
10
|
+
Maintains shared project state — name, stack, goals, decisions log — grounded in the Pugi corpus.
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
## Grounding
|
|
14
|
+
|
|
15
|
+
This skill retrieves from the Anvil RAG workspace `mira_knowledge`. Ask grounded questions in that domain before inventing answers.
|
|
16
|
+
|
|
17
|
+
## Owner
|
|
18
|
+
|
|
19
|
+
Owner persona: `pugi` (THE_TEN Agent×Skill×RAG matrix).
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: public-apis
|
|
3
|
+
description: "Finds and evaluates public/third-party APIs from the daily-ingested catalog (ADR-0041)."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<!-- GENERATED by pugi-core packages/opencode/script/generate-persona-skill-pack.ts — do not hand-edit. -->
|
|
7
|
+
|
|
8
|
+
# Public APIs Catalog
|
|
9
|
+
|
|
10
|
+
Finds and evaluates public/third-party APIs from the daily-ingested catalog (ADR-0041).
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
## Grounding
|
|
14
|
+
|
|
15
|
+
This skill retrieves from the Anvil RAG workspace `public_apis_catalog`. Ask grounded questions in that domain before inventing answers.
|
|
16
|
+
|
|
17
|
+
## Owner
|
|
18
|
+
|
|
19
|
+
Owner persona: `researcher` (THE_TEN Agent×Skill×RAG matrix).
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: pugi-patterns
|
|
3
|
+
description: "Retrieves canonical Pugi implementation patterns (module shapes, proxy routes, migrations, RLS) before any build decision."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<!-- GENERATED by pugi-core packages/opencode/script/generate-persona-skill-pack.ts — do not hand-edit. -->
|
|
7
|
+
|
|
8
|
+
# Pugi Patterns
|
|
9
|
+
|
|
10
|
+
Retrieves canonical Pugi implementation patterns (module shapes, proxy routes, migrations, RLS) before any build decision.
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
## Grounding
|
|
14
|
+
|
|
15
|
+
This skill retrieves from the Anvil RAG workspace `pugi_patterns`. Ask grounded questions in that domain before inventing answers.
|
|
16
|
+
|
|
17
|
+
## Owner
|
|
18
|
+
|
|
19
|
+
Owner persona: `pugi` (THE_TEN Agent×Skill×RAG matrix).
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: react-component
|
|
3
|
+
description: "Builds composable React + TypeScript components with proper typing."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<!-- GENERATED by pugi-core packages/opencode/script/generate-persona-skill-pack.ts — do not hand-edit. -->
|
|
7
|
+
|
|
8
|
+
# React Component Library
|
|
9
|
+
|
|
10
|
+
Builds composable React + TypeScript components with proper typing.
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
## Grounding
|
|
14
|
+
|
|
15
|
+
This skill retrieves from the Anvil RAG workspace `ui_registry`. Ask grounded questions in that domain before inventing answers.
|
|
16
|
+
|
|
17
|
+
## Owner
|
|
18
|
+
|
|
19
|
+
Owner persona: `frontend` (THE_TEN Agent×Skill×RAG matrix).
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: sprint-planning
|
|
3
|
+
description: "Decomposes goals into sprint backlogs with capacity-aware estimates — grounded in agile/service-design methods."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<!-- GENERATED by pugi-core packages/opencode/script/generate-persona-skill-pack.ts — do not hand-edit. -->
|
|
7
|
+
|
|
8
|
+
# Sprint Planning
|
|
9
|
+
|
|
10
|
+
Decomposes goals into sprint backlogs with capacity-aware estimates — grounded in agile/service-design methods.
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
## Grounding
|
|
14
|
+
|
|
15
|
+
This skill retrieves from the Anvil RAG workspace `marketing_frameworks`. Ask grounded questions in that domain before inventing answers.
|
|
16
|
+
|
|
17
|
+
## Owner
|
|
18
|
+
|
|
19
|
+
Owner persona: `pm` (THE_TEN Agent×Skill×RAG matrix).
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: stack-selection
|
|
3
|
+
description: "Helps pick framework / DB / deployment stack based on project constraints."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<!-- GENERATED by pugi-core packages/opencode/script/generate-persona-skill-pack.ts — do not hand-edit. -->
|
|
7
|
+
|
|
8
|
+
# Tech Stack Selection
|
|
9
|
+
|
|
10
|
+
Helps pick framework / DB / deployment stack based on project constraints.
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
## Owner
|
|
14
|
+
|
|
15
|
+
Owner persona: `architect` (THE_TEN Agent×Skill×RAG matrix).
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: standup-summary
|
|
3
|
+
description: "Daily summary of what each teammate did, blockers, next steps."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<!-- GENERATED by pugi-core packages/opencode/script/generate-persona-skill-pack.ts — do not hand-edit. -->
|
|
7
|
+
|
|
8
|
+
# Standup Summary
|
|
9
|
+
|
|
10
|
+
Daily summary of what each teammate did, blockers, next steps.
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
## Owner
|
|
14
|
+
|
|
15
|
+
Owner persona: `pm` (THE_TEN Agent×Skill×RAG matrix).
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: task-decomposition
|
|
3
|
+
description: "Breaks vague requests into concrete sub-tasks with dependencies, aligned to how Pugi actually builds."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<!-- GENERATED by pugi-core packages/opencode/script/generate-persona-skill-pack.ts — do not hand-edit. -->
|
|
7
|
+
|
|
8
|
+
# Task Decomposition
|
|
9
|
+
|
|
10
|
+
Breaks vague requests into concrete sub-tasks with dependencies, aligned to how Pugi actually builds.
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
## Grounding
|
|
14
|
+
|
|
15
|
+
This skill retrieves from the Anvil RAG workspace `pugi_patterns`. Ask grounded questions in that domain before inventing answers.
|
|
16
|
+
|
|
17
|
+
## Owner
|
|
18
|
+
|
|
19
|
+
Owner persona: `pm` (THE_TEN Agent×Skill×RAG matrix).
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: team-routing
|
|
3
|
+
description: "Routes incoming requests to the right teammate by role / expertise."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<!-- GENERATED by pugi-core packages/opencode/script/generate-persona-skill-pack.ts — do not hand-edit. -->
|
|
7
|
+
|
|
8
|
+
# Team Routing
|
|
9
|
+
|
|
10
|
+
Routes incoming requests to the right teammate by role / expertise.
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
## Owner
|
|
14
|
+
|
|
15
|
+
Owner persona: `pugi` (THE_TEN Agent×Skill×RAG matrix).
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: tech-survey
|
|
3
|
+
description: "Compares 3-5 technical options against project criteria, recommends."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<!-- GENERATED by pugi-core packages/opencode/script/generate-persona-skill-pack.ts — do not hand-edit. -->
|
|
7
|
+
|
|
8
|
+
# Tech Survey
|
|
9
|
+
|
|
10
|
+
Compares 3-5 technical options against project criteria, recommends.
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
## Owner
|
|
14
|
+
|
|
15
|
+
Owner persona: `researcher` (THE_TEN Agent×Skill×RAG matrix).
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: test-plan
|
|
3
|
+
description: "Drafts test plans covering happy path, edge cases, regression scope."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<!-- GENERATED by pugi-core packages/opencode/script/generate-persona-skill-pack.ts — do not hand-edit. -->
|
|
7
|
+
|
|
8
|
+
# Test Plan Author
|
|
9
|
+
|
|
10
|
+
Drafts test plans covering happy path, edge cases, regression scope.
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
## Owner
|
|
14
|
+
|
|
15
|
+
Owner persona: `pm` (THE_TEN Agent×Skill×RAG matrix).
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: typescript-refactor
|
|
3
|
+
description: "Refactors TS code for readability, type-safety, and conventions."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<!-- GENERATED by pugi-core packages/opencode/script/generate-persona-skill-pack.ts — do not hand-edit. -->
|
|
7
|
+
|
|
8
|
+
# TypeScript Refactor
|
|
9
|
+
|
|
10
|
+
Refactors TS code for readability, type-safety, and conventions.
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
## Owner
|
|
14
|
+
|
|
15
|
+
Owner persona: `dev` (THE_TEN Agent×Skill×RAG matrix).
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ui-components
|
|
3
|
+
description: "shadcn/ui v4 registry knowledge — component anatomy, variants, composition."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<!-- GENERATED by pugi-core packages/opencode/script/generate-persona-skill-pack.ts — do not hand-edit. -->
|
|
7
|
+
|
|
8
|
+
# UI Components
|
|
9
|
+
|
|
10
|
+
shadcn/ui v4 registry knowledge — component anatomy, variants, composition.
|
|
11
|
+
|
|
12
|
+
## Rules
|
|
13
|
+
|
|
14
|
+
- A card is for an object the person can SELECT, COMPARE or OPEN. Anything else — a heading with text under it, a stat, a paragraph — is not a card. A page of cards is a page of grey boxes and the eye cannot find the one thing that matters.
|
|
15
|
+
- Before shipping a screen, count its containers and delete half. If removing a border changes nothing but the border, remove it.
|
|
16
|
+
- Reuse the component the project already has before writing markup. Two definitions of the same control on one screen is how a design system stops being one.
|
|
17
|
+
- Every interactive element needs hover, focus-visible and disabled. A control that only reacts to hover does not exist on a phone.
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
## Grounding
|
|
21
|
+
|
|
22
|
+
This skill retrieves from the Anvil RAG workspace `ui_registry`. Ask grounded questions in that domain before inventing answers.
|
|
23
|
+
|
|
24
|
+
## Owner
|
|
25
|
+
|
|
26
|
+
Owner persona: `designer` (THE_TEN Agent×Skill×RAG matrix).
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ux-patterns
|
|
3
|
+
description: "Service-design and research methods — journey maps, usability tests, heuristics."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<!-- GENERATED by pugi-core packages/opencode/script/generate-persona-skill-pack.ts — do not hand-edit. -->
|
|
7
|
+
|
|
8
|
+
# UX Patterns
|
|
9
|
+
|
|
10
|
+
Service-design and research methods — journey maps, usability tests, heuristics.
|
|
11
|
+
|
|
12
|
+
## Rules
|
|
13
|
+
|
|
14
|
+
- Every action has four states: loading, empty, error, success. Ship all four or the action is unfinished. A pressed button that answers with silence reads as broken.
|
|
15
|
+
- Loading is a skeleton shaped like the content that is coming, not a spinner in the middle of nothing.
|
|
16
|
+
- Success is visible and says what happened. Silence after a successful action is indistinguishable from failure.
|
|
17
|
+
- After each state, the next step must be obvious. An error with no way forward leaves the person stuck on your screen.
|
|
18
|
+
- Do not make the reader think. If a screen needs instructions, the screen is the problem.
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
## Grounding
|
|
22
|
+
|
|
23
|
+
This skill retrieves from the Anvil RAG workspace `marketing_frameworks`. Ask grounded questions in that domain before inventing answers.
|
|
24
|
+
|
|
25
|
+
## Owner
|
|
26
|
+
|
|
27
|
+
Owner persona: `designer` (THE_TEN Agent×Skill×RAG matrix).
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: web-platform
|
|
3
|
+
description: "MDN-grounded web platform knowledge — CSS, layout, web APIs, HTTP semantics."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<!-- GENERATED by pugi-core packages/opencode/script/generate-persona-skill-pack.ts — do not hand-edit. -->
|
|
7
|
+
|
|
8
|
+
# Web Platform (MDN)
|
|
9
|
+
|
|
10
|
+
MDN-grounded web platform knowledge — CSS, layout, web APIs, HTTP semantics.
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
## Grounding
|
|
14
|
+
|
|
15
|
+
This skill retrieves from the Anvil RAG workspace `web_platform`. Ask grounded questions in that domain before inventing answers.
|
|
16
|
+
|
|
17
|
+
## Owner
|
|
18
|
+
|
|
19
|
+
Owner persona: `frontend` (THE_TEN Agent×Skill×RAG matrix).
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: web-scrape
|
|
3
|
+
description: "Fetches a URL, extracts clean text/markdown for reading or RAG ingestion."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<!-- GENERATED by pugi-core packages/opencode/script/generate-persona-skill-pack.ts — do not hand-edit. -->
|
|
7
|
+
|
|
8
|
+
# Web Scrape
|
|
9
|
+
|
|
10
|
+
Fetches a URL, extracts clean text/markdown for reading or RAG ingestion.
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
## Grounding
|
|
14
|
+
|
|
15
|
+
This skill retrieves from the Anvil RAG workspace `web_platform`. Ask grounded questions in that domain before inventing answers.
|
|
16
|
+
|
|
17
|
+
## Owner
|
|
18
|
+
|
|
19
|
+
Owner persona: `researcher` (THE_TEN Agent×Skill×RAG matrix).
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: web-search
|
|
3
|
+
description: "Searches the web and returns ranked, cited results."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<!-- GENERATED by pugi-core packages/opencode/script/generate-persona-skill-pack.ts — do not hand-edit. -->
|
|
7
|
+
|
|
8
|
+
# Web Search
|
|
9
|
+
|
|
10
|
+
Searches the web and returns ranked, cited results.
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
## Owner
|
|
14
|
+
|
|
15
|
+
Owner persona: `researcher` (THE_TEN Agent×Skill×RAG matrix).
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: webapp-testing
|
|
3
|
+
description: "Authors and runs Playwright end-to-end tests against a running web application."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<!-- GENERATED by pugi-core packages/opencode/script/generate-persona-skill-pack.ts — do not hand-edit. -->
|
|
7
|
+
|
|
8
|
+
# Webapp Testing
|
|
9
|
+
|
|
10
|
+
Authors and runs Playwright end-to-end tests against a running web application.
|
|
11
|
+
|
|
12
|
+
## Rules
|
|
13
|
+
|
|
14
|
+
- The platform refuses to deliver an application whose `package.json` has no `test` script, and refuses one whose tests fail. Treat both as part of the definition of done, not as a final formality.
|
|
15
|
+
- Test what the customer will do — open the page, click the main action, read the result. A suite that only asserts a module imports proves the bundler works, not the product.
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
## Known failure modes
|
|
19
|
+
|
|
20
|
+
Read `quirks.md` in this directory BEFORE writing code in this domain. It records 2 failures that reached a customer build, each with the symptom, the cause, and the check that tells them apart.
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
## Grounding
|
|
24
|
+
|
|
25
|
+
This skill retrieves from the Anvil RAG workspace `web_platform`. Ask grounded questions in that domain before inventing answers.
|
|
26
|
+
|
|
27
|
+
## Owner
|
|
28
|
+
|
|
29
|
+
Owner persona: `qa` (THE_TEN Agent×Skill×RAG matrix).
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
<!-- GENERATED by pugi-core packages/opencode/script/generate-persona-skill-pack.ts — do not hand-edit. -->
|
|
2
|
+
|
|
3
|
+
# Webapp Testing — known failure modes
|
|
4
|
+
|
|
5
|
+
Each entry below reached a customer build. The symptom is what you will
|
|
6
|
+
actually observe; the build succeeds in every one of these cases.
|
|
7
|
+
|
|
8
|
+
## delivery-blocked-by-missing-test-script
|
|
9
|
+
|
|
10
|
+
**Symptom.** Everything looks finished, then the push is refused with `verification failed: package.json scripts.test is required` and no application is delivered.
|
|
11
|
+
|
|
12
|
+
**Cause.** The system-owned acceptance gate runs immediately before the authoritative push and requires a real `test` script. It is deliberately not something the model can supply or skip, so it is discovered at the very end.
|
|
13
|
+
|
|
14
|
+
**Check.** Read `scripts.test` in package.json at the START of the work, not after the build.
|
|
15
|
+
|
|
16
|
+
**Fix.** Define a `test` script that actually runs the suite, and make it pass. A placeholder that exits 0 satisfies the letter of the gate and delivers an untested app — write the tests instead.
|
|
17
|
+
|
|
18
|
+
## unbuildable-test-fails-the-whole-project
|
|
19
|
+
|
|
20
|
+
**Symptom.** The application code compiles when you check it, but the delivery gate reports `pugi verification: test` and the push is refused.
|
|
21
|
+
|
|
22
|
+
**Cause.** The project's build compiles spec files too. A test importing a package that was never added to package.json, or a type error inside a test, fails the whole compile — the application is fine and still cannot ship.
|
|
23
|
+
|
|
24
|
+
**Check.** Run the project's own build once with the tests in place, before reporting done.
|
|
25
|
+
|
|
26
|
+
**Fix.** Add every package a test imports to devDependencies, or delete the test. A test that cannot compile is worse than no test: it takes the delivery down with it.
|