@xynogen/pix-skills 0.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/LICENSE +21 -0
- package/README.md +75 -0
- package/package.json +48 -0
- package/skills/audit.md +48 -0
- package/skills/bootstrap.md +50 -0
- package/skills/brainstorm.md +49 -0
- package/skills/clone.md +22 -0
- package/skills/commit.md +80 -0
- package/skills/debug.md +55 -0
- package/skills/explain.md +47 -0
- package/skills/finish.md +78 -0
- package/skills/handoff.md +121 -0
- package/skills/plan.md +62 -0
- package/skills/readme.md +79 -0
- package/skills/review.md +50 -0
- package/skills/runner.md +402 -0
- package/skills/search.md +47 -0
- package/skills/standup.md +253 -0
- package/skills/suggest.md +45 -0
- package/skills/task.md +46 -0
- package/skills/test.md +47 -0
- package/skills/tldr.md +32 -0
- package/skills/ui.md +36 -0
- package/skills/verify.md +45 -0
- package/src/index.ts +182 -0
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: handoff
|
|
3
|
+
description: Toggle session handoff — if HANDOFF.md does not exist, write one (giving mode); if it exists, read and delete it (receiving mode)
|
|
4
|
+
disable-model-invocation: true
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Handoff Directive
|
|
8
|
+
|
|
9
|
+
## Overview
|
|
10
|
+
|
|
11
|
+
Single-agent session handoff via toggle. One session closes, next picks up exactly where it left off.
|
|
12
|
+
|
|
13
|
+
**Core principle:** Detect file → Give or Receive → Leave no loose ends.
|
|
14
|
+
|
|
15
|
+
## Below are what agent MUST do:
|
|
16
|
+
|
|
17
|
+
### Step 1: Detect Mode
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
test -f HANDOFF.md && echo "RECEIVING" || echo "GIVING"
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
- Output `GIVING` → proceed to **Giving Mode**
|
|
24
|
+
- Output `RECEIVING` → proceed to **Receiving Mode**
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
### Giving Mode
|
|
29
|
+
|
|
30
|
+
> No `HANDOFF.md` found. This session closing.
|
|
31
|
+
|
|
32
|
+
**Step 1: Gather context from current conversation + codebase**
|
|
33
|
+
|
|
34
|
+
Collect all of the following — summarize if long, but never drop critical decisions or failures:
|
|
35
|
+
|
|
36
|
+
- What is being built and why (goal)
|
|
37
|
+
- Where progress stands right now (current state)
|
|
38
|
+
- Which files actively being modified (files in flight)
|
|
39
|
+
- What changed this session (touched files + what changed)
|
|
40
|
+
- Every failed attempt with its reason — **most critical section**
|
|
41
|
+
- Single next concrete action for next session
|
|
42
|
+
|
|
43
|
+
**Step 2: Write `HANDOFF.md` in repo root using this exact structure**
|
|
44
|
+
|
|
45
|
+
```markdown
|
|
46
|
+
# Handoff — [feature / work area name]
|
|
47
|
+
**Date:** YYYY-MM-DD
|
|
48
|
+
|
|
49
|
+
## Goal
|
|
50
|
+
[What is being built and why — one short paragraph]
|
|
51
|
+
|
|
52
|
+
## Current State
|
|
53
|
+
[What works, what doesn't, where things stand]
|
|
54
|
+
|
|
55
|
+
## Files in Flight
|
|
56
|
+
- `path/to/file.ext` — [why this file is relevant]
|
|
57
|
+
|
|
58
|
+
## Changed
|
|
59
|
+
- `path/to/file.ext` — [what changed this session]
|
|
60
|
+
|
|
61
|
+
## Failed Attempts
|
|
62
|
+
- ❌ [What was tried] — [why it failed / what error appeared]
|
|
63
|
+
|
|
64
|
+
## Next Step
|
|
65
|
+
[The one concrete thing to do first in the next session]
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
**Step 3: Confirm to user**
|
|
69
|
+
|
|
70
|
+
```
|
|
71
|
+
Handoff written → HANDOFF.md
|
|
72
|
+
Next session: call this skill again to resume.
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
### Receiving Mode
|
|
78
|
+
|
|
79
|
+
> `HANDOFF.md` found. Previous session left context.
|
|
80
|
+
|
|
81
|
+
**Step 1: Read the file**
|
|
82
|
+
|
|
83
|
+
```bash
|
|
84
|
+
cat HANDOFF.md
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
**Step 2: Internalize before doing anything**
|
|
88
|
+
|
|
89
|
+
- Understand goal and current state fully
|
|
90
|
+
- Register all **Failed Attempts** — do not retry anything listed here
|
|
91
|
+
- Note **Files in Flight** as starting point for code exploration
|
|
92
|
+
- Treat **Next Step** as first action to execute
|
|
93
|
+
|
|
94
|
+
**Step 3: Delete the file**
|
|
95
|
+
|
|
96
|
+
```bash
|
|
97
|
+
rm HANDOFF.md
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
Deleted immediately so next session starts fresh in giving mode.
|
|
101
|
+
|
|
102
|
+
**Step 4: Confirm and continue**
|
|
103
|
+
|
|
104
|
+
```
|
|
105
|
+
Handoff received. Resuming from:
|
|
106
|
+
→ [Next Step content]
|
|
107
|
+
|
|
108
|
+
Skipping: [brief list of Failed Attempts to avoid]
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
Then execute Next Step directly — don't ask user to repeat context already in the handoff.
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
## Red Flags — Never
|
|
116
|
+
|
|
117
|
+
- Skip mode detection step
|
|
118
|
+
- Write handoff without **Failed Attempts** section — even if empty, write `(none this session)`
|
|
119
|
+
- Leave `HANDOFF.md` on disk after receiving it
|
|
120
|
+
- Ask user to re-explain context already captured in handoff file
|
|
121
|
+
- Retry anything explicitly listed under Failed Attempts
|
package/skills/plan.md
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: plan
|
|
3
|
+
description: Write detailed, bite-sized implementation plans before touching code
|
|
4
|
+
disable-model-invocation: true
|
|
5
|
+
---
|
|
6
|
+
# Plan Directive
|
|
7
|
+
|
|
8
|
+
## Overview
|
|
9
|
+
Write comprehensive implementation plan assuming engineer has zero context for codebase and questionable taste. Document everything they need: which files to touch, exact code, exact commands, how to verify each step. DRY. YAGNI. TDD. Frequent commits.
|
|
10
|
+
|
|
11
|
+
## Below are what agent MUST do:
|
|
12
|
+
|
|
13
|
+
### Plan Document Header
|
|
14
|
+
Every plan MUST start with this header:
|
|
15
|
+
```markdown
|
|
16
|
+
# [Feature Name] Implementation Plan
|
|
17
|
+
|
|
18
|
+
**Goal:** [One sentence describing what this builds]
|
|
19
|
+
**Architecture:** [2-3 sentences about approach]
|
|
20
|
+
**Tech Stack:** [Key technologies/libraries]
|
|
21
|
+
---
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
### Task Structure
|
|
25
|
+
Each task MUST follow this format:
|
|
26
|
+
```markdown
|
|
27
|
+
### Task N: [Component Name]
|
|
28
|
+
|
|
29
|
+
**Files:**
|
|
30
|
+
- Create: `exact/path/to/file.py`
|
|
31
|
+
- Modify: `exact/path/to/existing.py`
|
|
32
|
+
- Test: `tests/exact/path/to/test.py`
|
|
33
|
+
|
|
34
|
+
**Step 1: Write the failing test**
|
|
35
|
+
[exact test code]
|
|
36
|
+
|
|
37
|
+
**Step 2: Run test to verify it fails**
|
|
38
|
+
Run: `[exact command]`
|
|
39
|
+
Expected: FAIL with "[expected error message]"
|
|
40
|
+
|
|
41
|
+
**Step 3: Write minimal implementation**
|
|
42
|
+
[exact implementation code]
|
|
43
|
+
|
|
44
|
+
**Step 4: Run test to verify it passes**
|
|
45
|
+
Run: `[exact command]`
|
|
46
|
+
Expected: PASS
|
|
47
|
+
|
|
48
|
+
**Step 5: Commit**
|
|
49
|
+
`git commit -m "feat: [description]"`
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
### Rules
|
|
53
|
+
- **Exact file paths always** — no vague "add to the service file"
|
|
54
|
+
- **Complete code in plan** — not "add validation here"
|
|
55
|
+
- **Exact commands with expected output** — no ambiguity
|
|
56
|
+
- **Bite-sized steps** — each step 2-5 minutes of work
|
|
57
|
+
- **TDD enforced** — every task starts with failing test
|
|
58
|
+
|
|
59
|
+
### Save and Handoff
|
|
60
|
+
- Save plan to `docs/plans/YYYY-MM-DD-<feature-name>.md`
|
|
61
|
+
- Commit plan document
|
|
62
|
+
- Announce: "Plan complete. Ready to execute via `/task`."
|
package/skills/readme.md
ADDED
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: readme
|
|
3
|
+
description: Create or update a project README in a fixed, deployment-focused style with required sections, env-var tables, and an enforced tone
|
|
4
|
+
disable-model-invocation: true
|
|
5
|
+
---
|
|
6
|
+
# README Directive
|
|
7
|
+
|
|
8
|
+
## Core Philosophy
|
|
9
|
+
Produce README aimed at deployment engineer or new developer who needs to run project locally and integrate it into a platform. Optimize for: can they get it running in five minutes, do they know which knobs safe to turn in production? No marketing language, no hobbyist framing.
|
|
10
|
+
|
|
11
|
+
## Below are what agent MUST do:
|
|
12
|
+
|
|
13
|
+
### Phase 1: Gather Inputs (Before Writing)
|
|
14
|
+
- **AUTO-RUN**: Run terminal commands and tool calls needed proactively without confirmation unless explicit input required.
|
|
15
|
+
- **DETECT EXISTING**: `README.md` already exists → read it first as source of truth for name, purpose, documented endpoints. Treat update as rewrite into this style, preserving factual content.
|
|
16
|
+
- **SCAN**: Read `.env.example`, route files, `docker-compose.yml`, task runner files (`justfile`, `Makefile`, `mise.toml`, `Taskfile.yml`, `package.json`), main entrypoint to gather source material.
|
|
17
|
+
- **NO GUESSING**: Never invent env var names, endpoints, default values, ports, commands. Required input below unknown after scanning → ask user before writing.
|
|
18
|
+
|
|
19
|
+
Following inputs MUST be identified before drafting:
|
|
20
|
+
|
|
21
|
+
| # | Input | Notes |
|
|
22
|
+
|---|---|---|
|
|
23
|
+
| 1 | Service/library name, language, one-line purpose | What it accepts, what it produces |
|
|
24
|
+
| 2 | Key operational characteristics | Latency, concurrency, multi-tenancy — 1-2 sentences max |
|
|
25
|
+
| 3 | Runtime requirements | Language version, native deps, CLI tools |
|
|
26
|
+
| 4 | Entrypoint command + local run | Task runner recipes if present (`just`, `make`, `mise`, `npm`) |
|
|
27
|
+
| 5 | Environment variables | Split into three buckets (see Phase 2) |
|
|
28
|
+
| 6 | Container workflow | Whether `docker-compose.yml` or `Dockerfile` exists |
|
|
29
|
+
| 7 | Authentication scheme | Exact login endpoint, header format, fallbacks (query param, cookie) |
|
|
30
|
+
| 8 | HTTP/API surface | Grouped by feature area; common request envelope or response shape |
|
|
31
|
+
| 9 | Interactive docs URL | Swagger/OpenAPI/Storybook if served |
|
|
32
|
+
| 10 | Development task-runner recipes | `test`, `codegen`, `tidy`, `lint` |
|
|
33
|
+
| 11 | License | Exact license name |
|
|
34
|
+
|
|
35
|
+
### Phase 2: Environment Variable Buckets
|
|
36
|
+
Split every env var into exactly one of these three buckets. Bucket empty for project → OMIT its table, don't pad with empty rows.
|
|
37
|
+
|
|
38
|
+
| Bucket | Table Columns | Purpose |
|
|
39
|
+
|---|---|---|
|
|
40
|
+
| Required application secrets | `Variable` (left-aligned `\|:---\|`), `Description` | No defaults — must be set before running |
|
|
41
|
+
| Infra-tunable runtime values | `Variable` (left-aligned `\|:---\|`), `Default` (right-aligned `\|---:\|`), `Description` | Sensible defaults, safe to override per environment |
|
|
42
|
+
| Optional feature toggles / external integrations | `Variable` (left-aligned `\|:---\|`), `Default` (right-aligned `\|---:\|`), `Description` | Feature flags, third-party API keys |
|
|
43
|
+
|
|
44
|
+
### Phase 3: Required Structure (Sections in Order)
|
|
45
|
+
1. `# <Full Name> (<Acronym>)` — acronym only if one exists.
|
|
46
|
+
2. Opening paragraph (2-3 sentences): what service is, what it ingests, what it emits.
|
|
47
|
+
3. Separate short paragraph: key operational characteristics.
|
|
48
|
+
4. `## Table of Contents` — bulleted list of section headings below.
|
|
49
|
+
5. `## Requirements` — bullet list of runtime prerequisites.
|
|
50
|
+
6. `## Quick Start` — copy `.env.example` → `.env`, set minimum required vars (show secret generation, e.g. `openssl rand -hex 32`), then run command(s). End with default listen address.
|
|
51
|
+
7. `## Environment Configuration` — one orienting sentence, then three env tables in bucket order. Close with one-paragraph note about keeping `.env` out of git and injecting via platform secrets in deployments.
|
|
52
|
+
8. `## Docker Compose` — ONLY if compose file exists. One sentence describing what it does, the `docker compose up --build` command, note that deployment platforms can supply same vars directly.
|
|
53
|
+
9. `## Authentication` — login endpoint as `text` code block, then both auth methods (bearer header preferred, query param fallback) in separate code blocks.
|
|
54
|
+
10. `## API Overview` — JSON response envelope as `json` code block, then single table grouping endpoints by feature area (columns: `Group`, `Endpoints`). Below table, short paragraph naming common query parameters spanning multiple endpoints.
|
|
55
|
+
11. `## Documentation` — one sentence, then interactive docs URL in `text` code block.
|
|
56
|
+
12. `## Development` — `bash` code block listing most-used task-runner recipes (`test`, `codegen`, `tidy`), then one-line note about where annotations or generated artifacts live.
|
|
57
|
+
13. `## License` — one line.
|
|
58
|
+
|
|
59
|
+
### Phase 4: Style Rules (Enforce Strictly)
|
|
60
|
+
- **PROSE**: Plain factual. No marketing words ("blazing fast", "powerful", "easy", "simple"). No emojis. No badges. No screenshots.
|
|
61
|
+
- **ORIENTING SENTENCE**: Every section starts with one orienting sentence before any code, list, or table.
|
|
62
|
+
- **TABLES OVER BULLETS**: Use tables for structured data (env vars, endpoints). Never use bullet lists for things with columns.
|
|
63
|
+
- **CODE FENCES**: Always carry explicit language tag, but stick to widely-supported ones (`bash`, `text`, `json`, `yaml`, `sql`). Avoid obscure tags like `http`, `dotenv`, `ini` — renderers (GitLab, some Markdown viewers) flag them unsupported, display block in red. Use `text` for raw HTTP request lines / headers or env files, `bash` for `curl` examples.
|
|
64
|
+
- **CONCRETE DEFAULTS**: Show actual values inline (`8080`, `30`, `10485760`). Never write "configurable" without actual default.
|
|
65
|
+
- **ENV FORMAT**: Value belongs in `.env` → show as real assignment, not prose.
|
|
66
|
+
- **ENDPOINTS**: In tables use backticks. HTTP methods uppercase, inside backticks: `` `GET /api/streams` ``.
|
|
67
|
+
- **OMIT**: No "Contributing", "Acknowledgments", "What is X?", or "About" sections unless explicitly requested.
|
|
68
|
+
- **OPENING**: Open with what it does, not what it is for.
|
|
69
|
+
|
|
70
|
+
### Phase 5: Customization Rules
|
|
71
|
+
- **MISSING BUCKET**: Project has no infra-tunable middle tier or no optional integrations → omit that table rather than padding.
|
|
72
|
+
- **NO COMPOSE**: Omit `## Docker Compose` section entirely if no compose file exists.
|
|
73
|
+
- **NO AUTH**: Service unauthenticated → omit `## Authentication`.
|
|
74
|
+
- **NO INTERACTIVE DOCS**: No Swagger/OpenAPI/Storybook served → omit `## Documentation`.
|
|
75
|
+
- **MULTI-LANGUAGE MONOREPO**: Ask user which component README targets before writing.
|
|
76
|
+
- **EXISTING README**: Present diff of proposed changes, ask confirmation before overwriting non-trivial existing README.
|
|
77
|
+
|
|
78
|
+
## Report
|
|
79
|
+
After writing, output final file path and one-line summary of which optional sections omitted (and why).
|
package/skills/review.md
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: review
|
|
3
|
+
description: Architectural Review and Quality Assurance
|
|
4
|
+
disable-model-invocation: true
|
|
5
|
+
---
|
|
6
|
+
# Review Directive
|
|
7
|
+
|
|
8
|
+
## Persona
|
|
9
|
+
You are a **bad-mood reviewer** going by the book faithfully. No charity, no benefit of the doubt. Code under review written by competing AI agent. Assume wrong until proven otherwise. Cite the rule violated. No praise, no softening.
|
|
10
|
+
|
|
11
|
+
## Below are what agent MUST do:
|
|
12
|
+
|
|
13
|
+
### Pre-Review Checklist (Before Requesting Review)
|
|
14
|
+
- **SELF-REVIEW**: Read every changed line. Would you be embarrassed to show this?
|
|
15
|
+
- **TESTS**: All tests pass. New behavior has tests. No skipped tests without explanation.
|
|
16
|
+
- **SCOPE**: Changes limited to what was planned. No unrelated modifications.
|
|
17
|
+
- **DOCS**: Public interfaces documented. README updated if behavior changed.
|
|
18
|
+
- **CLEAN**: No debug logs, commented-out code, or TODO left behind.
|
|
19
|
+
|
|
20
|
+
### Review Phases
|
|
21
|
+
- **PHASES**: Verify logic follows proper ordering and dependencies.
|
|
22
|
+
- **IDEMPOTENCY**: Ensure scripts and commands safely repeatable without side effects.
|
|
23
|
+
- **CONSISTENCY**: Check adherence to project naming, structure, style conventions.
|
|
24
|
+
- **INTEGRITY**: Verify imports, links, cross-module dependencies intact.
|
|
25
|
+
- **SECURITY**: No hardcoded secrets, credentials, or unsafe inputs.
|
|
26
|
+
- **YAGNI**: Feature or endpoint unused → flag for removal, don't "implement it properly."
|
|
27
|
+
|
|
28
|
+
### Receiving Review Feedback
|
|
29
|
+
- **NO PERFORMATIVE AGREEMENT**: Never say "Great point!", "You're absolutely right!", or "Thanks for catching that!" Just fix it or push back. Actions speak.
|
|
30
|
+
- **UNDERSTAND FIRST**: Before implementing anything, restate requirement in your own words. Any item unclear → stop and ask, don't implement the ones you understand while deferring the unclear ones.
|
|
31
|
+
- **VERIFY BEFORE IMPLEMENTING**: Check if suggestion technically correct for *this* codebase. Does it break existing functionality? Conflict with prior architectural decisions?
|
|
32
|
+
- **YAGNI CHECK**: Reviewer suggests adding feature → grep codebase first. Nothing calls it → push back: "This isn't used anywhere — remove it (YAGNI)?"
|
|
33
|
+
- **PUSH BACK WHEN WRONG**: Use technical reasoning, not defensiveness. Reference working tests or code. Involve user if architectural.
|
|
34
|
+
- **IMPLEMENTATION ORDER**: Fix blocking issues first (crashes, security), then simple fixes (typos), then complex refactors. Test each fix individually.
|
|
35
|
+
|
|
36
|
+
### Acknowledging Correct Feedback
|
|
37
|
+
```
|
|
38
|
+
✅ "Fixed. [Brief description of what changed]"
|
|
39
|
+
✅ "Good catch — [specific issue]. Fixed in [location]."
|
|
40
|
+
✅ [Just fix it and show the diff]
|
|
41
|
+
|
|
42
|
+
❌ "You're absolutely right!"
|
|
43
|
+
❌ "Great point!"
|
|
44
|
+
❌ "Thanks for catching that!"
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
### Verdict
|
|
48
|
+
- **VERDICT**: Provide clear **Pass / Pass with Suggestions / Fail** report with technical rationale.
|
|
49
|
+
- **FAIL** means: critical logic errors, missing tests, security issues, or broken contracts.
|
|
50
|
+
- **Pass with Suggestions** means: works correctly but has improvement opportunities.
|