shirokuma-docs 0.1.0-alpha.1
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 +294 -0
- package/THIRD_PARTY_NOTICES.md +18 -0
- package/bin/shirokuma-docs +2 -0
- package/dist/analyzers/details-test-analysis.d.ts +31 -0
- package/dist/analyzers/details-test-analysis.d.ts.map +1 -0
- package/dist/analyzers/details-test-analysis.js +172 -0
- package/dist/analyzers/details-test-analysis.js.map +1 -0
- package/dist/analyzers/feature-map-builder.d.ts +20 -0
- package/dist/analyzers/feature-map-builder.d.ts.map +1 -0
- package/dist/analyzers/feature-map-builder.js +154 -0
- package/dist/analyzers/feature-map-builder.js.map +1 -0
- package/dist/analyzers/feature-map-references.d.ts +34 -0
- package/dist/analyzers/feature-map-references.d.ts.map +1 -0
- package/dist/analyzers/feature-map-references.js +249 -0
- package/dist/analyzers/feature-map-references.js.map +1 -0
- package/dist/analyzers/reference-analyzer.d.ts +95 -0
- package/dist/analyzers/reference-analyzer.d.ts.map +1 -0
- package/dist/analyzers/reference-analyzer.js +372 -0
- package/dist/analyzers/reference-analyzer.js.map +1 -0
- package/dist/commands/adr.d.ts +26 -0
- package/dist/commands/adr.d.ts.map +1 -0
- package/dist/commands/adr.js +129 -0
- package/dist/commands/adr.js.map +1 -0
- package/dist/commands/api-tools.d.ts +83 -0
- package/dist/commands/api-tools.d.ts.map +1 -0
- package/dist/commands/api-tools.js +771 -0
- package/dist/commands/api-tools.js.map +1 -0
- package/dist/commands/coverage.d.ts +139 -0
- package/dist/commands/coverage.d.ts.map +1 -0
- package/dist/commands/coverage.js +481 -0
- package/dist/commands/coverage.js.map +1 -0
- package/dist/commands/deps.d.ts +24 -0
- package/dist/commands/deps.d.ts.map +1 -0
- package/dist/commands/deps.js +211 -0
- package/dist/commands/deps.js.map +1 -0
- package/dist/commands/details-context.d.ts +38 -0
- package/dist/commands/details-context.d.ts.map +1 -0
- package/dist/commands/details-context.js +193 -0
- package/dist/commands/details-context.js.map +1 -0
- package/dist/commands/details-types.d.ts +315 -0
- package/dist/commands/details-types.d.ts.map +1 -0
- package/dist/commands/details-types.js +7 -0
- package/dist/commands/details-types.js.map +1 -0
- package/dist/commands/details.d.ts +24 -0
- package/dist/commands/details.d.ts.map +1 -0
- package/dist/commands/details.js +299 -0
- package/dist/commands/details.js.map +1 -0
- package/dist/commands/discussion-templates.d.ts +26 -0
- package/dist/commands/discussion-templates.d.ts.map +1 -0
- package/dist/commands/discussion-templates.js +270 -0
- package/dist/commands/discussion-templates.js.map +1 -0
- package/dist/commands/discussions.d.ts +31 -0
- package/dist/commands/discussions.d.ts.map +1 -0
- package/dist/commands/discussions.js +743 -0
- package/dist/commands/discussions.js.map +1 -0
- package/dist/commands/feature-map-types.d.ts +294 -0
- package/dist/commands/feature-map-types.d.ts.map +1 -0
- package/dist/commands/feature-map-types.js +8 -0
- package/dist/commands/feature-map-types.js.map +1 -0
- package/dist/commands/feature-map.d.ts +30 -0
- package/dist/commands/feature-map.d.ts.map +1 -0
- package/dist/commands/feature-map.js +137 -0
- package/dist/commands/feature-map.js.map +1 -0
- package/dist/commands/generate.d.ts +16 -0
- package/dist/commands/generate.d.ts.map +1 -0
- package/dist/commands/generate.js +88 -0
- package/dist/commands/generate.js.map +1 -0
- package/dist/commands/gh-discussions.d.ts +31 -0
- package/dist/commands/gh-discussions.d.ts.map +1 -0
- package/dist/commands/gh-discussions.js +743 -0
- package/dist/commands/gh-discussions.js.map +1 -0
- package/dist/commands/gh-issues-pr.d.ts +74 -0
- package/dist/commands/gh-issues-pr.d.ts.map +1 -0
- package/dist/commands/gh-issues-pr.js +417 -0
- package/dist/commands/gh-issues-pr.js.map +1 -0
- package/dist/commands/gh-issues.d.ts +90 -0
- package/dist/commands/gh-issues.d.ts.map +1 -0
- package/dist/commands/gh-issues.js +1297 -0
- package/dist/commands/gh-issues.js.map +1 -0
- package/dist/commands/gh-projects.d.ts +54 -0
- package/dist/commands/gh-projects.d.ts.map +1 -0
- package/dist/commands/gh-projects.js +966 -0
- package/dist/commands/gh-projects.js.map +1 -0
- package/dist/commands/gh-repo.d.ts +18 -0
- package/dist/commands/gh-repo.d.ts.map +1 -0
- package/dist/commands/gh-repo.js +253 -0
- package/dist/commands/gh-repo.js.map +1 -0
- package/dist/commands/github-data.d.ts +67 -0
- package/dist/commands/github-data.d.ts.map +1 -0
- package/dist/commands/github-data.js +361 -0
- package/dist/commands/github-data.js.map +1 -0
- package/dist/commands/i18n.d.ts +102 -0
- package/dist/commands/i18n.d.ts.map +1 -0
- package/dist/commands/i18n.js +829 -0
- package/dist/commands/i18n.js.map +1 -0
- package/dist/commands/impact.d.ts +14 -0
- package/dist/commands/impact.d.ts.map +1 -0
- package/dist/commands/impact.js +263 -0
- package/dist/commands/impact.js.map +1 -0
- package/dist/commands/init.d.ts +53 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +407 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/issues-pr.d.ts +74 -0
- package/dist/commands/issues-pr.d.ts.map +1 -0
- package/dist/commands/issues-pr.js +417 -0
- package/dist/commands/issues-pr.js.map +1 -0
- package/dist/commands/issues.d.ts +76 -0
- package/dist/commands/issues.d.ts.map +1 -0
- package/dist/commands/issues.js +1285 -0
- package/dist/commands/issues.js.map +1 -0
- package/dist/commands/link-docs.d.ts +21 -0
- package/dist/commands/link-docs.d.ts.map +1 -0
- package/dist/commands/link-docs.js +990 -0
- package/dist/commands/link-docs.js.map +1 -0
- package/dist/commands/lint-annotations.d.ts +28 -0
- package/dist/commands/lint-annotations.d.ts.map +1 -0
- package/dist/commands/lint-annotations.js +511 -0
- package/dist/commands/lint-annotations.js.map +1 -0
- package/dist/commands/lint-code.d.ts +26 -0
- package/dist/commands/lint-code.d.ts.map +1 -0
- package/dist/commands/lint-code.js +428 -0
- package/dist/commands/lint-code.js.map +1 -0
- package/dist/commands/lint-coverage.d.ts +33 -0
- package/dist/commands/lint-coverage.d.ts.map +1 -0
- package/dist/commands/lint-coverage.js +379 -0
- package/dist/commands/lint-coverage.js.map +1 -0
- package/dist/commands/lint-docs.d.ts +23 -0
- package/dist/commands/lint-docs.d.ts.map +1 -0
- package/dist/commands/lint-docs.js +338 -0
- package/dist/commands/lint-docs.js.map +1 -0
- package/dist/commands/lint-structure.d.ts +38 -0
- package/dist/commands/lint-structure.d.ts.map +1 -0
- package/dist/commands/lint-structure.js +350 -0
- package/dist/commands/lint-structure.js.map +1 -0
- package/dist/commands/lint-tests.d.ts +25 -0
- package/dist/commands/lint-tests.d.ts.map +1 -0
- package/dist/commands/lint-tests.js +105 -0
- package/dist/commands/lint-tests.js.map +1 -0
- package/dist/commands/lint-workflow.d.ts +36 -0
- package/dist/commands/lint-workflow.d.ts.map +1 -0
- package/dist/commands/lint-workflow.js +255 -0
- package/dist/commands/lint-workflow.js.map +1 -0
- package/dist/commands/overview.d.ts +21 -0
- package/dist/commands/overview.d.ts.map +1 -0
- package/dist/commands/overview.js +1300 -0
- package/dist/commands/overview.js.map +1 -0
- package/dist/commands/packages.d.ts +107 -0
- package/dist/commands/packages.d.ts.map +1 -0
- package/dist/commands/packages.js +308 -0
- package/dist/commands/packages.js.map +1 -0
- package/dist/commands/portal-nextjs.d.ts +23 -0
- package/dist/commands/portal-nextjs.d.ts.map +1 -0
- package/dist/commands/portal-nextjs.js +336 -0
- package/dist/commands/portal-nextjs.js.map +1 -0
- package/dist/commands/portal.d.ts +24 -0
- package/dist/commands/portal.d.ts.map +1 -0
- package/dist/commands/portal.js +16 -0
- package/dist/commands/portal.js.map +1 -0
- package/dist/commands/projects.d.ts +54 -0
- package/dist/commands/projects.d.ts.map +1 -0
- package/dist/commands/projects.js +969 -0
- package/dist/commands/projects.js.map +1 -0
- package/dist/commands/repo-pairs.d.ts +19 -0
- package/dist/commands/repo-pairs.d.ts.map +1 -0
- package/dist/commands/repo-pairs.js +529 -0
- package/dist/commands/repo-pairs.js.map +1 -0
- package/dist/commands/repo.d.ts +18 -0
- package/dist/commands/repo.d.ts.map +1 -0
- package/dist/commands/repo.js +253 -0
- package/dist/commands/repo.js.map +1 -0
- package/dist/commands/schema.d.ts +49 -0
- package/dist/commands/schema.d.ts.map +1 -0
- package/dist/commands/schema.js +830 -0
- package/dist/commands/schema.js.map +1 -0
- package/dist/commands/screenshots.d.ts +203 -0
- package/dist/commands/screenshots.d.ts.map +1 -0
- package/dist/commands/screenshots.js +1234 -0
- package/dist/commands/screenshots.js.map +1 -0
- package/dist/commands/search-index.d.ts +83 -0
- package/dist/commands/search-index.d.ts.map +1 -0
- package/dist/commands/search-index.js +389 -0
- package/dist/commands/search-index.js.map +1 -0
- package/dist/commands/session.d.ts +153 -0
- package/dist/commands/session.d.ts.map +1 -0
- package/dist/commands/session.js +1243 -0
- package/dist/commands/session.js.map +1 -0
- package/dist/commands/test-cases-types.d.ts +154 -0
- package/dist/commands/test-cases-types.d.ts.map +1 -0
- package/dist/commands/test-cases-types.js +7 -0
- package/dist/commands/test-cases-types.js.map +1 -0
- package/dist/commands/test-cases.d.ts +28 -0
- package/dist/commands/test-cases.d.ts.map +1 -0
- package/dist/commands/test-cases.js +192 -0
- package/dist/commands/test-cases.js.map +1 -0
- package/dist/commands/typedoc.d.ts +21 -0
- package/dist/commands/typedoc.d.ts.map +1 -0
- package/dist/commands/typedoc.js +192 -0
- package/dist/commands/typedoc.js.map +1 -0
- package/dist/commands/update-skills.d.ts +56 -0
- package/dist/commands/update-skills.d.ts.map +1 -0
- package/dist/commands/update-skills.js +599 -0
- package/dist/commands/update-skills.js.map +1 -0
- package/dist/generators/details-entity-pages.d.ts +40 -0
- package/dist/generators/details-entity-pages.d.ts.map +1 -0
- package/dist/generators/details-entity-pages.js +301 -0
- package/dist/generators/details-entity-pages.js.map +1 -0
- package/dist/generators/details-html.d.ts +23 -0
- package/dist/generators/details-html.d.ts.map +1 -0
- package/dist/generators/details-html.js +324 -0
- package/dist/generators/details-html.js.map +1 -0
- package/dist/generators/details-module-page.d.ts +33 -0
- package/dist/generators/details-module-page.d.ts.map +1 -0
- package/dist/generators/details-module-page.js +408 -0
- package/dist/generators/details-module-page.js.map +1 -0
- package/dist/generators/details-styles.d.ts +39 -0
- package/dist/generators/details-styles.d.ts.map +1 -0
- package/dist/generators/details-styles.js +409 -0
- package/dist/generators/details-styles.js.map +1 -0
- package/dist/generators/feature-map-html.d.ts +66 -0
- package/dist/generators/feature-map-html.d.ts.map +1 -0
- package/dist/generators/feature-map-html.js +569 -0
- package/dist/generators/feature-map-html.js.map +1 -0
- package/dist/generators/feature-map-styles.d.ts +39 -0
- package/dist/generators/feature-map-styles.d.ts.map +1 -0
- package/dist/generators/feature-map-styles.js +449 -0
- package/dist/generators/feature-map-styles.js.map +1 -0
- package/dist/generators/test-cases-hierarchy.d.ts +21 -0
- package/dist/generators/test-cases-hierarchy.d.ts.map +1 -0
- package/dist/generators/test-cases-hierarchy.js +336 -0
- package/dist/generators/test-cases-hierarchy.js.map +1 -0
- package/dist/generators/test-cases-main.d.ts +20 -0
- package/dist/generators/test-cases-main.d.ts.map +1 -0
- package/dist/generators/test-cases-main.js +439 -0
- package/dist/generators/test-cases-main.js.map +1 -0
- package/dist/generators/test-cases-styles.d.ts +64 -0
- package/dist/generators/test-cases-styles.d.ts.map +1 -0
- package/dist/generators/test-cases-styles.js +1277 -0
- package/dist/generators/test-cases-styles.js.map +1 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +517 -0
- package/dist/index.js.map +1 -0
- package/dist/lint/annotation-lint.d.ts +198 -0
- package/dist/lint/annotation-lint.d.ts.map +1 -0
- package/dist/lint/annotation-lint.js +510 -0
- package/dist/lint/annotation-lint.js.map +1 -0
- package/dist/lint/annotation-types.d.ts +161 -0
- package/dist/lint/annotation-types.d.ts.map +1 -0
- package/dist/lint/annotation-types.js +31 -0
- package/dist/lint/annotation-types.js.map +1 -0
- package/dist/lint/code-types.d.ts +135 -0
- package/dist/lint/code-types.d.ts.map +1 -0
- package/dist/lint/code-types.js +25 -0
- package/dist/lint/code-types.js.map +1 -0
- package/dist/lint/coverage-types.d.ts +128 -0
- package/dist/lint/coverage-types.d.ts.map +1 -0
- package/dist/lint/coverage-types.js +24 -0
- package/dist/lint/coverage-types.js.map +1 -0
- package/dist/lint/docs-types.d.ts +214 -0
- package/dist/lint/docs-types.d.ts.map +1 -0
- package/dist/lint/docs-types.js +18 -0
- package/dist/lint/docs-types.js.map +1 -0
- package/dist/lint/formatters/index.d.ts +14 -0
- package/dist/lint/formatters/index.d.ts.map +1 -0
- package/dist/lint/formatters/index.js +28 -0
- package/dist/lint/formatters/index.js.map +1 -0
- package/dist/lint/formatters/json.d.ts +11 -0
- package/dist/lint/formatters/json.d.ts.map +1 -0
- package/dist/lint/formatters/json.js +12 -0
- package/dist/lint/formatters/json.js.map +1 -0
- package/dist/lint/formatters/summary.d.ts +11 -0
- package/dist/lint/formatters/summary.d.ts.map +1 -0
- package/dist/lint/formatters/summary.js +37 -0
- package/dist/lint/formatters/summary.js.map +1 -0
- package/dist/lint/formatters/terminal.d.ts +11 -0
- package/dist/lint/formatters/terminal.d.ts.map +1 -0
- package/dist/lint/formatters/terminal.js +99 -0
- package/dist/lint/formatters/terminal.js.map +1 -0
- package/dist/lint/index.d.ts +18 -0
- package/dist/lint/index.d.ts.map +1 -0
- package/dist/lint/index.js +103 -0
- package/dist/lint/index.js.map +1 -0
- package/dist/lint/rules/annotation-required.d.ts +35 -0
- package/dist/lint/rules/annotation-required.d.ts.map +1 -0
- package/dist/lint/rules/annotation-required.js +127 -0
- package/dist/lint/rules/annotation-required.js.map +1 -0
- package/dist/lint/rules/code-rules.d.ts +12 -0
- package/dist/lint/rules/code-rules.d.ts.map +1 -0
- package/dist/lint/rules/code-rules.js +11 -0
- package/dist/lint/rules/code-rules.js.map +1 -0
- package/dist/lint/rules/describe-coverage.d.ts +8 -0
- package/dist/lint/rules/describe-coverage.d.ts.map +1 -0
- package/dist/lint/rules/describe-coverage.js +43 -0
- package/dist/lint/rules/describe-coverage.js.map +1 -0
- package/dist/lint/rules/duplicate-testdoc.d.ts +8 -0
- package/dist/lint/rules/duplicate-testdoc.d.ts.map +1 -0
- package/dist/lint/rules/duplicate-testdoc.js +38 -0
- package/dist/lint/rules/duplicate-testdoc.js.map +1 -0
- package/dist/lint/rules/index.d.ts +29 -0
- package/dist/lint/rules/index.d.ts.map +1 -0
- package/dist/lint/rules/index.js +55 -0
- package/dist/lint/rules/index.js.map +1 -0
- package/dist/lint/rules/server-action-structure.d.ts +37 -0
- package/dist/lint/rules/server-action-structure.d.ts.map +1 -0
- package/dist/lint/rules/server-action-structure.js +151 -0
- package/dist/lint/rules/server-action-structure.js.map +1 -0
- package/dist/lint/rules/skipped-test-report.d.ts +11 -0
- package/dist/lint/rules/skipped-test-report.d.ts.map +1 -0
- package/dist/lint/rules/skipped-test-report.js +31 -0
- package/dist/lint/rules/skipped-test-report.js.map +1 -0
- package/dist/lint/rules/structure-rules.d.ts +67 -0
- package/dist/lint/rules/structure-rules.d.ts.map +1 -0
- package/dist/lint/rules/structure-rules.js +615 -0
- package/dist/lint/rules/structure-rules.js.map +1 -0
- package/dist/lint/rules/testdoc-japanese.d.ts +8 -0
- package/dist/lint/rules/testdoc-japanese.d.ts.map +1 -0
- package/dist/lint/rules/testdoc-japanese.js +31 -0
- package/dist/lint/rules/testdoc-japanese.js.map +1 -0
- package/dist/lint/rules/testdoc-min-length.d.ts +8 -0
- package/dist/lint/rules/testdoc-min-length.d.ts.map +1 -0
- package/dist/lint/rules/testdoc-min-length.js +31 -0
- package/dist/lint/rules/testdoc-min-length.js.map +1 -0
- package/dist/lint/rules/testdoc-required.d.ts +8 -0
- package/dist/lint/rules/testdoc-required.d.ts.map +1 -0
- package/dist/lint/rules/testdoc-required.js +27 -0
- package/dist/lint/rules/testdoc-required.js.map +1 -0
- package/dist/lint/rules/workflow-branch-naming.d.ts +20 -0
- package/dist/lint/rules/workflow-branch-naming.d.ts.map +1 -0
- package/dist/lint/rules/workflow-branch-naming.js +85 -0
- package/dist/lint/rules/workflow-branch-naming.js.map +1 -0
- package/dist/lint/rules/workflow-commit-format.d.ts +27 -0
- package/dist/lint/rules/workflow-commit-format.d.ts.map +1 -0
- package/dist/lint/rules/workflow-commit-format.js +92 -0
- package/dist/lint/rules/workflow-commit-format.js.map +1 -0
- package/dist/lint/rules/workflow-issue-fields.d.ts +24 -0
- package/dist/lint/rules/workflow-issue-fields.d.ts.map +1 -0
- package/dist/lint/rules/workflow-issue-fields.js +89 -0
- package/dist/lint/rules/workflow-issue-fields.js.map +1 -0
- package/dist/lint/rules/workflow-main-protection.d.ts +32 -0
- package/dist/lint/rules/workflow-main-protection.d.ts.map +1 -0
- package/dist/lint/rules/workflow-main-protection.js +114 -0
- package/dist/lint/rules/workflow-main-protection.js.map +1 -0
- package/dist/lint/structure-types.d.ts +216 -0
- package/dist/lint/structure-types.d.ts.map +1 -0
- package/dist/lint/structure-types.js +96 -0
- package/dist/lint/structure-types.js.map +1 -0
- package/dist/lint/types.d.ts +154 -0
- package/dist/lint/types.d.ts.map +1 -0
- package/dist/lint/types.js +21 -0
- package/dist/lint/types.js.map +1 -0
- package/dist/lint/workflow-types.d.ts +90 -0
- package/dist/lint/workflow-types.d.ts.map +1 -0
- package/dist/lint/workflow-types.js +7 -0
- package/dist/lint/workflow-types.js.map +1 -0
- package/dist/md/analyzer/index.d.ts +46 -0
- package/dist/md/analyzer/index.d.ts.map +1 -0
- package/dist/md/analyzer/index.js +288 -0
- package/dist/md/analyzer/index.js.map +1 -0
- package/dist/md/builder/index.d.ts +91 -0
- package/dist/md/builder/index.d.ts.map +1 -0
- package/dist/md/builder/index.js +446 -0
- package/dist/md/builder/index.js.map +1 -0
- package/dist/md/cli/analyze.d.ts +11 -0
- package/dist/md/cli/analyze.d.ts.map +1 -0
- package/dist/md/cli/analyze.js +118 -0
- package/dist/md/cli/analyze.js.map +1 -0
- package/dist/md/cli/build.d.ts +11 -0
- package/dist/md/cli/build.d.ts.map +1 -0
- package/dist/md/cli/build.js +74 -0
- package/dist/md/cli/build.js.map +1 -0
- package/dist/md/cli/extract.d.ts +25 -0
- package/dist/md/cli/extract.d.ts.map +1 -0
- package/dist/md/cli/extract.js +230 -0
- package/dist/md/cli/extract.js.map +1 -0
- package/dist/md/cli/index.d.ts +3 -0
- package/dist/md/cli/index.d.ts.map +1 -0
- package/dist/md/cli/index.js +99 -0
- package/dist/md/cli/index.js.map +1 -0
- package/dist/md/cli/lint.d.ts +11 -0
- package/dist/md/cli/lint.d.ts.map +1 -0
- package/dist/md/cli/lint.js +165 -0
- package/dist/md/cli/lint.js.map +1 -0
- package/dist/md/cli/list.d.ts +16 -0
- package/dist/md/cli/list.d.ts.map +1 -0
- package/dist/md/cli/list.js +85 -0
- package/dist/md/cli/list.js.map +1 -0
- package/dist/md/cli/program.d.ts +11 -0
- package/dist/md/cli/program.d.ts.map +1 -0
- package/dist/md/cli/program.js +104 -0
- package/dist/md/cli/program.js.map +1 -0
- package/dist/md/cli/validate.d.ts +8 -0
- package/dist/md/cli/validate.d.ts.map +1 -0
- package/dist/md/cli/validate.js +82 -0
- package/dist/md/cli/validate.js.map +1 -0
- package/dist/md/constants.d.ts +69 -0
- package/dist/md/constants.d.ts.map +1 -0
- package/dist/md/constants.js +69 -0
- package/dist/md/constants.js.map +1 -0
- package/dist/md/extractor/index.d.ts +57 -0
- package/dist/md/extractor/index.d.ts.map +1 -0
- package/dist/md/extractor/index.js +359 -0
- package/dist/md/extractor/index.js.map +1 -0
- package/dist/md/index.d.ts +26 -0
- package/dist/md/index.d.ts.map +1 -0
- package/dist/md/index.js +30 -0
- package/dist/md/index.js.map +1 -0
- package/dist/md/linter/index.d.ts +20 -0
- package/dist/md/linter/index.d.ts.map +1 -0
- package/dist/md/linter/index.js +412 -0
- package/dist/md/linter/index.js.map +1 -0
- package/dist/md/linter/token-optimizer.d.ts +66 -0
- package/dist/md/linter/token-optimizer.d.ts.map +1 -0
- package/dist/md/linter/token-optimizer.js +292 -0
- package/dist/md/linter/token-optimizer.js.map +1 -0
- package/dist/md/lister/index.d.ts +42 -0
- package/dist/md/lister/index.d.ts.map +1 -0
- package/dist/md/lister/index.js +317 -0
- package/dist/md/lister/index.js.map +1 -0
- package/dist/md/parser/heading-numbers.d.ts +43 -0
- package/dist/md/parser/heading-numbers.d.ts.map +1 -0
- package/dist/md/parser/heading-numbers.js +97 -0
- package/dist/md/parser/heading-numbers.js.map +1 -0
- package/dist/md/parser/section-meta.d.ts +50 -0
- package/dist/md/parser/section-meta.d.ts.map +1 -0
- package/dist/md/parser/section-meta.js +212 -0
- package/dist/md/parser/section-meta.js.map +1 -0
- package/dist/md/parser/template.d.ts +56 -0
- package/dist/md/parser/template.d.ts.map +1 -0
- package/dist/md/parser/template.js +122 -0
- package/dist/md/parser/template.js.map +1 -0
- package/dist/md/plugins/loader.d.ts +15 -0
- package/dist/md/plugins/loader.d.ts.map +1 -0
- package/dist/md/plugins/loader.js +80 -0
- package/dist/md/plugins/loader.js.map +1 -0
- package/dist/md/plugins/normalize-headings.d.ts +43 -0
- package/dist/md/plugins/normalize-headings.d.ts.map +1 -0
- package/dist/md/plugins/normalize-headings.js +51 -0
- package/dist/md/plugins/normalize-headings.js.map +1 -0
- package/dist/md/plugins/normalize-whitespace.d.ts +46 -0
- package/dist/md/plugins/normalize-whitespace.d.ts.map +1 -0
- package/dist/md/plugins/normalize-whitespace.js +86 -0
- package/dist/md/plugins/normalize-whitespace.js.map +1 -0
- package/dist/md/plugins/remove-badges.d.ts +36 -0
- package/dist/md/plugins/remove-badges.d.ts.map +1 -0
- package/dist/md/plugins/remove-badges.js +59 -0
- package/dist/md/plugins/remove-badges.js.map +1 -0
- package/dist/md/plugins/remove-comments.d.ts +27 -0
- package/dist/md/plugins/remove-comments.d.ts.map +1 -0
- package/dist/md/plugins/remove-comments.js +40 -0
- package/dist/md/plugins/remove-comments.js.map +1 -0
- package/dist/md/plugins/remove-duplicates.d.ts +40 -0
- package/dist/md/plugins/remove-duplicates.d.ts.map +1 -0
- package/dist/md/plugins/remove-duplicates.js +72 -0
- package/dist/md/plugins/remove-duplicates.js.map +1 -0
- package/dist/md/plugins/remove-internal-links.d.ts +38 -0
- package/dist/md/plugins/remove-internal-links.d.ts.map +1 -0
- package/dist/md/plugins/remove-internal-links.js +66 -0
- package/dist/md/plugins/remove-internal-links.js.map +1 -0
- package/dist/md/plugins/strip-heading-numbers.d.ts +35 -0
- package/dist/md/plugins/strip-heading-numbers.d.ts.map +1 -0
- package/dist/md/plugins/strip-heading-numbers.js +59 -0
- package/dist/md/plugins/strip-heading-numbers.js.map +1 -0
- package/dist/md/plugins/strip-section-meta.d.ts +37 -0
- package/dist/md/plugins/strip-section-meta.d.ts.map +1 -0
- package/dist/md/plugins/strip-section-meta.js +62 -0
- package/dist/md/plugins/strip-section-meta.js.map +1 -0
- package/dist/md/types/config.d.ts +748 -0
- package/dist/md/types/config.d.ts.map +1 -0
- package/dist/md/types/config.js +156 -0
- package/dist/md/types/config.js.map +1 -0
- package/dist/md/types/document.d.ts +37 -0
- package/dist/md/types/document.d.ts.map +1 -0
- package/dist/md/types/document.js +2 -0
- package/dist/md/types/document.js.map +1 -0
- package/dist/md/types/validation.d.ts +107 -0
- package/dist/md/types/validation.d.ts.map +1 -0
- package/dist/md/types/validation.js +2 -0
- package/dist/md/types/validation.js.map +1 -0
- package/dist/md/utils/code-blocks.d.ts +136 -0
- package/dist/md/utils/code-blocks.d.ts.map +1 -0
- package/dist/md/utils/code-blocks.js +178 -0
- package/dist/md/utils/code-blocks.js.map +1 -0
- package/dist/md/utils/config.d.ts +10 -0
- package/dist/md/utils/config.d.ts.map +1 -0
- package/dist/md/utils/config.js +99 -0
- package/dist/md/utils/config.js.map +1 -0
- package/dist/md/utils/file-collector.d.ts +78 -0
- package/dist/md/utils/file-collector.d.ts.map +1 -0
- package/dist/md/utils/file-collector.js +100 -0
- package/dist/md/utils/file-collector.js.map +1 -0
- package/dist/md/utils/markdown.d.ts +18 -0
- package/dist/md/utils/markdown.d.ts.map +1 -0
- package/dist/md/utils/markdown.js +93 -0
- package/dist/md/utils/markdown.js.map +1 -0
- package/dist/md/utils/remark.d.ts +91 -0
- package/dist/md/utils/remark.d.ts.map +1 -0
- package/dist/md/utils/remark.js +125 -0
- package/dist/md/utils/remark.js.map +1 -0
- package/dist/md/utils/tokens.d.ts +9 -0
- package/dist/md/utils/tokens.d.ts.map +1 -0
- package/dist/md/utils/tokens.js +31 -0
- package/dist/md/utils/tokens.js.map +1 -0
- package/dist/md/validator/index.d.ts +40 -0
- package/dist/md/validator/index.d.ts.map +1 -0
- package/dist/md/validator/index.js +289 -0
- package/dist/md/validator/index.js.map +1 -0
- package/dist/parsers/details-jsdoc.d.ts +46 -0
- package/dist/parsers/details-jsdoc.d.ts.map +1 -0
- package/dist/parsers/details-jsdoc.js +262 -0
- package/dist/parsers/details-jsdoc.js.map +1 -0
- package/dist/parsers/details-zod.d.ts +22 -0
- package/dist/parsers/details-zod.d.ts.map +1 -0
- package/dist/parsers/details-zod.js +145 -0
- package/dist/parsers/details-zod.js.map +1 -0
- package/dist/parsers/drizzle-schema.d.ts +92 -0
- package/dist/parsers/drizzle-schema.d.ts.map +1 -0
- package/dist/parsers/drizzle-schema.js +376 -0
- package/dist/parsers/drizzle-schema.js.map +1 -0
- package/dist/parsers/feature-map-tags.d.ts +45 -0
- package/dist/parsers/feature-map-tags.d.ts.map +1 -0
- package/dist/parsers/feature-map-tags.js +292 -0
- package/dist/parsers/feature-map-tags.js.map +1 -0
- package/dist/parsers/feature-map-type-extraction.d.ts +62 -0
- package/dist/parsers/feature-map-type-extraction.d.ts.map +1 -0
- package/dist/parsers/feature-map-type-extraction.js +347 -0
- package/dist/parsers/feature-map-type-extraction.js.map +1 -0
- package/dist/parsers/feature-map-utils.d.ts +34 -0
- package/dist/parsers/feature-map-utils.d.ts.map +1 -0
- package/dist/parsers/feature-map-utils.js +101 -0
- package/dist/parsers/feature-map-utils.js.map +1 -0
- package/dist/parsers/jsdoc-common.d.ts +209 -0
- package/dist/parsers/jsdoc-common.d.ts.map +1 -0
- package/dist/parsers/jsdoc-common.js +655 -0
- package/dist/parsers/jsdoc-common.js.map +1 -0
- package/dist/parsers/jsdoc.d.ts +76 -0
- package/dist/parsers/jsdoc.d.ts.map +1 -0
- package/dist/parsers/jsdoc.js +238 -0
- package/dist/parsers/jsdoc.js.map +1 -0
- package/dist/parsers/screenshot-annotations.d.ts +96 -0
- package/dist/parsers/screenshot-annotations.d.ts.map +1 -0
- package/dist/parsers/screenshot-annotations.js +227 -0
- package/dist/parsers/screenshot-annotations.js.map +1 -0
- package/dist/parsers/test-annotations.d.ts +46 -0
- package/dist/parsers/test-annotations.d.ts.map +1 -0
- package/dist/parsers/test-annotations.js +393 -0
- package/dist/parsers/test-annotations.js.map +1 -0
- package/dist/parsers/test-categorization.d.ts +42 -0
- package/dist/parsers/test-categorization.d.ts.map +1 -0
- package/dist/parsers/test-categorization.js +182 -0
- package/dist/parsers/test-categorization.js.map +1 -0
- package/dist/parsers/zod-schema.d.ts +105 -0
- package/dist/parsers/zod-schema.d.ts.map +1 -0
- package/dist/parsers/zod-schema.js +270 -0
- package/dist/parsers/zod-schema.js.map +1 -0
- package/dist/utils/action-inference.d.ts +23 -0
- package/dist/utils/action-inference.d.ts.map +1 -0
- package/dist/utils/action-inference.js +36 -0
- package/dist/utils/action-inference.js.map +1 -0
- package/dist/utils/app-inference.d.ts +31 -0
- package/dist/utils/app-inference.d.ts.map +1 -0
- package/dist/utils/app-inference.js +41 -0
- package/dist/utils/app-inference.js.map +1 -0
- package/dist/utils/auto-infer.d.ts +93 -0
- package/dist/utils/auto-infer.d.ts.map +1 -0
- package/dist/utils/auto-infer.js +184 -0
- package/dist/utils/auto-infer.js.map +1 -0
- package/dist/utils/config.d.ts +709 -0
- package/dist/utils/config.d.ts.map +1 -0
- package/dist/utils/config.js +504 -0
- package/dist/utils/config.js.map +1 -0
- package/dist/utils/file.d.ts +46 -0
- package/dist/utils/file.d.ts.map +1 -0
- package/dist/utils/file.js +103 -0
- package/dist/utils/file.js.map +1 -0
- package/dist/utils/formatters.d.ts +111 -0
- package/dist/utils/formatters.d.ts.map +1 -0
- package/dist/utils/formatters.js +164 -0
- package/dist/utils/formatters.js.map +1 -0
- package/dist/utils/gh-config.d.ts +99 -0
- package/dist/utils/gh-config.d.ts.map +1 -0
- package/dist/utils/gh-config.js +247 -0
- package/dist/utils/gh-config.js.map +1 -0
- package/dist/utils/github.d.ts +98 -0
- package/dist/utils/github.d.ts.map +1 -0
- package/dist/utils/github.js +295 -0
- package/dist/utils/github.js.map +1 -0
- package/dist/utils/html.d.ts +107 -0
- package/dist/utils/html.d.ts.map +1 -0
- package/dist/utils/html.js +376 -0
- package/dist/utils/html.js.map +1 -0
- package/dist/utils/i18n.d.ts +40 -0
- package/dist/utils/i18n.d.ts.map +1 -0
- package/dist/utils/i18n.js +148 -0
- package/dist/utils/i18n.js.map +1 -0
- package/dist/utils/logger.d.ts +20 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +49 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/project-fields.d.ts +71 -0
- package/dist/utils/project-fields.d.ts.map +1 -0
- package/dist/utils/project-fields.js +318 -0
- package/dist/utils/project-fields.js.map +1 -0
- package/dist/utils/repo-pairs.d.ts +94 -0
- package/dist/utils/repo-pairs.d.ts.map +1 -0
- package/dist/utils/repo-pairs.js +196 -0
- package/dist/utils/repo-pairs.js.map +1 -0
- package/dist/utils/route-inference.d.ts +81 -0
- package/dist/utils/route-inference.d.ts.map +1 -0
- package/dist/utils/route-inference.js +137 -0
- package/dist/utils/route-inference.js.map +1 -0
- package/dist/utils/setup-check.d.ts +34 -0
- package/dist/utils/setup-check.d.ts.map +1 -0
- package/dist/utils/setup-check.js +136 -0
- package/dist/utils/setup-check.js.map +1 -0
- package/dist/utils/shirokumaignore.d.ts +55 -0
- package/dist/utils/shirokumaignore.d.ts.map +1 -0
- package/dist/utils/shirokumaignore.js +94 -0
- package/dist/utils/shirokumaignore.js.map +1 -0
- package/dist/utils/skills-repo.d.ts +309 -0
- package/dist/utils/skills-repo.d.ts.map +1 -0
- package/dist/utils/skills-repo.js +704 -0
- package/dist/utils/skills-repo.js.map +1 -0
- package/dist/utils/status-workflow.d.ts +54 -0
- package/dist/utils/status-workflow.d.ts.map +1 -0
- package/dist/utils/status-workflow.js +103 -0
- package/dist/utils/status-workflow.js.map +1 -0
- package/dist/validators/frontmatter.d.ts +41 -0
- package/dist/validators/frontmatter.d.ts.map +1 -0
- package/dist/validators/frontmatter.js +117 -0
- package/dist/validators/frontmatter.js.map +1 -0
- package/dist/validators/link-checker.d.ts +48 -0
- package/dist/validators/link-checker.d.ts.map +1 -0
- package/dist/validators/link-checker.js +108 -0
- package/dist/validators/link-checker.js.map +1 -0
- package/dist/validators/markdown-structure.d.ts +50 -0
- package/dist/validators/markdown-structure.d.ts.map +1 -0
- package/dist/validators/markdown-structure.js +253 -0
- package/dist/validators/markdown-structure.js.map +1 -0
- package/i18n/cli/en.json +155 -0
- package/i18n/cli/ja.json +155 -0
- package/i18n/discussion/en.json +191 -0
- package/i18n/discussion/ja.json +191 -0
- package/package.json +111 -0
- package/plugin/.claude-plugin/marketplace.json +25 -0
- package/plugin/shirokuma-hooks/.claude-plugin/plugin.json +17 -0
- package/plugin/shirokuma-hooks/hooks/blocked-commands.json +41 -0
- package/plugin/shirokuma-hooks/hooks/hooks.json +24 -0
- package/plugin/shirokuma-hooks/hooks/scripts/backup-handover.sh +65 -0
- package/plugin/shirokuma-hooks/hooks/scripts/block-destructive-commands.sh +87 -0
- package/plugin/shirokuma-skills-en/.claude-plugin/plugin.json +21 -0
- package/plugin/shirokuma-skills-en/rules/best-practices-first.md +154 -0
- package/plugin/shirokuma-skills-en/rules/config-authoring-flow.md +39 -0
- package/plugin/shirokuma-skills-en/rules/git-commit-style.md +58 -0
- package/plugin/shirokuma-skills-en/rules/github/.gitkeep +0 -0
- package/plugin/shirokuma-skills-en/rules/github/branch-workflow.md +313 -0
- package/plugin/shirokuma-skills-en/rules/github/discussions-usage.md +129 -0
- package/plugin/shirokuma-skills-en/rules/github/output-language.md +14 -0
- package/plugin/shirokuma-skills-en/rules/github/pr-review-response.md +37 -0
- package/plugin/shirokuma-skills-en/rules/github/project-items.md +276 -0
- package/plugin/shirokuma-skills-en/rules/memory-operations.md +38 -0
- package/plugin/shirokuma-skills-en/rules/nextjs/known-issues.md +59 -0
- package/plugin/shirokuma-skills-en/rules/nextjs/lib-structure.md +48 -0
- package/plugin/shirokuma-skills-en/rules/nextjs/radix-ui-hydration.md +30 -0
- package/plugin/shirokuma-skills-en/rules/nextjs/server-actions.md +50 -0
- package/plugin/shirokuma-skills-en/rules/nextjs/tailwind-v4.md +43 -0
- package/plugin/shirokuma-skills-en/rules/nextjs/tech-stack.md +43 -0
- package/plugin/shirokuma-skills-en/rules/nextjs/testing.md +66 -0
- package/plugin/shirokuma-skills-en/rules/output-destinations.md +112 -0
- package/plugin/shirokuma-skills-en/rules/shirokuma-docs/cli-invocation.md +15 -0
- package/plugin/shirokuma-skills-en/rules/shirokuma-docs/plugin-cache.md +54 -0
- package/plugin/shirokuma-skills-en/rules/shirokuma-docs/shirokuma-annotations.md +78 -0
- package/plugin/shirokuma-skills-en/rules/skill-authoring.md +168 -0
- package/plugin/shirokuma-skills-en/skills/.gitkeep +0 -0
- package/plugin/shirokuma-skills-en/skills/best-practices-researching/SKILL.md +144 -0
- package/plugin/shirokuma-skills-en/skills/claude-config-reviewing/SKILL.md +210 -0
- package/plugin/shirokuma-skills-en/skills/codebase-rule-discovery/SKILL.md +208 -0
- package/plugin/shirokuma-skills-en/skills/codebase-rule-discovery/patterns/discovery-categories.md +191 -0
- package/plugin/shirokuma-skills-en/skills/codebase-rule-discovery/templates/convention-proposal.md +138 -0
- package/plugin/shirokuma-skills-en/skills/codebase-rule-discovery/templates/rule-proposal.md +148 -0
- package/plugin/shirokuma-skills-en/skills/codebase-rule-discovery/workflows/analyze-codebase.md +212 -0
- package/plugin/shirokuma-skills-en/skills/committing-on-issue/SKILL.md +227 -0
- package/plugin/shirokuma-skills-en/skills/creating-pr-on-issue/SKILL.md +225 -0
- package/plugin/shirokuma-skills-en/skills/ending-session/SKILL.md +232 -0
- package/plugin/shirokuma-skills-en/skills/ending-session/templates/handover-template.md +75 -0
- package/plugin/shirokuma-skills-en/skills/frontend-designing/SKILL.md +271 -0
- package/plugin/shirokuma-skills-en/skills/frontend-designing/reference/reference.md +544 -0
- package/plugin/shirokuma-skills-en/skills/github-project-setup/SKILL.md +206 -0
- package/plugin/shirokuma-skills-en/skills/github-project-setup/reference/custom-fields.md +42 -0
- package/plugin/shirokuma-skills-en/skills/github-project-setup/reference/issue-types.md +85 -0
- package/plugin/shirokuma-skills-en/skills/github-project-setup/reference/labels.md +86 -0
- package/plugin/shirokuma-skills-en/skills/github-project-setup/reference/status-options.md +69 -0
- package/plugin/shirokuma-skills-en/skills/github-project-setup/scripts/locales/en.json +35 -0
- package/plugin/shirokuma-skills-en/skills/github-project-setup/scripts/locales/ja.json +35 -0
- package/plugin/shirokuma-skills-en/skills/github-project-setup/scripts/setup-project.py +226 -0
- package/plugin/shirokuma-skills-en/skills/managing-agents/SKILL.md +290 -0
- package/plugin/shirokuma-skills-en/skills/managing-agents/best-practices-advanced.md +326 -0
- package/plugin/shirokuma-skills-en/skills/managing-agents/best-practices.md +276 -0
- package/plugin/shirokuma-skills-en/skills/managing-agents/design-patterns.md +574 -0
- package/plugin/shirokuma-skills-en/skills/managing-agents/documentation-structure.md +214 -0
- package/plugin/shirokuma-skills-en/skills/managing-agents/examples.md +558 -0
- package/plugin/shirokuma-skills-en/skills/managing-agents/reference.md +522 -0
- package/plugin/shirokuma-skills-en/skills/managing-agents/templates/complex-agent.md +69 -0
- package/plugin/shirokuma-skills-en/skills/managing-agents/templates/creator-checker-pair.md +149 -0
- package/plugin/shirokuma-skills-en/skills/managing-agents/templates/simple-agent.md +43 -0
- package/plugin/shirokuma-skills-en/skills/managing-github-items/SKILL.md +50 -0
- package/plugin/shirokuma-skills-en/skills/managing-github-items/reference/create-item.md +82 -0
- package/plugin/shirokuma-skills-en/skills/managing-github-items/reference/create-spec.md +68 -0
- package/plugin/shirokuma-skills-en/skills/managing-github-items/reference/github-operations.md +163 -0
- package/plugin/shirokuma-skills-en/skills/managing-output-styles/SKILL.md +237 -0
- package/plugin/shirokuma-skills-en/skills/managing-output-styles/examples.md +762 -0
- package/plugin/shirokuma-skills-en/skills/managing-output-styles/reference.md +417 -0
- package/plugin/shirokuma-skills-en/skills/managing-plugins/SKILL.md +397 -0
- package/plugin/shirokuma-skills-en/skills/managing-plugins/examples-advanced.md +562 -0
- package/plugin/shirokuma-skills-en/skills/managing-plugins/examples.md +552 -0
- package/plugin/shirokuma-skills-en/skills/managing-plugins/reference.md +786 -0
- package/plugin/shirokuma-skills-en/skills/managing-rules/SKILL.md +365 -0
- package/plugin/shirokuma-skills-en/skills/managing-rules/templates/path-rule.md.template +27 -0
- package/plugin/shirokuma-skills-en/skills/managing-rules/templates/rule.md.template +15 -0
- package/plugin/shirokuma-skills-en/skills/managing-rules/templates/tech-stack.md.template +32 -0
- package/plugin/shirokuma-skills-en/skills/managing-skills/README.md +377 -0
- package/plugin/shirokuma-skills-en/skills/managing-skills/SKILL.md +418 -0
- package/plugin/shirokuma-skills-en/skills/managing-skills/architecture.md +1009 -0
- package/plugin/shirokuma-skills-en/skills/managing-skills/best-practices-testing.md +354 -0
- package/plugin/shirokuma-skills-en/skills/managing-skills/best-practices-writing.md +325 -0
- package/plugin/shirokuma-skills-en/skills/managing-skills/best-practices.md +334 -0
- package/plugin/shirokuma-skills-en/skills/managing-skills/examples.md +1024 -0
- package/plugin/shirokuma-skills-en/skills/managing-skills/reference-output-patterns.md +89 -0
- package/plugin/shirokuma-skills-en/skills/managing-skills/reference-platform.md +482 -0
- package/plugin/shirokuma-skills-en/skills/managing-skills/reference-workflows.md +98 -0
- package/plugin/shirokuma-skills-en/skills/managing-skills/reference.md +747 -0
- package/plugin/shirokuma-skills-en/skills/managing-skills/scripts/LICENSE.txt +191 -0
- package/plugin/shirokuma-skills-en/skills/managing-skills/scripts/init_skill.py +184 -0
- package/plugin/shirokuma-skills-en/skills/managing-skills/scripts/package_skill.py +109 -0
- package/plugin/shirokuma-skills-en/skills/managing-skills/scripts/quick_validate.py +128 -0
- package/plugin/shirokuma-skills-en/skills/managing-skills/updating-skills.md +675 -0
- package/plugin/shirokuma-skills-en/skills/nextjs-vibe-coding/SKILL.md +316 -0
- package/plugin/shirokuma-skills-en/skills/nextjs-vibe-coding/patterns/better-auth.md +185 -0
- package/plugin/shirokuma-skills-en/skills/nextjs-vibe-coding/patterns/code-patterns.md +335 -0
- package/plugin/shirokuma-skills-en/skills/nextjs-vibe-coding/patterns/coding-conventions.md +324 -0
- package/plugin/shirokuma-skills-en/skills/nextjs-vibe-coding/patterns/csp.md +97 -0
- package/plugin/shirokuma-skills-en/skills/nextjs-vibe-coding/patterns/csrf-protection.md +153 -0
- package/plugin/shirokuma-skills-en/skills/nextjs-vibe-coding/patterns/documentation.md +220 -0
- package/plugin/shirokuma-skills-en/skills/nextjs-vibe-coding/patterns/drizzle-orm.md +314 -0
- package/plugin/shirokuma-skills-en/skills/nextjs-vibe-coding/patterns/e2e-testing.md +826 -0
- package/plugin/shirokuma-skills-en/skills/nextjs-vibe-coding/patterns/image-optimization.md +227 -0
- package/plugin/shirokuma-skills-en/skills/nextjs-vibe-coding/patterns/radix-ui-hydration.md +79 -0
- package/plugin/shirokuma-skills-en/skills/nextjs-vibe-coding/patterns/rate-limiting.md +188 -0
- package/plugin/shirokuma-skills-en/skills/nextjs-vibe-coding/patterns/tailwind-v4.md +43 -0
- package/plugin/shirokuma-skills-en/skills/nextjs-vibe-coding/patterns/testing.md +298 -0
- package/plugin/shirokuma-skills-en/skills/nextjs-vibe-coding/reference/checklists.md +76 -0
- package/plugin/shirokuma-skills-en/skills/nextjs-vibe-coding/reference/large-scale.md +141 -0
- package/plugin/shirokuma-skills-en/skills/nextjs-vibe-coding/reference/reference.md +171 -0
- package/plugin/shirokuma-skills-en/skills/nextjs-vibe-coding/reference/report-template.md +53 -0
- package/plugin/shirokuma-skills-en/skills/nextjs-vibe-coding/templates/README.md +108 -0
- package/plugin/shirokuma-skills-en/skills/nextjs-vibe-coding/templates/component.test.tsx.template +245 -0
- package/plugin/shirokuma-skills-en/skills/nextjs-vibe-coding/templates/delete-button.tsx.template +86 -0
- package/plugin/shirokuma-skills-en/skills/nextjs-vibe-coding/templates/form-component.tsx.template +142 -0
- package/plugin/shirokuma-skills-en/skills/nextjs-vibe-coding/templates/messages-split/common.json.template +46 -0
- package/plugin/shirokuma-skills-en/skills/nextjs-vibe-coding/templates/messages-split/errors.json.template +29 -0
- package/plugin/shirokuma-skills-en/skills/nextjs-vibe-coding/templates/messages-split/feature.json.template +46 -0
- package/plugin/shirokuma-skills-en/skills/nextjs-vibe-coding/templates/messages-split/index.ts.template +26 -0
- package/plugin/shirokuma-skills-en/skills/nextjs-vibe-coding/templates/page-edit.tsx.template +43 -0
- package/plugin/shirokuma-skills-en/skills/nextjs-vibe-coding/templates/page-list.tsx.template +133 -0
- package/plugin/shirokuma-skills-en/skills/nextjs-vibe-coding/templates/page-new.tsx.template +27 -0
- package/plugin/shirokuma-skills-en/skills/nextjs-vibe-coding/templates/server-action-split/index.ts.template +19 -0
- package/plugin/shirokuma-skills-en/skills/nextjs-vibe-coding/templates/server-action-split/mutations.ts.template +196 -0
- package/plugin/shirokuma-skills-en/skills/nextjs-vibe-coding/templates/server-action-split/queries.ts.template +134 -0
- package/plugin/shirokuma-skills-en/skills/nextjs-vibe-coding/templates/server-action-split/types.ts.template +60 -0
- package/plugin/shirokuma-skills-en/skills/nextjs-vibe-coding/templates/server-action.md +345 -0
- package/plugin/shirokuma-skills-en/skills/nextjs-vibe-coding/templates/server-action.test.ts.template +267 -0
- package/plugin/shirokuma-skills-en/skills/nextjs-vibe-coding/templates/server-action.ts.template +218 -0
- package/plugin/shirokuma-skills-en/skills/nextjs-vibe-coding/templates/translations.ja.json.template +35 -0
- package/plugin/shirokuma-skills-en/skills/nextjs-vibe-coding/templates/translations.json.template +35 -0
- package/plugin/shirokuma-skills-en/skills/planning-on-issue/SKILL.md +310 -0
- package/plugin/shirokuma-skills-en/skills/project-config-generator/SKILL.md +301 -0
- package/plugin/shirokuma-skills-en/skills/project-config-generator/templates/discussion-templates/en/adr.yml +75 -0
- package/plugin/shirokuma-skills-en/skills/project-config-generator/templates/discussion-templates/en/handovers.yml +62 -0
- package/plugin/shirokuma-skills-en/skills/project-config-generator/templates/discussion-templates/en/knowledge.yml +66 -0
- package/plugin/shirokuma-skills-en/skills/project-config-generator/templates/discussion-templates/en/research.yml +71 -0
- package/plugin/shirokuma-skills-en/skills/project-config-generator/templates/discussion-templates/ja/adr.yml +75 -0
- package/plugin/shirokuma-skills-en/skills/project-config-generator/templates/discussion-templates/ja/handovers.yml +62 -0
- package/plugin/shirokuma-skills-en/skills/project-config-generator/templates/discussion-templates/ja/knowledge.yml +66 -0
- package/plugin/shirokuma-skills-en/skills/project-config-generator/templates/discussion-templates/ja/research.yml +71 -0
- package/plugin/shirokuma-skills-en/skills/project-config-generator/templates/github-discussions.md.template +161 -0
- package/plugin/shirokuma-skills-en/skills/project-config-generator/templates/known-issues.md.template +54 -0
- package/plugin/shirokuma-skills-en/skills/project-config-generator/templates/lib-structure.md.template +73 -0
- package/plugin/shirokuma-skills-en/skills/project-config-generator/templates/tech-stack.md.template +51 -0
- package/plugin/shirokuma-skills-en/skills/publishing/SKILL.md +227 -0
- package/plugin/shirokuma-skills-en/skills/reviewing-on-issue/SKILL.md +506 -0
- package/plugin/shirokuma-skills-en/skills/reviewing-on-issue/criteria/code-quality.md +303 -0
- package/plugin/shirokuma-skills-en/skills/reviewing-on-issue/criteria/coding-conventions.md +419 -0
- package/plugin/shirokuma-skills-en/skills/reviewing-on-issue/criteria/security.md +266 -0
- package/plugin/shirokuma-skills-en/skills/reviewing-on-issue/criteria/testing.md +439 -0
- package/plugin/shirokuma-skills-en/skills/reviewing-on-issue/docs/setup/auth-setup.md +295 -0
- package/plugin/shirokuma-skills-en/skills/reviewing-on-issue/docs/setup/database-setup.md +284 -0
- package/plugin/shirokuma-skills-en/skills/reviewing-on-issue/docs/setup/infra-setup.md +222 -0
- package/plugin/shirokuma-skills-en/skills/reviewing-on-issue/docs/setup/project-init.md +176 -0
- package/plugin/shirokuma-skills-en/skills/reviewing-on-issue/docs/setup/styling-setup.md +324 -0
- package/plugin/shirokuma-skills-en/skills/reviewing-on-issue/docs/workflows/annotation-consistency.md +256 -0
- package/plugin/shirokuma-skills-en/skills/reviewing-on-issue/docs/workflows/shirokuma-docs-verification.md +219 -0
- package/plugin/shirokuma-skills-en/skills/reviewing-on-issue/patterns/account-lockout.md +177 -0
- package/plugin/shirokuma-skills-en/skills/reviewing-on-issue/patterns/audit-logging.md +374 -0
- package/plugin/shirokuma-skills-en/skills/reviewing-on-issue/patterns/better-auth.md +185 -0
- package/plugin/shirokuma-skills-en/skills/reviewing-on-issue/patterns/code-quality.md +281 -0
- package/plugin/shirokuma-skills-en/skills/reviewing-on-issue/patterns/docs-management.md +123 -0
- package/plugin/shirokuma-skills-en/skills/reviewing-on-issue/patterns/drizzle-orm.md +314 -0
- package/plugin/shirokuma-skills-en/skills/reviewing-on-issue/patterns/e2e-testing.md +922 -0
- package/plugin/shirokuma-skills-en/skills/reviewing-on-issue/patterns/i18n.md +245 -0
- package/plugin/shirokuma-skills-en/skills/reviewing-on-issue/patterns/jsdoc.md +250 -0
- package/plugin/shirokuma-skills-en/skills/reviewing-on-issue/patterns/nextjs-patterns.md +559 -0
- package/plugin/shirokuma-skills-en/skills/reviewing-on-issue/patterns/radix-ui-hydration.md +79 -0
- package/plugin/shirokuma-skills-en/skills/reviewing-on-issue/patterns/server-actions-structure.md +272 -0
- package/plugin/shirokuma-skills-en/skills/reviewing-on-issue/patterns/server-actions.md +445 -0
- package/plugin/shirokuma-skills-en/skills/reviewing-on-issue/patterns/tailwind-v4.md +43 -0
- package/plugin/shirokuma-skills-en/skills/reviewing-on-issue/roles/code.md +184 -0
- package/plugin/shirokuma-skills-en/skills/reviewing-on-issue/roles/docs.md +79 -0
- package/plugin/shirokuma-skills-en/skills/reviewing-on-issue/roles/nextjs.md +105 -0
- package/plugin/shirokuma-skills-en/skills/reviewing-on-issue/roles/plan.md +109 -0
- package/plugin/shirokuma-skills-en/skills/reviewing-on-issue/roles/security.md +124 -0
- package/plugin/shirokuma-skills-en/skills/reviewing-on-issue/roles/testing.md +180 -0
- package/plugin/shirokuma-skills-en/skills/reviewing-on-issue/templates/report.md +121 -0
- package/plugin/shirokuma-skills-en/skills/showing-github/SKILL.md +276 -0
- package/plugin/shirokuma-skills-en/skills/showing-github/reference/github-operations.md +163 -0
- package/plugin/shirokuma-skills-en/skills/starting-session/SKILL.md +114 -0
- package/plugin/shirokuma-skills-en/skills/working-on-issue/SKILL.md +261 -0
- package/plugin/shirokuma-skills-ja/.claude-plugin/plugin.json +21 -0
- package/plugin/shirokuma-skills-ja/rules/best-practices-first.md +43 -0
- package/plugin/shirokuma-skills-ja/rules/config-authoring-flow.md +39 -0
- package/plugin/shirokuma-skills-ja/rules/git-commit-style.md +21 -0
- package/plugin/shirokuma-skills-ja/rules/github/branch-workflow.md +64 -0
- package/plugin/shirokuma-skills-ja/rules/github/discussions-usage.md +129 -0
- package/plugin/shirokuma-skills-ja/rules/github/output-language.md +14 -0
- package/plugin/shirokuma-skills-ja/rules/github/pr-review-response.md +37 -0
- package/plugin/shirokuma-skills-ja/rules/github/project-items.md +164 -0
- package/plugin/shirokuma-skills-ja/rules/memory-operations.md +38 -0
- package/plugin/shirokuma-skills-ja/rules/nextjs/known-issues.md +59 -0
- package/plugin/shirokuma-skills-ja/rules/nextjs/lib-structure.md +48 -0
- package/plugin/shirokuma-skills-ja/rules/nextjs/radix-ui-hydration.md +30 -0
- package/plugin/shirokuma-skills-ja/rules/nextjs/server-actions.md +50 -0
- package/plugin/shirokuma-skills-ja/rules/nextjs/tailwind-v4.md +43 -0
- package/plugin/shirokuma-skills-ja/rules/nextjs/tech-stack.md +43 -0
- package/plugin/shirokuma-skills-ja/rules/nextjs/testing.md +66 -0
- package/plugin/shirokuma-skills-ja/rules/output-destinations.md +95 -0
- package/plugin/shirokuma-skills-ja/rules/shirokuma-docs/cli-invocation.md +15 -0
- package/plugin/shirokuma-skills-ja/rules/shirokuma-docs/plugin-cache.md +54 -0
- package/plugin/shirokuma-skills-ja/rules/shirokuma-docs/shirokuma-annotations.md +78 -0
- package/plugin/shirokuma-skills-ja/rules/skill-authoring.md +184 -0
- package/plugin/shirokuma-skills-ja/skills/best-practices-researching/SKILL.md +144 -0
- package/plugin/shirokuma-skills-ja/skills/claude-config-reviewing/SKILL.md +210 -0
- package/plugin/shirokuma-skills-ja/skills/codebase-rule-discovery/SKILL.md +217 -0
- package/plugin/shirokuma-skills-ja/skills/codebase-rule-discovery/patterns/discovery-categories.md +150 -0
- package/plugin/shirokuma-skills-ja/skills/codebase-rule-discovery/templates/convention-proposal.md +138 -0
- package/plugin/shirokuma-skills-ja/skills/codebase-rule-discovery/templates/rule-proposal.md +148 -0
- package/plugin/shirokuma-skills-ja/skills/codebase-rule-discovery/workflows/analyze-codebase.md +211 -0
- package/plugin/shirokuma-skills-ja/skills/committing-on-issue/SKILL.md +227 -0
- package/plugin/shirokuma-skills-ja/skills/creating-pr-on-issue/SKILL.md +187 -0
- package/plugin/shirokuma-skills-ja/skills/ending-session/SKILL.md +230 -0
- package/plugin/shirokuma-skills-ja/skills/ending-session/templates/handover-template.md +75 -0
- package/plugin/shirokuma-skills-ja/skills/frontend-designing/SKILL.md +270 -0
- package/plugin/shirokuma-skills-ja/skills/frontend-designing/reference/reference.md +533 -0
- package/plugin/shirokuma-skills-ja/skills/github-project-setup/SKILL.md +206 -0
- package/plugin/shirokuma-skills-ja/skills/github-project-setup/reference/custom-fields.md +42 -0
- package/plugin/shirokuma-skills-ja/skills/github-project-setup/reference/issue-types.md +84 -0
- package/plugin/shirokuma-skills-ja/skills/github-project-setup/reference/labels.md +85 -0
- package/plugin/shirokuma-skills-ja/skills/github-project-setup/reference/status-options.md +69 -0
- package/plugin/shirokuma-skills-ja/skills/github-project-setup/scripts/locales/en.json +35 -0
- package/plugin/shirokuma-skills-ja/skills/github-project-setup/scripts/locales/ja.json +35 -0
- package/plugin/shirokuma-skills-ja/skills/github-project-setup/scripts/setup-project.py +226 -0
- package/plugin/shirokuma-skills-ja/skills/managing-agents/SKILL.md +289 -0
- package/plugin/shirokuma-skills-ja/skills/managing-agents/best-practices-advanced.md +318 -0
- package/plugin/shirokuma-skills-ja/skills/managing-agents/best-practices.md +267 -0
- package/plugin/shirokuma-skills-ja/skills/managing-agents/design-patterns.md +473 -0
- package/plugin/shirokuma-skills-ja/skills/managing-agents/documentation-structure.md +170 -0
- package/plugin/shirokuma-skills-ja/skills/managing-agents/examples.md +324 -0
- package/plugin/shirokuma-skills-ja/skills/managing-agents/reference.md +464 -0
- package/plugin/shirokuma-skills-ja/skills/managing-agents/templates/complex-agent.md +69 -0
- package/plugin/shirokuma-skills-ja/skills/managing-agents/templates/creator-checker-pair.md +149 -0
- package/plugin/shirokuma-skills-ja/skills/managing-agents/templates/simple-agent.md +43 -0
- package/plugin/shirokuma-skills-ja/skills/managing-github-items/SKILL.md +50 -0
- package/plugin/shirokuma-skills-ja/skills/managing-github-items/reference/create-item.md +82 -0
- package/plugin/shirokuma-skills-ja/skills/managing-github-items/reference/create-spec.md +68 -0
- package/plugin/shirokuma-skills-ja/skills/managing-github-items/reference/github-operations.md +163 -0
- package/plugin/shirokuma-skills-ja/skills/managing-output-styles/SKILL.md +233 -0
- package/plugin/shirokuma-skills-ja/skills/managing-output-styles/examples.md +751 -0
- package/plugin/shirokuma-skills-ja/skills/managing-output-styles/reference.md +307 -0
- package/plugin/shirokuma-skills-ja/skills/managing-plugins/SKILL.md +327 -0
- package/plugin/shirokuma-skills-ja/skills/managing-plugins/examples-advanced.md +398 -0
- package/plugin/shirokuma-skills-ja/skills/managing-plugins/examples.md +383 -0
- package/plugin/shirokuma-skills-ja/skills/managing-plugins/reference.md +382 -0
- package/plugin/shirokuma-skills-ja/skills/managing-rules/SKILL.md +354 -0
- package/plugin/shirokuma-skills-ja/skills/managing-rules/templates/path-rule.md.template +27 -0
- package/plugin/shirokuma-skills-ja/skills/managing-rules/templates/rule.md.template +15 -0
- package/plugin/shirokuma-skills-ja/skills/managing-rules/templates/tech-stack.md.template +32 -0
- package/plugin/shirokuma-skills-ja/skills/managing-skills/README.md +377 -0
- package/plugin/shirokuma-skills-ja/skills/managing-skills/SKILL.md +413 -0
- package/plugin/shirokuma-skills-ja/skills/managing-skills/architecture.md +1009 -0
- package/plugin/shirokuma-skills-ja/skills/managing-skills/best-practices-testing.md +354 -0
- package/plugin/shirokuma-skills-ja/skills/managing-skills/best-practices-writing.md +325 -0
- package/plugin/shirokuma-skills-ja/skills/managing-skills/best-practices.md +334 -0
- package/plugin/shirokuma-skills-ja/skills/managing-skills/examples.md +1024 -0
- package/plugin/shirokuma-skills-ja/skills/managing-skills/reference-output-patterns.md +89 -0
- package/plugin/shirokuma-skills-ja/skills/managing-skills/reference-platform.md +482 -0
- package/plugin/shirokuma-skills-ja/skills/managing-skills/reference-workflows.md +98 -0
- package/plugin/shirokuma-skills-ja/skills/managing-skills/reference.md +747 -0
- package/plugin/shirokuma-skills-ja/skills/managing-skills/scripts/LICENSE.txt +191 -0
- package/plugin/shirokuma-skills-ja/skills/managing-skills/scripts/init_skill.py +184 -0
- package/plugin/shirokuma-skills-ja/skills/managing-skills/scripts/package_skill.py +109 -0
- package/plugin/shirokuma-skills-ja/skills/managing-skills/scripts/quick_validate.py +128 -0
- package/plugin/shirokuma-skills-ja/skills/managing-skills/updating-skills.md +675 -0
- package/plugin/shirokuma-skills-ja/skills/nextjs-vibe-coding/SKILL.md +315 -0
- package/plugin/shirokuma-skills-ja/skills/nextjs-vibe-coding/patterns/better-auth.md +185 -0
- package/plugin/shirokuma-skills-ja/skills/nextjs-vibe-coding/patterns/code-patterns.md +335 -0
- package/plugin/shirokuma-skills-ja/skills/nextjs-vibe-coding/patterns/coding-conventions.md +323 -0
- package/plugin/shirokuma-skills-ja/skills/nextjs-vibe-coding/patterns/csp.md +97 -0
- package/plugin/shirokuma-skills-ja/skills/nextjs-vibe-coding/patterns/csrf-protection.md +153 -0
- package/plugin/shirokuma-skills-ja/skills/nextjs-vibe-coding/patterns/documentation.md +220 -0
- package/plugin/shirokuma-skills-ja/skills/nextjs-vibe-coding/patterns/drizzle-orm.md +314 -0
- package/plugin/shirokuma-skills-ja/skills/nextjs-vibe-coding/patterns/e2e-testing.md +826 -0
- package/plugin/shirokuma-skills-ja/skills/nextjs-vibe-coding/patterns/image-optimization.md +227 -0
- package/plugin/shirokuma-skills-ja/skills/nextjs-vibe-coding/patterns/radix-ui-hydration.md +79 -0
- package/plugin/shirokuma-skills-ja/skills/nextjs-vibe-coding/patterns/rate-limiting.md +188 -0
- package/plugin/shirokuma-skills-ja/skills/nextjs-vibe-coding/patterns/tailwind-v4.md +43 -0
- package/plugin/shirokuma-skills-ja/skills/nextjs-vibe-coding/patterns/testing.md +298 -0
- package/plugin/shirokuma-skills-ja/skills/nextjs-vibe-coding/reference/checklists.md +76 -0
- package/plugin/shirokuma-skills-ja/skills/nextjs-vibe-coding/reference/large-scale.md +141 -0
- package/plugin/shirokuma-skills-ja/skills/nextjs-vibe-coding/reference/reference.md +171 -0
- package/plugin/shirokuma-skills-ja/skills/nextjs-vibe-coding/reference/report-template.md +53 -0
- package/plugin/shirokuma-skills-ja/skills/nextjs-vibe-coding/templates/README.md +108 -0
- package/plugin/shirokuma-skills-ja/skills/nextjs-vibe-coding/templates/component.test.tsx.template +245 -0
- package/plugin/shirokuma-skills-ja/skills/nextjs-vibe-coding/templates/delete-button.tsx.template +86 -0
- package/plugin/shirokuma-skills-ja/skills/nextjs-vibe-coding/templates/form-component.tsx.template +142 -0
- package/plugin/shirokuma-skills-ja/skills/nextjs-vibe-coding/templates/messages-split/common.json.template +46 -0
- package/plugin/shirokuma-skills-ja/skills/nextjs-vibe-coding/templates/messages-split/errors.json.template +29 -0
- package/plugin/shirokuma-skills-ja/skills/nextjs-vibe-coding/templates/messages-split/feature.json.template +46 -0
- package/plugin/shirokuma-skills-ja/skills/nextjs-vibe-coding/templates/messages-split/index.ts.template +26 -0
- package/plugin/shirokuma-skills-ja/skills/nextjs-vibe-coding/templates/page-edit.tsx.template +43 -0
- package/plugin/shirokuma-skills-ja/skills/nextjs-vibe-coding/templates/page-list.tsx.template +133 -0
- package/plugin/shirokuma-skills-ja/skills/nextjs-vibe-coding/templates/page-new.tsx.template +27 -0
- package/plugin/shirokuma-skills-ja/skills/nextjs-vibe-coding/templates/server-action-split/index.ts.template +19 -0
- package/plugin/shirokuma-skills-ja/skills/nextjs-vibe-coding/templates/server-action-split/mutations.ts.template +196 -0
- package/plugin/shirokuma-skills-ja/skills/nextjs-vibe-coding/templates/server-action-split/queries.ts.template +134 -0
- package/plugin/shirokuma-skills-ja/skills/nextjs-vibe-coding/templates/server-action-split/types.ts.template +60 -0
- package/plugin/shirokuma-skills-ja/skills/nextjs-vibe-coding/templates/server-action.md +345 -0
- package/plugin/shirokuma-skills-ja/skills/nextjs-vibe-coding/templates/server-action.test.ts.template +267 -0
- package/plugin/shirokuma-skills-ja/skills/nextjs-vibe-coding/templates/server-action.ts.template +218 -0
- package/plugin/shirokuma-skills-ja/skills/nextjs-vibe-coding/templates/translations.ja.json.template +35 -0
- package/plugin/shirokuma-skills-ja/skills/nextjs-vibe-coding/templates/translations.json.template +35 -0
- package/plugin/shirokuma-skills-ja/skills/planning-on-issue/SKILL.md +310 -0
- package/plugin/shirokuma-skills-ja/skills/project-config-generator/SKILL.md +289 -0
- package/plugin/shirokuma-skills-ja/skills/project-config-generator/templates/discussion-templates/en/adr.yml +75 -0
- package/plugin/shirokuma-skills-ja/skills/project-config-generator/templates/discussion-templates/en/handovers.yml +62 -0
- package/plugin/shirokuma-skills-ja/skills/project-config-generator/templates/discussion-templates/en/knowledge.yml +66 -0
- package/plugin/shirokuma-skills-ja/skills/project-config-generator/templates/discussion-templates/en/research.yml +71 -0
- package/plugin/shirokuma-skills-ja/skills/project-config-generator/templates/discussion-templates/ja/adr.yml +75 -0
- package/plugin/shirokuma-skills-ja/skills/project-config-generator/templates/discussion-templates/ja/handovers.yml +62 -0
- package/plugin/shirokuma-skills-ja/skills/project-config-generator/templates/discussion-templates/ja/knowledge.yml +66 -0
- package/plugin/shirokuma-skills-ja/skills/project-config-generator/templates/discussion-templates/ja/research.yml +71 -0
- package/plugin/shirokuma-skills-ja/skills/project-config-generator/templates/github-discussions.md.template +161 -0
- package/plugin/shirokuma-skills-ja/skills/project-config-generator/templates/known-issues.md.template +54 -0
- package/plugin/shirokuma-skills-ja/skills/project-config-generator/templates/lib-structure.md.template +73 -0
- package/plugin/shirokuma-skills-ja/skills/project-config-generator/templates/tech-stack.md.template +51 -0
- package/plugin/shirokuma-skills-ja/skills/publishing/SKILL.md +227 -0
- package/plugin/shirokuma-skills-ja/skills/reviewing-on-issue/SKILL.md +506 -0
- package/plugin/shirokuma-skills-ja/skills/reviewing-on-issue/criteria/code-quality.md +303 -0
- package/plugin/shirokuma-skills-ja/skills/reviewing-on-issue/criteria/coding-conventions.md +419 -0
- package/plugin/shirokuma-skills-ja/skills/reviewing-on-issue/criteria/security.md +266 -0
- package/plugin/shirokuma-skills-ja/skills/reviewing-on-issue/criteria/testing.md +431 -0
- package/plugin/shirokuma-skills-ja/skills/reviewing-on-issue/docs/setup/auth-setup.md +295 -0
- package/plugin/shirokuma-skills-ja/skills/reviewing-on-issue/docs/setup/database-setup.md +284 -0
- package/plugin/shirokuma-skills-ja/skills/reviewing-on-issue/docs/setup/infra-setup.md +222 -0
- package/plugin/shirokuma-skills-ja/skills/reviewing-on-issue/docs/setup/project-init.md +176 -0
- package/plugin/shirokuma-skills-ja/skills/reviewing-on-issue/docs/setup/styling-setup.md +324 -0
- package/plugin/shirokuma-skills-ja/skills/reviewing-on-issue/docs/workflows/annotation-consistency.md +256 -0
- package/plugin/shirokuma-skills-ja/skills/reviewing-on-issue/docs/workflows/shirokuma-docs-verification.md +219 -0
- package/plugin/shirokuma-skills-ja/skills/reviewing-on-issue/patterns/account-lockout.md +177 -0
- package/plugin/shirokuma-skills-ja/skills/reviewing-on-issue/patterns/audit-logging.md +364 -0
- package/plugin/shirokuma-skills-ja/skills/reviewing-on-issue/patterns/better-auth.md +185 -0
- package/plugin/shirokuma-skills-ja/skills/reviewing-on-issue/patterns/code-quality.md +244 -0
- package/plugin/shirokuma-skills-ja/skills/reviewing-on-issue/patterns/docs-management.md +95 -0
- package/plugin/shirokuma-skills-ja/skills/reviewing-on-issue/patterns/drizzle-orm.md +314 -0
- package/plugin/shirokuma-skills-ja/skills/reviewing-on-issue/patterns/e2e-testing.md +826 -0
- package/plugin/shirokuma-skills-ja/skills/reviewing-on-issue/patterns/i18n.md +242 -0
- package/plugin/shirokuma-skills-ja/skills/reviewing-on-issue/patterns/jsdoc.md +247 -0
- package/plugin/shirokuma-skills-ja/skills/reviewing-on-issue/patterns/nextjs-patterns.md +421 -0
- package/plugin/shirokuma-skills-ja/skills/reviewing-on-issue/patterns/radix-ui-hydration.md +79 -0
- package/plugin/shirokuma-skills-ja/skills/reviewing-on-issue/patterns/server-actions-structure.md +272 -0
- package/plugin/shirokuma-skills-ja/skills/reviewing-on-issue/patterns/server-actions.md +399 -0
- package/plugin/shirokuma-skills-ja/skills/reviewing-on-issue/patterns/tailwind-v4.md +43 -0
- package/plugin/shirokuma-skills-ja/skills/reviewing-on-issue/roles/code.md +181 -0
- package/plugin/shirokuma-skills-ja/skills/reviewing-on-issue/roles/docs.md +79 -0
- package/plugin/shirokuma-skills-ja/skills/reviewing-on-issue/roles/nextjs.md +105 -0
- package/plugin/shirokuma-skills-ja/skills/reviewing-on-issue/roles/plan.md +109 -0
- package/plugin/shirokuma-skills-ja/skills/reviewing-on-issue/roles/security.md +124 -0
- package/plugin/shirokuma-skills-ja/skills/reviewing-on-issue/roles/testing.md +180 -0
- package/plugin/shirokuma-skills-ja/skills/reviewing-on-issue/templates/report.md +121 -0
- package/plugin/shirokuma-skills-ja/skills/showing-github/SKILL.md +276 -0
- package/plugin/shirokuma-skills-ja/skills/showing-github/reference/github-operations.md +163 -0
- package/plugin/shirokuma-skills-ja/skills/starting-session/SKILL.md +93 -0
- package/plugin/shirokuma-skills-ja/skills/working-on-issue/SKILL.md +208 -0
- package/portal/app/api-tools/api-tools-client.tsx +411 -0
- package/portal/app/api-tools/api-tools-document.tsx +240 -0
- package/portal/app/api-tools/page.tsx +56 -0
- package/portal/app/api-tools/swagger-view.tsx +114 -0
- package/portal/app/apps/[appId]/[type]/[module]/[item]/item-tabs-client.tsx +71 -0
- package/portal/app/apps/[appId]/[type]/[module]/[item]/page.tsx +1422 -0
- package/portal/app/apps/[appId]/[type]/[module]/page.tsx +373 -0
- package/portal/app/apps/[appId]/feature-map/feature-map-app-document.tsx +298 -0
- package/portal/app/apps/[appId]/feature-map/page.tsx +224 -0
- package/portal/app/apps/[appId]/i18n/page.tsx +139 -0
- package/portal/app/apps/[appId]/test-cases/page.tsx +840 -0
- package/portal/app/apps/[appId]/tools/[tool]/page.tsx +351 -0
- package/portal/app/apps/[appId]/tools/api-tools-client.tsx +429 -0
- package/portal/app/apps/[appId]/tools/page.tsx +119 -0
- package/portal/app/db-schema/[db]/[table]/page.tsx +235 -0
- package/portal/app/db-schema/[db]/diagram/page.tsx +81 -0
- package/portal/app/db-schema/[db]/page.tsx +148 -0
- package/portal/app/db-schema/db-schema-document.tsx +100 -0
- package/portal/app/db-schema/diagram/client.tsx +211 -0
- package/portal/app/db-schema/diagram/page.tsx +20 -0
- package/portal/app/db-schema/page.tsx +145 -0
- package/portal/app/db-schema/table-detail-document.tsx +710 -0
- package/portal/app/db-schema/table-detail.tsx +747 -0
- package/portal/app/db-schema/table-list-document.tsx +224 -0
- package/portal/app/db-schema/table-list.tsx +247 -0
- package/portal/app/details/[type]/[module]/[item]/item-tabs-client.tsx +71 -0
- package/portal/app/details/[type]/[module]/[item]/page.tsx +1286 -0
- package/portal/app/details/[type]/[module]/page.tsx +884 -0
- package/portal/app/feature-map/feature-map-client.tsx +681 -0
- package/portal/app/feature-map/feature-map-document.tsx +313 -0
- package/portal/app/feature-map/page.tsx +438 -0
- package/portal/app/globals.css +205 -0
- package/portal/app/i18n/[...namespace]/page.tsx +190 -0
- package/portal/app/i18n/i18n-client.tsx +369 -0
- package/portal/app/i18n/page.tsx +339 -0
- package/portal/app/layout.tsx +37 -0
- package/portal/app/overview/page.tsx +65 -0
- package/portal/app/packages/[packageId]/page.tsx +201 -0
- package/portal/app/packages/page.tsx +148 -0
- package/portal/app/page.tsx +568 -0
- package/portal/app/test-cases/[file]/[line]/page.tsx +455 -0
- package/portal/app/test-cases/[file]/[line]/test-detail-document.tsx +335 -0
- package/portal/app/test-cases/[file]/page.tsx +323 -0
- package/portal/app/test-cases/[file]/test-file-document.tsx +335 -0
- package/portal/app/test-cases/page.tsx +546 -0
- package/portal/app/test-cases/test-cases-document.tsx +384 -0
- package/portal/components/code-block.tsx +57 -0
- package/portal/components/document/doc-params-table.tsx +71 -0
- package/portal/components/document/doc-section.tsx +133 -0
- package/portal/components/document/doc-table.tsx +119 -0
- package/portal/components/document/index.ts +9 -0
- package/portal/components/drawflow-er-diagram.tsx +607 -0
- package/portal/components/interactive-er-diagram.tsx +228 -0
- package/portal/components/layout/app-sidebar.tsx +490 -0
- package/portal/components/layout/er-sidebar.tsx +116 -0
- package/portal/components/layout/global-header.tsx +117 -0
- package/portal/components/layout/layout-content.tsx +48 -0
- package/portal/components/markdown-content.tsx +120 -0
- package/portal/components/mermaid-diagram.tsx +83 -0
- package/portal/components/reactflow-er-diagram.tsx +475 -0
- package/portal/components/search-dialog.tsx +268 -0
- package/portal/components/shared/coverage-score-bar.tsx +144 -0
- package/portal/components/swagger/endpoint-accordion.tsx +117 -0
- package/portal/components/swagger/index.ts +7 -0
- package/portal/components/swagger/method-badge.tsx +55 -0
- package/portal/components/swagger/params-table.tsx +78 -0
- package/portal/components/tabs-with-hash.tsx +43 -0
- package/portal/components/test/index.ts +2 -0
- package/portal/components/test/test-bdd-card.tsx +192 -0
- package/portal/components/test/test-matrix.tsx +242 -0
- package/portal/components/ui/accordion.tsx +66 -0
- package/portal/components/ui/badge.tsx +46 -0
- package/portal/components/ui/breadcrumb.tsx +109 -0
- package/portal/components/ui/button.tsx +62 -0
- package/portal/components/ui/card.tsx +92 -0
- package/portal/components/ui/collapsible.tsx +33 -0
- package/portal/components/ui/dialog.tsx +118 -0
- package/portal/components/ui/progress.tsx +28 -0
- package/portal/components/ui/scroll-area.tsx +58 -0
- package/portal/components/ui/sheet.tsx +139 -0
- package/portal/components/ui/table.tsx +116 -0
- package/portal/components/ui/tabs.tsx +66 -0
- package/portal/components.json +21 -0
- package/portal/lib/constants/test-categories.ts +186 -0
- package/portal/lib/data-loader.ts +1181 -0
- package/portal/lib/db-schema-utils.ts +182 -0
- package/portal/lib/format.ts +43 -0
- package/portal/lib/hooks/use-hash-tab.ts +144 -0
- package/portal/lib/path-utils.ts +25 -0
- package/portal/lib/search-index-generator.ts +214 -0
- package/portal/lib/search.ts +126 -0
- package/portal/lib/sidebar-context.tsx +111 -0
- package/portal/lib/types.ts +740 -0
- package/portal/lib/utils.ts +6 -0
- package/portal/next.config.ts +21 -0
- package/portal/package.json +45 -0
- package/portal/postcss.config.mjs +8 -0
- package/portal/tsconfig.json +41 -0
- package/portal/types/drawflow.d.ts +80 -0
- package/templates/README.md +73 -0
- package/templates/coverage.html +367 -0
- package/templates/dark-theme.css +443 -0
- package/templates/discussion/adr.yml.hbs +65 -0
- package/templates/discussion/handovers.yml.hbs +57 -0
- package/templates/discussion/knowledge.yml.hbs +60 -0
- package/templates/discussion/reports.yml.hbs +68 -0
- package/templates/discussion/research.yml.hbs +61 -0
|
@@ -0,0 +1,1009 @@
|
|
|
1
|
+
# Agent Skills: Technical Architecture
|
|
2
|
+
|
|
3
|
+
## Table of Contents
|
|
4
|
+
|
|
5
|
+
1. [Progressive Disclosure Architecture](#progressive-disclosure-architecture)
|
|
6
|
+
2. [Context Window Dynamics](#context-window-dynamics)
|
|
7
|
+
3. [Filesystem-Based Execution Model](#filesystem-based-execution-model)
|
|
8
|
+
4. [Code Execution Architecture](#code-execution-architecture)
|
|
9
|
+
5. [Platform Architecture](#platform-architecture)
|
|
10
|
+
6. [Security Model](#security-model)
|
|
11
|
+
7. [Performance Considerations](#performance-considerations)
|
|
12
|
+
8. [Token Management](#token-management)
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## Progressive Disclosure Architecture
|
|
17
|
+
|
|
18
|
+
### Three-Tier Loading Model
|
|
19
|
+
|
|
20
|
+
Skills implement a hierarchical loading system that manages context efficiently through progressive disclosure of information.
|
|
21
|
+
|
|
22
|
+
#### Level 1: Metadata (~100 tokens)
|
|
23
|
+
|
|
24
|
+
- What loads: YAML frontmatter only (`name` and `description`)
|
|
25
|
+
- When: Always at system startup
|
|
26
|
+
- Purpose: Skill discovery and selection
|
|
27
|
+
- Token cost: ~100 tokens per skill
|
|
28
|
+
|
|
29
|
+
##### Example
|
|
30
|
+
```yaml
|
|
31
|
+
---
|
|
32
|
+
name: processing-pdfs
|
|
33
|
+
description: Extract text and tables from PDF files, fill forms, merge PDFs. Use when working with PDFs or when user asks to "read PDF", "extract PDF text", "fill PDF form", or "merge PDFs".
|
|
34
|
+
---
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
##### Impact on selection
|
|
38
|
+
|
|
39
|
+
Claude reads ALL skill metadata to determine which skills might be relevant. Specific, trigger-rich descriptions improve selection accuracy.
|
|
40
|
+
|
|
41
|
+
#### Level 2: Instructions (under 5k tokens)
|
|
42
|
+
|
|
43
|
+
- What loads: SKILL.md body content
|
|
44
|
+
- When: After skill is selected and triggered
|
|
45
|
+
- Purpose: Provide workflows, best practices, core guidance
|
|
46
|
+
- Token cost: Typically 2k-5k tokens
|
|
47
|
+
|
|
48
|
+
##### Example structure
|
|
49
|
+
```markdown
|
|
50
|
+
# Skill Title
|
|
51
|
+
|
|
52
|
+
## When to Use
|
|
53
|
+
[Trigger scenarios]
|
|
54
|
+
|
|
55
|
+
## Workflow
|
|
56
|
+
[Step-by-step instructions]
|
|
57
|
+
|
|
58
|
+
## Error Handling
|
|
59
|
+
[Common issues]
|
|
60
|
+
|
|
61
|
+
## Related Resources
|
|
62
|
+
[Links to Level 3 files]
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
##### Target
|
|
66
|
+
|
|
67
|
+
Keep under 500 lines to maintain <5k token budget
|
|
68
|
+
|
|
69
|
+
#### Level 3: Resources (on-demand)
|
|
70
|
+
|
|
71
|
+
- What loads: Supporting files (reference.md, examples.md, scripts/, templates/)
|
|
72
|
+
- When: Only when Claude explicitly accesses them
|
|
73
|
+
- Purpose: Detailed documentation, extensive examples, executable code
|
|
74
|
+
- Token cost: Variable, but NOT loaded unless needed
|
|
75
|
+
|
|
76
|
+
##### Key advantage
|
|
77
|
+
|
|
78
|
+
"The amount of context that can be bundled into a skill is effectively unbounded" because unused resources consume zero tokens.
|
|
79
|
+
|
|
80
|
+
### Elastic Context Consumption
|
|
81
|
+
|
|
82
|
+
The system demonstrates dynamic context usage:
|
|
83
|
+
|
|
84
|
+
```
|
|
85
|
+
[Startup]
|
|
86
|
+
System Prompt (baseline)
|
|
87
|
+
+ All Skill Metadata (Level 1: ~100 tokens × N skills)
|
|
88
|
+
+ User Message
|
|
89
|
+
|
|
90
|
+
[Skill Triggered]
|
|
91
|
+
Previous Context
|
|
92
|
+
+ SKILL.md Body (Level 2: ~5k tokens)
|
|
93
|
+
|
|
94
|
+
[Resource Needed]
|
|
95
|
+
Previous Context
|
|
96
|
+
+ reference.md (Level 3: variable)
|
|
97
|
+
|
|
98
|
+
[Resource No Longer Needed]
|
|
99
|
+
Context contracts - file unloaded
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
##### Example session
|
|
103
|
+
|
|
104
|
+
```
|
|
105
|
+
1. User: "Process this PDF"
|
|
106
|
+
Context: System + Metadata + User message = ~5k tokens
|
|
107
|
+
|
|
108
|
+
2. Claude triggers processing-pdfs skill
|
|
109
|
+
Context expands: +SKILL.md = ~10k tokens
|
|
110
|
+
|
|
111
|
+
3. Claude needs API details
|
|
112
|
+
Context expands: +reference.md = ~15k tokens
|
|
113
|
+
|
|
114
|
+
4. Task completes
|
|
115
|
+
Context contracts: Back to system baseline
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
### Progressive Disclosure Best Practices
|
|
119
|
+
|
|
120
|
+
#### Optimize Level 1 (Metadata)
|
|
121
|
+
|
|
122
|
+
- Specific triggers in description
|
|
123
|
+
- Mention file types and domains
|
|
124
|
+
- Use concrete action verbs
|
|
125
|
+
|
|
126
|
+
#### Optimize Level 2 (SKILL.md)
|
|
127
|
+
|
|
128
|
+
- Keep under 500 lines
|
|
129
|
+
- Provide workflow overview
|
|
130
|
+
- Link to Level 3 for details
|
|
131
|
+
- Assume Claude has foundational knowledge
|
|
132
|
+
|
|
133
|
+
#### Optimize Level 3 (Resources)
|
|
134
|
+
|
|
135
|
+
- Split by topic/domain
|
|
136
|
+
- Add table of contents to long files
|
|
137
|
+
- Use descriptive file names
|
|
138
|
+
- Keep one level deep (no nested references)
|
|
139
|
+
|
|
140
|
+
---
|
|
141
|
+
|
|
142
|
+
## Context Window Dynamics
|
|
143
|
+
|
|
144
|
+
### Context Budget Management
|
|
145
|
+
|
|
146
|
+
#### Typical context allocations
|
|
147
|
+
|
|
148
|
+
```
|
|
149
|
+
System Prompt: ~3,000 tokens
|
|
150
|
+
All Skill Metadata: ~1,000 tokens (10 skills × 100)
|
|
151
|
+
User Message: ~1,000 tokens
|
|
152
|
+
SKILL.md (if loaded): ~5,000 tokens
|
|
153
|
+
Resources (optional): ~10,000 tokens
|
|
154
|
+
Response Generation: ~5,000 tokens
|
|
155
|
+
--------------------------------------------------
|
|
156
|
+
Total Used: ~25,000 tokens
|
|
157
|
+
|
|
158
|
+
Available Window: 200,000 tokens (Claude Sonnet 3.5)
|
|
159
|
+
Remaining: 175,000 tokens for conversation history
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
### Why Progressive Disclosure Matters
|
|
163
|
+
|
|
164
|
+
#### Without progressive disclosure (monolithic approach)
|
|
165
|
+
|
|
166
|
+
```
|
|
167
|
+
Single SKILL.md: 50,000 tokens
|
|
168
|
+
↓
|
|
169
|
+
Always loaded when skill triggers
|
|
170
|
+
↓
|
|
171
|
+
Context rapidly exhausted
|
|
172
|
+
↓
|
|
173
|
+
Limited conversation depth
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
#### With progressive disclosure
|
|
177
|
+
|
|
178
|
+
```
|
|
179
|
+
SKILL.md: 5,000 tokens (overview)
|
|
180
|
+
reference.md: 20,000 tokens (only if needed)
|
|
181
|
+
examples.md: 15,000 tokens (only if needed)
|
|
182
|
+
↓
|
|
183
|
+
Efficient token usage
|
|
184
|
+
↓
|
|
185
|
+
Longer conversations possible
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
### Token Efficiency Strategies
|
|
189
|
+
|
|
190
|
+
#### 1. Metadata compression (Level 1)
|
|
191
|
+
|
|
192
|
+
```yaml
|
|
193
|
+
# Verbose: 150 tokens
|
|
194
|
+
description: This skill is designed to help with processing PDF documents including extracting text...
|
|
195
|
+
|
|
196
|
+
# Compressed: 80 tokens
|
|
197
|
+
description: Extract text from PDFs, fill forms, merge documents. Use when...
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
#### 2. Workflow compression (Level 2)
|
|
201
|
+
|
|
202
|
+
```markdown
|
|
203
|
+
# Verbose: 500 tokens
|
|
204
|
+
When you need to process a PDF, first you should open it and verify...
|
|
205
|
+
|
|
206
|
+
# Compressed: 200 tokens
|
|
207
|
+
1. Verify PDF accessible
|
|
208
|
+
2. Extract required data
|
|
209
|
+
3. Validate output
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
#### 3. On-demand details (Level 3)
|
|
213
|
+
|
|
214
|
+
```markdown
|
|
215
|
+
# In SKILL.md (Level 2):
|
|
216
|
+
For complete API reference, see [reference.md](reference.md)
|
|
217
|
+
|
|
218
|
+
# In reference.md (Level 3):
|
|
219
|
+
[Extensive API documentation - only loaded when needed]
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
---
|
|
223
|
+
|
|
224
|
+
## Filesystem-Based Execution Model
|
|
225
|
+
|
|
226
|
+
### Virtual Machine Environment
|
|
227
|
+
|
|
228
|
+
Skills operate in a sandboxed VM environment with:
|
|
229
|
+
|
|
230
|
+
#### Filesystem access
|
|
231
|
+
|
|
232
|
+
- Read files selectively
|
|
233
|
+
- Write output files
|
|
234
|
+
- Execute scripts
|
|
235
|
+
- Navigate directories
|
|
236
|
+
|
|
237
|
+
#### Bash access
|
|
238
|
+
|
|
239
|
+
- Run shell commands
|
|
240
|
+
- Pipe operations
|
|
241
|
+
- Process text streams
|
|
242
|
+
- Execute utilities
|
|
243
|
+
|
|
244
|
+
#### Python/Node/other runtimes
|
|
245
|
+
|
|
246
|
+
- Execute scripts deterministically
|
|
247
|
+
- Import libraries
|
|
248
|
+
- Process data
|
|
249
|
+
- Generate outputs
|
|
250
|
+
|
|
251
|
+
### Execution Without Context Loading
|
|
252
|
+
|
|
253
|
+
##### Key advantage
|
|
254
|
+
|
|
255
|
+
Scripts can execute without loading their code into context.
|
|
256
|
+
|
|
257
|
+
##### Traditional approach (context-heavy)
|
|
258
|
+
|
|
259
|
+
```
|
|
260
|
+
1. Claude generates Python script (consumes tokens)
|
|
261
|
+
2. Executes script
|
|
262
|
+
3. Reads output
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
##### Skill-based approach (context-efficient)
|
|
266
|
+
|
|
267
|
+
```
|
|
268
|
+
1. Claude invokes pre-existing script
|
|
269
|
+
2. Executes script (code not in context)
|
|
270
|
+
3. Reads output
|
|
271
|
+
```
|
|
272
|
+
|
|
273
|
+
#### Example
|
|
274
|
+
|
|
275
|
+
##### Context-heavy
|
|
276
|
+
|
|
277
|
+
```markdown
|
|
278
|
+
## Workflow
|
|
279
|
+
Generate and run this Python script:
|
|
280
|
+
```python
|
|
281
|
+
# [50 lines of validation code]
|
|
282
|
+
```
|
|
283
|
+
```
|
|
284
|
+
|
|
285
|
+
##### Context-efficient
|
|
286
|
+
|
|
287
|
+
```markdown
|
|
288
|
+
## Workflow
|
|
289
|
+
Run validation:
|
|
290
|
+
```bash
|
|
291
|
+
python scripts/validate.py input.json
|
|
292
|
+
```
|
|
293
|
+
|
|
294
|
+
Script location: scripts/validate.py (not loaded into context)
|
|
295
|
+
```
|
|
296
|
+
|
|
297
|
+
### Code as Dual-Purpose Resource
|
|
298
|
+
|
|
299
|
+
Scripts serve two roles:
|
|
300
|
+
|
|
301
|
+
#### 1. Executable tools
|
|
302
|
+
|
|
303
|
+
```bash
|
|
304
|
+
python scripts/analyze.py data.json
|
|
305
|
+
```
|
|
306
|
+
Result: Deterministic execution, reliable output
|
|
307
|
+
|
|
308
|
+
#### 2. Reference documentation
|
|
309
|
+
|
|
310
|
+
```bash
|
|
311
|
+
cat scripts/analyze.py
|
|
312
|
+
```
|
|
313
|
+
Result: Claude can read implementation if needed
|
|
314
|
+
|
|
315
|
+
##### Benefit
|
|
316
|
+
|
|
317
|
+
Code is documentation that's also executable.
|
|
318
|
+
|
|
319
|
+
### Selective File Reading
|
|
320
|
+
|
|
321
|
+
Claude can strategically access files:
|
|
322
|
+
|
|
323
|
+
#### List files first
|
|
324
|
+
|
|
325
|
+
```bash
|
|
326
|
+
ls scripts/
|
|
327
|
+
# Output: validate.py, transform.py, report.py
|
|
328
|
+
```
|
|
329
|
+
|
|
330
|
+
#### Read specific file when needed
|
|
331
|
+
|
|
332
|
+
```bash
|
|
333
|
+
cat scripts/validate.py
|
|
334
|
+
```
|
|
335
|
+
|
|
336
|
+
##### Token impact
|
|
337
|
+
|
|
338
|
+
Only loaded files consume tokens.
|
|
339
|
+
|
|
340
|
+
---
|
|
341
|
+
|
|
342
|
+
## Code Execution Architecture
|
|
343
|
+
|
|
344
|
+
### Deterministic vs Generated Code
|
|
345
|
+
|
|
346
|
+
#### Pre-made scripts (deterministic)
|
|
347
|
+
|
|
348
|
+
- Consistent behavior
|
|
349
|
+
- Pre-tested
|
|
350
|
+
- Immediate execution
|
|
351
|
+
- No generation errors
|
|
352
|
+
- Token efficient
|
|
353
|
+
|
|
354
|
+
#### Generated code (non-deterministic)
|
|
355
|
+
|
|
356
|
+
- Flexible but variable
|
|
357
|
+
- Requires testing
|
|
358
|
+
- Generation delay
|
|
359
|
+
- Potential errors
|
|
360
|
+
- Token expensive
|
|
361
|
+
|
|
362
|
+
#### When to use each
|
|
363
|
+
|
|
364
|
+
Use **pre-made scripts** for:
|
|
365
|
+
- Critical operations
|
|
366
|
+
- Repeated workflows
|
|
367
|
+
- Complex algorithms
|
|
368
|
+
- Error-prone tasks
|
|
369
|
+
|
|
370
|
+
Use **generated code** for:
|
|
371
|
+
- One-off operations
|
|
372
|
+
- User-specific logic
|
|
373
|
+
- Simple transformations
|
|
374
|
+
- Exploratory tasks
|
|
375
|
+
|
|
376
|
+
### Error Handling in Scripts
|
|
377
|
+
|
|
378
|
+
#### Explicit error handling (solve, don't punt)
|
|
379
|
+
|
|
380
|
+
```python
|
|
381
|
+
#!/usr/bin/env python3
|
|
382
|
+
"""Robust script with explicit error handling."""
|
|
383
|
+
|
|
384
|
+
import sys
|
|
385
|
+
from pathlib import Path
|
|
386
|
+
|
|
387
|
+
def process(input_path):
|
|
388
|
+
"""Process file with comprehensive error handling."""
|
|
389
|
+
|
|
390
|
+
# Check file exists
|
|
391
|
+
if not input_path.exists():
|
|
392
|
+
print(f"ERROR: File not found: {input_path}", file=sys.stderr)
|
|
393
|
+
print(f"Solution: Verify path and permissions", file=sys.stderr)
|
|
394
|
+
sys.exit(1)
|
|
395
|
+
|
|
396
|
+
# Check file readable
|
|
397
|
+
try:
|
|
398
|
+
content = input_path.read_text()
|
|
399
|
+
except PermissionError:
|
|
400
|
+
print(f"ERROR: Permission denied: {input_path}", file=sys.stderr)
|
|
401
|
+
print(f"Solution: Run: chmod +r {input_path}", file=sys.stderr)
|
|
402
|
+
sys.exit(1)
|
|
403
|
+
|
|
404
|
+
# Check content valid
|
|
405
|
+
if not content.strip():
|
|
406
|
+
print(f"ERROR: File is empty: {input_path}", file=sys.stderr)
|
|
407
|
+
print(f"Solution: Provide non-empty input file", file=sys.stderr)
|
|
408
|
+
sys.exit(1)
|
|
409
|
+
|
|
410
|
+
# Process with timeout
|
|
411
|
+
try:
|
|
412
|
+
result = complex_operation(content, timeout=30) # Justified: typical completion time
|
|
413
|
+
except TimeoutError:
|
|
414
|
+
print(f"ERROR: Operation timed out after 30 seconds", file=sys.stderr)
|
|
415
|
+
print(f"Solution: Reduce input size or increase timeout", file=sys.stderr)
|
|
416
|
+
sys.exit(1)
|
|
417
|
+
|
|
418
|
+
return result
|
|
419
|
+
|
|
420
|
+
def main():
|
|
421
|
+
if len(sys.argv) != 2:
|
|
422
|
+
print("Usage: script.py <input-file>", file=sys.stderr)
|
|
423
|
+
sys.exit(1)
|
|
424
|
+
|
|
425
|
+
input_path = Path(sys.argv[1])
|
|
426
|
+
result = process(input_path)
|
|
427
|
+
print(result)
|
|
428
|
+
|
|
429
|
+
if __name__ == "__main__":
|
|
430
|
+
main()
|
|
431
|
+
```
|
|
432
|
+
|
|
433
|
+
#### Exit codes
|
|
434
|
+
|
|
435
|
+
- `0`: Success
|
|
436
|
+
- `1`: File error
|
|
437
|
+
- `2`: Validation error
|
|
438
|
+
- `3`: Processing error
|
|
439
|
+
- `4`: Timeout error
|
|
440
|
+
|
|
441
|
+
### Script Permissions
|
|
442
|
+
|
|
443
|
+
#### Unix-style permissions required
|
|
444
|
+
|
|
445
|
+
```bash
|
|
446
|
+
# Set execute permission
|
|
447
|
+
chmod +x scripts/*.py
|
|
448
|
+
|
|
449
|
+
# Verify
|
|
450
|
+
ls -l scripts/
|
|
451
|
+
# Should show: -rwxr-xr-x
|
|
452
|
+
```
|
|
453
|
+
|
|
454
|
+
#### Without execute permission
|
|
455
|
+
|
|
456
|
+
```bash
|
|
457
|
+
$ ./scripts/helper.py
|
|
458
|
+
bash: ./scripts/helper.py: Permission denied
|
|
459
|
+
```
|
|
460
|
+
|
|
461
|
+
#### With execute permission
|
|
462
|
+
|
|
463
|
+
```bash
|
|
464
|
+
$ ./scripts/helper.py
|
|
465
|
+
# Executes successfully
|
|
466
|
+
```
|
|
467
|
+
|
|
468
|
+
---
|
|
469
|
+
|
|
470
|
+
## Platform Architecture
|
|
471
|
+
|
|
472
|
+
### Claude Code (CLI)
|
|
473
|
+
|
|
474
|
+
#### Architecture
|
|
475
|
+
|
|
476
|
+
```
|
|
477
|
+
User Input
|
|
478
|
+
↓
|
|
479
|
+
Claude Code CLI
|
|
480
|
+
↓
|
|
481
|
+
Claude API (with code execution enabled)
|
|
482
|
+
↓
|
|
483
|
+
VM Environment (full filesystem access)
|
|
484
|
+
↓
|
|
485
|
+
Skills (Level 1 → 2 → 3 as needed)
|
|
486
|
+
```
|
|
487
|
+
|
|
488
|
+
#### Features
|
|
489
|
+
|
|
490
|
+
- Full bash access
|
|
491
|
+
- Network access (unrestricted)
|
|
492
|
+
- Tool restrictions (`allowed-tools`)
|
|
493
|
+
- Local filesystem access
|
|
494
|
+
- Git operations
|
|
495
|
+
|
|
496
|
+
#### Skill loading
|
|
497
|
+
|
|
498
|
+
- `.claude/skills/` (project)
|
|
499
|
+
- `~/.claude/skills/` (personal)
|
|
500
|
+
- Plugin skills (from installed packages)
|
|
501
|
+
|
|
502
|
+
### Claude API
|
|
503
|
+
|
|
504
|
+
#### Architecture
|
|
505
|
+
|
|
506
|
+
```
|
|
507
|
+
API Request (with skills specified)
|
|
508
|
+
↓
|
|
509
|
+
Code Execution Environment
|
|
510
|
+
↓
|
|
511
|
+
Pre-built Skills (pptx, xlsx, docx, pdf)
|
|
512
|
+
OR
|
|
513
|
+
Custom Skills (uploaded)
|
|
514
|
+
↓
|
|
515
|
+
Generated Files
|
|
516
|
+
↓
|
|
517
|
+
Download via Files API
|
|
518
|
+
```
|
|
519
|
+
|
|
520
|
+
#### Features
|
|
521
|
+
|
|
522
|
+
- Pre-built Anthropic skills
|
|
523
|
+
- Custom skill upload
|
|
524
|
+
- File generation
|
|
525
|
+
- Network access (restricted)
|
|
526
|
+
|
|
527
|
+
#### Limitations
|
|
528
|
+
|
|
529
|
+
- No `allowed-tools` (not applicable)
|
|
530
|
+
- Skills specified per-request
|
|
531
|
+
- No personal/project skill directories
|
|
532
|
+
|
|
533
|
+
### Agent SDK
|
|
534
|
+
|
|
535
|
+
#### Architecture
|
|
536
|
+
|
|
537
|
+
```
|
|
538
|
+
Agent Initialization (with config)
|
|
539
|
+
↓
|
|
540
|
+
settingSources: ["user", "project"]
|
|
541
|
+
↓
|
|
542
|
+
Skill Discovery
|
|
543
|
+
↓
|
|
544
|
+
Query Execution
|
|
545
|
+
↓
|
|
546
|
+
Skills Invoked as Needed
|
|
547
|
+
```
|
|
548
|
+
|
|
549
|
+
#### Features
|
|
550
|
+
|
|
551
|
+
- Filesystem-based skills only
|
|
552
|
+
- Config-driven tool access
|
|
553
|
+
- Setting sources control skill locations
|
|
554
|
+
|
|
555
|
+
#### Critical configuration
|
|
556
|
+
|
|
557
|
+
```typescript
|
|
558
|
+
const agent = new Agent({
|
|
559
|
+
settingSources: ["user", "project"], // REQUIRED for skills
|
|
560
|
+
allowedTools: ["Skill", "Read", "Write", "Bash"] // Controls access
|
|
561
|
+
});
|
|
562
|
+
```
|
|
563
|
+
|
|
564
|
+
#### Common issue
|
|
565
|
+
|
|
566
|
+
```typescript
|
|
567
|
+
// Missing settingSources - skills won't load!
|
|
568
|
+
const agent = new Agent({
|
|
569
|
+
allowedTools: ["Skill"] // Not enough!
|
|
570
|
+
});
|
|
571
|
+
```
|
|
572
|
+
|
|
573
|
+
---
|
|
574
|
+
|
|
575
|
+
## Security Model
|
|
576
|
+
|
|
577
|
+
### Attack Surface
|
|
578
|
+
|
|
579
|
+
Skills present security risks through:
|
|
580
|
+
|
|
581
|
+
#### 1. Instructions
|
|
582
|
+
|
|
583
|
+
- Malicious workflows
|
|
584
|
+
- Data exfiltration commands
|
|
585
|
+
- Destructive operations
|
|
586
|
+
|
|
587
|
+
#### 2. Bundled Code
|
|
588
|
+
|
|
589
|
+
- Malware in scripts
|
|
590
|
+
- Supply chain attacks
|
|
591
|
+
- Dependency vulnerabilities
|
|
592
|
+
|
|
593
|
+
#### 3. External Connections
|
|
594
|
+
|
|
595
|
+
- Network calls to malicious servers
|
|
596
|
+
- Data leakage
|
|
597
|
+
- Command-and-control
|
|
598
|
+
|
|
599
|
+
### Trust Model
|
|
600
|
+
|
|
601
|
+
#### Recommendations
|
|
602
|
+
|
|
603
|
+
##### 1. Source trust
|
|
604
|
+
|
|
605
|
+
- Only install plugins from trusted sources
|
|
606
|
+
- Review skill code before use
|
|
607
|
+
- Check publisher reputation
|
|
608
|
+
|
|
609
|
+
##### 2. Code auditing
|
|
610
|
+
|
|
611
|
+
- Read scripts before execution
|
|
612
|
+
- Review bash commands
|
|
613
|
+
- Check for network calls
|
|
614
|
+
|
|
615
|
+
##### 3. Dependency scanning
|
|
616
|
+
|
|
617
|
+
- Audit package.json/requirements.txt
|
|
618
|
+
- Check for known vulnerabilities
|
|
619
|
+
- Use minimal dependencies
|
|
620
|
+
|
|
621
|
+
### Sandboxing with allowed-tools
|
|
622
|
+
|
|
623
|
+
#### Restrict capabilities for sensitive operations
|
|
624
|
+
|
|
625
|
+
##### Read-only analysis (safe)
|
|
626
|
+
|
|
627
|
+
```yaml
|
|
628
|
+
allowed-tools: Read, Grep, Glob
|
|
629
|
+
```
|
|
630
|
+
|
|
631
|
+
#### Safe git operations
|
|
632
|
+
|
|
633
|
+
```yaml
|
|
634
|
+
allowed-tools: Read, Grep, Glob, Bash(git diff:*), Bash(git log:*), Bash(git status:*)
|
|
635
|
+
```
|
|
636
|
+
|
|
637
|
+
#### No filesystem modification
|
|
638
|
+
|
|
639
|
+
```yaml
|
|
640
|
+
allowed-tools: Read, Grep
|
|
641
|
+
# Excludes: Write, Edit, Bash
|
|
642
|
+
```
|
|
643
|
+
|
|
644
|
+
### Secrets Management
|
|
645
|
+
|
|
646
|
+
#### Don't embed secrets in skills
|
|
647
|
+
|
|
648
|
+
❌ **Bad**:
|
|
649
|
+
```python
|
|
650
|
+
API_KEY = "sk-1234567890abcdef" # Hardcoded secret
|
|
651
|
+
```
|
|
652
|
+
|
|
653
|
+
✅ **Good**:
|
|
654
|
+
```python
|
|
655
|
+
import os
|
|
656
|
+
API_KEY = os.environ.get("API_KEY") # From environment
|
|
657
|
+
if not API_KEY:
|
|
658
|
+
print("ERROR: API_KEY environment variable not set")
|
|
659
|
+
sys.exit(1)
|
|
660
|
+
```
|
|
661
|
+
|
|
662
|
+
#### Don't commit secrets
|
|
663
|
+
|
|
664
|
+
```gitignore
|
|
665
|
+
# .gitignore
|
|
666
|
+
.claude/skills/*/.env
|
|
667
|
+
.claude/skills/*/secrets.yaml
|
|
668
|
+
.claude/skills/*/credentials.json
|
|
669
|
+
```
|
|
670
|
+
|
|
671
|
+
---
|
|
672
|
+
|
|
673
|
+
## Performance Considerations
|
|
674
|
+
|
|
675
|
+
### SKILL.md Size Impact
|
|
676
|
+
|
|
677
|
+
#### Token cost vs file size
|
|
678
|
+
|
|
679
|
+
| Lines | ~Tokens | Load Time | Impact |
|
|
680
|
+
|-------|---------|-----------|--------|
|
|
681
|
+
| 100 | ~1k | Fast | ✅ Optimal |
|
|
682
|
+
| 300 | ~3k | Fast | ✅ Good |
|
|
683
|
+
| 500 | ~5k | Medium | ⚠️ Acceptable |
|
|
684
|
+
| 1000 | ~10k | Slow | ❌ Too large |
|
|
685
|
+
|
|
686
|
+
##### Recommendation
|
|
687
|
+
|
|
688
|
+
Keep under 500 lines
|
|
689
|
+
|
|
690
|
+
### Supporting File Organization
|
|
691
|
+
|
|
692
|
+
#### Split vs monolithic
|
|
693
|
+
|
|
694
|
+
##### Monolithic (poor performance)
|
|
695
|
+
|
|
696
|
+
```
|
|
697
|
+
complete-reference.md (10,000 lines = ~100k tokens)
|
|
698
|
+
↓
|
|
699
|
+
Fully loaded when accessed
|
|
700
|
+
↓
|
|
701
|
+
Context heavily consumed
|
|
702
|
+
```
|
|
703
|
+
|
|
704
|
+
##### Split (good performance)
|
|
705
|
+
|
|
706
|
+
```
|
|
707
|
+
reference.md (TOC + overview)
|
|
708
|
+
api-reference.md (loaded if API needed)
|
|
709
|
+
examples.md (loaded if examples needed)
|
|
710
|
+
troubleshooting.md (loaded if errors)
|
|
711
|
+
↓
|
|
712
|
+
Selective loading
|
|
713
|
+
↓
|
|
714
|
+
Efficient context usage
|
|
715
|
+
```
|
|
716
|
+
|
|
717
|
+
### Table of Contents Performance
|
|
718
|
+
|
|
719
|
+
#### For files >100 lines, add TOC
|
|
720
|
+
|
|
721
|
+
```markdown
|
|
722
|
+
# Large Reference File
|
|
723
|
+
|
|
724
|
+
## Table of Contents
|
|
725
|
+
1. [Section A](#section-a)
|
|
726
|
+
2. [Section B](#section-b)
|
|
727
|
+
3. [Section C](#section-c)
|
|
728
|
+
...
|
|
729
|
+
|
|
730
|
+
[3000 more lines]
|
|
731
|
+
```
|
|
732
|
+
|
|
733
|
+
##### Why
|
|
734
|
+
|
|
735
|
+
Claude sees TOC even with partial reads, understands full scope.
|
|
736
|
+
|
|
737
|
+
### File Name Impact
|
|
738
|
+
|
|
739
|
+
#### Descriptive names improve navigation
|
|
740
|
+
|
|
741
|
+
✅ **Fast navigation**:
|
|
742
|
+
```
|
|
743
|
+
api-endpoints.md # Claude knows what's inside
|
|
744
|
+
error-codes.md # Obvious content
|
|
745
|
+
validation-rules.md # Clear purpose
|
|
746
|
+
```
|
|
747
|
+
|
|
748
|
+
❌ **Slow navigation**:
|
|
749
|
+
```
|
|
750
|
+
doc1.md # Must read to know content
|
|
751
|
+
reference.md # Too generic
|
|
752
|
+
misc.md # Ambiguous
|
|
753
|
+
```
|
|
754
|
+
|
|
755
|
+
---
|
|
756
|
+
|
|
757
|
+
## Token Management
|
|
758
|
+
|
|
759
|
+
### Estimation Formula
|
|
760
|
+
|
|
761
|
+
#### Rough estimation
|
|
762
|
+
|
|
763
|
+
- 1 token ≈ 4 characters (English)
|
|
764
|
+
- 1 token ≈ 0.75 words (English)
|
|
765
|
+
- 100 lines ≈ 1,000 tokens (typical code/markdown)
|
|
766
|
+
|
|
767
|
+
#### More accurate
|
|
768
|
+
|
|
769
|
+
```python
|
|
770
|
+
import tiktoken
|
|
771
|
+
|
|
772
|
+
encoder = tiktoken.encoding_for_model("gpt-4")
|
|
773
|
+
tokens = encoder.encode(text)
|
|
774
|
+
token_count = len(tokens)
|
|
775
|
+
```
|
|
776
|
+
|
|
777
|
+
### Budget Allocation
|
|
778
|
+
|
|
779
|
+
#### Example session budget (200k context window)
|
|
780
|
+
|
|
781
|
+
```
|
|
782
|
+
Reserved for System:
|
|
783
|
+
- System prompt: 3,000
|
|
784
|
+
- Skill metadata (10 skills): 1,000
|
|
785
|
+
- Buffer: 5,000
|
|
786
|
+
Subtotal: 9,000
|
|
787
|
+
|
|
788
|
+
Available for Session: 191,000
|
|
789
|
+
|
|
790
|
+
Per-message allocation:
|
|
791
|
+
- User message: ~1,000
|
|
792
|
+
- SKILL.md (if triggered): ~5,000
|
|
793
|
+
- Resources (if needed): ~10,000
|
|
794
|
+
- Claude response: ~2,000
|
|
795
|
+
- Per exchange: ~18,000
|
|
796
|
+
|
|
797
|
+
Conversation depth: 191,000 / 18,000 ≈ 10 exchanges
|
|
798
|
+
```
|
|
799
|
+
|
|
800
|
+
### Optimization Strategies
|
|
801
|
+
|
|
802
|
+
#### 1. Compress metadata (Level 1)
|
|
803
|
+
|
|
804
|
+
- Remove filler words
|
|
805
|
+
- Use active voice
|
|
806
|
+
- Specific terminology
|
|
807
|
+
|
|
808
|
+
#### 2. Compress instructions (Level 2)
|
|
809
|
+
|
|
810
|
+
- Assume foundational knowledge
|
|
811
|
+
- Use code blocks instead of prose
|
|
812
|
+
- Link to Level 3 for details
|
|
813
|
+
|
|
814
|
+
#### 3. Selective resource loading (Level 3)
|
|
815
|
+
|
|
816
|
+
- Clear file names for targeted access
|
|
817
|
+
- Table of contents for context
|
|
818
|
+
- One level deep to avoid partial reads
|
|
819
|
+
|
|
820
|
+
#### 4. Script execution over generation
|
|
821
|
+
|
|
822
|
+
- Pre-made scripts save generation tokens
|
|
823
|
+
- Execution results typically smaller than code
|
|
824
|
+
|
|
825
|
+
---
|
|
826
|
+
|
|
827
|
+
## Design Patterns
|
|
828
|
+
|
|
829
|
+
### Pattern: Lazy Loading Documentation
|
|
830
|
+
|
|
831
|
+
#### Structure
|
|
832
|
+
|
|
833
|
+
```
|
|
834
|
+
SKILL.md (always loaded)
|
|
835
|
+
↓ [only if user asks about API]
|
|
836
|
+
api-reference.md
|
|
837
|
+
↓ [only if examples needed]
|
|
838
|
+
examples.md
|
|
839
|
+
```
|
|
840
|
+
|
|
841
|
+
#### Implementation
|
|
842
|
+
|
|
843
|
+
```markdown
|
|
844
|
+
# SKILL.md
|
|
845
|
+
|
|
846
|
+
## API Usage
|
|
847
|
+
|
|
848
|
+
For complete API documentation, see [api-reference.md](api-reference.md).
|
|
849
|
+
|
|
850
|
+
Quick reference:
|
|
851
|
+
- Endpoint: /api/v1/process
|
|
852
|
+
- Method: POST
|
|
853
|
+
- Auth: Bearer token
|
|
854
|
+
```
|
|
855
|
+
|
|
856
|
+
##### Benefit
|
|
857
|
+
|
|
858
|
+
Common cases avoid loading extensive docs.
|
|
859
|
+
|
|
860
|
+
### Pattern: Domain-Specific Routing
|
|
861
|
+
|
|
862
|
+
#### Structure
|
|
863
|
+
|
|
864
|
+
```
|
|
865
|
+
SKILL.md (domain router)
|
|
866
|
+
↓ [finance domain]
|
|
867
|
+
finance.md
|
|
868
|
+
↓ [sales domain]
|
|
869
|
+
sales.md
|
|
870
|
+
↓ [product domain]
|
|
871
|
+
product.md
|
|
872
|
+
```
|
|
873
|
+
|
|
874
|
+
#### Implementation
|
|
875
|
+
|
|
876
|
+
```markdown
|
|
877
|
+
# SKILL.md
|
|
878
|
+
|
|
879
|
+
## Select Domain
|
|
880
|
+
|
|
881
|
+
**Finance**: [finance.md](finance.md)
|
|
882
|
+
**Sales**: [sales.md](sales.md)
|
|
883
|
+
**Product**: [product.md](product.md)
|
|
884
|
+
```
|
|
885
|
+
|
|
886
|
+
##### Benefit
|
|
887
|
+
|
|
888
|
+
Irrelevant domain docs never loaded.
|
|
889
|
+
|
|
890
|
+
### Pattern: Progressive Complexity
|
|
891
|
+
|
|
892
|
+
#### Structure
|
|
893
|
+
|
|
894
|
+
```
|
|
895
|
+
SKILL.md (basic workflow)
|
|
896
|
+
↓ [basic suffices for most]
|
|
897
|
+
[done]
|
|
898
|
+
↓ [complex case encountered]
|
|
899
|
+
advanced-patterns.md
|
|
900
|
+
```
|
|
901
|
+
|
|
902
|
+
#### Implementation
|
|
903
|
+
|
|
904
|
+
```markdown
|
|
905
|
+
# SKILL.md
|
|
906
|
+
|
|
907
|
+
## Basic Workflow
|
|
908
|
+
1. Step A
|
|
909
|
+
2. Step B
|
|
910
|
+
3. Step C
|
|
911
|
+
|
|
912
|
+
## Advanced Use Cases
|
|
913
|
+
|
|
914
|
+
For complex scenarios, see [advanced-patterns.md](advanced-patterns.md).
|
|
915
|
+
```
|
|
916
|
+
|
|
917
|
+
##### Benefit
|
|
918
|
+
|
|
919
|
+
Simple cases complete efficiently.
|
|
920
|
+
|
|
921
|
+
---
|
|
922
|
+
|
|
923
|
+
## Measurement and Monitoring
|
|
924
|
+
|
|
925
|
+
### Observability
|
|
926
|
+
|
|
927
|
+
#### What to monitor
|
|
928
|
+
|
|
929
|
+
##### 1. File access patterns
|
|
930
|
+
|
|
931
|
+
- Which files does Claude read?
|
|
932
|
+
- In what order?
|
|
933
|
+
- How frequently?
|
|
934
|
+
|
|
935
|
+
##### 2. Token consumption
|
|
936
|
+
|
|
937
|
+
- Average per skill trigger
|
|
938
|
+
- Peak consumption
|
|
939
|
+
- Conversation depth impact
|
|
940
|
+
|
|
941
|
+
##### 3. Success rates
|
|
942
|
+
|
|
943
|
+
- Task completion
|
|
944
|
+
- Error frequency
|
|
945
|
+
- Retry patterns
|
|
946
|
+
|
|
947
|
+
### Logging Example
|
|
948
|
+
|
|
949
|
+
```python
|
|
950
|
+
# In skill script
|
|
951
|
+
import logging
|
|
952
|
+
|
|
953
|
+
logging.basicConfig(
|
|
954
|
+
filename='.claude/skills/skill-name/usage.log',
|
|
955
|
+
level=logging.INFO,
|
|
956
|
+
format='%(asctime)s - %(levelname)s - %(message)s'
|
|
957
|
+
)
|
|
958
|
+
|
|
959
|
+
def main():
|
|
960
|
+
logging.info("Skill invoked with args: %s", sys.argv)
|
|
961
|
+
# ... execution ...
|
|
962
|
+
logging.info("Completed successfully")
|
|
963
|
+
```
|
|
964
|
+
|
|
965
|
+
### Analysis
|
|
966
|
+
|
|
967
|
+
```bash
|
|
968
|
+
# Most accessed files
|
|
969
|
+
grep "Accessed file:" .claude/skills/*/usage.log | \
|
|
970
|
+
cut -d: -f3 | sort | uniq -c | sort -rn
|
|
971
|
+
|
|
972
|
+
# Token usage over time
|
|
973
|
+
grep "Token count:" .claude/skills/*/usage.log | \
|
|
974
|
+
awk '{print $4}' | \
|
|
975
|
+
awk '{sum+=$1; count++} END {print "Average:", sum/count}'
|
|
976
|
+
```
|
|
977
|
+
|
|
978
|
+
---
|
|
979
|
+
|
|
980
|
+
## Summary
|
|
981
|
+
|
|
982
|
+
### Key Architectural Principles
|
|
983
|
+
|
|
984
|
+
1. Progressive Disclosure: Load only what's needed when it's needed
|
|
985
|
+
2. Filesystem-Based: Leverage deterministic script execution
|
|
986
|
+
3. Token Efficiency: Optimize for context window management
|
|
987
|
+
4. Security-Conscious: Trust sources, audit code, restrict access
|
|
988
|
+
5. Platform-Aware: Understand differences across Claude Code, API, SDK
|
|
989
|
+
|
|
990
|
+
### Performance Hierarchy
|
|
991
|
+
|
|
992
|
+
```
|
|
993
|
+
Most Efficient:
|
|
994
|
+
1. Pre-made scripts (execute without loading)
|
|
995
|
+
2. SKILL.md only (no resources)
|
|
996
|
+
3. SKILL.md + selective resource
|
|
997
|
+
4. SKILL.md + multiple resources
|
|
998
|
+
|
|
999
|
+
Least Efficient:
|
|
1000
|
+
5. Monolithic skill (everything in SKILL.md)
|
|
1001
|
+
```
|
|
1002
|
+
|
|
1003
|
+
### Architecture Goals
|
|
1004
|
+
|
|
1005
|
+
- Scalability: Support many skills without context exhaustion
|
|
1006
|
+
- Efficiency: Minimal token overhead per skill
|
|
1007
|
+
- Flexibility: Adapt to different platforms and use cases
|
|
1008
|
+
- Security: Safe execution in various contexts
|
|
1009
|
+
- Maintainability: Clear structure, easy updates
|