tillerhand 3.42.1 → 3.47.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/agents/board-chair.md +20 -20
- package/.claude/agents/code-reviewer.md +20 -20
- package/.claude/agents/council-advisor.md +14 -14
- package/.claude/agents/security-auditor.md +30 -30
- package/.claude/agents/test-writer.md +22 -21
- package/.claude/board/board-ai.md +25 -25
- package/.claude/board/board-api.md +25 -25
- package/.claude/board/board-architect.md +28 -28
- package/.claude/board/board-devops.md +25 -25
- package/.claude/board/board-mobile.md +25 -25
- package/.claude/board/board-performance.md +24 -24
- package/.claude/board/board-privacy.md +25 -25
- package/.claude/board/board-product.md +26 -26
- package/.claude/board/board-qa.md +28 -28
- package/.claude/board/board-ux.md +26 -26
- package/.claude/board/council.md +76 -76
- package/.claude/board/rules.md +61 -61
- package/.claude/claude-security-guidance.md +10 -10
- package/.claude/commands/adopt.md +70 -69
- package/.claude/commands/ask-mode.md +9 -9
- package/.claude/commands/board.md +15 -15
- package/.claude/commands/build.md +47 -47
- package/.claude/commands/dashboard.md +17 -17
- package/.claude/commands/design.md +31 -31
- package/.claude/commands/findings-all.md +14 -14
- package/.claude/commands/findings-business.md +7 -7
- package/.claude/commands/findings-legal.md +7 -7
- package/.claude/commands/findings-perf.md +7 -7
- package/.claude/commands/findings-security.md +9 -9
- package/.claude/commands/findings-tech.md +7 -7
- package/.claude/commands/findings-ux.md +7 -7
- package/.claude/commands/fix-bug.md +15 -15
- package/.claude/commands/freeze.md +8 -8
- package/.claude/commands/handoff.md +38 -38
- package/.claude/commands/kit-update.md +17 -14
- package/.claude/commands/language.md +13 -0
- package/.claude/commands/maintain.md +19 -19
- package/.claude/commands/plan-task.md +32 -32
- package/.claude/commands/qa.md +17 -17
- package/.claude/commands/release.md +40 -40
- package/.claude/commands/research.md +31 -31
- package/.claude/commands/retro.md +32 -32
- package/.claude/commands/review-changes.md +15 -15
- package/.claude/commands/rollback.md +24 -24
- package/.claude/commands/start.md +116 -113
- package/.claude/commands/tools.md +11 -11
- package/.claude/commands/user-feedback.md +11 -11
- package/.claude/commands/wrap-up.md +18 -18
- package/.claude/findings/lenses/business.md +24 -24
- package/.claude/findings/lenses/legal.md +29 -29
- package/.claude/findings/lenses/perf.md +19 -19
- package/.claude/findings/lenses/security.md +30 -30
- package/.claude/findings/lenses/tech.md +23 -23
- package/.claude/findings/lenses/ux.md +19 -19
- package/.claude/findings/protocol.md +54 -54
- package/.claude/findings/report-template.md +30 -30
- package/.claude/hooks/budget.mjs +7 -7
- package/.claude/hooks/checkpoint.mjs +12 -12
- package/.claude/hooks/commit-gate.mjs +50 -34
- package/.claude/hooks/cost.mjs +2 -2
- package/.claude/hooks/council.mjs +3 -3
- package/.claude/hooks/dashboard-data.mjs +3 -2
- package/.claude/hooks/dashboard.mjs +164 -149
- package/.claude/hooks/destructive-guard.mjs +74 -64
- package/.claude/hooks/edit-rounds.mjs +3 -3
- package/.claude/hooks/flow.mjs +10 -10
- package/.claude/hooks/freeze-guard.mjs +27 -23
- package/.claude/hooks/gate.mjs +25 -25
- package/.claude/hooks/guard-secrets.mjs +11 -11
- package/.claude/hooks/lang.mjs +114 -0
- package/.claude/hooks/messages.mjs +495 -0
- package/.claude/hooks/models.mjs +14 -11
- package/.claude/hooks/notify.mjs +3 -2
- package/.claude/hooks/package-gate.mjs +17 -15
- package/.claude/hooks/plugins-sync.mjs +9 -9
- package/.claude/hooks/prefs.mjs +19 -19
- package/.claude/hooks/preview.mjs +11 -11
- package/.claude/hooks/progress.mjs +14 -14
- package/.claude/hooks/qa-report.mjs +11 -10
- package/.claude/hooks/reminder.mjs +6 -3
- package/.claude/hooks/session-start.mjs +23 -17
- package/.claude/hooks/shared.mjs +1 -1
- package/.claude/hooks/status-read.mjs +5 -4
- package/.claude/hooks/statusline.mjs +14 -11
- package/.claude/hooks/structure-guard.mjs +9 -9
- package/.claude/hooks/test-guard.mjs +61 -20
- package/.claude/hooks/tools.mjs +28 -29
- package/.claude/hooks/usage.mjs +18 -15
- package/.claude/output-styles/anlatici.md +28 -28
- package/.claude/security-patterns.json +3 -3
- package/.claude/settings.json +6 -0
- package/.claude/skills/logo-design/SKILL.md +42 -42
- package/.claude/skills/motion-video/SKILL.md +52 -52
- package/.claude/skills/source-research/SKILL.md +35 -35
- package/.claude/skills/ui-motion/SKILL.md +38 -38
- package/.github/workflows/kit-tests.yml +7 -7
- package/.github/workflows/npm-publish.yml +16 -16
- package/AGENTS.md +56 -56
- package/CHANGELOG.md +7 -7
- package/CLAUDE.md +5 -5
- package/README.md +199 -172
- package/README.tr.md +292 -0
- package/docs/architecture/overview.md +31 -31
- package/docs/architecture/stack.md +2 -2
- package/docs/archive/README.md +4 -4
- package/docs/decisions/adr-template.md +14 -14
- package/docs/decisions/log.md +10 -10
- package/docs/findings/README.md +13 -13
- package/docs/findings/config.md +13 -13
- package/docs/legal/privacy-kvkk.md +1 -1
- package/docs/operations/accounts.md +25 -25
- package/docs/operations/deploy-setup.md +64 -64
- package/docs/operations/feature-flags.md +17 -17
- package/docs/operations/maintenance.md +48 -48
- package/docs/operations/release-checklist.md +61 -61
- package/docs/operations/spend-alarms.md +28 -28
- package/docs/product/feedback.md +9 -8
- package/docs/product/glossary.md +16 -16
- package/docs/product/launch.md +28 -28
- package/docs/product/prd.md +43 -42
- package/docs/product/roadmap.md +31 -30
- package/docs/product/specs/_template.md +13 -12
- package/docs/product/unit-economics.md +23 -22
- package/docs/quality/metrics.md +14 -14
- package/docs/quality/retros.md +11 -11
- package/docs/quality/test-plan.md +48 -48
- package/docs/security/checklist.md +57 -57
- package/docs/workflow/board.md +7 -7
- package/docs/workflow/cost-log.md +4 -4
- package/docs/workflow/decision-protocol.md +70 -70
- package/docs/workflow/learning.md +4 -4
- package/docs/workflow/mcp-catalog.md +31 -31
- package/docs/workflow/models.md +35 -35
- package/docs/workflow/progress.md +7 -7
- package/docs/workflow/skills.md +108 -108
- package/docs/workflow/usage-limits.md +62 -62
- package/kit/CHANGELOG.md +879 -839
- package/kit/VERSION +1 -1
- package/kit/guide.html +713 -477
- package/kit/guide.tr.html +1328 -0
- package/kit/kit.mjs +56 -54
- package/kit/project/README.md +29 -29
- package/kit/project/gitignore +12 -12
- package/kit/templates/addons/ai/.env.example.append +5 -5
- package/kit/templates/addons/ai/ai/evals/README.md +11 -11
- package/kit/templates/addons/ai/ai/evals/cases.jsonl +2 -2
- package/kit/templates/addons/ai/ai/prompts/README.md +8 -8
- package/kit/templates/addons/ai/docs/ai/guide.md +56 -56
- package/kit/templates/backend/.claude/hooks/format.mjs +1 -1
- package/kit/templates/backend/.claude/structure.json +1 -1
- package/kit/templates/backend/.env.example +6 -6
- package/kit/templates/backend/.github/dependabot.yml +1 -1
- package/kit/templates/backend/.github/workflows/ci.yml +13 -13
- package/kit/templates/backend/.github/workflows/claude-ci-fix.yml +19 -19
- package/kit/templates/backend/.github/workflows/claude-maintenance.yml +18 -18
- package/kit/templates/backend/.github/workflows/live-monitoring.yml +14 -14
- package/kit/templates/backend/.pre-commit-config.yaml +3 -3
- package/kit/templates/backend/docs/architecture/stack.md +98 -98
- package/kit/templates/backend/docs/architecture/structure.md +34 -34
- package/kit/templates/mobile/.claude/structure.json +1 -1
- package/kit/templates/mobile/.env.example +6 -6
- package/kit/templates/mobile/.github/dependabot.yml +2 -2
- package/kit/templates/mobile/.github/workflows/ci.yml +18 -18
- package/kit/templates/mobile/.github/workflows/claude-ci-fix.yml +19 -19
- package/kit/templates/mobile/.github/workflows/claude-maintenance.yml +18 -18
- package/kit/templates/mobile/.gitignore.append +2 -2
- package/kit/templates/mobile/docs/architecture/stack.md +113 -113
- package/kit/templates/mobile/docs/architecture/structure.md +33 -33
- package/kit/templates/mobile/docs/design/design-guide.md +37 -37
- package/kit/templates/mobile/tests/security/rls.mjs +22 -22
- package/kit/templates/web-saas/.claude/structure.json +1 -1
- package/kit/templates/web-saas/.env.example +11 -11
- package/kit/templates/web-saas/.github/dependabot.yml +3 -3
- package/kit/templates/web-saas/.github/workflows/ci.yml +20 -20
- package/kit/templates/web-saas/.github/workflows/claude-ci-fix.yml +19 -19
- package/kit/templates/web-saas/.github/workflows/claude-maintenance.yml +18 -18
- package/kit/templates/web-saas/.github/workflows/live-monitoring.yml +12 -12
- package/kit/templates/web-saas/docs/architecture/stack.md +116 -116
- package/kit/templates/web-saas/docs/architecture/structure.md +44 -44
- package/kit/templates/web-saas/docs/design/design-guide.md +38 -38
- package/kit/templates/web-saas/tests/live/smoke.spec.ts +4 -4
- package/kit/templates/web-saas/tests/security/rls.mjs +22 -22
- package/kit/tools/codex/.codex/hooks.json +1 -1
- package/package.json +2 -2
- package/README.en.md +0 -267
package/docs/workflow/skills.md
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
# Skill
|
|
1
|
+
# Skill Routing
|
|
2
2
|
|
|
3
|
-
>
|
|
4
|
-
>
|
|
5
|
-
>
|
|
6
|
-
> `/plugin install <plugin>@<marketplace>` (
|
|
3
|
+
> Which skill to use for which job? Load the skill with the Skill tool and apply its instructions.
|
|
4
|
+
> This project defines the plugins below in `.claude/settings.json`; Claude Code suggests installing them when it opens the project. Those outside the core come switched off as packages (see "Context packages" below).
|
|
5
|
+
> If a skill is not installed, do the job without it, write "skill missing: X" in the status block and give the user the install command:
|
|
6
|
+
> `/plugin install <plugin>@<marketplace>` (e.g. `/plugin install impeccable@impeccable`).
|
|
7
7
|
|
|
8
|
-
| Plugin | Marketplace | Skill
|
|
8
|
+
| Plugin | Marketplace | Skill prefixes |
|
|
9
9
|
|---|---|---|
|
|
10
10
|
| caveman | caveman | `caveman:` |
|
|
11
11
|
| impeccable | impeccable | `impeccable:` |
|
|
@@ -14,143 +14,143 @@
|
|
|
14
14
|
| humanizer | humanizer | `humanizer:` |
|
|
15
15
|
| ponytail | ponytail | `ponytail:` |
|
|
16
16
|
| mattpocock-skills | mattpocock | `mattpocock-skills:` |
|
|
17
|
-
| gsap-skills (GreenSock,
|
|
18
|
-
| understand-anything | understand-anything | `/understand --language en`, `/understand-dashboard`, `/understand-onboard` (`yayin`
|
|
19
|
-
| security-guidance, claude-security, hookify, claude-md-management, session-report | claude-plugins-official (Anthropic) |
|
|
20
|
-
| typescript-lsp (web,
|
|
21
|
-
| supabase, postgres-best-practices | supabase-agent-skills | `supabase:`, `postgres-best-practices:` (web,
|
|
22
|
-
| web-quality-skills | addy-web-quality-skills | Core Web Vitals,
|
|
23
|
-
| expo | expo-plugins | Expo build,
|
|
24
|
-
|
|
25
|
-
**Vercel
|
|
17
|
+
| gsap-skills (GreenSock, official) | gsap-skills | `gsap-skills:` (`tasarim` package) |
|
|
18
|
+
| understand-anything | understand-anything | `/understand --language en`, `/understand-dashboard`, `/understand-onboard` (`yayin` package; `--auto-update` is not used). While on, the session-start hook updates the graph without asking when it is stale and spends tokens: switch the package off with `/tools` when the job is done |
|
|
19
|
+
| security-guidance, claude-security, hookify, claude-md-management, session-report | claude-plugins-official (Anthropic) | automatic hook / `/claude-security`, `/hookify`, `/revise-claude-md`, `/session-report` |
|
|
20
|
+
| typescript-lsp (web, mobile) · pyright-lsp (backend) | claude-plugins-official | Language server: type errors and go to definition. Needs `npm i -g typescript-language-server typescript` or `npm i -g pyright` |
|
|
21
|
+
| supabase, postgres-best-practices | supabase-agent-skills | `supabase:`, `postgres-best-practices:` (web, mobile; only postgres in backend) |
|
|
22
|
+
| web-quality-skills | addy-web-quality-skills | Core Web Vitals, accessibility, SEO (web) |
|
|
23
|
+
| expo | expo-plugins | Expo build, upgrade, distribution + Expo MCP (mobile) |
|
|
24
|
+
|
|
25
|
+
**Vercel skills** (`react-best-practices`, `composition-patterns` for web; `react-native-guidelines` for mobile) are not plugins. After the stack decision `/start` copies them into the project:
|
|
26
26
|
`npx -y skills@1.7.2 add vercel-labs/agent-skills --skill react-best-practices --skill composition-patterns -a claude-code -y --copy`
|
|
27
27
|
|
|
28
|
-
**three.js
|
|
28
|
+
**three.js skills** (`threejs-fundamentals`, `threejs-performance`, and `threejs-react-three-fiber` for React; `CloudAI-X/threejs-skills`, MIT) are not plugins. Only if 3D is chosen, `/start` 3c copies them from a pinned commit. Each is ~6k tokens, loaded when called.
|
|
29
29
|
|
|
30
|
-
##
|
|
30
|
+
## The kit's own skills (`.claude/skills/`)
|
|
31
31
|
|
|
32
|
-
| Skill |
|
|
32
|
+
| Skill | When |
|
|
33
33
|
|---|---|
|
|
34
|
-
| `source-research` |
|
|
35
|
-
| `logo-design` | Logo,
|
|
36
|
-
| `ui-motion` |
|
|
37
|
-
| `motion-video` |
|
|
34
|
+
| `source-research` | Any information that can change (version, price, quota, regulation, competitor); technology choice; business and legal reports |
|
|
35
|
+
| `logo-design` | Logo, icon, favicon, brand pack (SVG, needs no API) |
|
|
36
|
+
| `ui-motion` | In-app animation and transitions |
|
|
37
|
+
| `motion-video` | Promo video, landing page loop (renderAt(t) + Playwright + ffmpeg) |
|
|
38
38
|
|
|
39
|
-
##
|
|
39
|
+
## Tools (MCP)
|
|
40
40
|
|
|
41
|
-
|
|
|
41
|
+
| Tool | What for | Note |
|
|
42
42
|
|---|---|---|
|
|
43
|
-
| **Context7** |
|
|
44
|
-
| **Playwright CLI** |
|
|
45
|
-
| **Chrome DevTools**, **Playwright** MCP |
|
|
46
|
-
| **Vercel CLI** |
|
|
47
|
-
| **Sentry**, **Supabase** |
|
|
48
|
-
| **Firecrawl** | Site
|
|
49
|
-
| **Maestro**, **Expo** |
|
|
50
|
-
| GitHub, Stripe, Vercel, PostHog, Figma… |
|
|
43
|
+
| **Context7** | Current, version-specific docs of libraries | On for every project type, free |
|
|
44
|
+
| **Playwright CLI** | Interface evidence, console, network, screenshots (`npx -y @playwright/cli@0.1.22`) | In web; fewer tokens than the MCP. Acceptance tests still run with `npx playwright test` |
|
|
45
|
+
| **Chrome DevTools**, **Playwright** MCP | Performance trace; long exploratory browser flows | Off by default; the command asks and adds it (catalog) |
|
|
46
|
+
| **Vercel CLI** | Preview and prod deploy (`npx -y vercel@63.1.1`) | `/release`; `--prod`, `promote`, `rollback` are asked |
|
|
47
|
+
| **Sentry**, **Supabase** | Error logs, database warnings (read-only) | `/maintain` |
|
|
48
|
+
| **Firecrawl** | Site crawling | Optional, needs an API key; `source-research` §5 |
|
|
49
|
+
| **Maestro**, **Expo** | Mobile E2E tests, EAS build, crash logs | In mobile |
|
|
50
|
+
| GitHub, Stripe, Vercel, PostHog, Figma… | When the service is chosen | Catalog: `docs/workflow/mcp-catalog.md` |
|
|
51
51
|
|
|
52
|
-
##
|
|
52
|
+
## Context packages
|
|
53
53
|
|
|
54
|
-
|
|
54
|
+
The skill descriptions of every plugin that is on are loaded into the context in each session. The skill list is limited to 1% of the context; when it overflows, the descriptions of rarely used skills drop and Claude does not recognize them. Skills inside a plugin cannot be switched off one by one. So plugins are split into **core** and **packages**. Packages come switched off in `.claude/settings.json`; in its first step the related command checks with `node .claude/hooks/tools.mjs --required <paket>` and, if the package is off, asks to switch it on together with its cost. Switching on affects only this machine (`.claude/settings.local.json`). Management: `/tools`. Definitions: `.claude/hooks/tools.mjs` → `PACKAGES`.
|
|
55
55
|
|
|
56
|
-
|
|
|
56
|
+
| Package | Plugins | Command that switches it on |
|
|
57
57
|
|---|---|---|
|
|
58
|
-
|
|
|
58
|
+
| Core (always on) | caveman, ponytail, mattpocock-skills, impeccable, humanizer, security-guidance, hookify, claude-md-management + stack plugins | - |
|
|
59
59
|
| `tasarim` | taste-skill, ui-ux-pro-max, gsap-skills | `/design` |
|
|
60
60
|
| `guvenlik` | Trail of Bits (7), claude-security | `/findings-security`, `/findings-all`, `/release first` |
|
|
61
61
|
| `yayin` | understand-anything, session-report | `/release`, `/handoff`, `/adopt` |
|
|
62
62
|
| `video` | remotion | `motion-video` |
|
|
63
63
|
|
|
64
|
-
-
|
|
65
|
-
-
|
|
66
|
-
-
|
|
64
|
+
- Switching a package on in the middle of a session breaks the prompt cache and the whole context is read again. The cheapest time is at a phase boundary, together with `/clear`.
|
|
65
|
+
- Exact measurement: `/context` (Skills line), `/doctor`; unused skills: `/skill-doctor`. Rough measurement: `/tools olc`. `/maintain monthly` checks this.
|
|
66
|
+
- Moving a plugin into the core or out of a package is a `teknik` decision.
|
|
67
67
|
|
|
68
|
-
**
|
|
68
|
+
**Command list (Light/Full):** The kit's command descriptions go into the same list (~1,600 tokens). In the Light and Standard profile, the 20 commands outside the core are listed by name only with `skillOverrides` → `name-only`: they stay in the `/` menu, Claude can call them by name, their description does not enter the context. The core that keeps its description: start, adopt, build, fix-bug, plan-task, design, tools, review-changes, wrap-up, release. Full profile: `node .claude/hooks/tools.mjs --commands full`; to go back: `--commands light`. The setting is in `.claude/settings.json` (team-wide); your own `skillOverrides` values are kept. It has no effect in Codex and Antigravity. List: `.claude/hooks/tools.mjs` → `CORE_COMMANDS`, `LIGHT_COMMANDS`.
|
|
69
69
|
|
|
70
|
-
## Skill
|
|
70
|
+
## Skill budget
|
|
71
71
|
|
|
72
|
-
-
|
|
73
|
-
- Stack
|
|
74
|
-
- security-guidance
|
|
75
|
-
-
|
|
72
|
+
- In backend projects the interface design plugins (including impeccable) come switched off (`kit/templates/backend/.claude/settings.merge.json`).
|
|
73
|
+
- Stack-specific skills (Supabase, Expo, web quality, LSP) are switched on only in the related project type.
|
|
74
|
+
- The end-of-turn review of security-guidance comes switched off (`ENABLE_STOP_REVIEW=0`, quota). The pattern scan at edit time (free) and the commit review are on. If the quota is comfortable, it can be switched on from `.claude/settings.json` → `env`.
|
|
75
|
+
- Adding a new plugin is a `teknik` decision: is there already a skill that does the same job, is the source trustworthy, what is the context cost? Third-party skills are an attack surface: read the SKILL.md content before installing.
|
|
76
76
|
|
|
77
|
-
##
|
|
77
|
+
## Communication
|
|
78
78
|
|
|
79
|
-
|
|
|
79
|
+
| Situation | Skill |
|
|
80
80
|
|---|---|
|
|
81
|
-
|
|
|
81
|
+
| Status block, progress notes, code explanations | `caveman:caveman` (load at session start). Questions, option descriptions and documents are exempt; write full sentences |
|
|
82
82
|
|
|
83
|
-
##
|
|
83
|
+
## Idea, product and architecture
|
|
84
84
|
|
|
85
|
-
|
|
|
85
|
+
| Situation | Skill |
|
|
86
86
|
|---|---|
|
|
87
|
-
|
|
|
88
|
-
|
|
|
89
|
-
|
|
|
90
|
-
|
|
|
91
|
-
|
|
|
92
|
-
|
|
|
87
|
+
| Questioning the idea and the plan (`/start` Step 1, big feature plan) | `mattpocock-skills:grilling` (ask the questions with AskUserQuestion) |
|
|
88
|
+
| Concepts, glossary, decision record (`docs/product/glossary.md`, `docs/decisions/`) | `mattpocock-skills:domain-modeling` |
|
|
89
|
+
| Module boundaries, interface design, testable structure (`docs/architecture/`) | `mattpocock-skills:codebase-design` |
|
|
90
|
+
| Technology comparison, research on current version/price/docs | `mattpocock-skills:research` |
|
|
91
|
+
| Trying out a state model or flow (throwaway prototype) | `mattpocock-skills:prototype` |
|
|
92
|
+
| Setup the user must do by hand (panel, DNS, key, store account) | `mattpocock-skills:wizard` |
|
|
93
93
|
|
|
94
|
-
##
|
|
94
|
+
## Design (web and mobile UI)
|
|
95
95
|
|
|
96
|
-
|
|
96
|
+
First the style direction is chosen (`/design`). Each direction maps to a skill; previews and implementation are done with that skill. Product context and the design system are always kept in Impeccable (`PRODUCT.md`, `DESIGN.md`).
|
|
97
97
|
|
|
98
|
-
|
|
|
98
|
+
| Style direction (option shown to the user) | When it is good | Main skill |
|
|
99
99
|
|---|---|---|
|
|
100
|
-
| **Premium / Apple
|
|
101
|
-
| **Minimal
|
|
102
|
-
| **
|
|
103
|
-
| **
|
|
104
|
-
|
|
|
105
|
-
| **
|
|
106
|
-
|
|
107
|
-
|
|
|
100
|
+
| **Premium / Apple style:** lots of white space, large and thin typography, soft transitions, expensive feel | Consumer product, brand perception matters, high-priced product | `taste-skill:high-end-visual-design` |
|
|
101
|
+
| **Minimal editorial:** warm monochrome, typography-led, flat surfaces | Content, portfolio, calm SaaS, trust-building service | `taste-skill:minimalist-ui` |
|
|
102
|
+
| **Bold and animated:** giant typography, scroll-linked animations (GSAP), bento grids | Launch page, young audience, product that must grab attention | `taste-skill:gpt-taste` |
|
|
103
|
+
| **Industrial / brutalist:** raw grid, terminal aesthetic, sharp contrast | Developer tool, data-heavy dashboard, unconventional brand | `taste-skill:industrial-brutalist-ui` |
|
|
104
|
+
| **Functional product UI:** plain, dense information, fast to use | Panel, admin, B2B tool, forms | `impeccable:impeccable` + `ui-ux-pro-max:ui-styling` (shadcn/ui) |
|
|
105
|
+
| **Find your own direction (anti-generic):** derives a direction from the brief | If none fits exactly | `taste-skill:design-taste-frontend` |
|
|
106
|
+
|
|
107
|
+
| Design job | Skill |
|
|
108
108
|
|---|---|
|
|
109
|
-
|
|
|
110
|
-
|
|
|
111
|
-
|
|
|
112
|
-
|
|
|
113
|
-
|
|
|
114
|
-
|
|
|
115
|
-
|
|
|
116
|
-
| Logo,
|
|
117
|
-
|
|
|
118
|
-
|
|
|
119
|
-
|
|
120
|
-
##
|
|
121
|
-
|
|
122
|
-
|
|
|
109
|
+
| Write the product context (`PRODUCT.md`), fed from the PRD | `impeccable:impeccable` → `init` |
|
|
110
|
+
| Record the visual world (`DESIGN.md`), from the chosen preview | `impeccable:impeccable` → new workflow |
|
|
111
|
+
| Color palette and typeface pair candidates, by product type | `ui-ux-pro-max:ui-ux-pro-max` |
|
|
112
|
+
| Design tokens and component rules | `ui-ux-pro-max:design-system` |
|
|
113
|
+
| Produce a screen/section | Chosen direction skill + `impeccable:impeccable` |
|
|
114
|
+
| Evaluate and fix a finished screen | `impeccable:impeccable` → `critique`, `audit`, `polish` (if needed `bolder`/`quieter`/`distill`/`harden`/`adapt`/`animate`) |
|
|
115
|
+
| Redo an existing interface | `taste-skill:redesign-existing-projects` + `impeccable:impeccable` |
|
|
116
|
+
| Logo, brand identity | `ui-ux-pro-max:design`, `ui-ux-pro-max:brand` |
|
|
117
|
+
| Social media/ad visuals | `ui-ux-pro-max:banner-design` |
|
|
118
|
+
| Mobile screens | Chosen direction skill + `impeccable:impeccable` (iOS/Android platform guidelines) + `ui-ux-pro-max:ui-ux-pro-max` (React Native) |
|
|
119
|
+
|
|
120
|
+
## Content
|
|
121
|
+
|
|
122
|
+
| Situation | Skill |
|
|
123
123
|
|---|---|
|
|
124
|
-
|
|
|
124
|
+
| Every text the user sees: landing page, screen texts, emails, store description, announcements | Write first, then pass it through `humanizer:humanizer` (removes AI-sounding patterns) |
|
|
125
125
|
|
|
126
|
-
##
|
|
126
|
+
## Findings reports
|
|
127
127
|
|
|
128
|
-
|
|
|
128
|
+
| Situation | Skill / file |
|
|
129
129
|
|---|---|
|
|
130
|
-
| `/findings-<
|
|
131
|
-
|
|
|
132
|
-
|
|
|
133
|
-
| Business
|
|
134
|
-
|
|
|
135
|
-
| UX
|
|
130
|
+
| `/findings-<type>` (tech, business, security, ux, perf, legal, all) | Method `.claude/findings/protocol.md`, lens `.claude/findings/lenses/<type>.md` |
|
|
131
|
+
| Deep security scan (`/findings-security`) | `/claude-security` (Anthropic, multi-agent, findings verified) |
|
|
132
|
+
| Security depth | Trail of Bits: `differential-review`, `insecure-defaults`, `sharp-edges`, `static-analysis`, `supply-chain-risk-auditor`, `agentic-actions-auditor`, `fp-check` |
|
|
133
|
+
| Business and legal research | `source-research` + web search |
|
|
134
|
+
| Technical and performance scan | `ponytail:ponytail-audit` |
|
|
135
|
+
| UX scan | `impeccable:impeccable` → `audit`, `critique` |
|
|
136
136
|
|
|
137
|
-
##
|
|
137
|
+
## Code
|
|
138
138
|
|
|
139
|
-
|
|
|
139
|
+
| Situation | Skill |
|
|
140
140
|
|---|---|
|
|
141
|
-
|
|
|
142
|
-
|
|
|
143
|
-
|
|
|
144
|
-
|
|
|
145
|
-
|
|
|
146
|
-
|
|
|
147
|
-
|
|
|
148
|
-
|
|
|
149
|
-
|
|
|
150
|
-
| PR
|
|
151
|
-
| CLAUDE.md,
|
|
152
|
-
| CLAUDE.md
|
|
153
|
-
| "
|
|
154
|
-
| React/Next
|
|
155
|
-
|
|
|
156
|
-
| Token
|
|
141
|
+
| Every code change (smallest complete solution, no needless abstraction) | `ponytail:ponytail` |
|
|
142
|
+
| Critical flow (auth, payment, data writes; `docs/quality/test-plan.md` K1-K5) | `mattpocock-skills:tdd` (the `test-writer` agent writes the red test, the code side turns it green) |
|
|
143
|
+
| Return a broken project to the last working state | `/rollback` (`checkpoint.mjs`) |
|
|
144
|
+
| Explain every step to a new user | Narrator mode: `.claude/output-styles/anlatici.md` (`outputStyle: anlatici`) |
|
|
145
|
+
| Debugging (`/fix-bug`) | `mattpocock-skills:diagnosing-bugs` + `/freeze <folder>` |
|
|
146
|
+
| Change review (`/review-changes`) | `ponytail:ponytail-review` + `code-reviewer` agent (+ `security-auditor`) |
|
|
147
|
+
| Conformance review against task/spec (branch or PR) | `mattpocock-skills:code-review` |
|
|
148
|
+
| Quality audit of the whole codebase (`/release first`, `/maintain quarterly`) | `ponytail:ponytail-audit` |
|
|
149
|
+
| List of deferred shortcuts (`/maintain monthly`) | `ponytail:ponytail-debt` |
|
|
150
|
+
| PR description | `mattpocock-skills:pr` |
|
|
151
|
+
| Edit CLAUDE.md, a command or a skill (`/retro`) | `mattpocock-skills:writing-for-agents` |
|
|
152
|
+
| CLAUDE.md audit, session lessons (`/retro`, `/wrap-up`) | `claude-md-management`: `claude-md-improver`, `/revise-claude-md` |
|
|
153
|
+
| "Don't do this again" → permanent rule | `/hookify <kural>` (`.claude/hookify.*.local.md`) |
|
|
154
|
+
| React/Next performance (web) · React Native (mobile) | `react-best-practices`, `composition-patterns` · `react-native-guidelines` (Vercel) |
|
|
155
|
+
| Database schema, query, index | `postgres-best-practices:*`, `supabase:*` |
|
|
156
|
+
| Token and cost detail | `/session-report` (HTML), `node .claude/hooks/cost.mjs` for the dashboard |
|
|
@@ -1,79 +1,79 @@
|
|
|
1
|
-
# Limit
|
|
1
|
+
# Limit Plan
|
|
2
2
|
|
|
3
|
-
>
|
|
4
|
-
>
|
|
5
|
-
> **
|
|
3
|
+
> The 5-hour and weekly usage limits of the Claude subscription are factored into work planning.
|
|
4
|
+
> Goal: work is not cut off with context lost, and the user is not surprised by the limit.
|
|
5
|
+
> **The limit is only a reason to warn, not a reason to stop.** Work continues unless the user says "stop"; the warning is one line and waits for no approval.
|
|
6
6
|
|
|
7
|
-
## 1.
|
|
7
|
+
## 1. Where to read the limit (in order)
|
|
8
8
|
|
|
9
|
-
1. **
|
|
10
|
-
2. **Terminal / IDE:** `node .claude/hooks/usage.mjs`.
|
|
11
|
-
3.
|
|
9
|
+
1. **Desktop app:** the `get_usage` tool (ccd session management). It gives the exact percentage and the reset time.
|
|
10
|
+
2. **Terminal / IDE:** `node .claude/hooks/usage.mjs`. The status line writes the `rate_limits` data that Claude Code sends into `.claude/state/usage.json`; this command reads it. It may be empty before the first API response. If it is older than 30 minutes, verify it.
|
|
11
|
+
3. **If neither exists:** Ask the user for the percentages from the `/usage` output.
|
|
12
12
|
|
|
13
|
-
## 2.
|
|
13
|
+
## 2. Levels
|
|
14
14
|
|
|
15
|
-
|
|
|
15
|
+
| Level | 5-hour | Weekly | Behavior |
|
|
16
16
|
|---|---|---|---|
|
|
17
|
-
| 🟢
|
|
18
|
-
| 🟡
|
|
19
|
-
| 🔴
|
|
17
|
+
| 🟢 green | < 60% | < 70% | Work normally. Show the limit in the status block. |
|
|
18
|
+
| 🟡 yellow | 60–84% | 70–89% | Before work starts, state the estimated cost. In board meetings, halve the member count. |
|
|
19
|
+
| 🔴 red | ≥ 85% | ≥ 90% | Before new work starts, state the estimated cost and the remaining share in one line, then continue. Offer the options in §3 only if the user asks. |
|
|
20
20
|
|
|
21
|
-
|
|
21
|
+
The thresholds are in `.claude/hooks/usage.mjs` → `ESIKLER`; if you change them, change both together.
|
|
22
22
|
|
|
23
|
-
## 3.
|
|
23
|
+
## 3. When planning work
|
|
24
24
|
|
|
25
|
-
`/start`, `/plan-task`, `/build`, `/board convene`
|
|
25
|
+
Before `/start`, `/plan-task`, `/build`, `/board convene` and `/release` begin:
|
|
26
26
|
|
|
27
|
-
1.
|
|
27
|
+
1. Read the limit and estimate the cost of the work. The estimate table is below; if `docs/workflow/cost-log.md` has at least 3 records, use their average.
|
|
28
28
|
|
|
29
|
-
|
|
|
29
|
+
| Work | Estimated 5-hour usage (Pro plan, starting estimate) |
|
|
30
30
|
|---|---|
|
|
31
|
-
|
|
|
32
|
-
|
|
|
33
|
-
|
|
|
34
|
-
|
|
|
35
|
-
| Commit
|
|
36
|
-
|
|
|
37
|
-
| `/design`
|
|
38
|
-
| `/start`
|
|
39
|
-
| `/start`
|
|
40
|
-
| `/start`
|
|
41
|
-
|
|
|
42
|
-
|
|
|
43
|
-
|
|
|
44
|
-
| `/research`
|
|
45
|
-
|
|
46
|
-
Max
|
|
47
|
-
|
|
48
|
-
2. **
|
|
49
|
-
- **
|
|
50
|
-
- **
|
|
51
|
-
-
|
|
52
|
-
-
|
|
53
|
-
- **
|
|
54
|
-
- **
|
|
55
|
-
3. **
|
|
56
|
-
4.
|
|
57
|
-
5. **
|
|
58
|
-
|
|
59
|
-
## 4.
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
| 5
|
|
31
|
+
| Small task (1-2 files) | 3–6% |
|
|
32
|
+
| Medium task (3-6 files + tests) | 8–15% |
|
|
33
|
+
| Large task (many files, new module) | 20%+ (suggest splitting first) |
|
|
34
|
+
| Board meeting at plan or task end | 2–5% |
|
|
35
|
+
| Commit review (light) | 1% |
|
|
36
|
+
| Full board meeting (phase end, go-live) | 8–15% |
|
|
37
|
+
| `/design` visual preview round | 5–10% |
|
|
38
|
+
| `/start` Quick depth (board and design later) | 25–35% |
|
|
39
|
+
| `/start` Standard depth | 50–70% |
|
|
40
|
+
| `/start` Detailed depth (full flow) | 80–100% (a whole window on Pro) |
|
|
41
|
+
| Decision council (`/start` Step 4, one-way decision) | ~12% (measured: 3 advisors + chair) |
|
|
42
|
+
| Board setup (`/start` Step 6) | 5–10% |
|
|
43
|
+
| Design direction (`/start` Step 7, `/design general`) | 15–30% |
|
|
44
|
+
| `/research` quick · deep | 10–15% · 25–35% |
|
|
45
|
+
|
|
46
|
+
On the Max plan the percentages are lower. As the log fills day by day, the estimate corrects itself.
|
|
47
|
+
|
|
48
|
+
2. **If the estimate exceeds the remaining share** or the level is red, say so in one line ("Estimate 15%, remaining 10%: the work may be left unfinished; I can offer the options if you want") and start the work. Do not ask a question and do not wait for approval. If the user wants, offer these options:
|
|
49
|
+
- **Do what fits the limit, queue the rest:** Order the tasks by priority, do those that fit, and write the rest to `docs/workflow/progress.md` → "Sıradaki adım" (next step).
|
|
50
|
+
- **Start everything; if cut off, continue after the reset:** Continue with the warnings in §4. To continue after the reset:
|
|
51
|
+
- In the desktop app, set up a scheduled task for the reset time (scheduled tasks). Task text: "Open this project and continue with `/build` from `docs/workflow/progress.md` → "Kaldığı yer" (where we left off)."
|
|
52
|
+
- In the terminal, if the session will stay open, set a one-time reminder/cron for the reset time. If it will not stay open, tell the user the reset time; when they reopen, the session-start note reminds them where they left off.
|
|
53
|
+
- **Continue with a cheaper model:** Move the code role to a lower model (e.g. `node .claude/hooks/models.mjs --set code=haiku:medium`; `docs/workflow/models.md`). The main agent only coordinates and verifies the result. Security, data model and architecture decisions stay in the planning role.
|
|
54
|
+
- **Lighten the board:** Only `security-auditor` + `board-architect` join plan-end and task-end meetings. Run the commit review only on code files, with a single member.
|
|
55
|
+
3. **If the weekly limit is yellow or red,** also warn in one line: the weekly limit resets late.
|
|
56
|
+
4. If the user chose an option, write the decision to the `docs/decisions/log.md` decision log as topic `maliyet`.
|
|
57
|
+
5. **Task = session.** Every turn re-reads the whole session context; the files and outputs of the previous task cost money in the next one for nothing. When a task is done and committed, suggest `/clear` (regardless of the context percentage). The new session continues from `docs/workflow/progress.md`.
|
|
58
|
+
|
|
59
|
+
## 4. Limit warnings while working
|
|
60
|
+
|
|
61
|
+
Work does not stop; a one-line warning is given once at each threshold:
|
|
62
|
+
|
|
63
|
+
| 5-hour | What to do |
|
|
64
64
|
|---|---|
|
|
65
|
-
| %
|
|
66
|
-
| %
|
|
67
|
-
| %
|
|
65
|
+
| 90% | Remind: "Limit 90%, resets at HH:MM." Continue the work. |
|
|
66
|
+
| 95% | Warn: "Limit is very low (95%)." Quietly update `docs/workflow/progress.md` → **Kaldığı yer** (where we left off), so work can resume from there if it is cut off. Continue the work. |
|
|
67
|
+
| 99% | Warn: "The limit may not be enough for this work; it may be left unfinished." Keep steps small and leave no half-written files; suggest a WIP commit at a suitable point. Continue unless the user says "stop". |
|
|
68
68
|
|
|
69
|
-
**
|
|
69
|
+
**If the user says "stop",** stop safely:
|
|
70
70
|
|
|
71
|
-
1.
|
|
72
|
-
2.
|
|
73
|
-
3. WIP commit
|
|
74
|
-
4. `docs/workflow/progress.md` → **Kaldığı yer**
|
|
75
|
-
5.
|
|
71
|
+
1. Leave no half-written file; finish the current step or undo it.
|
|
72
|
+
2. Run the tests. If they are red, note it.
|
|
73
|
+
3. Suggest a WIP commit (`wip: <task> - stopped because of the limit`).
|
|
74
|
+
4. Fill in the `docs/workflow/progress.md` → **Kaldığı yer** section: task, completed steps, next step, open files, pending decisions, reset time.
|
|
75
|
+
5. Report with the status block.
|
|
76
76
|
|
|
77
|
-
## 5.
|
|
77
|
+
## 5. Cost log (to calibrate the estimate)
|
|
78
78
|
|
|
79
|
-
`/build`
|
|
79
|
+
`/build` and full board meetings read the 5-hour percentage at the start and at the end and add one row to `docs/workflow/cost-log.md`: `node .claude/hooks/progress.mjs --start` at the start, `--cost "<job>" <size>` at the end (percentages, difference and duration are computed; if the window reset in between, the difference is `?`; on the desktop pass `--limit <%>` to both calls). The percentages can also be given by hand: `--cost "<job>" <size> <start %> <end %> <min>`. If the limit cannot be read, no row is added.
|