Install
$ agentstack add skill-syo-m-fable5-skills-tooling ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
Tooling — enforce rules with machines, not memory
Every mechanical rule in this rule-set should be backed by a tool so lint/CI catches violations regardless of who (or what) wrote the code. When setting up or auditing a project, wire these:
tsconfig
strict: true, plusnoUncheckedIndexedAccess,noImplicitOverride,verbatimModuleSyntax.
ESLint — rule → enforcement map
| Convention (source) | ESLint rule / plugin | |---|---| | No any (CLAUDE.md) | @typescript-eslint/no-explicit-any | | @ts-expect-error needs reason, @ts-ignore banned (CLAUDE.md) | @typescript-eslint/ban-ts-comment with ts-expect-error: 'allow-with-description' | | Hooks rules + complete effect deps (react-patterns) | eslint-plugin-react-hooks (rules-of-hooks, exhaustive-deps) — suppression comments banned | | No array-index keys (react-patterns) | react/no-array-index-key | | Named exports only, with exceptions (react-patterns) | import/no-default-export + overrides allowing app/**, pages/**, src/pages/**, *.stories.*, *.config.*, .storybook/** | | No inline styles (CLAUDE.md) | react/forbid-dom-props (style) | | No dangerouslySetInnerHTML / eval family (frontend-security) | react/no-danger, no-eval, no-implied-eval, no-new-func | | Semantic HTML, labels, keyboard, no positive tabindex (a11y) | eslint-plugin-jsx-a11y (recommended config, as errors) | | Testing Library discipline (testing-vitest) | eslint-plugin-testing-library (prefer-user-event, prefer-find-by, no-container, no-node-access, no-wait-for-side-effects) | | Playwright bans (testing-playwright) | eslint-plugin-playwright (no-wait-for-timeout, no-networkidle, missing-playwright-await, no-element-handle) | | Awaited play interactions (storybook) | eslint-plugin-storybook (await-interactions, use-storybook-expect) | | Server-only module isolation (nextjs) | server-only package + import/no-restricted-paths | | Feature-boundary imports (vite-react) | eslint-plugin-boundaries or dependency-cruiser in CI |
Stylelint (CSS Modules)
stylelint-declaration-strict-value: requirevar()forcolor,background-color,z-index,transition-duration, spacing properties — enforces the tokens rule fromcss-modules.declaration-property-value-disallowed-list: ban rawz-indexintegers outsidetokens.css.
Type-safe CSS Modules
- Editor:
typescript-plugin-css-modules. CI: generated.d.ts(typed-css-modulesor the bundler's typegen) so a renamed class fails typecheck, not production.
Env validation
@t3-oss/env-nextjs/@t3-oss/env-core(zod-based): typed, validated env access; fails fast on missing vars; statically separates server/client vars.
Dead code & deps
knipin CI: unused files, exports, and dependencies.
Honor-system rules — cannot be tool-enforced, review for these explicitly
zod at every boundary, per-resource authorization (IDOR), webhook signature verification, mock-at-the-boundary policy, "measure before optimizing", small focused diffs, manual keyboard walks (a11y). Lint cannot catch these. The shipped templates/.semgrep/ heuristics backstop webhook-missing-verification, SSRF, secret exposure, and unsanitized HTML (flags for review, not proof); zod-at-boundary and IDOR have no reliable static rule and stay review-only. All of them still require human/AI code review.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: Syo-M
- Source: Syo-M/fable5_skills
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.