astack-skills 0.0.0-stage → 0.6.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/.claude-plugin/marketplace.json +6 -0
- package/.claude-plugin/plugin.json +32 -0
- package/.codex-plugin/plugin.json +13 -0
- package/CHANGELOG.md +54 -0
- package/LICENSE +21 -0
- package/README.md +104 -2
- package/catalog.json +70 -0
- package/dist/astack.mjs +385 -0
- package/package.json +47 -4
- package/plugin.json +20 -0
- package/skills/astack/SKILL.md +51 -0
- package/skills/astack/agents/openai.yaml +3 -0
- package/skills/astack/references/completion-checks.md +39 -0
- package/skills/astack/references/plan.md +62 -0
- package/skills/astack/scripts/pr-state.mjs +293 -0
- package/skills/astack/scripts/shoot.mjs +315 -0
- package/skills/context/SKILL.md +77 -0
- package/skills/context/agents/openai.yaml +3 -0
- package/skills/context/references/source-selection.md +28 -0
- package/skills/deslop/SKILL.md +55 -0
- package/skills/deslop/agents/openai.yaml +3 -0
- package/skills/deslop/references/prose-patterns.md +79 -0
- package/skills/deslop/references/voice-profile.md +60 -0
- package/skills/deslop/scripts/slop-scan.mjs +191 -0
- package/skills/discoverability/SKILL.md +61 -0
- package/skills/discoverability/agents/openai.yaml +3 -0
- package/skills/discoverability/references/search-and-answer-measurement.md +59 -0
- package/skills/discoverability/scripts/page-audit.mjs +205 -0
- package/skills/dogfood/SKILL.md +62 -0
- package/skills/dogfood/agents/openai.yaml +3 -0
- package/skills/dogfood/references/ai-journeys.md +45 -0
- package/skills/dogfood/references/journey-loop.md +35 -0
- package/skills/dogfood/scripts/shoot.mjs +315 -0
- package/skills/instrument/SKILL.md +62 -0
- package/skills/instrument/agents/openai.yaml +3 -0
- package/skills/instrument/references/taxonomy.md +38 -0
- package/skills/instrument/references/verification.md +36 -0
- package/skills/launch/SKILL.md +56 -0
- package/skills/launch/agents/openai.yaml +3 -0
- package/skills/launch/references/copy.md +44 -0
- package/skills/launch/references/kit.md +52 -0
- package/skills/launch/scripts/page-audit.mjs +205 -0
- package/skills/launch/scripts/shoot.mjs +315 -0
- package/skills/oneshot/SKILL.md +54 -0
- package/skills/oneshot/agents/openai.yaml +5 -0
- package/skills/oneshot/scripts/pr-state.mjs +293 -0
- package/skills/oneshot/scripts/shoot.mjs +315 -0
- package/skills/oneshot/scripts/verify-live.mjs +112 -0
- package/skills/ship/SKILL.md +117 -0
- package/skills/ship/agents/openai.yaml +3 -0
- package/skills/ship/references/review-and-release.md +62 -0
- package/skills/ship/scripts/pr-state.mjs +293 -0
- package/skills/ship/scripts/shoot.mjs +315 -0
- package/skills/ship/scripts/verify-live.mjs +112 -0
- package/skills/web-design/SKILL.md +85 -0
- package/skills/web-design/agents/openai.yaml +3 -0
- package/skills/web-design/references/anti-patterns.md +87 -0
- package/skills/web-design/references/craft-floor.md +57 -0
- package/skills/web-design/references/design-md-template.md +61 -0
- package/skills/web-design/references/mobile.md +53 -0
- package/skills/web-design/references/motion.md +204 -0
- package/skills/web-design/references/reference-study.md +45 -0
- package/skills/web-design/references/worst-case-data.md +37 -0
- package/skills/web-design/scripts/shoot.mjs +315 -0
- package/skills/web-graphics/SKILL.md +70 -0
- package/skills/web-graphics/agents/openai.yaml +3 -0
- package/skills/web-graphics/kit/LICENSE +21 -0
- package/skills/web-graphics/kit/Sticker.tsx +40 -0
- package/skills/web-graphics/kit/fun.ts +739 -0
- package/skills/web-graphics/kit/icons.ts +738 -0
- package/skills/web-graphics/kit/motions.ts +177 -0
- package/skills/web-graphics/references/stickers.md +151 -0
- package/skills/web-graphics/references/techniques.md +67 -0
- package/skills/web-graphics/scripts/fi.mjs +313 -0
- package/skills/web-graphics/scripts/iso.mjs +164 -0
- package/skills/web-graphics/scripts/shoot.mjs +315 -0
- package/src/cli.ts +303 -0
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "adwilkinson",
|
|
3
|
+
"owner": {"name":"Andrew Wilkinson","url":"https://github.com/ADWilkinson"},
|
|
4
|
+
"description": "Andrew Wilkinson's standalone product delivery skill package.",
|
|
5
|
+
"plugins": [{"name":"astack","source":"./","description":"Context, craft, implementation, measurement and delivery in one standalone skill suite.","category":"productivity"}]
|
|
6
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "astack",
|
|
3
|
+
"version": "0.6.0",
|
|
4
|
+
"description": "Skills for Claude Code and Codex that take product work from the thread to a proven, live release.",
|
|
5
|
+
"author": {
|
|
6
|
+
"name": "Andrew Wilkinson",
|
|
7
|
+
"url": "https://github.com/ADWilkinson"
|
|
8
|
+
},
|
|
9
|
+
"homepage": "https://github.com/ADWilkinson/astack",
|
|
10
|
+
"repository": "https://github.com/ADWilkinson/astack",
|
|
11
|
+
"license": "MIT",
|
|
12
|
+
"keywords": [
|
|
13
|
+
"skills",
|
|
14
|
+
"product",
|
|
15
|
+
"design",
|
|
16
|
+
"delivery",
|
|
17
|
+
"analytics"
|
|
18
|
+
],
|
|
19
|
+
"skills": [
|
|
20
|
+
"./skills/astack",
|
|
21
|
+
"./skills/oneshot",
|
|
22
|
+
"./skills/context",
|
|
23
|
+
"./skills/web-design",
|
|
24
|
+
"./skills/web-graphics",
|
|
25
|
+
"./skills/deslop",
|
|
26
|
+
"./skills/instrument",
|
|
27
|
+
"./skills/discoverability",
|
|
28
|
+
"./skills/dogfood",
|
|
29
|
+
"./skills/ship",
|
|
30
|
+
"./skills/launch"
|
|
31
|
+
]
|
|
32
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "astack",
|
|
3
|
+
"version": "0.6.0",
|
|
4
|
+
"description": "Skills for Claude Code and Codex that take product work from the thread to a proven, live release.",
|
|
5
|
+
"author": {
|
|
6
|
+
"name": "Andrew Wilkinson",
|
|
7
|
+
"url": "https://github.com/ADWilkinson"
|
|
8
|
+
},
|
|
9
|
+
"homepage": "https://github.com/ADWilkinson/astack",
|
|
10
|
+
"repository": "https://github.com/ADWilkinson/astack",
|
|
11
|
+
"license": "MIT",
|
|
12
|
+
"skills": "./skills/"
|
|
13
|
+
}
|
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## 0.6.0
|
|
4
|
+
|
|
5
|
+
Motion and mobile craft from [Emil Kowalski's skills](https://github.com/emilkowalski/skills) and animated stickers from [fun-isometric](https://skills.klvn.dev/fun-isometric) by Kelvin Adithya, both MIT and credited where they are used.
|
|
6
|
+
|
|
7
|
+
- `web-graphics` makes animated sticker icons: flat-fill slabs with a thick outline that move on After Effects grade keyframe presets, for onboarding, empty states and rewards. The kit (`kit/fun.ts`, `motions.ts`, 24 worked icons, a React `<Sticker>`) is bundled, recolours from a brand's two colours, and plays live on canvas or exports to alpha webm and HEVC with a poster.
|
|
8
|
+
- New `fi.mjs` checks, sheets, frames and exports stickers. It is a dependency-free port of the original renderer: types are stripped per file and Chrome is driven over the DevTools protocol, so nothing installs Playwright at run time. Runs on Node 22.13+ or Bun.
|
|
9
|
+
- `web-design` motion reference rewritten around a decision order: whether it should animate at all (never keyboard or high-frequency actions), ease by what is happening (never `ease-in` on UI), durations under 300ms, press feedback, origin-aware popovers, interruptible transitions and `@starting-style`, gesture rules, and a symptom table for janky animation. Reviews come back as a Before / After / Why table.
|
|
10
|
+
- New `web-design` references: a mobile baseline (tap flash, stuck hover, `dvh`/`svh`, input zoom, safe areas, `touch-action`) and a worst-case data method with a catalogue of plausible values that break layouts.
|
|
11
|
+
- `slop-scan.mjs` flags `transition: all`, `ease-in` on UI, `scale(0)` entrances, disabled zoom and `100vh` app shells.
|
|
12
|
+
- Routing eval gains nine cases for stickers, janky motion, mobile feel and worst-case data.
|
|
13
|
+
|
|
14
|
+
## 0.5.0
|
|
15
|
+
|
|
16
|
+
Each skill was reviewed against tstack, pstack, gstack, impeccable, Anthropic's skills and the slop packs, and kept, rewritten or extended accordingly.
|
|
17
|
+
|
|
18
|
+
- New `oneshot`: idea to merged, deployed, verified live and announced. User-invoked only. `astack` now stops at a review-ready PR.
|
|
19
|
+
- `astack` copies its stages into the todo list and closes each with proof or a reason, has an explicit grant and a short list of when to ask, and waits on CI instead of stopping.
|
|
20
|
+
- `ship` classifies CI failures before retrying, treats review comments with scepticism, gets an independent verdict from an agent that didn't write the change, re-checks right before merging and reads the merge back.
|
|
21
|
+
- `web-design` names the current AI-design defaults (warm cream with serif and terracotta, dark with an acid accent, broadsheet hairlines, template chrome), plans in two passes with a generic test, and scales boldness by mode.
|
|
22
|
+
- `slop-scan.mjs` detects those defaults and newer prose tells (copula avoidance, trailing -ing clauses, false agency, inflated significance, vague attribution).
|
|
23
|
+
- `pr-state.mjs` falls back to REST when GitHub's GraphQL limit runs out. `pr-state` and `verify-live` now ship inside every skill that uses them.
|
|
24
|
+
- `dogfood` gains diff-aware mode and red-first, one-commit-per-fix repairs; `context` anchors in git history and tags threads; `delivery-plan` skips trivial changes and settles questions by prototype; `delivery-update` scans for secrets before sending.
|
|
25
|
+
- `shoot.mjs` works on CI runners (`--no-sandbox` under CI or root) and reports why Chrome failed to start.
|
|
26
|
+
- Plain-English docs, a personal README, and a cleaner repo.
|
|
27
|
+
- Cut to 11 skills. `delivery-plan` folds into `astack` as a planning reference and `motion` into `web-design` as a motion reference. `delivery-update` and `automate` are gone: a capable model writes a good update or a cron job without them, and `oneshot` now carries the update step itself.
|
|
28
|
+
|
|
29
|
+
## 0.4.0
|
|
30
|
+
|
|
31
|
+
- Add a blind comparison eval: six realistic tasks with planted problems, each run with and without astack by the same model and scored against a hidden rubric by a separate judge. astack scored 117/120 against 97/120 and was preferred in 5 of 6 tasks. Fixtures, rubrics, method and raw scores are in `evals/`.
|
|
32
|
+
- Add a routing eval: 66 requests, including 24 near-misses, all routed to the right skill or to none.
|
|
33
|
+
- `pr-state.mjs --watch`: background PR watcher with one line per change, required checks that have not started, two agreeing reads before ready, base-branch moves with overlapping files, a per-PR lock and exit codes for ready, action needed and timeout.
|
|
34
|
+
- `ship` gains a procedure for checking someone else's "it's shipped" claim, from the one eval task where astack did not beat the baseline.
|
|
35
|
+
- `shoot.mjs` measures the real width of the last word when detecting stranded words, removing false positives on large type.
|
|
36
|
+
- Rewrite the discoverability measurement, automation retries and AI journey references as concise procedures.
|
|
37
|
+
- One-page guides for every skill in `docs/skills/`, and a before/after case study.
|
|
38
|
+
|
|
39
|
+
## 0.3.0
|
|
40
|
+
|
|
41
|
+
- Rewrite every skill as a concrete procedure: done-gates per stage, closed lists of what to refuse, bad/good examples and real commands instead of general guidance.
|
|
42
|
+
- Add six dependency-free Node tools bundled inside the skills that use them: `shoot.mjs` (390/1440 light/dark captures with overflow, stranded-word, tap-target, tiny-text, console and network checks, plus filmstrips), `pr-state.mjs` (checks and unresolved threads on the exact PR head), `verify-live.mjs` (cache-busting proof that a URL serves a commit or content), `slop-scan.mjs` (30+ prose, UI and code tells with ignore directives and a CI gate mode), `page-audit.mjs` (indexability, share card, JSON-LD, AI-crawler robots rules, sitemap) and `iso.mjs` (isometric scene compiler).
|
|
43
|
+
- Add `launch`: launch-ready page audit, share cards rendered from source, demo media, channel-specific copy, a submission tracker and a launch-week readout.
|
|
44
|
+
- `web-design` keeps a `DESIGN.md` per project, measures references instead of eyeballing them, and adds a craft floor and a named anti-pattern catalogue.
|
|
45
|
+
- `deslop` adds a voice-profile procedure; `instrument` adds a starter event taxonomy; `ship` adds a gate-integrity list; `motion` adds a timing system and filmstrip verification.
|
|
46
|
+
- Shared scripts have one canonical copy in `shared/`; `bun run metadata` syncs them and `bun run check` rejects drift.
|
|
47
|
+
- Tests cover every script against local fixtures; CI runs on Node 22.
|
|
48
|
+
|
|
49
|
+
## 0.2.0
|
|
50
|
+
|
|
51
|
+
- Publish thirteen skills covering context, delivery planning, creative craft, analytics, discoverability, real product use, release, reporting and automation.
|
|
52
|
+
- Add a dependency-free Node.js installer on npm, with explicit agent, scope and skill selection, dry-run, conflict protection and safe replacement.
|
|
53
|
+
- Strengthen product/demo parity, interaction stability, repeated AI-product QA, telemetry redaction, cohort definitions and multi-agent ownership.
|
|
54
|
+
- Provide Claude Code and Codex metadata over one canonical, self-contained skill tree.
|
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Andrew Wilkinson
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -1,3 +1,105 @@
|
|
|
1
|
-
#
|
|
1
|
+
# astack
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
[](https://www.npmjs.com/package/astack-skills)
|
|
4
|
+
|
|
5
|
+
I'm Andrew ([@andrewwilkinson](https://x.com/andrewwilkinson)). Product engineer in London, eight years deep in crypto, founded Galleon, and keeper of a GitHub that is mostly a graveyard of side projects I'm proud of.
|
|
6
|
+
|
|
7
|
+
These are the skills I use every day, with Claude and Codex doing most of the typing: at work on [Peer](https://peer.xyz), on [USDCtoFiat](https://usdctofiat.xyz) and [Peerlytics](https://peerlytics.xyz), across [my open source repos](https://github.com/ADWilkinson), and in the agents I run myself, from self-hosted agent infrastructure to an agentic Slack bot. Cleaned up so anyone can use them.
|
|
8
|
+
|
|
9
|
+
Agents are very good at saying "done". They're less good at checking the mobile layout, noticing the event never fired, or spotting that production is still serving yesterday's build. And left alone, everything they design ends up purple, glassy and three cards wide.
|
|
10
|
+
|
|
11
|
+
I got tired of typing the same follow-ups, so I wrote them down once and gave the agent the tools to check its own work. **astack makes done mean live, measured and not slop.**
|
|
12
|
+
|
|
13
|
+
## Install
|
|
14
|
+
|
|
15
|
+
```sh
|
|
16
|
+
npx astack-skills@latest install --agent all
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
That puts the skills in your project for Claude Code and Codex. `--scope global` installs them everywhere, and `--skill ship,deslop` picks a few. Folders you've edited are left alone; `--force` replaces them.
|
|
20
|
+
|
|
21
|
+
As a plugin:
|
|
22
|
+
|
|
23
|
+
```text
|
|
24
|
+
/plugin marketplace add ADWilkinson/astack
|
|
25
|
+
/plugin install astack@adwilkinson
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
```sh
|
|
29
|
+
codex plugin marketplace add ADWilkinson/astack
|
|
30
|
+
codex plugin add astack@adwilkinson
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
Or do what I do and paste this repo's link to your agent with "install this". It reads the same instructions you just did.
|
|
34
|
+
|
|
35
|
+
## Get started
|
|
36
|
+
|
|
37
|
+
Two ways in, depending on whether you're watching.
|
|
38
|
+
|
|
39
|
+
```text
|
|
40
|
+
astack this: add annual pricing to the billing page. phones matter most
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
`astack` takes it to a PR you'd be happy to merge. It reads the context, plans, builds, uses the thing like a customer, adds tracking, cleans up the slop, gets a second agent to check the work, and stops there for you.
|
|
44
|
+
|
|
45
|
+
```text
|
|
46
|
+
oneshot this: add annual pricing and get it live
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
`oneshot` is for when you're not watching. Same work, then it merges, deploys, proves production is serving it and tells the team. It only runs when you ask for it by name.
|
|
50
|
+
|
|
51
|
+
Both pull in the other skills as they need them.
|
|
52
|
+
|
|
53
|
+
## Skills
|
|
54
|
+
|
|
55
|
+
| Skill | Say | What it does |
|
|
56
|
+
| --- | --- | --- |
|
|
57
|
+
| [astack](skills/astack/SKILL.md) | "astack this" | Takes a task from idea to a proven, review-ready PR, with a done-check at every stage. |
|
|
58
|
+
| [oneshot](skills/oneshot/SKILL.md) | "oneshot this" | The same, all the way: merged, deployed, verified live and announced. You call it by name. |
|
|
59
|
+
| [context](skills/context/SKILL.md) | "read the thread first" | Pulls the Slack thread, issue, PRs, git history and analytics that actually change the task into a short brief. |
|
|
60
|
+
| [web-design](skills/web-design/SKILL.md) | "this looks AI-generated" | Gives the UI a real direction, keeps a DESIGN.md so it sticks, animates with purpose, stress-tests it with worst-case data, and checks it on a phone in light and dark. |
|
|
61
|
+
| [web-graphics](skills/web-graphics/SKILL.md) | "make a hero graphic" | Isometric scenes, animated sticker icons, flat illustrations, ASCII art, icons and share cards, built in code. |
|
|
62
|
+
| [deslop](skills/deslop/SKILL.md) | "this sounds like AI" | Finds the tells in copy, UI and code, fixes them, and can learn your voice from your own writing. |
|
|
63
|
+
| [instrument](skills/instrument/SKILL.md) | "can we measure this" | Tracking that fires once, on real success, and a query you can actually trust. |
|
|
64
|
+
| [discoverability](skills/discoverability/SKILL.md) | "why doesn't ChatGPT mention us" | Checks what Google and AI crawlers really see, fixes it, measures before and after. |
|
|
65
|
+
| [dogfood](skills/dogfood/SKILL.md) | "use it like a customer" | Walks the real journeys signed in, fixes what breaks and goes round again. |
|
|
66
|
+
| [ship](skills/ship/SKILL.md) | "ship it" | Clears CI and review comments, gets an independent check, deploys, and proves production is serving it. Also checks other people's "it's shipped". |
|
|
67
|
+
| [launch](skills/launch/SKILL.md) | "we launch tomorrow" | Share cards, page checks, posts for X and Show HN, a tracker and how you'll read the results. |
|
|
68
|
+
|
|
69
|
+
Each one has a short guide in [docs/skills](docs/skills/).
|
|
70
|
+
|
|
71
|
+
## The tools
|
|
72
|
+
|
|
73
|
+
Most skill packs tell the model to be thorough. These come with small scripts so it can actually check. Node 22, nothing else to install, and every skill carries its own copy.
|
|
74
|
+
|
|
75
|
+
- `shoot.mjs` screenshots a page on a phone and on desktop, light and dark, and flags stranded words, tiny tap targets and anything spilling sideways.
|
|
76
|
+
- `pr-state.mjs` reads every check on the current commit and every unresolved review thread. `--watch` sits in the background and pings you when something changes.
|
|
77
|
+
- `verify-live.mjs` confirms the URL is serving the commit you shipped, not a cached copy of the last one.
|
|
78
|
+
- `slop-scan.mjs` finds the usual suspects, from "seamless" to gradient headlines to emoji bullets, and explains why each one reads as generated. <!-- slop-scan: ignore-line -->
|
|
79
|
+
- `page-audit.mjs` shows what crawlers and link previews see, like a forgotten noindex or a broken share card.
|
|
80
|
+
- `iso.mjs` turns a small scene description into clean isometric SVG with the geometry right, because nobody should hand-roll isometric maths.
|
|
81
|
+
|
|
82
|
+
## Does it actually help?
|
|
83
|
+
|
|
84
|
+
I gave the same model the same six tasks twice, once with astack and once without, and had a separate agent score both blind.
|
|
85
|
+
|
|
86
|
+
| Task | With astack | Without |
|
|
87
|
+
| --- | ---: | ---: |
|
|
88
|
+
| Rebrand a generic landing page | 20 | 14 |
|
|
89
|
+
| Add checkout analytics | 19 | 14 |
|
|
90
|
+
| Get a site ready to launch | 20 | 16 |
|
|
91
|
+
| QA and fix a signup flow | 20 | 17 |
|
|
92
|
+
| Deslop a landing page | 20 | 18 |
|
|
93
|
+
| Check an "it's shipped" claim | 18 | 18 |
|
|
94
|
+
|
|
95
|
+
Without it, the agent kept an unverified "Trusted by 10,000+ freelancers" on the page, let checkout count an order twice and launched with no idea where the traffic would come from. One run each and a same-family judge, so it's a strong signal rather than a benchmark. It also missed something: both brand results landed on the warm cream, serif and terracotta look that's everywhere right now, so 0.5 now catches that too. The [case study](docs/case-study-pawpath.md) shows both. Full setup and raw scores are in [evals](evals/RESULTS.md).
|
|
96
|
+
|
|
97
|
+
## Make them yours
|
|
98
|
+
|
|
99
|
+
Fork it, change it, send PRs. Keep your own preferences outside the skills so updates don't wipe them: house rules in `CLAUDE.md` or `AGENTS.md`, your design direction in `DESIGN.md`, your writing voice in `VOICE.md`. The skills read those first.
|
|
100
|
+
|
|
101
|
+
Nothing here posts, messages, deploys to production or spends money unless you've said so for that exact thing. No background services, no telemetry. When it can't check something, it tells you.
|
|
102
|
+
|
|
103
|
+
Working on astack itself: `bun run metadata` syncs shared scripts and picker metadata, `bun run check` validates everything and runs the tests. See [CONTRIBUTING](CONTRIBUTING.md) and [SCOPE](SCOPE.md).
|
|
104
|
+
|
|
105
|
+
[MIT](LICENSE) 🏴☠️
|
package/catalog.json
ADDED
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
{
|
|
2
|
+
"skills": [
|
|
3
|
+
{
|
|
4
|
+
"name": "astack",
|
|
5
|
+
"title": "astack",
|
|
6
|
+
"summary": "Own a product task up to a proven, review-ready PR",
|
|
7
|
+
"example": "astack this: add annual pricing with tests, mobile checks and tracking."
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
"name": "oneshot",
|
|
11
|
+
"title": "oneshot",
|
|
12
|
+
"summary": "Idea to merged, deployed, verified live and announced",
|
|
13
|
+
"example": "oneshot this: add annual pricing and take it all the way to production."
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
"name": "context",
|
|
17
|
+
"title": "Context",
|
|
18
|
+
"summary": "Gather and reconcile what changes the task",
|
|
19
|
+
"example": "Read the Slack thread, the issue and the analytics before we touch checkout."
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"name": "web-design",
|
|
23
|
+
"title": "Web design",
|
|
24
|
+
"summary": "Design UI and motion that look like this product, not AI",
|
|
25
|
+
"example": "This page looks AI-generated. Give it a real direction and check mobile and dark."
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"name": "web-graphics",
|
|
29
|
+
"title": "Web graphics",
|
|
30
|
+
"summary": "Build bespoke isometric, flat and ASCII graphics",
|
|
31
|
+
"example": "Make an isometric hero showing three inboxes merging into one queue."
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"name": "deslop",
|
|
35
|
+
"title": "Deslop",
|
|
36
|
+
"summary": "Strip AI tells from copy, UI and code",
|
|
37
|
+
"example": "Deslop the landing page copy and components, keep the facts and voice."
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"name": "instrument",
|
|
41
|
+
"title": "Instrument",
|
|
42
|
+
"summary": "Track the outcome and prove the event arrives",
|
|
43
|
+
"example": "Track first listing published and give me a funnel I can trust."
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"name": "discoverability",
|
|
47
|
+
"title": "Discoverability",
|
|
48
|
+
"summary": "Fix why search and AI answers miss the product",
|
|
49
|
+
"example": "Audit why ChatGPT and Google don't surface us for 'best invoicing app for freelancers'."
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
"name": "dogfood",
|
|
53
|
+
"title": "Dogfood",
|
|
54
|
+
"summary": "Use the product for real, fix what breaks",
|
|
55
|
+
"example": "Dogfood onboarding on my signed-in account on mobile and fix what you hit."
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"name": "ship",
|
|
59
|
+
"title": "Ship",
|
|
60
|
+
"summary": "Get to green, merge, deploy and prove it is live",
|
|
61
|
+
"example": "Ship this: clear the review threads and CI, deploy, verify production."
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
"name": "launch",
|
|
65
|
+
"title": "Launch",
|
|
66
|
+
"summary": "Ready the page, kit, posts and tracker for launch",
|
|
67
|
+
"example": "Prepare the launch: share card, page audit, posts, directories and tracking."
|
|
68
|
+
}
|
|
69
|
+
]
|
|
70
|
+
}
|