@erclx/aitk 0.8.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 +99 -0
- package/claude/.claude-plugin/plugin.json +19 -0
- package/claude/skills/bash-script/SKILL.md +96 -0
- package/claude/skills/bash-script/references/patterns.md +349 -0
- package/claude/skills/ci-workflow/SKILL.md +52 -0
- package/claude/skills/ci-workflow/references/workflows.md +74 -0
- package/claude/skills/claude-address-review/SKILL.md +107 -0
- package/claude/skills/claude-autoship/SKILL.md +137 -0
- package/claude/skills/claude-design-extract/SKILL.md +69 -0
- package/claude/skills/claude-design-propose/SKILL.md +75 -0
- package/claude/skills/claude-diagram/SKILL.md +126 -0
- package/claude/skills/claude-docs/SKILL.md +204 -0
- package/claude/skills/claude-feature/REQUIREMENT.md +35 -0
- package/claude/skills/claude-feature/SKILL.md +148 -0
- package/claude/skills/claude-groundwork/SKILL.md +148 -0
- package/claude/skills/claude-groundwork/references/folder-format.md +107 -0
- package/claude/skills/claude-memory-capture/SKILL.md +80 -0
- package/claude/skills/claude-memory-review/REQUIREMENT.md +37 -0
- package/claude/skills/claude-memory-review/SKILL.md +206 -0
- package/claude/skills/claude-orchestrate/SKILL.md +125 -0
- package/claude/skills/claude-pr-review/SKILL.md +150 -0
- package/claude/skills/claude-review/SKILL.md +136 -0
- package/claude/skills/claude-roadmap/SKILL.md +61 -0
- package/claude/skills/claude-roadmap/references/roadmap.md +52 -0
- package/claude/skills/claude-screencast/SKILL.md +160 -0
- package/claude/skills/claude-seed-sync/SKILL.md +141 -0
- package/claude/skills/claude-slides-draft/SKILL.md +62 -0
- package/claude/skills/claude-standards-audit/REQUIREMENT.md +33 -0
- package/claude/skills/claude-standards-audit/SKILL.md +79 -0
- package/claude/skills/claude-standards-audit/references/branch.md +49 -0
- package/claude/skills/claude-standards-audit/references/pr.md +124 -0
- package/claude/skills/claude-tasks/SKILL.md +123 -0
- package/claude/skills/claude-ui-test/SKILL.md +75 -0
- package/claude/skills/claude-ux-audit/SKILL.md +78 -0
- package/claude/skills/claude-worktree/SKILL.md +79 -0
- package/claude/skills/cli-script/SKILL.md +47 -0
- package/claude/skills/cli-script/references/template.md +43 -0
- package/claude/skills/create-rule/SKILL.md +68 -0
- package/claude/skills/create-skill/REQUIREMENT.md +30 -0
- package/claude/skills/create-skill/SKILL.md +24 -0
- package/claude/skills/create-snippet/SKILL.md +28 -0
- package/claude/skills/create-snippet/references/snippets.md +57 -0
- package/claude/skills/create-standard/SKILL.md +31 -0
- package/claude/skills/create-standard/references/standard.md +52 -0
- package/claude/skills/docs-sync/SKILL.md +87 -0
- package/claude/skills/git-branch/REQUIREMENT.md +38 -0
- package/claude/skills/git-branch/SKILL.md +60 -0
- package/claude/skills/git-branch/references/branch.md +49 -0
- package/claude/skills/git-commit/REQUIREMENT.md +33 -0
- package/claude/skills/git-commit/SKILL.md +51 -0
- package/claude/skills/git-commit/references/commit.md +63 -0
- package/claude/skills/git-followup/REQUIREMENT.md +38 -0
- package/claude/skills/git-followup/SKILL.md +35 -0
- package/claude/skills/git-issue/REQUIREMENT.md +38 -0
- package/claude/skills/git-issue/SKILL.md +69 -0
- package/claude/skills/git-issue/references/issue.md +84 -0
- package/claude/skills/git-pr/REQUIREMENT.md +37 -0
- package/claude/skills/git-pr/SKILL.md +119 -0
- package/claude/skills/git-pr/references/branch.md +49 -0
- package/claude/skills/git-pr/references/pr.md +124 -0
- package/claude/skills/git-ship/REQUIREMENT.md +34 -0
- package/claude/skills/git-ship/SKILL.md +39 -0
- package/claude/skills/git-split/REQUIREMENT.md +38 -0
- package/claude/skills/git-split/SKILL.md +160 -0
- package/claude/skills/git-split/references/branch.md +49 -0
- package/claude/skills/git-split/references/pr.md +124 -0
- package/claude/skills/git-stage/REQUIREMENT.md +36 -0
- package/claude/skills/git-stage/SKILL.md +74 -0
- package/claude/skills/git-stage/references/commit.md +63 -0
- package/claude/skills/git-worktree/REQUIREMENT.md +37 -0
- package/claude/skills/git-worktree/SKILL.md +120 -0
- package/claude/skills/migration-claude-md/SKILL.md +74 -0
- package/claude/skills/migration-context/SKILL.md +93 -0
- package/claude/skills/migration-standards/SKILL.md +75 -0
- package/claude/skills/project-commands/SKILL.md +73 -0
- package/claude/skills/session-resume/SKILL.md +36 -0
- package/claude/skills/setup-gov/SKILL.md +71 -0
- package/claude/skills/setup-indexes/SKILL.md +148 -0
- package/claude/skills/setup-init/SKILL.md +114 -0
- package/claude/skills/setup-plugins/SKILL.md +81 -0
- package/claude/skills/setup-plugins/references/plugin-catalog.md +53 -0
- package/claude/skills/setup-verify/SKILL.md +51 -0
- package/claude/skills/systematic-debugging/SKILL.md +70 -0
- package/claude/skills/toolkit-cli/SKILL.md +38 -0
- package/claude/skills/toolkit-feedback/SKILL.md +80 -0
- package/claude/skills/toolkit-operator/SKILL.md +45 -0
- package/claude/skills/toolkit-triage/SKILL.md +63 -0
- package/claude/skills/youtube-transcripts/SKILL.md +34 -0
- package/docs/agents.md +371 -0
- package/docs/ai-workflow.md +157 -0
- package/docs/index.md +20 -0
- package/docs/operating-model.md +106 -0
- package/docs/target-projects.md +183 -0
- package/docs/visual-design-workflow.md +136 -0
- package/docs/zshrc-aliases.md +65 -0
- package/governance/rules/claude/500-prose.md +12 -0
- package/governance/rules/claude/510-context.md +16 -0
- package/governance/rules/claude/520-wireframes.md +12 -0
- package/governance/rules/claude/530-requirements.md +11 -0
- package/governance/rules/claude/540-architecture.md +11 -0
- package/governance/rules/claude/550-design.md +11 -0
- package/governance/rules/claude/555-tasks.md +12 -0
- package/governance/rules/claude/560-diagrams.md +11 -0
- package/governance/rules/claude/570-skill.md +18 -0
- package/governance/rules/claude/580-readme.md +11 -0
- package/governance/rules/claude/590-rule-authoring.md +12 -0
- package/governance/rules/core/000-constitution.md +30 -0
- package/governance/rules/core/010-testing.md +35 -0
- package/governance/rules/core/020-concurrency.md +22 -0
- package/governance/rules/core/030-error-handling.md +31 -0
- package/governance/rules/core/040-performance.md +20 -0
- package/governance/rules/core/050-logging.md +20 -0
- package/governance/rules/core/060-naming.md +19 -0
- package/governance/rules/core/070-planning.md +13 -0
- package/governance/rules/core/080-config-comments.md +22 -0
- package/governance/rules/framework/200-react.md +51 -0
- package/governance/rules/framework/210-astro.md +41 -0
- package/governance/rules/framework/220-fastapi.md +43 -0
- package/governance/rules/framework/230-nextjs.md +48 -0
- package/governance/rules/framework/250-tailwind.md +32 -0
- package/governance/rules/framework/260-shadcn.md +34 -0
- package/governance/rules/lang/100-typescript.md +40 -0
- package/governance/rules/lang/110-python.md +42 -0
- package/governance/rules/lib/300-testing-ts.md +38 -0
- package/governance/rules/lib/310-zod.md +25 -0
- package/governance/rules/lib/320-tanstack-query.md +32 -0
- package/governance/rules/lib/330-testing-py.md +44 -0
- package/governance/rules/lib/340-pydantic.md +38 -0
- package/governance/rules/lib/350-security-web.md +31 -0
- package/governance/rules/ui/400-ui.md +34 -0
- package/governance/rules/ui/410-a11y.md +44 -0
- package/governance/rules/ui/420-forms.md +34 -0
- package/governance/rules/ui/430-ux-completeness.md +62 -0
- package/governance/stacks/astro.toml +2 -0
- package/governance/stacks/base.toml +2 -0
- package/governance/stacks/node.toml +2 -0
- package/governance/stacks/python-fastapi.toml +2 -0
- package/governance/stacks/python.toml +2 -0
- package/governance/stacks/react.toml +2 -0
- package/package.json +67 -0
- package/scripts/config.sh +11 -0
- package/scripts/core/bootstrap.sh +81 -0
- package/scripts/core/check-plugin-boundary.sh +45 -0
- package/scripts/core/check-skill-paths.sh +25 -0
- package/scripts/core/clean.sh +36 -0
- package/scripts/core/install-check.sh +93 -0
- package/scripts/core/regen-claude-copies.sh +26 -0
- package/scripts/core/regen-indexes.sh +10 -0
- package/scripts/core/regen-skill-references.sh +27 -0
- package/scripts/core/snapshot.sh +132 -0
- package/scripts/core/update.sh +35 -0
- package/scripts/core/verify.sh +201 -0
- package/scripts/docs/list.sh +129 -0
- package/scripts/gov/list.sh +234 -0
- package/scripts/lib/frontmatter.sh +30 -0
- package/scripts/lib/gov.sh +14 -0
- package/scripts/lib/sandbox-fixtures.sh +109 -0
- package/scripts/lib/sandbox-git.sh +73 -0
- package/scripts/lib/tooling.sh +24 -0
- package/scripts/lib/ui.sh +173 -0
- package/scripts/lib/worktree.sh +20 -0
- package/scripts/manage-sandbox.sh +453 -0
- package/scripts/snippets/create.sh +156 -0
- package/scripts/standards/list.sh +91 -0
- package/scripts/tooling/create.sh +109 -0
- package/scripts/tooling/ref.sh +141 -0
- package/scripts/tooling/verify.sh +179 -0
- package/snippets/claude/decision-memo.md +39 -0
- package/snippets/claude/feature-recap.md +19 -0
- package/snippets/claude/figma-steps.md +18 -0
- package/snippets/claude/orchestrator-resume.md +23 -0
- package/snippets/claude/orchestrator-sweep.md +10 -0
- package/snippets/compact-summary.md +5 -0
- package/snippets/create-snippet.md +7 -0
- package/snippets/decision-help.md +6 -0
- package/snippets/meta-prompt.md +14 -0
- package/snippets/research-prompt.md +7 -0
- package/snippets/session-notes.md +11 -0
- package/snippets/snippets.toml +6 -0
- package/snippets/step-by-step.md +10 -0
- package/snippets/web-research.md +21 -0
- package/src/claude/gitignore.ts +51 -0
- package/src/claude/seeds-list.ts +47 -0
- package/src/claude/seeds.ts +124 -0
- package/src/claude/settings.ts +151 -0
- package/src/cli-run.ts +43 -0
- package/src/cli.ts +111 -0
- package/src/commands/claude.ts +349 -0
- package/src/commands/design.ts +39 -0
- package/src/commands/docs.ts +59 -0
- package/src/commands/feedback-format.ts +23 -0
- package/src/commands/feedback.ts +103 -0
- package/src/commands/gov.ts +268 -0
- package/src/commands/indexes.ts +182 -0
- package/src/commands/init.ts +117 -0
- package/src/commands/pass-through.ts +39 -0
- package/src/commands/sandbox.ts +315 -0
- package/src/commands/slides.ts +106 -0
- package/src/commands/snippets.ts +236 -0
- package/src/commands/standards.ts +89 -0
- package/src/commands/sync.ts +211 -0
- package/src/commands/tasks.ts +185 -0
- package/src/commands/tooling.ts +432 -0
- package/src/commands/transcripts.ts +48 -0
- package/src/commands/wiki.ts +101 -0
- package/src/copy.ts +30 -0
- package/src/design/parse.ts +79 -0
- package/src/design/render.ts +170 -0
- package/src/docs/read.ts +59 -0
- package/src/exec.ts +17 -0
- package/src/frontmatter.ts +13 -0
- package/src/github-format.ts +13 -0
- package/src/github.ts +20 -0
- package/src/gov/adapter.ts +73 -0
- package/src/gov/install.ts +103 -0
- package/src/gov/payload.ts +39 -0
- package/src/gov/stacks.ts +124 -0
- package/src/indexes/frontmatter.ts +46 -0
- package/src/indexes/regen.ts +84 -0
- package/src/indexes/render.ts +181 -0
- package/src/indexes/walk.ts +111 -0
- package/src/init/flags.ts +66 -0
- package/src/init/plan.ts +128 -0
- package/src/init/run.ts +46 -0
- package/src/init/steps.ts +91 -0
- package/src/sandbox/coverage.ts +115 -0
- package/src/sandbox/expect.ts +412 -0
- package/src/slides/layouts.ts +391 -0
- package/src/slides/open.ts +18 -0
- package/src/slides/parse.ts +84 -0
- package/src/slides/render.ts +88 -0
- package/src/slides/styles.ts +44 -0
- package/src/snippets/adapter.ts +34 -0
- package/src/snippets/categories.ts +59 -0
- package/src/snippets/install.ts +125 -0
- package/src/snippets/list.ts +32 -0
- package/src/snippets/presets.ts +50 -0
- package/src/standards/adapter.ts +51 -0
- package/src/standards/index-refresh.ts +44 -0
- package/src/standards/install.ts +52 -0
- package/src/sync/check.ts +269 -0
- package/src/sync/engine.ts +416 -0
- package/src/sync/git.ts +204 -0
- package/src/sync/stamp.ts +202 -0
- package/src/sync/target.ts +79 -0
- package/src/sync/workflow.ts +201 -0
- package/src/target.ts +43 -0
- package/src/tasks/archive.ts +304 -0
- package/src/tooling/gitignore.ts +122 -0
- package/src/tooling/inject.ts +214 -0
- package/src/tooling/list.ts +39 -0
- package/src/tooling/manifest.ts +178 -0
- package/src/tooling/package.ts +166 -0
- package/src/tooling/scan.ts +186 -0
- package/src/transcripts/fetch.ts +156 -0
- package/src/transcripts/metadata.ts +54 -0
- package/src/transcripts/vtt.ts +114 -0
- package/src/ui.ts +187 -0
- package/src/wiki/init.ts +85 -0
- package/standards/architecture.md +41 -0
- package/standards/bundled/branch.md +49 -0
- package/standards/bundled/commit.md +63 -0
- package/standards/bundled/issue.md +84 -0
- package/standards/bundled/pr.md +124 -0
- package/standards/bundled/roadmap.md +52 -0
- package/standards/bundled/snippets.md +57 -0
- package/standards/bundled/standard.md +52 -0
- package/standards/context.md +132 -0
- package/standards/design.md +31 -0
- package/standards/diagrams.md +55 -0
- package/standards/index.md +21 -0
- package/standards/prose.md +122 -0
- package/standards/readme.md +163 -0
- package/standards/requirements.md +61 -0
- package/standards/rule.md +79 -0
- package/standards/skill.md +257 -0
- package/standards/tasks.md +140 -0
- package/standards/versioning.md +47 -0
- package/standards/wireframes.md +67 -0
- package/tooling/astro/configs/astro.config.mjs +17 -0
- package/tooling/astro/configs/eslint.config.js +79 -0
- package/tooling/astro/configs/playwright.config.ts +25 -0
- package/tooling/astro/configs/tsconfig.json +12 -0
- package/tooling/astro/configs/vitest.config.ts +22 -0
- package/tooling/astro/manifest.toml +32 -0
- package/tooling/astro/reference.md +60 -0
- package/tooling/base/configs/.editorconfig +5 -0
- package/tooling/base/configs/.github/pull_request_template.md +18 -0
- package/tooling/base/configs/.github/workflows/verify.yml +35 -0
- package/tooling/base/configs/.husky/commit-msg +1 -0
- package/tooling/base/configs/.husky/post-merge +61 -0
- package/tooling/base/configs/.husky/post-rewrite +21 -0
- package/tooling/base/configs/.husky/pre-commit +1 -0
- package/tooling/base/configs/.husky/pre-push +1 -0
- package/tooling/base/configs/.prettierrc +12 -0
- package/tooling/base/configs/.shellcheckrc +1 -0
- package/tooling/base/configs/.vscode/extensions.json +9 -0
- package/tooling/base/configs/.vscode/settings.json +3 -0
- package/tooling/base/configs/commitlint.config.js +11 -0
- package/tooling/base/configs/scripts/clean.sh +45 -0
- package/tooling/base/configs/scripts/update.sh +49 -0
- package/tooling/base/configs/scripts/verify.sh +64 -0
- package/tooling/base/manifest.toml +32 -0
- package/tooling/base/reference.md +114 -0
- package/tooling/base/seeds/.claude/context/ci.md +27 -0
- package/tooling/base/seeds/.claude/context/development.md +32 -0
- package/tooling/base/seeds/.cspell/project-terms.txt +0 -0
- package/tooling/base/seeds/.cspell/tech-stack.txt +19 -0
- package/tooling/base/seeds/.lintstagedrc +8 -0
- package/tooling/base/seeds/.prettierignore +0 -0
- package/tooling/base/seeds/cspell.json +20 -0
- package/tooling/claude/manifest.toml +11 -0
- package/tooling/claude/reference.md +62 -0
- package/tooling/claude/seeds/.claude/ARCHITECTURE.md +13 -0
- package/tooling/claude/seeds/.claude/DESIGN.md +62 -0
- package/tooling/claude/seeds/.claude/REQUIREMENTS.md +18 -0
- package/tooling/claude/seeds/.claude/context/index.md +8 -0
- package/tooling/claude/seeds/.claude/hooks/index-reminder.sh +43 -0
- package/tooling/claude/seeds/.claude/hooks/scratch-guard.sh +45 -0
- package/tooling/claude/seeds/.claude/hooks/standards-audit.sh +61 -0
- package/tooling/claude/seeds/.claude/hooks/tasks-index.sh +60 -0
- package/tooling/claude/seeds/.claude/settings.json +39 -0
- package/tooling/claude/seeds/.claude/tasks/index.md +8 -0
- package/tooling/claude/seeds/.claude/wireframes/index.md +8 -0
- package/tooling/claude/seeds/CLAUDE.md +87 -0
- package/tooling/claude/user/settings.template.json +10 -0
- package/tooling/claude/user/statusline-command.sh +53 -0
- package/tooling/python/configs/.coveragerc +14 -0
- package/tooling/python/configs/.python-version +1 -0
- package/tooling/python/configs/mypy.ini +6 -0
- package/tooling/python/configs/pytest.ini +4 -0
- package/tooling/python/configs/ruff.toml +15 -0
- package/tooling/python/configs/scripts/verify.sh +77 -0
- package/tooling/python/manifest.toml +16 -0
- package/tooling/python/reference.md +66 -0
- package/tooling/python/seeds/.cspell/tech-stack.txt +19 -0
- package/tooling/python/seeds/tests/test_smoke.py +2 -0
- package/tooling/vite-react/configs/playwright.config.ts +25 -0
- package/tooling/vite-react/configs/tsconfig.json +35 -0
- package/tooling/vite-react/configs/vite.config.ts +14 -0
- package/tooling/vite-react/configs/vitest.config.ts +26 -0
- package/tooling/vite-react/manifest.toml +21 -0
- package/tooling/vite-react/reference.md +55 -0
- package/tooling/vite-react/seeds/.cspell/project-terms.txt +1 -0
- package/tooling/vite-react/seeds/.cspell/tech-stack.txt +1 -0
- package/tooling/web/configs/.github/workflows/verify.yml +134 -0
- package/tooling/web/configs/.vscode/extensions.json +13 -0
- package/tooling/web/configs/.vscode/settings.json +10 -0
- package/tooling/web/configs/e2e/home.spec.ts +6 -0
- package/tooling/web/configs/e2e/screenshot.ts +41 -0
- package/tooling/web/configs/eslint.config.js +82 -0
- package/tooling/web/configs/scripts/screenshot.sh +28 -0
- package/tooling/web/configs/scripts/verify.sh +80 -0
- package/tooling/web/configs/src/test/setup.ts +8 -0
- package/tooling/web/manifest.toml +57 -0
- package/tooling/web/reference.md +95 -0
- package/tooling/web/seeds/.cspell/tech-stack.txt +18 -0
- package/tsconfig.json +14 -0
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Readme reference
|
|
3
|
+
description: Readme structure and content conventions
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Readme reference
|
|
7
|
+
|
|
8
|
+
## Structure
|
|
9
|
+
|
|
10
|
+
- H1 title, H2 major sections, H3 subsections. Maintain proper hierarchy for GitHub's auto-generated table of contents.
|
|
11
|
+
- Use sentence case for all headings (proper nouns and product names retain their casing)
|
|
12
|
+
- Project description in plain text directly under H1. Keep it to 2-3 sentences.
|
|
13
|
+
- Do not create deeply nested heading structures that harm scannability
|
|
14
|
+
- Do not use horizontal rules or dividers (`---`)
|
|
15
|
+
|
|
16
|
+
## Sections
|
|
17
|
+
|
|
18
|
+
- Required: project description, installation/setup, usage examples, support/help resources
|
|
19
|
+
- Optional: badges (at top, before description), features, contributing (link to `CONTRIBUTING.md`), license (link to `LICENSE`)
|
|
20
|
+
- Do not include full API documentation. Link to separate docs instead.
|
|
21
|
+
- Do not include license text. Reference the `LICENSE` file.
|
|
22
|
+
- Do not include detailed contribution guidelines. Reference `CONTRIBUTING.md`.
|
|
23
|
+
- Do not include extensive troubleshooting guides. Use a wiki or separate documentation.
|
|
24
|
+
|
|
25
|
+
## Content
|
|
26
|
+
|
|
27
|
+
- Open public-facing READMEs with universal problems any reader recognizes, not repo-specific artifact names. Save artifact names for feature or "What is inside" sections.
|
|
28
|
+
- Use relative paths for repository files. Use absolute URLs for external resources.
|
|
29
|
+
- Include practical usage snippets for core functionality
|
|
30
|
+
- For libraries/tools: include API quickstart
|
|
31
|
+
- For applications/products: include usage instructions and configuration options
|
|
32
|
+
- For CLI tools: include command examples with flags
|
|
33
|
+
|
|
34
|
+
## Examples
|
|
35
|
+
|
|
36
|
+
### Template
|
|
37
|
+
|
|
38
|
+
````markdown
|
|
39
|
+
# Project Name
|
|
40
|
+
|
|
41
|
+
Brief description of what the project does in 2-3 sentences.
|
|
42
|
+
|
|
43
|
+
## Features
|
|
44
|
+
|
|
45
|
+
- Key feature highlighting user benefit
|
|
46
|
+
- Key feature highlighting user benefit
|
|
47
|
+
|
|
48
|
+
## Installation
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
npm install project-name
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## Usage
|
|
55
|
+
|
|
56
|
+
```javascript
|
|
57
|
+
import { feature } from 'project-name'
|
|
58
|
+
|
|
59
|
+
feature.doSomething()
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
## Documentation
|
|
63
|
+
|
|
64
|
+
See the [full documentation](https://docs.example.com) for detailed API reference.
|
|
65
|
+
|
|
66
|
+
## Support
|
|
67
|
+
|
|
68
|
+
- Open an issue for bug reports
|
|
69
|
+
- Check [existing issues](../../issues) before creating new ones
|
|
70
|
+
|
|
71
|
+
## Contributing
|
|
72
|
+
|
|
73
|
+
See the [contributing guidelines](CONTRIBUTING.md).
|
|
74
|
+
|
|
75
|
+
## License
|
|
76
|
+
|
|
77
|
+
[MIT](LICENSE)
|
|
78
|
+
````
|
|
79
|
+
|
|
80
|
+
### Correct
|
|
81
|
+
|
|
82
|
+
````markdown
|
|
83
|
+
# Auth SDK
|
|
84
|
+
|
|
85
|
+
Lightweight authentication library for Node.js with OAuth2 and JWT support.
|
|
86
|
+
|
|
87
|
+
## Features
|
|
88
|
+
|
|
89
|
+
- OAuth2 provider integration (Google, GitHub, Azure)
|
|
90
|
+
- JWT token generation and validation
|
|
91
|
+
- Session management with Redis support
|
|
92
|
+
- TypeScript support with full type definitions
|
|
93
|
+
|
|
94
|
+
## Installation
|
|
95
|
+
|
|
96
|
+
```bash
|
|
97
|
+
npm install auth-sdk
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
## Quick start
|
|
101
|
+
|
|
102
|
+
```javascript
|
|
103
|
+
import { AuthClient } from 'auth-sdk'
|
|
104
|
+
|
|
105
|
+
const client = new AuthClient({
|
|
106
|
+
provider: 'google',
|
|
107
|
+
clientId: process.env.CLIENT_ID,
|
|
108
|
+
})
|
|
109
|
+
|
|
110
|
+
const user = await client.authenticate(code)
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
## Documentation
|
|
114
|
+
|
|
115
|
+
Visit [docs.auth-sdk.dev](https://docs.auth-sdk.dev) for full API reference.
|
|
116
|
+
|
|
117
|
+
## Support
|
|
118
|
+
|
|
119
|
+
- Report bugs via [GitHub Issues](../../issues)
|
|
120
|
+
- Community support on [Discord](https://discord.gg/example)
|
|
121
|
+
|
|
122
|
+
## License
|
|
123
|
+
|
|
124
|
+
[MIT](LICENSE)
|
|
125
|
+
````
|
|
126
|
+
|
|
127
|
+
### Incorrect
|
|
128
|
+
|
|
129
|
+
````markdown
|
|
130
|
+
# Auth SDK
|
|
131
|
+
|
|
132
|
+
This is a seamless and powerful authentication library that allows developers to easily integrate robust OAuth2 functionality.
|
|
133
|
+
|
|
134
|
+
## Why Use This?
|
|
135
|
+
|
|
136
|
+
Basically, this library is just amazing and will revolutionize how you handle auth.
|
|
137
|
+
|
|
138
|
+
## Installation
|
|
139
|
+
|
|
140
|
+
Simply run the following command to install:
|
|
141
|
+
|
|
142
|
+
```bash
|
|
143
|
+
npm install auth-sdk
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
## API Documentation
|
|
147
|
+
|
|
148
|
+
### AuthClient Class
|
|
149
|
+
|
|
150
|
+
#### Constructor
|
|
151
|
+
|
|
152
|
+
constructor(options: AuthOptions)
|
|
153
|
+
|
|
154
|
+
[...full API docs inline, should link to external docs...]
|
|
155
|
+
|
|
156
|
+
## License
|
|
157
|
+
|
|
158
|
+
MIT License
|
|
159
|
+
|
|
160
|
+
Copyright (c) 2026 Example Corp
|
|
161
|
+
|
|
162
|
+
[...full license text, should reference LICENSE file...]
|
|
163
|
+
````
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Requirements reference
|
|
3
|
+
description: Shape and content rules for .claude/REQUIREMENTS.md
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Requirements reference
|
|
7
|
+
|
|
8
|
+
Applies to `.claude/REQUIREMENTS.md`. Describes what the product does and why, not how it works. Update when scope changes, goals shift, or a non-goal is promoted to a feature.
|
|
9
|
+
|
|
10
|
+
## What goes in
|
|
11
|
+
|
|
12
|
+
- The problem being solved and for whom
|
|
13
|
+
- User-facing goals stated as outcomes, not implementation
|
|
14
|
+
- Explicit non-goals that prevent feature creep. Mark deferred items "(deferred)" so they read as paused, not excluded.
|
|
15
|
+
- MVP features as a numbered list: feature name and one-line description
|
|
16
|
+
- Tech stack as a plain list of tools
|
|
17
|
+
- Hard constraints that shape every decision
|
|
18
|
+
|
|
19
|
+
## What does not go in
|
|
20
|
+
|
|
21
|
+
- Implementation details, API names, or internal component references
|
|
22
|
+
- Rationale for tech choices. That belongs in `.claude/ARCHITECTURE.md`.
|
|
23
|
+
- Anything that describes how a feature is built rather than what it does
|
|
24
|
+
|
|
25
|
+
## Sections
|
|
26
|
+
|
|
27
|
+
Use `## Problem`, `## Goals`, `## Non-goals`, `## MVP features`, `## Tech stack`, and `## Constraints`. Add `## Distribution` when the rule below applies. Drop a section rather than pad it with filler.
|
|
28
|
+
|
|
29
|
+
## Lifecycle
|
|
30
|
+
|
|
31
|
+
The MVP list is a historical record of the original scope. Once those features ship it stays as written. Do not renumber it, do not append to it, and do not annotate entries with status. A reader telling the original scope apart from what followed depends on the first one staying legible.
|
|
32
|
+
|
|
33
|
+
Later scope arrives as a new section rather than as an extension of the MVP list. Name the section for what it delivers and state its entries as outcomes, the same way the goals are stated. A roadmap sequences the MVP list alone, so a later scope section is sequenced by a fresh pass rather than folded into the roadmap that already shipped. The roadmap standard sends a project here once its last version ships, and this is the pass it means.
|
|
34
|
+
|
|
35
|
+
## Distribution
|
|
36
|
+
|
|
37
|
+
Include `## Distribution` only when the project ships to consumers outside its own repository. An internal service or a monorepo application has nothing to put in it, and a section every project is told to fill is one most projects pad. Place it after `## MVP features`.
|
|
38
|
+
|
|
39
|
+
State each entry as an outcome the consumer reaches, never as the mechanism that delivers it. A registry name, a manifest format, a version scheme, or a release tool is implementation and belongs in `.claude/ARCHITECTURE.md`. Distribution pulls harder toward mechanism than any other section, which is why the rule is repeated here.
|
|
40
|
+
|
|
41
|
+
## Template
|
|
42
|
+
|
|
43
|
+
```markdown
|
|
44
|
+
# Requirements
|
|
45
|
+
|
|
46
|
+
## Problem
|
|
47
|
+
|
|
48
|
+
## Goals
|
|
49
|
+
|
|
50
|
+
## Non-goals
|
|
51
|
+
|
|
52
|
+
## MVP features
|
|
53
|
+
|
|
54
|
+
1. Feature: description
|
|
55
|
+
|
|
56
|
+
<!-- ## Distribution: include only when shipping outside the repository -->
|
|
57
|
+
|
|
58
|
+
## Tech stack
|
|
59
|
+
|
|
60
|
+
## Constraints
|
|
61
|
+
```
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Governance rule reference
|
|
3
|
+
description: Rule frontmatter, body shape, and voice for .claude/rules files
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Governance rule reference
|
|
7
|
+
|
|
8
|
+
## Overview
|
|
9
|
+
|
|
10
|
+
Rules give Claude Code coding constraints scoped to file paths. Claude Code discovers `.claude/rules/**/*.md` at session start. A rule with no `paths:` field always applies, at the same priority as `CLAUDE.md`. A rule with `paths:` applies when Claude reads a file matching the glob. Author one rule per topic so the scope stays precise.
|
|
11
|
+
|
|
12
|
+
## Location
|
|
13
|
+
|
|
14
|
+
- Rules live at `.claude/rules/<subdirectory>/<n>-<slug>.md`
|
|
15
|
+
- Subdirectories group by domain: `core/`, `lang/`, `framework/`, `lib/`, `ui/`, `claude/`
|
|
16
|
+
- `<n>` is a number in the subdirectory's band and `<slug>` is a one-to-three-word kebab topic
|
|
17
|
+
- Scaffold a rule with a number that collides with neither the project's rules nor any installed shared rule set
|
|
18
|
+
|
|
19
|
+
## Frontmatter
|
|
20
|
+
|
|
21
|
+
- `description` (required): one line naming what the rule enforces and where
|
|
22
|
+
- `paths` (optional): one glob per entry, for a rule scoped to a file set
|
|
23
|
+
- Omit `paths` for an always-on rule that states a global principle with no file scope
|
|
24
|
+
- Do not emit the legacy Cursor keys `globs`, `alwaysApply`, or `priority`. They are not read.
|
|
25
|
+
|
|
26
|
+
```yaml
|
|
27
|
+
---
|
|
28
|
+
description: Enforce strict Python type hints, casing, and import patterns
|
|
29
|
+
paths:
|
|
30
|
+
- '**/*.py'
|
|
31
|
+
---
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## Body
|
|
35
|
+
|
|
36
|
+
- Open with an H1 `# <Topic> standards` in sentence case, then group rules under H2 sections. Proper nouns keep their casing (`# TypeScript standards`, `# Next.js standards`).
|
|
37
|
+
- Use imperative voice for every rule (`Prefix booleans with is`, not `Booleans should be prefixed`)
|
|
38
|
+
- State one rule per bullet as a single directive line
|
|
39
|
+
- State what to do and what not to do. Do not explain the reasoning behind a rule.
|
|
40
|
+
- Phrase a rule as a ban on the forbidden shape when it could otherwise enumerate allowed options, so it stays stable as categories grow
|
|
41
|
+
- Cut any rule that resists crisp one-line phrasing. Vague guidance is worse than none.
|
|
42
|
+
- Keep the file to one topic. A second topic is a second rule file.
|
|
43
|
+
- Do not restate a rule that a sibling rule or `CLAUDE.md` already owns. Point once, never duplicate.
|
|
44
|
+
|
|
45
|
+
## Examples
|
|
46
|
+
|
|
47
|
+
### Correct
|
|
48
|
+
|
|
49
|
+
```markdown
|
|
50
|
+
---
|
|
51
|
+
description: Enforce naming conventions for functions, booleans, and collections
|
|
52
|
+
paths:
|
|
53
|
+
- '**/*.ts'
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
# Naming standards
|
|
57
|
+
|
|
58
|
+
## Semantics
|
|
59
|
+
|
|
60
|
+
- Prefix booleans with `is`, `has`, `should`, or `can`
|
|
61
|
+
- Name functions as actions describing what they do
|
|
62
|
+
- Name collections as plurals and items as singulars
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
### Incorrect
|
|
66
|
+
|
|
67
|
+
```markdown
|
|
68
|
+
---
|
|
69
|
+
description: Naming
|
|
70
|
+
globs: '**/*.ts'
|
|
71
|
+
alwaysApply: false
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
# Naming
|
|
75
|
+
|
|
76
|
+
Good naming matters because it makes code easier to read and maintain, so you
|
|
77
|
+
should always pick descriptive names. Booleans are usually prefixed with is or
|
|
78
|
+
has, and it can also be a good idea to think about collections too.
|
|
79
|
+
```
|
|
@@ -0,0 +1,257 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Claude skill reference
|
|
3
|
+
description: Claude skill structure and authoring rules
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Claude skill reference
|
|
7
|
+
|
|
8
|
+
## Overview
|
|
9
|
+
|
|
10
|
+
Skills give Claude Code domain-specific constraints and rules inline, so it can act immediately without reading all docs. Each skill body contains actionable rules for its domain. Full reference docs are the fallback for edge cases and deeper context. Skills use progressive disclosure: Claude reads only frontmatter at session start (~100 tokens each), matches a query against descriptions, then loads the full skill body.
|
|
11
|
+
|
|
12
|
+
## Skill types
|
|
13
|
+
|
|
14
|
+
Pick the type before writing. It decides the body shape.
|
|
15
|
+
|
|
16
|
+
- Reference: conventions, patterns, and domain knowledge Claude applies inline. The body is rule bullets grouped by concern.
|
|
17
|
+
- Task: step-by-step workflows Claude executes as actions. The body is numbered steps plus the rules constraining them.
|
|
18
|
+
|
|
19
|
+
Reference template:
|
|
20
|
+
|
|
21
|
+
```markdown
|
|
22
|
+
---
|
|
23
|
+
name: <skill-name>
|
|
24
|
+
description: <what it does, when to use it, trigger phrases>
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
# <Topic>
|
|
28
|
+
|
|
29
|
+
## <Concern group>
|
|
30
|
+
|
|
31
|
+
- <actionable constraint>
|
|
32
|
+
- <preference in X over Y form>
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
Task template:
|
|
36
|
+
|
|
37
|
+
```markdown
|
|
38
|
+
---
|
|
39
|
+
name: <skill-name>
|
|
40
|
+
description: <the action and when to use it>
|
|
41
|
+
allowed-tools: <tools required>
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
# <Action name>
|
|
45
|
+
|
|
46
|
+
## Steps
|
|
47
|
+
|
|
48
|
+
1. <action>
|
|
49
|
+
2. <action>
|
|
50
|
+
|
|
51
|
+
## Rules
|
|
52
|
+
|
|
53
|
+
- <constraint on how the steps run>
|
|
54
|
+
- <constraint on output format>
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
## Structure
|
|
58
|
+
|
|
59
|
+
- Skill is a folder named in kebab-case containing `SKILL.md` (required), `REQUIREMENT.md` (optional), `scripts/` (optional), `references/` (optional), `assets/` (optional)
|
|
60
|
+
- `SKILL.md` must start with YAML frontmatter between `---` delimiters
|
|
61
|
+
- No `README.md` inside the skill folder
|
|
62
|
+
- No spaces, capitals, or underscores in folder or skill name
|
|
63
|
+
|
|
64
|
+
## Requirement
|
|
65
|
+
|
|
66
|
+
`REQUIREMENT.md` states what a skill is for, so a proposed change can be argued against something. This standard governs shape across the corpus and the requirement governs scope for one skill. Claude Code loads `SKILL.md` as the entry and ignores the sibling, so the file costs a target session nothing.
|
|
67
|
+
|
|
68
|
+
Read it before editing the skill. When a change closes no gap the requirement states, change the requirement first or drop the change.
|
|
69
|
+
|
|
70
|
+
Write the gaps from what the skill is for, then compare the body against them. Deriving the requirement from the body is circular, because a requirement reverse-engineered from an overfitted skill records the overfitting as the requirement.
|
|
71
|
+
|
|
72
|
+
Not every skill needs one. A body short enough to read as its own specification already answers the questions below, and the file is worth writing when the skill's scope is arguable rather than obvious. Length is a weak proxy for that, since a short skill with a contested boundary earns one and a long skill doing one plain thing may not.
|
|
73
|
+
|
|
74
|
+
### What a working requirement looks like
|
|
75
|
+
|
|
76
|
+
A requirement works when a proposed change to the skill can be settled by reading it alone, without re-deriving what the skill is for:
|
|
77
|
+
|
|
78
|
+
- Does this change close a gap the file states?
|
|
79
|
+
- Does a line already in the body trace to one of those gaps?
|
|
80
|
+
- Does this behavior belong to this skill or to a sibling the file names?
|
|
81
|
+
|
|
82
|
+
A requirement that leaves any of the three open is non-conforming regardless of whether it satisfies every shape rule below. The third question is what makes a requirement worth more than a restated description, because a boundary stated only in prose is never checked against the skill on the other side of it.
|
|
83
|
+
|
|
84
|
+
- State each gap as an observed failure, not an intent. "Without this skill a session invents its own filename" can be shown wrong. "This skill helps manage tasks" cannot fail, so it constrains nothing.
|
|
85
|
+
- Trace everything under `## Must` to a stated gap. A `Must` with no gap behind it is the padding the file exists to prevent.
|
|
86
|
+
- Keep it high level. A requirement that outgrows one file has stopped being a requirement, and `references/` already holds detail.
|
|
87
|
+
- Use `name` and `description` frontmatter, matching `SKILL.md` so the pair is consistent.
|
|
88
|
+
|
|
89
|
+
```markdown
|
|
90
|
+
---
|
|
91
|
+
name: <skill-name>
|
|
92
|
+
description: <one line, distinct from the SKILL.md description>
|
|
93
|
+
---
|
|
94
|
+
|
|
95
|
+
# <Skill name> requirement
|
|
96
|
+
|
|
97
|
+
## Gap
|
|
98
|
+
|
|
99
|
+
Without this skill, a session <observed failure>, <observed failure>.
|
|
100
|
+
|
|
101
|
+
## Must
|
|
102
|
+
|
|
103
|
+
- <behavior that closes a named gap>
|
|
104
|
+
|
|
105
|
+
## Must not
|
|
106
|
+
|
|
107
|
+
- <behavior that would be wrong even though it closes a gap>
|
|
108
|
+
|
|
109
|
+
## Guards
|
|
110
|
+
|
|
111
|
+
- <the refusal condition and its message>
|
|
112
|
+
|
|
113
|
+
## Out of scope
|
|
114
|
+
|
|
115
|
+
- <the adjacent thing this deliberately does not cover, and what covers it>
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
## Frontmatter
|
|
119
|
+
|
|
120
|
+
- `name` (required): kebab-case, matches folder name, no spaces or capitals
|
|
121
|
+
- `description` (required): what it does + when to use it, under 1024 chars, no XML tags
|
|
122
|
+
- `disable-model-invocation: true`: user-invoked only, Claude will not auto-trigger
|
|
123
|
+
- `allowed-tools`: restrict tool access when the skill is active
|
|
124
|
+
- `metadata`: optional key-value pairs (`author`, `version`, `mcp-server`)
|
|
125
|
+
|
|
126
|
+
## Description
|
|
127
|
+
|
|
128
|
+
- Structure: `[What it does] + [When to use it] + [Key trigger phrases]`
|
|
129
|
+
- Include specific phrases users would say to trigger it
|
|
130
|
+
- Be specific, not vague. Claude routes based on this field alone.
|
|
131
|
+
- Add negative triggers if skill is over-triggering: `Do NOT use for X`
|
|
132
|
+
|
|
133
|
+
## Body
|
|
134
|
+
|
|
135
|
+
### Voice and headings
|
|
136
|
+
|
|
137
|
+
- Use imperative voice throughout
|
|
138
|
+
- Use sentence case for all headings (H1, H2, H3)
|
|
139
|
+
|
|
140
|
+
### Rule content and scope
|
|
141
|
+
|
|
142
|
+
- Front-load critical instructions
|
|
143
|
+
- Contain only behavioral rules (what to do, what not to do) and pointers to reference docs. Narrative descriptions of what files are or how the system works belong in `docs/`, not in the skill body.
|
|
144
|
+
- State rules, not inventories. Reference docs for lists that change, and phrase a rule as a ban on the forbidden shape rather than an enumeration of allowed options, so it stays stable as categories change.
|
|
145
|
+
- Cut any rule that resists crisp one-line phrasing. Vague guidance is worse than none.
|
|
146
|
+
- Group bullets under H2 headings by domain concern. Keep dos and don'ts together under the topic they belong to rather than splitting them into flat rules and constraints sections.
|
|
147
|
+
- One actionable constraint per bullet. Prefer the `X over Y` form for preferences.
|
|
148
|
+
- Do not include code examples unless a one to three line inline snippet captures a pattern the model cannot infer.
|
|
149
|
+
- Do not duplicate general knowledge the model already has. Focus on project-specific conventions and preferences.
|
|
150
|
+
|
|
151
|
+
### Progressive disclosure
|
|
152
|
+
|
|
153
|
+
- Keep `SKILL.md` under 5,000 words. Move detailed docs to `references/`.
|
|
154
|
+
- Use progressive disclosure: `SKILL.md` for core instructions, `references/` for detail, `scripts/` for deterministic operations
|
|
155
|
+
- Link to `references/` files explicitly so Claude knows to load them
|
|
156
|
+
|
|
157
|
+
### Reading and running commands
|
|
158
|
+
|
|
159
|
+
- Reference a bundled `references/` or `scripts/` file with `${CLAUDE_SKILL_DIR}/<path>`, never a bare relative path. A bare path resolves against the session cwd and fails when a plugin skill runs from another project. `${CLAUDE_SKILL_DIR}` expands to the skill's own directory at render time and resolves from any cwd.
|
|
160
|
+
- When referencing project files, include "from the project root" in the read instruction
|
|
161
|
+
- When executing multiple independent operations (file reads, shell commands), run them in parallel to reduce latency
|
|
162
|
+
|
|
163
|
+
### Anti-patterns to avoid
|
|
164
|
+
|
|
165
|
+
- Avoid flags that dispatch between alternate flows. The model misreads them and runs the vanilla path. Dry-run-style toggles are fine. For alternate flows, prefer a separate skill or manual invocation of two skills in sequence.
|
|
166
|
+
- When a skill should fire from multiple callers, rely on description matching with strong trigger phrases. Do not hardcode `Skill` calls in sibling skills that could trigger it naturally.
|
|
167
|
+
- Before collapsing a manual multi-step flow into a skill, ask what the manual pauses do. Pauses that carry external timing, error-surfacing, or judgment weight are the feature. Prefer a snippet over a skill, or require explicit per-step confirmation.
|
|
168
|
+
|
|
169
|
+
### Output and tuning
|
|
170
|
+
|
|
171
|
+
- Skill success lines emit the full relative path from the project root (`<dir>/<file>`) for any file written, updated, or deleted. Bare filenames are not clickable in the terminal.
|
|
172
|
+
- Codify a skill's posted or generated output as a fenced template, and keep the body consistent with every capability the frontmatter description names.
|
|
173
|
+
- When a skill gathers user input or pre-seeds a template, attach a concrete proposed default to every question, derived from project context. Accept "use defaults" as a bulk-confirm.
|
|
174
|
+
- Separate correctness axes (routing, sourcing, escalation, decline) from shape axes (line count, formatting, variant sprawl) when tuning a skill. Tighten only on correctness regressions. Do not convert soft caps to hard caps for aesthetic drift when correctness passes.
|
|
175
|
+
|
|
176
|
+
## Scripts
|
|
177
|
+
|
|
178
|
+
- Use `scripts/` for operations that must be deterministic or repetitive
|
|
179
|
+
- Claude executes scripts and receives stdout. Scripts are not loaded into context.
|
|
180
|
+
- Use XML tags in script output for reliable parsing: `<SECTION>content</SECTION>`
|
|
181
|
+
- Use `#!/usr/bin/env bash` shebang
|
|
182
|
+
- Always include `2>/dev/null || echo "FALLBACK"` guards on git and shell commands
|
|
183
|
+
|
|
184
|
+
## Path resolution
|
|
185
|
+
|
|
186
|
+
A skill reads from two roots. Know which one a file lives under before referencing it.
|
|
187
|
+
|
|
188
|
+
- Bundled skill assets (`references/`, `scripts/`, `assets/`) resolve against the skill's own directory in the source clone. Reference them with `${CLAUDE_SKILL_DIR}/<path>`, never a bare relative path, so a plugin skill running from another project still finds them.
|
|
189
|
+
- Installed shared docs (`.claude/rules/`, `.claude/context/`) resolve against the target project cwd, where install placed them. Reference them by that path.
|
|
190
|
+
- Do not hand-copy a standard into a skill. A hand-copied file drifts from its source and belongs to no owner. If a skill must carry its own copy, generate it from the single source and reference it through `${CLAUDE_SKILL_DIR}`, so one owner keeps every copy in sync.
|
|
191
|
+
|
|
192
|
+
### Citing a standard
|
|
193
|
+
|
|
194
|
+
A standard reaches a skill by two routes, and a body that names only the first breaks in a project that installed the plugin without running `aitk standards install`.
|
|
195
|
+
|
|
196
|
+
- Cite `.claude/standards/X.md` first, then name `${CLAUDE_SKILL_DIR}/../../standards/X.md` as the fallback. The plugin ships the whole standards folder beside `skills/`, so the second path resolves in every install.
|
|
197
|
+
- The project copy wins when it exists, which keeps a target's local edits authoritative. The fallback only covers the case where the project lacks that file.
|
|
198
|
+
- Condition the fallback on the standard, never on the `.claude/standards/` directory. `aitk standards sync` updates only filenames it already finds and never adds one, so a project that installed before a standard existed keeps the directory and never receives that file. A directory test passes there, no fallback engages, and the standard reads as absent.
|
|
199
|
+
- State the fallback once per body, at the site that reads the standard. A later mention of a standard the body already read stays bare, since repeating the fallback at every mention is noise rather than instruction.
|
|
200
|
+
- A guard on a standard's presence names the file and tests both paths before it stops. A guard that tests only `.claude/standards/` refuses to run in a plugin-only project that has the file, and a guard that tests the directory passes in the partial-install case it exists to catch.
|
|
201
|
+
- Use `${CLAUDE_SKILL_DIR}`, never a bare `../../` and never `${CLAUDE_PLUGIN_ROOT}`. Only `${CLAUDE_SKILL_DIR}` is expanded before the body reaches the model. The other two leave the model to infer a base path, which it may resolve against the session cwd instead.
|
|
202
|
+
|
|
203
|
+
## Invocation
|
|
204
|
+
|
|
205
|
+
- Skills auto-trigger when Claude matches the request against the description
|
|
206
|
+
- Invoke manually with `/skill-name` or `/<plugin>:skill-name` for plugin skills
|
|
207
|
+
- Plugin skills are namespaced: `plugin-name:skill-name`
|
|
208
|
+
- Priority order when names conflict: enterprise > personal > project > plugin
|
|
209
|
+
|
|
210
|
+
## Execution
|
|
211
|
+
|
|
212
|
+
- Task skills with preview+execute patterns must execute commands immediately after outputting the preview. Do not include "confirm before running" language or pause for user input.
|
|
213
|
+
- Claude Code's tool permission dialog is the confirmation gate. The user hits Enter to approve or Escape to interrupt and revise.
|
|
214
|
+
|
|
215
|
+
## Examples
|
|
216
|
+
|
|
217
|
+
### Correct
|
|
218
|
+
|
|
219
|
+
```markdown
|
|
220
|
+
---
|
|
221
|
+
name: code-review
|
|
222
|
+
description: Reviews code for bugs, clarity, and standards compliance. Use when asking to review code, check a PR, or asking "does this look right".
|
|
223
|
+
---
|
|
224
|
+
|
|
225
|
+
# Code review
|
|
226
|
+
|
|
227
|
+
Before reviewing, read from the project root:
|
|
228
|
+
|
|
229
|
+
- `CLAUDE.md`: project conventions and behavior rules
|
|
230
|
+
- `.claude/rules/`: path-scoped coding rules
|
|
231
|
+
|
|
232
|
+
## Guards
|
|
233
|
+
|
|
234
|
+
- If no file or diff is provided, stop: `❌ No code to review. Provide a file or diff.`
|
|
235
|
+
|
|
236
|
+
## Response format
|
|
237
|
+
|
|
238
|
+
- **Issues found:** <count>
|
|
239
|
+
- **Summary:** <one line>
|
|
240
|
+
|
|
241
|
+
List each issue with file, line, and suggested fix.
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
### Incorrect
|
|
245
|
+
|
|
246
|
+
```markdown
|
|
247
|
+
---
|
|
248
|
+
name: code-review
|
|
249
|
+
description: Handles all code-related tasks in scripts/, src/, and lib/. Also activate when user mentions bugs, refactoring, testing, linting, formatting, or any file ending in .ts .js .py .sh. # path-focused + keyword-stuffed
|
|
250
|
+
---
|
|
251
|
+
|
|
252
|
+
# Code review
|
|
253
|
+
|
|
254
|
+
A good code review should check for bugs, performance issues, security vulnerabilities,
|
|
255
|
+
code style, naming conventions, test coverage, documentation, error handling,
|
|
256
|
+
edge cases, and adherence to SOLID principles... # dumps everything inline instead of referencing standards
|
|
257
|
+
```
|