ac-framework 1.6.0 → 1.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +299 -185
- package/bin/postinstall.js +8 -1
- package/framework/.agent/skills/acfm-memory/SKILL.md +312 -0
- package/framework/.agent/skills/acfm-spec-workflow/SKILL.md +269 -0
- package/framework/.agent/skills/brainstorming/SKILL.md +266 -38
- package/framework/.agent/skills/ci-deploy/SKILL.md +501 -0
- package/framework/.agent/skills/code-review/SKILL.md +250 -0
- package/framework/.agent/skills/context-synthesizer/SKILL.md +322 -0
- package/framework/.agent/skills/documentation/SKILL.md +441 -0
- package/framework/.agent/skills/microtask-decomposition/SKILL.md +368 -0
- package/framework/.agent/skills/openspec-apply-change/SKILL.md +23 -7
- package/framework/.agent/skills/openspec-archive-change/SKILL.md +22 -6
- package/framework/.agent/skills/openspec-bulk-archive-change/SKILL.md +25 -9
- package/framework/.agent/skills/openspec-continue-change/SKILL.md +20 -4
- package/framework/.agent/skills/openspec-explore/SKILL.md +17 -1
- package/framework/.agent/skills/openspec-ff-change/SKILL.md +21 -5
- package/framework/.agent/skills/openspec-new-change/SKILL.md +23 -7
- package/framework/.agent/skills/openspec-sync-specs/SKILL.md +20 -4
- package/framework/.agent/skills/openspec-verify-change/SKILL.md +24 -8
- package/framework/.agent/skills/research-retrieval/SKILL.md +357 -0
- package/framework/.agent/skills/testing-qa/SKILL.md +249 -0
- package/framework/.agent/workflows/ac-lite.md +192 -0
- package/framework/.agent/workflows/ac.md +402 -177
- package/framework/.amazonq/prompts/ac-lite.md +192 -0
- package/framework/.amazonq/prompts/ac.md +402 -177
- package/framework/.amazonq/skills/acfm-memory/SKILL.md +312 -0
- package/framework/.amazonq/skills/acfm-spec-workflow/SKILL.md +269 -0
- package/framework/.amazonq/skills/brainstorming/SKILL.md +266 -38
- package/framework/.amazonq/skills/ci-deploy/SKILL.md +501 -0
- package/framework/.amazonq/skills/code-review/SKILL.md +250 -0
- package/framework/.amazonq/skills/context-synthesizer/SKILL.md +322 -0
- package/framework/.amazonq/skills/documentation/SKILL.md +441 -0
- package/framework/.amazonq/skills/microtask-decomposition/SKILL.md +368 -0
- package/framework/.amazonq/skills/openspec-apply-change/SKILL.md +23 -7
- package/framework/.amazonq/skills/openspec-archive-change/SKILL.md +22 -6
- package/framework/.amazonq/skills/openspec-bulk-archive-change/SKILL.md +25 -9
- package/framework/.amazonq/skills/openspec-continue-change/SKILL.md +20 -4
- package/framework/.amazonq/skills/openspec-explore/SKILL.md +17 -1
- package/framework/.amazonq/skills/openspec-ff-change/SKILL.md +21 -5
- package/framework/.amazonq/skills/openspec-new-change/SKILL.md +23 -7
- package/framework/.amazonq/skills/openspec-sync-specs/SKILL.md +20 -4
- package/framework/.amazonq/skills/openspec-verify-change/SKILL.md +24 -8
- package/framework/.amazonq/skills/research-retrieval/SKILL.md +357 -0
- package/framework/.amazonq/skills/testing-qa/SKILL.md +249 -0
- package/framework/.antigravity/skills/acfm-memory/SKILL.md +312 -0
- package/framework/.antigravity/skills/acfm-spec-workflow/SKILL.md +269 -0
- package/framework/.antigravity/skills/api-design-principles/SKILL.md +528 -0
- package/framework/.antigravity/skills/api-design-principles/assets/api-design-checklist.md +155 -0
- package/framework/.antigravity/skills/api-design-principles/assets/rest-api-template.py +182 -0
- package/framework/.antigravity/skills/api-design-principles/references/graphql-schema-design.md +583 -0
- package/framework/.antigravity/skills/api-design-principles/references/rest-best-practices.md +408 -0
- package/framework/.antigravity/skills/brainstorming/SKILL.md +282 -0
- package/framework/.antigravity/skills/changelog-generator/SKILL.md +104 -0
- package/framework/.antigravity/skills/ci-deploy/SKILL.md +501 -0
- package/framework/.antigravity/skills/code-maintainability/SKILL.md +1108 -0
- package/framework/.antigravity/skills/code-review/SKILL.md +250 -0
- package/framework/.antigravity/skills/context-synthesizer/SKILL.md +322 -0
- package/framework/.antigravity/skills/documentation/SKILL.md +441 -0
- package/framework/.antigravity/skills/error-handling-patterns/SKILL.md +641 -0
- package/framework/.antigravity/skills/interface-design/SKILL.md +310 -0
- package/framework/.antigravity/skills/interface-design/references/example.md +86 -0
- package/framework/.antigravity/skills/interface-design/references/principles.md +235 -0
- package/framework/.antigravity/skills/interface-design/references/validation.md +48 -0
- package/framework/.antigravity/skills/microtask-decomposition/SKILL.md +368 -0
- package/framework/.antigravity/skills/openspec-apply-change/SKILL.md +172 -0
- package/framework/.antigravity/skills/openspec-archive-change/SKILL.md +130 -0
- package/framework/.antigravity/skills/openspec-bulk-archive-change/SKILL.md +262 -0
- package/framework/.antigravity/skills/openspec-continue-change/SKILL.md +134 -0
- package/framework/.antigravity/skills/openspec-explore/SKILL.md +306 -0
- package/framework/.antigravity/skills/openspec-ff-change/SKILL.md +117 -0
- package/framework/.antigravity/skills/openspec-new-change/SKILL.md +90 -0
- package/framework/.antigravity/skills/openspec-onboard/SKILL.md +529 -0
- package/framework/.antigravity/skills/openspec-sync-specs/SKILL.md +154 -0
- package/framework/.antigravity/skills/openspec-verify-change/SKILL.md +184 -0
- package/framework/.antigravity/skills/performance-optimizer/SKILL.md +43 -0
- package/framework/.antigravity/skills/project-constitution/SKILL.md +66 -0
- package/framework/.antigravity/skills/project-index/SKILL.md +234 -0
- package/framework/.antigravity/skills/project-index/scripts/scan_codebase.py +47 -0
- package/framework/.antigravity/skills/project-index/templates/agent-template.md +18 -0
- package/framework/.antigravity/skills/project-index/templates/skill-template.md +20 -0
- package/framework/.antigravity/skills/requirement-checklist/SKILL.md +90 -0
- package/framework/.antigravity/skills/research-retrieval/SKILL.md +357 -0
- package/framework/.antigravity/skills/secure-coding-cybersecurity/SKILL.md +793 -0
- package/framework/.antigravity/skills/secure-coding-cybersecurity/references/ai_coding_pitfalls.md +44 -0
- package/framework/.antigravity/skills/secure-coding-cybersecurity/references/owasp_top_10_2025.md +28 -0
- package/framework/.antigravity/skills/secure-coding-cybersecurity/references/secure_coding_examples.md +102 -0
- package/framework/.antigravity/skills/secure-coding-cybersecurity/scripts/security_audit.py +46 -0
- package/framework/.antigravity/skills/skill-writer/SKILL.md +385 -0
- package/framework/.antigravity/skills/spec-analysis/SKILL.md +65 -0
- package/framework/.antigravity/skills/spec-clarification/SKILL.md +73 -0
- package/framework/.antigravity/skills/sync-index/SKILL.md +35 -0
- package/framework/.antigravity/skills/systematic-debugging/SKILL.md +296 -0
- package/framework/.antigravity/skills/test-generator/SKILL.md +41 -0
- package/framework/.antigravity/skills/testing-qa/SKILL.md +249 -0
- package/framework/.antigravity/skills/vercel-react-best-practices/AGENTS.md +2934 -0
- package/framework/.antigravity/skills/vercel-react-best-practices/SKILL.md +136 -0
- package/framework/.antigravity/skills/vercel-react-best-practices/rules/advanced-event-handler-refs.md +55 -0
- package/framework/.antigravity/skills/vercel-react-best-practices/rules/advanced-init-once.md +42 -0
- package/framework/.antigravity/skills/vercel-react-best-practices/rules/advanced-use-latest.md +39 -0
- package/framework/.antigravity/skills/vercel-react-best-practices/rules/async-api-routes.md +38 -0
- package/framework/.antigravity/skills/vercel-react-best-practices/rules/async-defer-await.md +80 -0
- package/framework/.antigravity/skills/vercel-react-best-practices/rules/async-dependencies.md +51 -0
- package/framework/.antigravity/skills/vercel-react-best-practices/rules/async-parallel.md +28 -0
- package/framework/.antigravity/skills/vercel-react-best-practices/rules/async-suspense-boundaries.md +99 -0
- package/framework/.antigravity/skills/vercel-react-best-practices/rules/bundle-barrel-imports.md +59 -0
- package/framework/.antigravity/skills/vercel-react-best-practices/rules/bundle-conditional.md +31 -0
- package/framework/.antigravity/skills/vercel-react-best-practices/rules/bundle-defer-third-party.md +49 -0
- package/framework/.antigravity/skills/vercel-react-best-practices/rules/bundle-dynamic-imports.md +35 -0
- package/framework/.antigravity/skills/vercel-react-best-practices/rules/bundle-preload.md +50 -0
- package/framework/.antigravity/skills/vercel-react-best-practices/rules/client-event-listeners.md +74 -0
- package/framework/.antigravity/skills/vercel-react-best-practices/rules/client-localstorage-schema.md +71 -0
- package/framework/.antigravity/skills/vercel-react-best-practices/rules/client-passive-event-listeners.md +48 -0
- package/framework/.antigravity/skills/vercel-react-best-practices/rules/client-swr-dedup.md +56 -0
- package/framework/.antigravity/skills/vercel-react-best-practices/rules/js-batch-dom-css.md +107 -0
- package/framework/.antigravity/skills/vercel-react-best-practices/rules/js-cache-function-results.md +80 -0
- package/framework/.antigravity/skills/vercel-react-best-practices/rules/js-cache-property-access.md +28 -0
- package/framework/.antigravity/skills/vercel-react-best-practices/rules/js-cache-storage.md +70 -0
- package/framework/.antigravity/skills/vercel-react-best-practices/rules/js-combine-iterations.md +32 -0
- package/framework/.antigravity/skills/vercel-react-best-practices/rules/js-early-exit.md +50 -0
- package/framework/.antigravity/skills/vercel-react-best-practices/rules/js-hoist-regexp.md +45 -0
- package/framework/.antigravity/skills/vercel-react-best-practices/rules/js-index-maps.md +37 -0
- package/framework/.antigravity/skills/vercel-react-best-practices/rules/js-length-check-first.md +49 -0
- package/framework/.antigravity/skills/vercel-react-best-practices/rules/js-min-max-loop.md +82 -0
- package/framework/.antigravity/skills/vercel-react-best-practices/rules/js-set-map-lookups.md +24 -0
- package/framework/.antigravity/skills/vercel-react-best-practices/rules/js-tosorted-immutable.md +57 -0
- package/framework/.antigravity/skills/vercel-react-best-practices/rules/rendering-activity.md +26 -0
- package/framework/.antigravity/skills/vercel-react-best-practices/rules/rendering-animate-svg-wrapper.md +47 -0
- package/framework/.antigravity/skills/vercel-react-best-practices/rules/rendering-conditional-render.md +40 -0
- package/framework/.antigravity/skills/vercel-react-best-practices/rules/rendering-content-visibility.md +38 -0
- package/framework/.antigravity/skills/vercel-react-best-practices/rules/rendering-hoist-jsx.md +46 -0
- package/framework/.antigravity/skills/vercel-react-best-practices/rules/rendering-hydration-no-flicker.md +82 -0
- package/framework/.antigravity/skills/vercel-react-best-practices/rules/rendering-hydration-suppress-warning.md +30 -0
- package/framework/.antigravity/skills/vercel-react-best-practices/rules/rendering-svg-precision.md +28 -0
- package/framework/.antigravity/skills/vercel-react-best-practices/rules/rendering-usetransition-loading.md +75 -0
- package/framework/.antigravity/skills/vercel-react-best-practices/rules/rerender-defer-reads.md +39 -0
- package/framework/.antigravity/skills/vercel-react-best-practices/rules/rerender-dependencies.md +45 -0
- package/framework/.antigravity/skills/vercel-react-best-practices/rules/rerender-derived-state-no-effect.md +40 -0
- package/framework/.antigravity/skills/vercel-react-best-practices/rules/rerender-derived-state.md +29 -0
- package/framework/.antigravity/skills/vercel-react-best-practices/rules/rerender-functional-setstate.md +74 -0
- package/framework/.antigravity/skills/vercel-react-best-practices/rules/rerender-lazy-state-init.md +58 -0
- package/framework/.antigravity/skills/vercel-react-best-practices/rules/rerender-memo-with-default-value.md +38 -0
- package/framework/.antigravity/skills/vercel-react-best-practices/rules/rerender-memo.md +44 -0
- package/framework/.antigravity/skills/vercel-react-best-practices/rules/rerender-move-effect-to-event.md +45 -0
- package/framework/.antigravity/skills/vercel-react-best-practices/rules/rerender-simple-expression-in-memo.md +35 -0
- package/framework/.antigravity/skills/vercel-react-best-practices/rules/rerender-transitions.md +40 -0
- package/framework/.antigravity/skills/vercel-react-best-practices/rules/rerender-use-ref-transient-values.md +73 -0
- package/framework/.antigravity/skills/vercel-react-best-practices/rules/server-after-nonblocking.md +73 -0
- package/framework/.antigravity/skills/vercel-react-best-practices/rules/server-auth-actions.md +96 -0
- package/framework/.antigravity/skills/vercel-react-best-practices/rules/server-cache-lru.md +41 -0
- package/framework/.antigravity/skills/vercel-react-best-practices/rules/server-cache-react.md +76 -0
- package/framework/.antigravity/skills/vercel-react-best-practices/rules/server-dedup-props.md +65 -0
- package/framework/.antigravity/skills/vercel-react-best-practices/rules/server-parallel-fetching.md +83 -0
- package/framework/.antigravity/skills/vercel-react-best-practices/rules/server-serialization.md +38 -0
- package/framework/.antigravity/workflows/ac-lite.md +192 -0
- package/framework/.antigravity/workflows/ac.md +486 -0
- package/framework/.augment/commands/ac-lite.md +192 -0
- package/framework/.augment/commands/ac.md +402 -177
- package/framework/.augment/skills/acfm-memory/SKILL.md +312 -0
- package/framework/.augment/skills/acfm-spec-workflow/SKILL.md +269 -0
- package/framework/.augment/skills/brainstorming/SKILL.md +266 -38
- package/framework/.augment/skills/ci-deploy/SKILL.md +501 -0
- package/framework/.augment/skills/code-review/SKILL.md +250 -0
- package/framework/.augment/skills/context-synthesizer/SKILL.md +322 -0
- package/framework/.augment/skills/documentation/SKILL.md +441 -0
- package/framework/.augment/skills/microtask-decomposition/SKILL.md +368 -0
- package/framework/.augment/skills/openspec-apply-change/SKILL.md +23 -7
- package/framework/.augment/skills/openspec-archive-change/SKILL.md +22 -6
- package/framework/.augment/skills/openspec-bulk-archive-change/SKILL.md +25 -9
- package/framework/.augment/skills/openspec-continue-change/SKILL.md +20 -4
- package/framework/.augment/skills/openspec-explore/SKILL.md +17 -1
- package/framework/.augment/skills/openspec-ff-change/SKILL.md +21 -5
- package/framework/.augment/skills/openspec-new-change/SKILL.md +23 -7
- package/framework/.augment/skills/openspec-sync-specs/SKILL.md +20 -4
- package/framework/.augment/skills/openspec-verify-change/SKILL.md +24 -8
- package/framework/.augment/skills/research-retrieval/SKILL.md +357 -0
- package/framework/.augment/skills/testing-qa/SKILL.md +249 -0
- package/framework/.claude/commands/opsx/ac-lite.md +192 -0
- package/framework/.claude/commands/opsx/ac.md +402 -177
- package/framework/.claude/skills/acfm-memory/SKILL.md +312 -0
- package/framework/.claude/skills/acfm-spec-workflow/SKILL.md +269 -0
- package/framework/.claude/skills/brainstorming/SKILL.md +266 -38
- package/framework/.claude/skills/ci-deploy/SKILL.md +501 -0
- package/framework/.claude/skills/code-review/SKILL.md +250 -0
- package/framework/.claude/skills/context-synthesizer/SKILL.md +322 -0
- package/framework/.claude/skills/documentation/SKILL.md +441 -0
- package/framework/.claude/skills/microtask-decomposition/SKILL.md +368 -0
- package/framework/.claude/skills/openspec-apply-change/SKILL.md +23 -7
- package/framework/.claude/skills/openspec-archive-change/SKILL.md +22 -6
- package/framework/.claude/skills/openspec-bulk-archive-change/SKILL.md +25 -9
- package/framework/.claude/skills/openspec-continue-change/SKILL.md +20 -4
- package/framework/.claude/skills/openspec-explore/SKILL.md +17 -1
- package/framework/.claude/skills/openspec-ff-change/SKILL.md +21 -5
- package/framework/.claude/skills/openspec-new-change/SKILL.md +23 -7
- package/framework/.claude/skills/openspec-sync-specs/SKILL.md +20 -4
- package/framework/.claude/skills/openspec-verify-change/SKILL.md +24 -8
- package/framework/.claude/skills/research-retrieval/SKILL.md +357 -0
- package/framework/.claude/skills/testing-qa/SKILL.md +249 -0
- package/framework/.cline/commands/opsx/ac-lite.md +192 -0
- package/framework/.cline/commands/opsx/ac.md +486 -0
- package/framework/.cline/skills/acfm-memory/SKILL.md +312 -0
- package/framework/.cline/skills/acfm-spec-workflow/SKILL.md +269 -0
- package/framework/.cline/skills/brainstorming/SKILL.md +266 -38
- package/framework/.cline/skills/ci-deploy/SKILL.md +501 -0
- package/framework/.cline/skills/code-review/SKILL.md +250 -0
- package/framework/.cline/skills/context-synthesizer/SKILL.md +322 -0
- package/framework/.cline/skills/documentation/SKILL.md +441 -0
- package/framework/.cline/skills/microtask-decomposition/SKILL.md +368 -0
- package/framework/.cline/skills/openspec-apply-change/SKILL.md +23 -7
- package/framework/.cline/skills/openspec-archive-change/SKILL.md +22 -6
- package/framework/.cline/skills/openspec-bulk-archive-change/SKILL.md +25 -9
- package/framework/.cline/skills/openspec-continue-change/SKILL.md +20 -4
- package/framework/.cline/skills/openspec-explore/SKILL.md +17 -1
- package/framework/.cline/skills/openspec-ff-change/SKILL.md +21 -5
- package/framework/.cline/skills/openspec-new-change/SKILL.md +23 -7
- package/framework/.cline/skills/openspec-sync-specs/SKILL.md +20 -4
- package/framework/.cline/skills/openspec-verify-change/SKILL.md +24 -8
- package/framework/.cline/skills/research-retrieval/SKILL.md +357 -0
- package/framework/.cline/skills/testing-qa/SKILL.md +249 -0
- package/framework/.clinerules/skills/acfm-memory/SKILL.md +312 -0
- package/framework/.clinerules/skills/acfm-spec-workflow/SKILL.md +269 -0
- package/framework/.clinerules/skills/brainstorming/SKILL.md +266 -38
- package/framework/.clinerules/skills/ci-deploy/SKILL.md +501 -0
- package/framework/.clinerules/skills/code-review/SKILL.md +250 -0
- package/framework/.clinerules/skills/context-synthesizer/SKILL.md +322 -0
- package/framework/.clinerules/skills/documentation/SKILL.md +441 -0
- package/framework/.clinerules/skills/microtask-decomposition/SKILL.md +368 -0
- package/framework/.clinerules/skills/openspec-apply-change/SKILL.md +23 -7
- package/framework/.clinerules/skills/openspec-archive-change/SKILL.md +22 -6
- package/framework/.clinerules/skills/openspec-bulk-archive-change/SKILL.md +25 -9
- package/framework/.clinerules/skills/openspec-continue-change/SKILL.md +20 -4
- package/framework/.clinerules/skills/openspec-explore/SKILL.md +17 -1
- package/framework/.clinerules/skills/openspec-ff-change/SKILL.md +21 -5
- package/framework/.clinerules/skills/openspec-new-change/SKILL.md +23 -7
- package/framework/.clinerules/skills/openspec-sync-specs/SKILL.md +20 -4
- package/framework/.clinerules/skills/openspec-verify-change/SKILL.md +24 -8
- package/framework/.clinerules/skills/research-retrieval/SKILL.md +357 -0
- package/framework/.clinerules/skills/testing-qa/SKILL.md +249 -0
- package/framework/.clinerules/workflows/ac-lite.md +192 -0
- package/framework/.clinerules/workflows/ac.md +402 -177
- package/framework/.codebuddy/commands/opsx/ac-lite.md +192 -0
- package/framework/.codebuddy/commands/opsx/ac.md +402 -177
- package/framework/.codebuddy/skills/acfm-memory/SKILL.md +312 -0
- package/framework/.codebuddy/skills/acfm-spec-workflow/SKILL.md +269 -0
- package/framework/.codebuddy/skills/brainstorming/SKILL.md +266 -38
- package/framework/.codebuddy/skills/ci-deploy/SKILL.md +501 -0
- package/framework/.codebuddy/skills/code-review/SKILL.md +250 -0
- package/framework/.codebuddy/skills/context-synthesizer/SKILL.md +322 -0
- package/framework/.codebuddy/skills/documentation/SKILL.md +441 -0
- package/framework/.codebuddy/skills/microtask-decomposition/SKILL.md +368 -0
- package/framework/.codebuddy/skills/openspec-apply-change/SKILL.md +23 -7
- package/framework/.codebuddy/skills/openspec-archive-change/SKILL.md +22 -6
- package/framework/.codebuddy/skills/openspec-bulk-archive-change/SKILL.md +25 -9
- package/framework/.codebuddy/skills/openspec-continue-change/SKILL.md +20 -4
- package/framework/.codebuddy/skills/openspec-explore/SKILL.md +17 -1
- package/framework/.codebuddy/skills/openspec-ff-change/SKILL.md +21 -5
- package/framework/.codebuddy/skills/openspec-new-change/SKILL.md +23 -7
- package/framework/.codebuddy/skills/openspec-sync-specs/SKILL.md +20 -4
- package/framework/.codebuddy/skills/openspec-verify-change/SKILL.md +24 -8
- package/framework/.codebuddy/skills/research-retrieval/SKILL.md +357 -0
- package/framework/.codebuddy/skills/testing-qa/SKILL.md +249 -0
- package/framework/.codex/skills/acfm-memory/SKILL.md +312 -0
- package/framework/.codex/skills/acfm-spec-workflow/SKILL.md +269 -0
- package/framework/.codex/skills/brainstorming/SKILL.md +266 -38
- package/framework/.codex/skills/ci-deploy/SKILL.md +501 -0
- package/framework/.codex/skills/code-review/SKILL.md +250 -0
- package/framework/.codex/skills/context-synthesizer/SKILL.md +322 -0
- package/framework/.codex/skills/documentation/SKILL.md +441 -0
- package/framework/.codex/skills/main-skill/SKILL.md +455 -0
- package/framework/.codex/skills/microtask-decomposition/SKILL.md +368 -0
- package/framework/.codex/skills/openspec-apply-change/SKILL.md +23 -7
- package/framework/.codex/skills/openspec-archive-change/SKILL.md +22 -6
- package/framework/.codex/skills/openspec-bulk-archive-change/SKILL.md +25 -9
- package/framework/.codex/skills/openspec-continue-change/SKILL.md +20 -4
- package/framework/.codex/skills/openspec-explore/SKILL.md +17 -1
- package/framework/.codex/skills/openspec-ff-change/SKILL.md +21 -5
- package/framework/.codex/skills/openspec-new-change/SKILL.md +23 -7
- package/framework/.codex/skills/openspec-sync-specs/SKILL.md +20 -4
- package/framework/.codex/skills/openspec-verify-change/SKILL.md +24 -8
- package/framework/.codex/skills/research-retrieval/SKILL.md +357 -0
- package/framework/.codex/skills/testing-qa/SKILL.md +249 -0
- package/framework/.continue/prompts/ac-lite.md +192 -0
- package/framework/.continue/prompts/ac.md +486 -0
- package/framework/.continue/skills/acfm-memory/SKILL.md +312 -0
- package/framework/.continue/skills/acfm-spec-workflow/SKILL.md +269 -0
- package/framework/.continue/skills/brainstorming/SKILL.md +266 -38
- package/framework/.continue/skills/ci-deploy/SKILL.md +501 -0
- package/framework/.continue/skills/code-review/SKILL.md +250 -0
- package/framework/.continue/skills/context-synthesizer/SKILL.md +322 -0
- package/framework/.continue/skills/documentation/SKILL.md +441 -0
- package/framework/.continue/skills/microtask-decomposition/SKILL.md +368 -0
- package/framework/.continue/skills/openspec-apply-change/SKILL.md +23 -7
- package/framework/.continue/skills/openspec-archive-change/SKILL.md +22 -6
- package/framework/.continue/skills/openspec-bulk-archive-change/SKILL.md +25 -9
- package/framework/.continue/skills/openspec-continue-change/SKILL.md +20 -4
- package/framework/.continue/skills/openspec-explore/SKILL.md +17 -1
- package/framework/.continue/skills/openspec-ff-change/SKILL.md +21 -5
- package/framework/.continue/skills/openspec-new-change/SKILL.md +23 -7
- package/framework/.continue/skills/openspec-sync-specs/SKILL.md +20 -4
- package/framework/.continue/skills/openspec-verify-change/SKILL.md +24 -8
- package/framework/.continue/skills/research-retrieval/SKILL.md +357 -0
- package/framework/.continue/skills/testing-qa/SKILL.md +249 -0
- package/framework/.cospec/openspec/commands/ac-lite.md +192 -0
- package/framework/.cospec/openspec/commands/ac.md +402 -177
- package/framework/.cospec/skills/acfm-memory/SKILL.md +312 -0
- package/framework/.cospec/skills/acfm-spec-workflow/SKILL.md +269 -0
- package/framework/.cospec/skills/brainstorming/SKILL.md +266 -38
- package/framework/.cospec/skills/ci-deploy/SKILL.md +501 -0
- package/framework/.cospec/skills/code-review/SKILL.md +250 -0
- package/framework/.cospec/skills/context-synthesizer/SKILL.md +322 -0
- package/framework/.cospec/skills/documentation/SKILL.md +441 -0
- package/framework/.cospec/skills/microtask-decomposition/SKILL.md +368 -0
- package/framework/.cospec/skills/openspec-apply-change/SKILL.md +23 -7
- package/framework/.cospec/skills/openspec-archive-change/SKILL.md +22 -6
- package/framework/.cospec/skills/openspec-bulk-archive-change/SKILL.md +25 -9
- package/framework/.cospec/skills/openspec-continue-change/SKILL.md +20 -4
- package/framework/.cospec/skills/openspec-explore/SKILL.md +17 -1
- package/framework/.cospec/skills/openspec-ff-change/SKILL.md +21 -5
- package/framework/.cospec/skills/openspec-new-change/SKILL.md +23 -7
- package/framework/.cospec/skills/openspec-sync-specs/SKILL.md +20 -4
- package/framework/.cospec/skills/openspec-verify-change/SKILL.md +24 -8
- package/framework/.cospec/skills/research-retrieval/SKILL.md +357 -0
- package/framework/.cospec/skills/testing-qa/SKILL.md +249 -0
- package/framework/.crush/commands/opsx/ac-lite.md +192 -0
- package/framework/.crush/commands/opsx/ac.md +402 -177
- package/framework/.crush/skills/acfm-memory/SKILL.md +312 -0
- package/framework/.crush/skills/acfm-spec-workflow/SKILL.md +269 -0
- package/framework/.crush/skills/brainstorming/SKILL.md +266 -38
- package/framework/.crush/skills/ci-deploy/SKILL.md +501 -0
- package/framework/.crush/skills/code-review/SKILL.md +250 -0
- package/framework/.crush/skills/context-synthesizer/SKILL.md +322 -0
- package/framework/.crush/skills/documentation/SKILL.md +441 -0
- package/framework/.crush/skills/microtask-decomposition/SKILL.md +368 -0
- package/framework/.crush/skills/openspec-apply-change/SKILL.md +23 -7
- package/framework/.crush/skills/openspec-archive-change/SKILL.md +22 -6
- package/framework/.crush/skills/openspec-bulk-archive-change/SKILL.md +25 -9
- package/framework/.crush/skills/openspec-continue-change/SKILL.md +20 -4
- package/framework/.crush/skills/openspec-explore/SKILL.md +17 -1
- package/framework/.crush/skills/openspec-ff-change/SKILL.md +21 -5
- package/framework/.crush/skills/openspec-new-change/SKILL.md +23 -7
- package/framework/.crush/skills/openspec-sync-specs/SKILL.md +20 -4
- package/framework/.crush/skills/openspec-verify-change/SKILL.md +24 -8
- package/framework/.crush/skills/research-retrieval/SKILL.md +357 -0
- package/framework/.crush/skills/testing-qa/SKILL.md +249 -0
- package/framework/.cursor/commands/ac-lite.md +192 -0
- package/framework/.cursor/commands/ac.md +402 -177
- package/framework/.cursor/skills/acfm-memory/SKILL.md +312 -0
- package/framework/.cursor/skills/acfm-spec-workflow/SKILL.md +269 -0
- package/framework/.cursor/skills/brainstorming/SKILL.md +266 -38
- package/framework/.cursor/skills/ci-deploy/SKILL.md +501 -0
- package/framework/.cursor/skills/code-review/SKILL.md +250 -0
- package/framework/.cursor/skills/context-synthesizer/SKILL.md +322 -0
- package/framework/.cursor/skills/documentation/SKILL.md +441 -0
- package/framework/.cursor/skills/microtask-decomposition/SKILL.md +368 -0
- package/framework/.cursor/skills/openspec-apply-change/SKILL.md +23 -7
- package/framework/.cursor/skills/openspec-archive-change/SKILL.md +22 -6
- package/framework/.cursor/skills/openspec-bulk-archive-change/SKILL.md +25 -9
- package/framework/.cursor/skills/openspec-continue-change/SKILL.md +20 -4
- package/framework/.cursor/skills/openspec-explore/SKILL.md +17 -1
- package/framework/.cursor/skills/openspec-ff-change/SKILL.md +21 -5
- package/framework/.cursor/skills/openspec-new-change/SKILL.md +23 -7
- package/framework/.cursor/skills/openspec-sync-specs/SKILL.md +20 -4
- package/framework/.cursor/skills/openspec-verify-change/SKILL.md +24 -8
- package/framework/.cursor/skills/research-retrieval/SKILL.md +357 -0
- package/framework/.cursor/skills/testing-qa/SKILL.md +249 -0
- package/framework/.factory/commands/ac-lite.md +192 -0
- package/framework/.factory/commands/ac.md +402 -177
- package/framework/.factory/skills/acfm-memory/SKILL.md +312 -0
- package/framework/.factory/skills/acfm-spec-workflow/SKILL.md +269 -0
- package/framework/.factory/skills/brainstorming/SKILL.md +266 -38
- package/framework/.factory/skills/ci-deploy/SKILL.md +501 -0
- package/framework/.factory/skills/code-review/SKILL.md +250 -0
- package/framework/.factory/skills/context-synthesizer/SKILL.md +322 -0
- package/framework/.factory/skills/documentation/SKILL.md +441 -0
- package/framework/.factory/skills/microtask-decomposition/SKILL.md +368 -0
- package/framework/.factory/skills/openspec-apply-change/SKILL.md +23 -7
- package/framework/.factory/skills/openspec-archive-change/SKILL.md +22 -6
- package/framework/.factory/skills/openspec-bulk-archive-change/SKILL.md +25 -9
- package/framework/.factory/skills/openspec-continue-change/SKILL.md +20 -4
- package/framework/.factory/skills/openspec-explore/SKILL.md +17 -1
- package/framework/.factory/skills/openspec-ff-change/SKILL.md +21 -5
- package/framework/.factory/skills/openspec-new-change/SKILL.md +23 -7
- package/framework/.factory/skills/openspec-sync-specs/SKILL.md +20 -4
- package/framework/.factory/skills/openspec-verify-change/SKILL.md +24 -8
- package/framework/.factory/skills/research-retrieval/SKILL.md +357 -0
- package/framework/.factory/skills/testing-qa/SKILL.md +249 -0
- package/framework/.gemini/commands/opsx/ac-lite.md +192 -0
- package/framework/.gemini/commands/opsx/ac.md +486 -0
- package/framework/.gemini/skills/acfm-memory/SKILL.md +312 -0
- package/framework/.gemini/skills/acfm-spec-workflow/SKILL.md +269 -0
- package/framework/.gemini/skills/brainstorming/SKILL.md +266 -38
- package/framework/.gemini/skills/ci-deploy/SKILL.md +501 -0
- package/framework/.gemini/skills/code-review/SKILL.md +250 -0
- package/framework/.gemini/skills/context-synthesizer/SKILL.md +322 -0
- package/framework/.gemini/skills/documentation/SKILL.md +441 -0
- package/framework/.gemini/skills/microtask-decomposition/SKILL.md +368 -0
- package/framework/.gemini/skills/openspec-apply-change/SKILL.md +23 -7
- package/framework/.gemini/skills/openspec-archive-change/SKILL.md +22 -6
- package/framework/.gemini/skills/openspec-bulk-archive-change/SKILL.md +25 -9
- package/framework/.gemini/skills/openspec-continue-change/SKILL.md +20 -4
- package/framework/.gemini/skills/openspec-explore/SKILL.md +17 -1
- package/framework/.gemini/skills/openspec-ff-change/SKILL.md +21 -5
- package/framework/.gemini/skills/openspec-new-change/SKILL.md +23 -7
- package/framework/.gemini/skills/openspec-sync-specs/SKILL.md +20 -4
- package/framework/.gemini/skills/openspec-verify-change/SKILL.md +24 -8
- package/framework/.gemini/skills/research-retrieval/SKILL.md +357 -0
- package/framework/.gemini/skills/testing-qa/SKILL.md +249 -0
- package/framework/.github/prompts/ac-lite.md +192 -0
- package/framework/.github/prompts/ac.md +486 -0
- package/framework/.github/skills/acfm-memory/SKILL.md +312 -0
- package/framework/.github/skills/acfm-spec-workflow/SKILL.md +269 -0
- package/framework/.github/skills/brainstorming/SKILL.md +266 -38
- package/framework/.github/skills/ci-deploy/SKILL.md +501 -0
- package/framework/.github/skills/code-review/SKILL.md +250 -0
- package/framework/.github/skills/context-synthesizer/SKILL.md +322 -0
- package/framework/.github/skills/documentation/SKILL.md +441 -0
- package/framework/.github/skills/microtask-decomposition/SKILL.md +368 -0
- package/framework/.github/skills/openspec-apply-change/SKILL.md +23 -7
- package/framework/.github/skills/openspec-archive-change/SKILL.md +22 -6
- package/framework/.github/skills/openspec-bulk-archive-change/SKILL.md +25 -9
- package/framework/.github/skills/openspec-continue-change/SKILL.md +20 -4
- package/framework/.github/skills/openspec-explore/SKILL.md +17 -1
- package/framework/.github/skills/openspec-ff-change/SKILL.md +21 -5
- package/framework/.github/skills/openspec-new-change/SKILL.md +23 -7
- package/framework/.github/skills/openspec-sync-specs/SKILL.md +20 -4
- package/framework/.github/skills/openspec-verify-change/SKILL.md +24 -8
- package/framework/.github/skills/research-retrieval/SKILL.md +357 -0
- package/framework/.github/skills/testing-qa/SKILL.md +249 -0
- package/framework/.iflow/commands/ac-lite.md +192 -0
- package/framework/.iflow/commands/ac.md +402 -177
- package/framework/.iflow/skills/acfm-memory/SKILL.md +312 -0
- package/framework/.iflow/skills/acfm-spec-workflow/SKILL.md +269 -0
- package/framework/.iflow/skills/brainstorming/SKILL.md +266 -38
- package/framework/.iflow/skills/ci-deploy/SKILL.md +501 -0
- package/framework/.iflow/skills/code-review/SKILL.md +250 -0
- package/framework/.iflow/skills/context-synthesizer/SKILL.md +322 -0
- package/framework/.iflow/skills/documentation/SKILL.md +441 -0
- package/framework/.iflow/skills/microtask-decomposition/SKILL.md +368 -0
- package/framework/.iflow/skills/openspec-apply-change/SKILL.md +23 -7
- package/framework/.iflow/skills/openspec-archive-change/SKILL.md +22 -6
- package/framework/.iflow/skills/openspec-bulk-archive-change/SKILL.md +25 -9
- package/framework/.iflow/skills/openspec-continue-change/SKILL.md +20 -4
- package/framework/.iflow/skills/openspec-explore/SKILL.md +17 -1
- package/framework/.iflow/skills/openspec-ff-change/SKILL.md +21 -5
- package/framework/.iflow/skills/openspec-new-change/SKILL.md +23 -7
- package/framework/.iflow/skills/openspec-sync-specs/SKILL.md +20 -4
- package/framework/.iflow/skills/openspec-verify-change/SKILL.md +24 -8
- package/framework/.iflow/skills/research-retrieval/SKILL.md +357 -0
- package/framework/.iflow/skills/testing-qa/SKILL.md +249 -0
- package/framework/.kilocode/skills/acfm-memory/SKILL.md +312 -0
- package/framework/.kilocode/skills/acfm-spec-workflow/SKILL.md +269 -0
- package/framework/.kilocode/skills/brainstorming/SKILL.md +266 -38
- package/framework/.kilocode/skills/ci-deploy/SKILL.md +501 -0
- package/framework/.kilocode/skills/code-review/SKILL.md +250 -0
- package/framework/.kilocode/skills/context-synthesizer/SKILL.md +322 -0
- package/framework/.kilocode/skills/documentation/SKILL.md +441 -0
- package/framework/.kilocode/skills/microtask-decomposition/SKILL.md +368 -0
- package/framework/.kilocode/skills/openspec-apply-change/SKILL.md +23 -7
- package/framework/.kilocode/skills/openspec-archive-change/SKILL.md +22 -6
- package/framework/.kilocode/skills/openspec-bulk-archive-change/SKILL.md +25 -9
- package/framework/.kilocode/skills/openspec-continue-change/SKILL.md +20 -4
- package/framework/.kilocode/skills/openspec-explore/SKILL.md +17 -1
- package/framework/.kilocode/skills/openspec-ff-change/SKILL.md +21 -5
- package/framework/.kilocode/skills/openspec-new-change/SKILL.md +23 -7
- package/framework/.kilocode/skills/openspec-sync-specs/SKILL.md +20 -4
- package/framework/.kilocode/skills/openspec-verify-change/SKILL.md +24 -8
- package/framework/.kilocode/skills/research-retrieval/SKILL.md +357 -0
- package/framework/.kilocode/skills/testing-qa/SKILL.md +249 -0
- package/framework/.kilocode/workflows/ac-lite.md +192 -0
- package/framework/.kilocode/workflows/ac.md +402 -177
- package/framework/.kimi/skills/acfm-memory/SKILL.md +312 -0
- package/framework/.kimi/skills/acfm-spec-workflow/SKILL.md +269 -0
- package/framework/.kimi/skills/api-design-principles/SKILL.md +528 -0
- package/framework/.kimi/skills/api-design-principles/assets/api-design-checklist.md +155 -0
- package/framework/.kimi/skills/api-design-principles/assets/rest-api-template.py +182 -0
- package/framework/.kimi/skills/api-design-principles/references/graphql-schema-design.md +583 -0
- package/framework/.kimi/skills/api-design-principles/references/rest-best-practices.md +408 -0
- package/framework/.kimi/skills/brainstorming/SKILL.md +282 -0
- package/framework/.kimi/skills/changelog-generator/SKILL.md +104 -0
- package/framework/.kimi/skills/ci-deploy/SKILL.md +501 -0
- package/framework/.kimi/skills/code-maintainability/SKILL.md +1108 -0
- package/framework/.kimi/skills/code-review/SKILL.md +250 -0
- package/framework/.kimi/skills/context-synthesizer/SKILL.md +322 -0
- package/framework/.kimi/skills/documentation/SKILL.md +441 -0
- package/framework/.kimi/skills/error-handling-patterns/SKILL.md +641 -0
- package/framework/.kimi/skills/interface-design/SKILL.md +310 -0
- package/framework/.kimi/skills/interface-design/references/example.md +86 -0
- package/framework/.kimi/skills/interface-design/references/principles.md +235 -0
- package/framework/.kimi/skills/interface-design/references/validation.md +48 -0
- package/framework/.kimi/skills/microtask-decomposition/SKILL.md +368 -0
- package/framework/.kimi/skills/openspec-apply-change/SKILL.md +172 -0
- package/framework/.kimi/skills/openspec-archive-change/SKILL.md +130 -0
- package/framework/.kimi/skills/openspec-bulk-archive-change/SKILL.md +262 -0
- package/framework/.kimi/skills/openspec-continue-change/SKILL.md +134 -0
- package/framework/.kimi/skills/openspec-explore/SKILL.md +306 -0
- package/framework/.kimi/skills/openspec-ff-change/SKILL.md +117 -0
- package/framework/.kimi/skills/openspec-new-change/SKILL.md +90 -0
- package/framework/.kimi/skills/openspec-onboard/SKILL.md +529 -0
- package/framework/.kimi/skills/openspec-sync-specs/SKILL.md +154 -0
- package/framework/.kimi/skills/openspec-verify-change/SKILL.md +184 -0
- package/framework/.kimi/skills/performance-optimizer/SKILL.md +43 -0
- package/framework/.kimi/skills/project-constitution/SKILL.md +66 -0
- package/framework/.kimi/skills/project-index/SKILL.md +234 -0
- package/framework/.kimi/skills/project-index/scripts/scan_codebase.py +47 -0
- package/framework/.kimi/skills/project-index/templates/agent-template.md +18 -0
- package/framework/.kimi/skills/project-index/templates/skill-template.md +20 -0
- package/framework/.kimi/skills/requirement-checklist/SKILL.md +90 -0
- package/framework/.kimi/skills/research-retrieval/SKILL.md +357 -0
- package/framework/.kimi/skills/secure-coding-cybersecurity/SKILL.md +793 -0
- package/framework/.kimi/skills/secure-coding-cybersecurity/references/ai_coding_pitfalls.md +44 -0
- package/framework/.kimi/skills/secure-coding-cybersecurity/references/owasp_top_10_2025.md +28 -0
- package/framework/.kimi/skills/secure-coding-cybersecurity/references/secure_coding_examples.md +102 -0
- package/framework/.kimi/skills/secure-coding-cybersecurity/scripts/security_audit.py +46 -0
- package/framework/.kimi/skills/skill-writer/SKILL.md +385 -0
- package/framework/.kimi/skills/spec-analysis/SKILL.md +65 -0
- package/framework/.kimi/skills/spec-clarification/SKILL.md +73 -0
- package/framework/.kimi/skills/sync-index/SKILL.md +35 -0
- package/framework/.kimi/skills/systematic-debugging/SKILL.md +296 -0
- package/framework/.kimi/skills/test-generator/SKILL.md +41 -0
- package/framework/.kimi/skills/testing-qa/SKILL.md +249 -0
- package/framework/.kimi/skills/vercel-react-best-practices/AGENTS.md +2934 -0
- package/framework/.kimi/skills/vercel-react-best-practices/SKILL.md +136 -0
- package/framework/.kimi/skills/vercel-react-best-practices/rules/advanced-event-handler-refs.md +55 -0
- package/framework/.kimi/skills/vercel-react-best-practices/rules/advanced-init-once.md +42 -0
- package/framework/.kimi/skills/vercel-react-best-practices/rules/advanced-use-latest.md +39 -0
- package/framework/.kimi/skills/vercel-react-best-practices/rules/async-api-routes.md +38 -0
- package/framework/.kimi/skills/vercel-react-best-practices/rules/async-defer-await.md +80 -0
- package/framework/.kimi/skills/vercel-react-best-practices/rules/async-dependencies.md +51 -0
- package/framework/.kimi/skills/vercel-react-best-practices/rules/async-parallel.md +28 -0
- package/framework/.kimi/skills/vercel-react-best-practices/rules/async-suspense-boundaries.md +99 -0
- package/framework/.kimi/skills/vercel-react-best-practices/rules/bundle-barrel-imports.md +59 -0
- package/framework/.kimi/skills/vercel-react-best-practices/rules/bundle-conditional.md +31 -0
- package/framework/.kimi/skills/vercel-react-best-practices/rules/bundle-defer-third-party.md +49 -0
- package/framework/.kimi/skills/vercel-react-best-practices/rules/bundle-dynamic-imports.md +35 -0
- package/framework/.kimi/skills/vercel-react-best-practices/rules/bundle-preload.md +50 -0
- package/framework/.kimi/skills/vercel-react-best-practices/rules/client-event-listeners.md +74 -0
- package/framework/.kimi/skills/vercel-react-best-practices/rules/client-localstorage-schema.md +71 -0
- package/framework/.kimi/skills/vercel-react-best-practices/rules/client-passive-event-listeners.md +48 -0
- package/framework/.kimi/skills/vercel-react-best-practices/rules/client-swr-dedup.md +56 -0
- package/framework/.kimi/skills/vercel-react-best-practices/rules/js-batch-dom-css.md +107 -0
- package/framework/.kimi/skills/vercel-react-best-practices/rules/js-cache-function-results.md +80 -0
- package/framework/.kimi/skills/vercel-react-best-practices/rules/js-cache-property-access.md +28 -0
- package/framework/.kimi/skills/vercel-react-best-practices/rules/js-cache-storage.md +70 -0
- package/framework/.kimi/skills/vercel-react-best-practices/rules/js-combine-iterations.md +32 -0
- package/framework/.kimi/skills/vercel-react-best-practices/rules/js-early-exit.md +50 -0
- package/framework/.kimi/skills/vercel-react-best-practices/rules/js-hoist-regexp.md +45 -0
- package/framework/.kimi/skills/vercel-react-best-practices/rules/js-index-maps.md +37 -0
- package/framework/.kimi/skills/vercel-react-best-practices/rules/js-length-check-first.md +49 -0
- package/framework/.kimi/skills/vercel-react-best-practices/rules/js-min-max-loop.md +82 -0
- package/framework/.kimi/skills/vercel-react-best-practices/rules/js-set-map-lookups.md +24 -0
- package/framework/.kimi/skills/vercel-react-best-practices/rules/js-tosorted-immutable.md +57 -0
- package/framework/.kimi/skills/vercel-react-best-practices/rules/rendering-activity.md +26 -0
- package/framework/.kimi/skills/vercel-react-best-practices/rules/rendering-animate-svg-wrapper.md +47 -0
- package/framework/.kimi/skills/vercel-react-best-practices/rules/rendering-conditional-render.md +40 -0
- package/framework/.kimi/skills/vercel-react-best-practices/rules/rendering-content-visibility.md +38 -0
- package/framework/.kimi/skills/vercel-react-best-practices/rules/rendering-hoist-jsx.md +46 -0
- package/framework/.kimi/skills/vercel-react-best-practices/rules/rendering-hydration-no-flicker.md +82 -0
- package/framework/.kimi/skills/vercel-react-best-practices/rules/rendering-hydration-suppress-warning.md +30 -0
- package/framework/.kimi/skills/vercel-react-best-practices/rules/rendering-svg-precision.md +28 -0
- package/framework/.kimi/skills/vercel-react-best-practices/rules/rendering-usetransition-loading.md +75 -0
- package/framework/.kimi/skills/vercel-react-best-practices/rules/rerender-defer-reads.md +39 -0
- package/framework/.kimi/skills/vercel-react-best-practices/rules/rerender-dependencies.md +45 -0
- package/framework/.kimi/skills/vercel-react-best-practices/rules/rerender-derived-state-no-effect.md +40 -0
- package/framework/.kimi/skills/vercel-react-best-practices/rules/rerender-derived-state.md +29 -0
- package/framework/.kimi/skills/vercel-react-best-practices/rules/rerender-functional-setstate.md +74 -0
- package/framework/.kimi/skills/vercel-react-best-practices/rules/rerender-lazy-state-init.md +58 -0
- package/framework/.kimi/skills/vercel-react-best-practices/rules/rerender-memo-with-default-value.md +38 -0
- package/framework/.kimi/skills/vercel-react-best-practices/rules/rerender-memo.md +44 -0
- package/framework/.kimi/skills/vercel-react-best-practices/rules/rerender-move-effect-to-event.md +45 -0
- package/framework/.kimi/skills/vercel-react-best-practices/rules/rerender-simple-expression-in-memo.md +35 -0
- package/framework/.kimi/skills/vercel-react-best-practices/rules/rerender-transitions.md +40 -0
- package/framework/.kimi/skills/vercel-react-best-practices/rules/rerender-use-ref-transient-values.md +73 -0
- package/framework/.kimi/skills/vercel-react-best-practices/rules/server-after-nonblocking.md +73 -0
- package/framework/.kimi/skills/vercel-react-best-practices/rules/server-auth-actions.md +96 -0
- package/framework/.kimi/skills/vercel-react-best-practices/rules/server-cache-lru.md +41 -0
- package/framework/.kimi/skills/vercel-react-best-practices/rules/server-cache-react.md +76 -0
- package/framework/.kimi/skills/vercel-react-best-practices/rules/server-dedup-props.md +65 -0
- package/framework/.kimi/skills/vercel-react-best-practices/rules/server-parallel-fetching.md +83 -0
- package/framework/.kimi/skills/vercel-react-best-practices/rules/server-serialization.md +38 -0
- package/framework/.kimi/workflows/ac-lite.md +192 -0
- package/framework/.kimi/workflows/ac.md +486 -0
- package/framework/.kimi/workflows/opsx-apply.md +149 -0
- package/framework/.kimi/workflows/opsx-archive.md +154 -0
- package/framework/.kimi/workflows/opsx-bulk-archive.md +239 -0
- package/framework/.kimi/workflows/opsx-continue.md +111 -0
- package/framework/.kimi/workflows/opsx-explore.md +171 -0
- package/framework/.kimi/workflows/opsx-ff.md +91 -0
- package/framework/.kimi/workflows/opsx-new.md +66 -0
- package/framework/.kimi/workflows/opsx-onboard.md +522 -0
- package/framework/.kimi/workflows/opsx-sync.md +131 -0
- package/framework/.kimi/workflows/opsx-verify.md +161 -0
- package/framework/.opencode/command/ac-lite.md +192 -0
- package/framework/.opencode/command/ac.md +402 -177
- package/framework/.opencode/skills/acfm-memory/SKILL.md +312 -0
- package/framework/.opencode/skills/acfm-spec-workflow/SKILL.md +269 -0
- package/framework/.opencode/skills/brainstorming/SKILL.md +266 -38
- package/framework/.opencode/skills/ci-deploy/SKILL.md +501 -0
- package/framework/.opencode/skills/code-review/SKILL.md +250 -0
- package/framework/.opencode/skills/context-synthesizer/SKILL.md +322 -0
- package/framework/.opencode/skills/documentation/SKILL.md +441 -0
- package/framework/.opencode/skills/microtask-decomposition/SKILL.md +368 -0
- package/framework/.opencode/skills/openspec-apply-change/SKILL.md +23 -7
- package/framework/.opencode/skills/openspec-archive-change/SKILL.md +22 -6
- package/framework/.opencode/skills/openspec-bulk-archive-change/SKILL.md +25 -9
- package/framework/.opencode/skills/openspec-continue-change/SKILL.md +20 -4
- package/framework/.opencode/skills/openspec-explore/SKILL.md +17 -1
- package/framework/.opencode/skills/openspec-ff-change/SKILL.md +21 -5
- package/framework/.opencode/skills/openspec-new-change/SKILL.md +23 -7
- package/framework/.opencode/skills/openspec-sync-specs/SKILL.md +20 -4
- package/framework/.opencode/skills/openspec-verify-change/SKILL.md +24 -8
- package/framework/.opencode/skills/research-retrieval/SKILL.md +357 -0
- package/framework/.opencode/skills/testing-qa/SKILL.md +249 -0
- package/framework/.qoder/commands/opsx/ac-lite.md +192 -0
- package/framework/.qoder/commands/opsx/ac.md +402 -177
- package/framework/.qoder/skills/acfm-memory/SKILL.md +312 -0
- package/framework/.qoder/skills/acfm-spec-workflow/SKILL.md +269 -0
- package/framework/.qoder/skills/brainstorming/SKILL.md +266 -38
- package/framework/.qoder/skills/ci-deploy/SKILL.md +501 -0
- package/framework/.qoder/skills/code-review/SKILL.md +250 -0
- package/framework/.qoder/skills/context-synthesizer/SKILL.md +322 -0
- package/framework/.qoder/skills/documentation/SKILL.md +441 -0
- package/framework/.qoder/skills/microtask-decomposition/SKILL.md +368 -0
- package/framework/.qoder/skills/openspec-apply-change/SKILL.md +23 -7
- package/framework/.qoder/skills/openspec-archive-change/SKILL.md +22 -6
- package/framework/.qoder/skills/openspec-bulk-archive-change/SKILL.md +25 -9
- package/framework/.qoder/skills/openspec-continue-change/SKILL.md +20 -4
- package/framework/.qoder/skills/openspec-explore/SKILL.md +17 -1
- package/framework/.qoder/skills/openspec-ff-change/SKILL.md +21 -5
- package/framework/.qoder/skills/openspec-new-change/SKILL.md +23 -7
- package/framework/.qoder/skills/openspec-sync-specs/SKILL.md +20 -4
- package/framework/.qoder/skills/openspec-verify-change/SKILL.md +24 -8
- package/framework/.qoder/skills/research-retrieval/SKILL.md +357 -0
- package/framework/.qoder/skills/testing-qa/SKILL.md +249 -0
- package/framework/.qwen/commands/ac-lite.md +192 -0
- package/framework/.qwen/commands/ac.md +402 -177
- package/framework/.qwen/skills/acfm-memory/SKILL.md +312 -0
- package/framework/.qwen/skills/acfm-spec-workflow/SKILL.md +269 -0
- package/framework/.qwen/skills/brainstorming/SKILL.md +266 -38
- package/framework/.qwen/skills/ci-deploy/SKILL.md +501 -0
- package/framework/.qwen/skills/code-review/SKILL.md +250 -0
- package/framework/.qwen/skills/context-synthesizer/SKILL.md +322 -0
- package/framework/.qwen/skills/documentation/SKILL.md +441 -0
- package/framework/.qwen/skills/microtask-decomposition/SKILL.md +368 -0
- package/framework/.qwen/skills/openspec-apply-change/SKILL.md +23 -7
- package/framework/.qwen/skills/openspec-archive-change/SKILL.md +22 -6
- package/framework/.qwen/skills/openspec-bulk-archive-change/SKILL.md +25 -9
- package/framework/.qwen/skills/openspec-continue-change/SKILL.md +20 -4
- package/framework/.qwen/skills/openspec-explore/SKILL.md +17 -1
- package/framework/.qwen/skills/openspec-ff-change/SKILL.md +21 -5
- package/framework/.qwen/skills/openspec-new-change/SKILL.md +23 -7
- package/framework/.qwen/skills/openspec-sync-specs/SKILL.md +20 -4
- package/framework/.qwen/skills/openspec-verify-change/SKILL.md +24 -8
- package/framework/.qwen/skills/research-retrieval/SKILL.md +357 -0
- package/framework/.qwen/skills/testing-qa/SKILL.md +249 -0
- package/framework/.roo/commands/ac-lite.md +192 -0
- package/framework/.roo/commands/ac.md +402 -177
- package/framework/.roo/skills/acfm-memory/SKILL.md +312 -0
- package/framework/.roo/skills/acfm-spec-workflow/SKILL.md +269 -0
- package/framework/.roo/skills/brainstorming/SKILL.md +266 -38
- package/framework/.roo/skills/ci-deploy/SKILL.md +501 -0
- package/framework/.roo/skills/code-review/SKILL.md +250 -0
- package/framework/.roo/skills/context-synthesizer/SKILL.md +322 -0
- package/framework/.roo/skills/documentation/SKILL.md +441 -0
- package/framework/.roo/skills/microtask-decomposition/SKILL.md +368 -0
- package/framework/.roo/skills/openspec-apply-change/SKILL.md +23 -7
- package/framework/.roo/skills/openspec-archive-change/SKILL.md +22 -6
- package/framework/.roo/skills/openspec-bulk-archive-change/SKILL.md +25 -9
- package/framework/.roo/skills/openspec-continue-change/SKILL.md +20 -4
- package/framework/.roo/skills/openspec-explore/SKILL.md +17 -1
- package/framework/.roo/skills/openspec-ff-change/SKILL.md +21 -5
- package/framework/.roo/skills/openspec-new-change/SKILL.md +23 -7
- package/framework/.roo/skills/openspec-sync-specs/SKILL.md +20 -4
- package/framework/.roo/skills/openspec-verify-change/SKILL.md +24 -8
- package/framework/.roo/skills/research-retrieval/SKILL.md +357 -0
- package/framework/.roo/skills/testing-qa/SKILL.md +249 -0
- package/framework/.trae/skills/acfm-memory/SKILL.md +312 -0
- package/framework/.trae/skills/acfm-spec-workflow/SKILL.md +269 -0
- package/framework/.trae/skills/brainstorming/SKILL.md +266 -38
- package/framework/.trae/skills/ci-deploy/SKILL.md +501 -0
- package/framework/.trae/skills/code-review/SKILL.md +250 -0
- package/framework/.trae/skills/context-synthesizer/SKILL.md +322 -0
- package/framework/.trae/skills/documentation/SKILL.md +441 -0
- package/framework/.trae/skills/main-skill/SKILL.md +455 -0
- package/framework/.trae/skills/microtask-decomposition/SKILL.md +368 -0
- package/framework/.trae/skills/openspec-apply-change/SKILL.md +23 -7
- package/framework/.trae/skills/openspec-archive-change/SKILL.md +22 -6
- package/framework/.trae/skills/openspec-bulk-archive-change/SKILL.md +25 -9
- package/framework/.trae/skills/openspec-continue-change/SKILL.md +20 -4
- package/framework/.trae/skills/openspec-explore/SKILL.md +17 -1
- package/framework/.trae/skills/openspec-ff-change/SKILL.md +21 -5
- package/framework/.trae/skills/openspec-new-change/SKILL.md +23 -7
- package/framework/.trae/skills/openspec-sync-specs/SKILL.md +20 -4
- package/framework/.trae/skills/openspec-verify-change/SKILL.md +24 -8
- package/framework/.trae/skills/research-retrieval/SKILL.md +357 -0
- package/framework/.trae/skills/testing-qa/SKILL.md +249 -0
- package/framework/.windsurf/skills/acfm-memory/SKILL.md +312 -0
- package/framework/.windsurf/skills/acfm-spec-workflow/SKILL.md +269 -0
- package/framework/.windsurf/skills/brainstorming/SKILL.md +266 -38
- package/framework/.windsurf/skills/ci-deploy/SKILL.md +501 -0
- package/framework/.windsurf/skills/code-review/SKILL.md +250 -0
- package/framework/.windsurf/skills/context-synthesizer/SKILL.md +322 -0
- package/framework/.windsurf/skills/documentation/SKILL.md +441 -0
- package/framework/.windsurf/skills/microtask-decomposition/SKILL.md +368 -0
- package/framework/.windsurf/skills/openspec-apply-change/SKILL.md +23 -7
- package/framework/.windsurf/skills/openspec-archive-change/SKILL.md +22 -6
- package/framework/.windsurf/skills/openspec-bulk-archive-change/SKILL.md +25 -9
- package/framework/.windsurf/skills/openspec-continue-change/SKILL.md +20 -4
- package/framework/.windsurf/skills/openspec-explore/SKILL.md +17 -1
- package/framework/.windsurf/skills/openspec-ff-change/SKILL.md +21 -5
- package/framework/.windsurf/skills/openspec-new-change/SKILL.md +23 -7
- package/framework/.windsurf/skills/openspec-sync-specs/SKILL.md +20 -4
- package/framework/.windsurf/skills/openspec-verify-change/SKILL.md +24 -8
- package/framework/.windsurf/skills/research-retrieval/SKILL.md +357 -0
- package/framework/.windsurf/skills/testing-qa/SKILL.md +249 -0
- package/framework/.windsurf/workflows/ac-lite.md +192 -0
- package/framework/.windsurf/workflows/ac.md +402 -177
- package/framework/AGENTS.md +428 -135
- package/framework/CLAUDE.md +428 -135
- package/framework/GEMINI.md +428 -135
- package/framework/copilot-instructions.md +429 -136
- package/package.json +2 -1
- package/src/cli.js +2 -0
- package/src/commands/init.js +10 -12
- package/src/commands/memory.js +772 -0
- package/src/commands/spec.js +40 -8
- package/src/config/constants.js +10 -2
- package/src/config/ide-mapping.js +1 -0
- package/src/index.js +46 -0
- package/src/memory/autosave.js +382 -0
- package/src/memory/database.js +178 -0
- package/src/memory/engine.js +727 -0
- package/src/memory/index.js +62 -0
- package/src/memory/utils.js +128 -0
- package/src/services/spec-engine.js +170 -26
- package/src/ui/animations.js +82 -0
package/framework/.antigravity/skills/secure-coding-cybersecurity/references/ai_coding_pitfalls.md
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# AI-Generated Code: Security Pitfalls & Anti-Patterns
|
|
2
|
+
|
|
3
|
+
This document lists the most common security errors made by LLMs when generating code. As an AI agent, you **MUST AVOID** these patterns and explicitly check for them in your output.
|
|
4
|
+
|
|
5
|
+
## 1. The "Working but Insecure" Default
|
|
6
|
+
LLMs prioritize functionality over security. They often provide the simplest code that works, which is usually the least secure.
|
|
7
|
+
- **NEVER** skip input validation because it "makes the example cleaner."
|
|
8
|
+
- **NEVER** use `http` when `https` is available.
|
|
9
|
+
- **NEVER** disable SSL/TLS certificate verification for "easier testing."
|
|
10
|
+
|
|
11
|
+
## 2. Dependency Hallucinations & Slopsquatting
|
|
12
|
+
LLMs may suggest non-existent libraries or versions.
|
|
13
|
+
- **NEVER** suggest a library without verifying its existence and reputation.
|
|
14
|
+
- **BEWARE** of "slopsquatting": attackers registering hallucinated package names with malicious code.
|
|
15
|
+
- **ALWAYS** prefer well-known, standard libraries over obscure ones suggested by the model.
|
|
16
|
+
|
|
17
|
+
## 3. Stale & Outdated Security Patterns
|
|
18
|
+
LLMs are trained on historical data and often suggest patterns that were "okay" years ago but are now insecure.
|
|
19
|
+
- **DO NOT** use `MD5` or `SHA1` for password hashing; use `Argon2` or `bcrypt`.
|
|
20
|
+
- **DO NOT** use `random.random()` for security-sensitive tokens; use `secrets` module in Python or `crypto.getRandomValues()` in JS.
|
|
21
|
+
- **DO NOT** use deprecated APIs (e.g., `os.system()` when `subprocess.run()` with proper arguments is safer).
|
|
22
|
+
|
|
23
|
+
## 4. Hardcoded Secrets & Debug Flags
|
|
24
|
+
To make code "run out of the box," LLMs often hardcode sensitive values.
|
|
25
|
+
- **NEVER** include hardcoded API keys, passwords, or tokens. Use environment variables.
|
|
26
|
+
- **NEVER** leave `debug=True` or verbose error reporting enabled in "production-ready" snippets.
|
|
27
|
+
|
|
28
|
+
## 5. Missing Contextual Security
|
|
29
|
+
LLMs often miss the "big picture" of an application's security.
|
|
30
|
+
- **DO NOT** assume authentication happened elsewhere. Always verify authorization at the function/endpoint level.
|
|
31
|
+
- **DO NOT** suggest CORS configurations like `Access-Control-Allow-Origin: *` unless explicitly required and justified.
|
|
32
|
+
|
|
33
|
+
## 6. Injection Vulnerabilities (The Most Common Error)
|
|
34
|
+
LLMs frequently fall back to string concatenation for queries and commands.
|
|
35
|
+
- **NEVER** use f-strings or string formatting for SQL queries. Use parameterized inputs.
|
|
36
|
+
- **NEVER** pass unsanitized user input directly to shell commands.
|
|
37
|
+
|
|
38
|
+
## AI Security Checklist (Before Delivering Code)
|
|
39
|
+
1. [ ] Did I use any hallucinated or obscure libraries?
|
|
40
|
+
2. [ ] Are all inputs validated and sanitized?
|
|
41
|
+
3. [ ] Did I use the most modern, secure cryptographic standards?
|
|
42
|
+
4. [ ] Are there any hardcoded secrets or debug flags?
|
|
43
|
+
5. [ ] Does the code "fail closed" on errors?
|
|
44
|
+
6. [ ] Did I verify permissions at the point of data access?
|
package/framework/.antigravity/skills/secure-coding-cybersecurity/references/owasp_top_10_2025.md
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# OWASP Top 10:2025 Reference
|
|
2
|
+
|
|
3
|
+
The OWASP Top 10 is the standard awareness document for developers and web application security. It represents a broad consensus about the most critical security risks to web applications.
|
|
4
|
+
|
|
5
|
+
| ID | Name | Description | Key Prevention |
|
|
6
|
+
| :--- | :--- | :--- | :--- |
|
|
7
|
+
| **A01:2025** | **Broken Access Control** | Users can act outside of their intended permissions. | Implement least privilege; check permissions on every request. |
|
|
8
|
+
| **A02:2025** | **Security Misconfiguration** | Insecure default settings, incomplete configurations, or open cloud storage. | Automate hardening; remove unused features/debug modes. |
|
|
9
|
+
| **A03:2025** | **Software Supply Chain Failures** | Risks from third-party libraries, dependencies, and CI/CD pipelines. | Use SBOMs; verify signatures; use dependency scanning (SCA). |
|
|
10
|
+
| **A04:2025** | **Cryptographic Failures** | Use of weak or no encryption for sensitive data. | Use strong algorithms (Argon2, AES-GCM); encrypt data at rest/transit. |
|
|
11
|
+
| **A05:2025** | **Injection** | Malicious data sent to an interpreter (SQL, NoSQL, OS Command). | Use parameterized queries; validate and sanitize all inputs. |
|
|
12
|
+
| **A06:2025** | **Insecure Design** | Flaws in the application's architecture and design. | Use secure design patterns; perform threat modeling early. |
|
|
13
|
+
| **A07:2025** | **Authentication Failures** | Weaknesses in identity verification, session management, or password policies. | Implement MFA; use secure session managers; enforce strong passwords. |
|
|
14
|
+
| **A08:2025** | **Software and Data Integrity Failures** | Insecure deserialization or lack of integrity checks on updates/data. | Sign code/data; verify integrity before processing; avoid insecure deserialization. |
|
|
15
|
+
| **A09:2025** | **Security Logging & Alerting Failures** | Insufficient logging or monitoring to detect and respond to active attacks. | Log security events; implement real-time alerting; centralize logs. |
|
|
16
|
+
| **A10:2025** | **Mishandling of Exceptional Conditions** | Improper error handling, failing open, or leaking info via error messages. | Fail closed; use generic error messages; handle all exceptions. |
|
|
17
|
+
|
|
18
|
+
## Deep Dive: New/Updated Categories
|
|
19
|
+
|
|
20
|
+
### A03:2025 Software Supply Chain Failures
|
|
21
|
+
This category focuses on the risks associated with the components and services that make up the software development life cycle.
|
|
22
|
+
- **Vulnerabilities**: Using libraries with known vulnerabilities (CVEs), dependency confusion attacks, compromised build pipelines.
|
|
23
|
+
- **Prevention**: Generate and maintain a **Software Bill of Materials (SBOM)**, use tools like `npm audit`, `pip-audit`, or Snyk.
|
|
24
|
+
|
|
25
|
+
### A10:2025 Mishandling of Exceptional Conditions
|
|
26
|
+
Focuses on how the application behaves when things go wrong.
|
|
27
|
+
- **Vulnerabilities**: "Fail-open" logic (e.g., if an auth check throws an error, it defaults to 'allow'), leaking stack traces or sensitive environment variables in error responses.
|
|
28
|
+
- **Prevention**: Always "Fail-closed". Ensure that if an error occurs during a security check, access is denied by default.
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
# Secure Coding Examples
|
|
2
|
+
|
|
3
|
+
This document provides comparisons between vulnerable and secure code across multiple languages.
|
|
4
|
+
|
|
5
|
+
## 1. Injection (A05:2025) - SQL Injection
|
|
6
|
+
|
|
7
|
+
### Python (Insecure)
|
|
8
|
+
```python
|
|
9
|
+
# VULNERABLE: String formatting allows SQL injection
|
|
10
|
+
cursor.execute(f"SELECT * FROM users WHERE username = '{username}'")
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
### Python (Secure)
|
|
14
|
+
```python
|
|
15
|
+
# SECURE: Use parameterized queries
|
|
16
|
+
cursor.execute("SELECT * FROM users WHERE username = %s", (username,))
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
### Node.js (Secure)
|
|
20
|
+
```javascript
|
|
21
|
+
// SECURE: Using placeholders in pg-promise or similar
|
|
22
|
+
db.any('SELECT * FROM users WHERE username = $1', [username]);
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## 2. Broken Access Control (A01:2025) - IDOR
|
|
28
|
+
|
|
29
|
+
### Node.js (Insecure)
|
|
30
|
+
```javascript
|
|
31
|
+
// VULNERABLE: No check if the user owns the record
|
|
32
|
+
app.get('/api/invoice/:id', async (req, res) => {
|
|
33
|
+
const invoice = await db.getInvoice(req.params.id);
|
|
34
|
+
res.json(invoice);
|
|
35
|
+
});
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
### Node.js (Secure)
|
|
39
|
+
```javascript
|
|
40
|
+
// SECURE: Verify ownership
|
|
41
|
+
app.get('/api/invoice/:id', async (req, res) => {
|
|
42
|
+
const invoice = await db.getInvoice(req.params.id);
|
|
43
|
+
if (invoice.userId !== req.user.id) {
|
|
44
|
+
return res.status(403).send('Forbidden');
|
|
45
|
+
}
|
|
46
|
+
res.json(invoice);
|
|
47
|
+
});
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
## 3. Cryptographic Failures (A04:2025) - Password Hashing
|
|
53
|
+
|
|
54
|
+
### Python (Secure)
|
|
55
|
+
```python
|
|
56
|
+
import argon2
|
|
57
|
+
|
|
58
|
+
ph = argon2.PasswordHasher()
|
|
59
|
+
hash = ph.hash("my_secure_password")
|
|
60
|
+
# To verify:
|
|
61
|
+
ph.verify(hash, "user_input_password")
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
## 4. Mishandling of Exceptional Conditions (A10:2025) - Fail Closed
|
|
67
|
+
|
|
68
|
+
### Java (Insecure)
|
|
69
|
+
```java
|
|
70
|
+
// VULNERABLE: Fail-open logic
|
|
71
|
+
public boolean isAuthorized(User user) {
|
|
72
|
+
try {
|
|
73
|
+
return ldapService.checkAccess(user);
|
|
74
|
+
} catch (Exception e) {
|
|
75
|
+
// If service is down, it might return true or allow bypass
|
|
76
|
+
return true;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
### Java (Secure)
|
|
82
|
+
```java
|
|
83
|
+
// SECURE: Fail-closed logic
|
|
84
|
+
public boolean isAuthorized(User user) {
|
|
85
|
+
try {
|
|
86
|
+
return ldapService.checkAccess(user);
|
|
87
|
+
} catch (Exception e) {
|
|
88
|
+
logger.error("Auth service error", e);
|
|
89
|
+
return false; // Access denied by default
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
## 5. Software Supply Chain (A03:2025) - Dependency Management
|
|
97
|
+
|
|
98
|
+
### Best Practices
|
|
99
|
+
- **Python**: Use `pip-audit` to check for known vulnerabilities.
|
|
100
|
+
- **Node.js**: Use `npm audit` or `pnpm audit`.
|
|
101
|
+
- **General**: Use a Lockfile (`package-lock.json`, `poetry.lock`) to ensure consistent builds.
|
|
102
|
+
- **SBOM**: Generate an SBOM using tools like `syft` or `cyclonedx-cli`.
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import re
|
|
2
|
+
import os
|
|
3
|
+
import sys
|
|
4
|
+
|
|
5
|
+
# Common patterns for hardcoded secrets and vulnerable code
|
|
6
|
+
PATTERNS = {
|
|
7
|
+
"Hardcoded Secret": r"(?i)(api_key|secret|password|token|access_key)\s*=\s*['\"][a-zA-Z0-9_\-]{10,}['\"]",
|
|
8
|
+
"Potential SQL Injection (Python)": r"\.execute\(f?['\"].*\{.*\}",
|
|
9
|
+
"Insecure Randomness": r"import random\s+.*random\.random\(",
|
|
10
|
+
"Weak Hashing (MD5/SHA1)": r"(md5|sha1)\(",
|
|
11
|
+
"Debug Mode Enabled": r"debug\s*=\s*True",
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
def scan_file(file_path):
|
|
15
|
+
findings = []
|
|
16
|
+
try:
|
|
17
|
+
with open(file_path, 'r', encoding='utf-8') as f:
|
|
18
|
+
for i, line in enumerate(f, 1):
|
|
19
|
+
for name, pattern in PATTERNS.items():
|
|
20
|
+
if re.search(pattern, line):
|
|
21
|
+
findings.append(f"[{name}] Found at line {i}: {line.strip()}")
|
|
22
|
+
except Exception as e:
|
|
23
|
+
print(f"Error reading {file_path}: {e}")
|
|
24
|
+
return findings
|
|
25
|
+
|
|
26
|
+
def main(directory):
|
|
27
|
+
all_findings = {}
|
|
28
|
+
for root, _, files in os.walk(directory):
|
|
29
|
+
for file in files:
|
|
30
|
+
if file.endswith(('.py', '.js', '.java', '.go')):
|
|
31
|
+
path = os.path.join(root, file)
|
|
32
|
+
findings = scan_file(path)
|
|
33
|
+
if findings:
|
|
34
|
+
all_findings[path] = findings
|
|
35
|
+
|
|
36
|
+
if not all_findings:
|
|
37
|
+
print("No obvious security issues found by this simple scanner.")
|
|
38
|
+
else:
|
|
39
|
+
for path, findings in all_findings.items():
|
|
40
|
+
print(f"\n--- Findings in {path} ---")
|
|
41
|
+
for f in findings:
|
|
42
|
+
print(f)
|
|
43
|
+
|
|
44
|
+
if __name__ == "__main__":
|
|
45
|
+
target_dir = sys.argv[1] if len(sys.argv) > 1 else "."
|
|
46
|
+
main(target_dir)
|
|
@@ -0,0 +1,385 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: skill-writer
|
|
3
|
+
description: Guide users through creating Agent Skills for Claude Code. Use when the user wants to create, write, author, or design a new Skill, or needs help with SKILL.md files, frontmatter, or skill structure.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Skill Writer
|
|
7
|
+
|
|
8
|
+
This Skill helps you create well-structured Agent Skills for Claude Code that follow best practices and validation requirements.
|
|
9
|
+
|
|
10
|
+
## When to use this Skill
|
|
11
|
+
|
|
12
|
+
Use this Skill when:
|
|
13
|
+
- Creating a new Agent Skill
|
|
14
|
+
- Writing or updating SKILL.md files
|
|
15
|
+
- Designing skill structure and frontmatter
|
|
16
|
+
- Troubleshooting skill discovery issues
|
|
17
|
+
- Converting existing prompts or workflows into Skills
|
|
18
|
+
|
|
19
|
+
## Instructions
|
|
20
|
+
|
|
21
|
+
### Step 1: Determine Skill scope
|
|
22
|
+
|
|
23
|
+
First, understand what the Skill should do:
|
|
24
|
+
|
|
25
|
+
1. **Ask clarifying questions**:
|
|
26
|
+
- What specific capability should this Skill provide?
|
|
27
|
+
- When should Claude use this Skill?
|
|
28
|
+
- What tools or resources does it need?
|
|
29
|
+
- Is this for personal use or team sharing?
|
|
30
|
+
|
|
31
|
+
2. **Keep it focused**: One Skill = one capability
|
|
32
|
+
- Good: "PDF form filling", "Excel data analysis"
|
|
33
|
+
- Too broad: "Document processing", "Data tools"
|
|
34
|
+
|
|
35
|
+
### Step 2: Choose Skill location
|
|
36
|
+
|
|
37
|
+
Determine where to create the Skill:
|
|
38
|
+
|
|
39
|
+
**Personal Skills** (`~/.claude/skills/`):
|
|
40
|
+
- Individual workflows and preferences
|
|
41
|
+
- Experimental Skills
|
|
42
|
+
- Personal productivity tools
|
|
43
|
+
|
|
44
|
+
**Project Skills** (`.claude/skills/`):
|
|
45
|
+
- Team workflows and conventions
|
|
46
|
+
- Project-specific expertise
|
|
47
|
+
- Shared utilities (committed to git)
|
|
48
|
+
|
|
49
|
+
### Step 3: Create Skill structure
|
|
50
|
+
|
|
51
|
+
Create the directory and files:
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
# Personal
|
|
55
|
+
mkdir -p ~/.claude/skills/skill-name
|
|
56
|
+
|
|
57
|
+
# Project
|
|
58
|
+
mkdir -p .claude/skills/skill-name
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
For multi-file Skills:
|
|
62
|
+
```
|
|
63
|
+
skill-name/
|
|
64
|
+
├── SKILL.md (required)
|
|
65
|
+
├── reference.md (optional)
|
|
66
|
+
├── examples.md (optional)
|
|
67
|
+
├── scripts/
|
|
68
|
+
│ └── helper.py (optional)
|
|
69
|
+
└── templates/
|
|
70
|
+
└── template.txt (optional)
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
### Step 4: Write SKILL.md frontmatter
|
|
74
|
+
|
|
75
|
+
Create YAML frontmatter with required fields:
|
|
76
|
+
|
|
77
|
+
```yaml
|
|
78
|
+
---
|
|
79
|
+
name: skill-name
|
|
80
|
+
description: Brief description of what this does and when to use it
|
|
81
|
+
---
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
**Field requirements**:
|
|
85
|
+
|
|
86
|
+
- **name**:
|
|
87
|
+
- Lowercase letters, numbers, hyphens only
|
|
88
|
+
- Max 64 characters
|
|
89
|
+
- Must match directory name
|
|
90
|
+
- Good: `pdf-processor`, `git-commit-helper`
|
|
91
|
+
- Bad: `PDF_Processor`, `Git Commits!`
|
|
92
|
+
|
|
93
|
+
- **description**:
|
|
94
|
+
- Max 1024 characters
|
|
95
|
+
- Include BOTH what it does AND when to use it
|
|
96
|
+
- Use specific trigger words users would say
|
|
97
|
+
- Mention file types, operations, and context
|
|
98
|
+
|
|
99
|
+
**Optional frontmatter fields**:
|
|
100
|
+
|
|
101
|
+
- **allowed-tools**: Restrict tool access (comma-separated list)
|
|
102
|
+
```yaml
|
|
103
|
+
allowed-tools: Read, Grep, Glob
|
|
104
|
+
```
|
|
105
|
+
Use for:
|
|
106
|
+
- Read-only Skills
|
|
107
|
+
- Security-sensitive workflows
|
|
108
|
+
- Limited-scope operations
|
|
109
|
+
|
|
110
|
+
### Step 5: Write effective descriptions
|
|
111
|
+
|
|
112
|
+
The description is critical for Claude to discover your Skill.
|
|
113
|
+
|
|
114
|
+
**Formula**: `[What it does] + [When to use it] + [Key triggers]`
|
|
115
|
+
|
|
116
|
+
**Examples**:
|
|
117
|
+
|
|
118
|
+
✅ **Good**:
|
|
119
|
+
```yaml
|
|
120
|
+
description: Extract text and tables from PDF files, fill forms, merge documents. Use when working with PDF files or when the user mentions PDFs, forms, or document extraction.
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
✅ **Good**:
|
|
124
|
+
```yaml
|
|
125
|
+
description: Analyze Excel spreadsheets, create pivot tables, and generate charts. Use when working with Excel files, spreadsheets, or analyzing tabular data in .xlsx format.
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
❌ **Too vague**:
|
|
129
|
+
```yaml
|
|
130
|
+
description: Helps with documents
|
|
131
|
+
description: For data analysis
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
**Tips**:
|
|
135
|
+
- Include specific file extensions (.pdf, .xlsx, .json)
|
|
136
|
+
- Mention common user phrases ("analyze", "extract", "generate")
|
|
137
|
+
- List concrete operations (not generic verbs)
|
|
138
|
+
- Add context clues ("Use when...", "For...")
|
|
139
|
+
|
|
140
|
+
### Step 6: Structure the Skill content
|
|
141
|
+
|
|
142
|
+
Use clear Markdown sections:
|
|
143
|
+
|
|
144
|
+
```markdown
|
|
145
|
+
# Skill Name
|
|
146
|
+
|
|
147
|
+
Brief overview of what this Skill does.
|
|
148
|
+
|
|
149
|
+
## Quick start
|
|
150
|
+
|
|
151
|
+
Provide a simple example to get started immediately.
|
|
152
|
+
|
|
153
|
+
## Instructions
|
|
154
|
+
|
|
155
|
+
Step-by-step guidance for Claude:
|
|
156
|
+
1. First step with clear action
|
|
157
|
+
2. Second step with expected outcome
|
|
158
|
+
3. Handle edge cases
|
|
159
|
+
|
|
160
|
+
## Examples
|
|
161
|
+
|
|
162
|
+
Show concrete usage examples with code or commands.
|
|
163
|
+
|
|
164
|
+
## Best practices
|
|
165
|
+
|
|
166
|
+
- Key conventions to follow
|
|
167
|
+
- Common pitfalls to avoid
|
|
168
|
+
- When to use vs. not use
|
|
169
|
+
|
|
170
|
+
## Requirements
|
|
171
|
+
|
|
172
|
+
List any dependencies or prerequisites:
|
|
173
|
+
```bash
|
|
174
|
+
pip install package-name
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
## Advanced usage
|
|
178
|
+
|
|
179
|
+
For complex scenarios, see [reference.md](reference.md).
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
### Step 7: Add supporting files (optional)
|
|
183
|
+
|
|
184
|
+
Create additional files for progressive disclosure:
|
|
185
|
+
|
|
186
|
+
**reference.md**: Detailed API docs, advanced options
|
|
187
|
+
**examples.md**: Extended examples and use cases
|
|
188
|
+
**scripts/**: Helper scripts and utilities
|
|
189
|
+
**templates/**: File templates or boilerplate
|
|
190
|
+
|
|
191
|
+
Reference them from SKILL.md:
|
|
192
|
+
```markdown
|
|
193
|
+
For advanced usage, see [reference.md](reference.md).
|
|
194
|
+
|
|
195
|
+
Run the helper script:
|
|
196
|
+
\`\`\`bash
|
|
197
|
+
python scripts/helper.py input.txt
|
|
198
|
+
\`\`\`
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
### Step 8: Validate the Skill
|
|
202
|
+
|
|
203
|
+
Check these requirements:
|
|
204
|
+
|
|
205
|
+
✅ **File structure**:
|
|
206
|
+
- [ ] SKILL.md exists in correct location
|
|
207
|
+
- [ ] Directory name matches frontmatter `name`
|
|
208
|
+
|
|
209
|
+
✅ **YAML frontmatter**:
|
|
210
|
+
- [ ] Opening `---` on line 1
|
|
211
|
+
- [ ] Closing `---` before content
|
|
212
|
+
- [ ] Valid YAML (no tabs, correct indentation)
|
|
213
|
+
- [ ] `name` follows naming rules
|
|
214
|
+
- [ ] `description` is specific and < 1024 chars
|
|
215
|
+
|
|
216
|
+
✅ **Content quality**:
|
|
217
|
+
- [ ] Clear instructions for Claude
|
|
218
|
+
- [ ] Concrete examples provided
|
|
219
|
+
- [ ] Edge cases handled
|
|
220
|
+
- [ ] Dependencies listed (if any)
|
|
221
|
+
|
|
222
|
+
✅ **Testing**:
|
|
223
|
+
- [ ] Description matches user questions
|
|
224
|
+
- [ ] Skill activates on relevant queries
|
|
225
|
+
- [ ] Instructions are clear and actionable
|
|
226
|
+
|
|
227
|
+
### Step 9: Test the Skill
|
|
228
|
+
|
|
229
|
+
1. **Restart Claude Code** (if running) to load the Skill
|
|
230
|
+
|
|
231
|
+
2. **Ask relevant questions** that match the description:
|
|
232
|
+
```
|
|
233
|
+
Can you help me extract text from this PDF?
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
3. **Verify activation**: Claude should use the Skill automatically
|
|
237
|
+
|
|
238
|
+
4. **Check behavior**: Confirm Claude follows the instructions correctly
|
|
239
|
+
|
|
240
|
+
### Step 10: Debug if needed
|
|
241
|
+
|
|
242
|
+
If Claude doesn't use the Skill:
|
|
243
|
+
|
|
244
|
+
1. **Make description more specific**:
|
|
245
|
+
- Add trigger words
|
|
246
|
+
- Include file types
|
|
247
|
+
- Mention common user phrases
|
|
248
|
+
|
|
249
|
+
2. **Check file location**:
|
|
250
|
+
```bash
|
|
251
|
+
ls ~/.claude/skills/skill-name/SKILL.md
|
|
252
|
+
ls .claude/skills/skill-name/SKILL.md
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
3. **Validate YAML**:
|
|
256
|
+
```bash
|
|
257
|
+
cat SKILL.md | head -n 10
|
|
258
|
+
```
|
|
259
|
+
|
|
260
|
+
4. **Run debug mode**:
|
|
261
|
+
```bash
|
|
262
|
+
claude --debug
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
## Common patterns
|
|
266
|
+
|
|
267
|
+
### Read-only Skill
|
|
268
|
+
|
|
269
|
+
```yaml
|
|
270
|
+
---
|
|
271
|
+
name: code-reader
|
|
272
|
+
description: Read and analyze code without making changes. Use for code review, understanding codebases, or documentation.
|
|
273
|
+
allowed-tools: Read, Grep, Glob
|
|
274
|
+
---
|
|
275
|
+
```
|
|
276
|
+
|
|
277
|
+
### Script-based Skill
|
|
278
|
+
|
|
279
|
+
```yaml
|
|
280
|
+
---
|
|
281
|
+
name: data-processor
|
|
282
|
+
description: Process CSV and JSON data files with Python scripts. Use when analyzing data files or transforming datasets.
|
|
283
|
+
---
|
|
284
|
+
|
|
285
|
+
# Data Processor
|
|
286
|
+
|
|
287
|
+
## Instructions
|
|
288
|
+
|
|
289
|
+
1. Use the processing script:
|
|
290
|
+
\`\`\`bash
|
|
291
|
+
python scripts/process.py input.csv --output results.json
|
|
292
|
+
\`\`\`
|
|
293
|
+
|
|
294
|
+
2. Validate output with:
|
|
295
|
+
\`\`\`bash
|
|
296
|
+
python scripts/validate.py results.json
|
|
297
|
+
\`\`\`
|
|
298
|
+
```
|
|
299
|
+
|
|
300
|
+
### Multi-file Skill with progressive disclosure
|
|
301
|
+
|
|
302
|
+
```yaml
|
|
303
|
+
---
|
|
304
|
+
name: api-designer
|
|
305
|
+
description: Design REST APIs following best practices. Use when creating API endpoints, designing routes, or planning API architecture.
|
|
306
|
+
---
|
|
307
|
+
|
|
308
|
+
# API Designer
|
|
309
|
+
|
|
310
|
+
Quick start: See [examples.md](examples.md)
|
|
311
|
+
|
|
312
|
+
Detailed reference: See [reference.md](reference.md)
|
|
313
|
+
|
|
314
|
+
## Instructions
|
|
315
|
+
|
|
316
|
+
1. Gather requirements
|
|
317
|
+
2. Design endpoints (see examples.md)
|
|
318
|
+
3. Document with OpenAPI spec
|
|
319
|
+
4. Review against best practices (see reference.md)
|
|
320
|
+
```
|
|
321
|
+
|
|
322
|
+
## Best practices for Skill authors
|
|
323
|
+
|
|
324
|
+
1. **One Skill, one purpose**: Don't create mega-Skills
|
|
325
|
+
2. **Specific descriptions**: Include trigger words users will say
|
|
326
|
+
3. **Clear instructions**: Write for Claude, not humans
|
|
327
|
+
4. **Concrete examples**: Show real code, not pseudocode
|
|
328
|
+
5. **List dependencies**: Mention required packages in description
|
|
329
|
+
6. **Test with teammates**: Verify activation and clarity
|
|
330
|
+
7. **Version your Skills**: Document changes in content
|
|
331
|
+
8. **Use progressive disclosure**: Put advanced details in separate files
|
|
332
|
+
|
|
333
|
+
## Validation checklist
|
|
334
|
+
|
|
335
|
+
Before finalizing a Skill, verify:
|
|
336
|
+
|
|
337
|
+
- [ ] Name is lowercase, hyphens only, max 64 chars
|
|
338
|
+
- [ ] Description is specific and < 1024 chars
|
|
339
|
+
- [ ] Description includes "what" and "when"
|
|
340
|
+
- [ ] YAML frontmatter is valid
|
|
341
|
+
- [ ] Instructions are step-by-step
|
|
342
|
+
- [ ] Examples are concrete and realistic
|
|
343
|
+
- [ ] Dependencies are documented
|
|
344
|
+
- [ ] File paths use forward slashes
|
|
345
|
+
- [ ] Skill activates on relevant queries
|
|
346
|
+
- [ ] Claude follows instructions correctly
|
|
347
|
+
|
|
348
|
+
## Troubleshooting
|
|
349
|
+
|
|
350
|
+
**Skill doesn't activate**:
|
|
351
|
+
- Make description more specific with trigger words
|
|
352
|
+
- Include file types and operations in description
|
|
353
|
+
- Add "Use when..." clause with user phrases
|
|
354
|
+
|
|
355
|
+
**Multiple Skills conflict**:
|
|
356
|
+
- Make descriptions more distinct
|
|
357
|
+
- Use different trigger words
|
|
358
|
+
- Narrow the scope of each Skill
|
|
359
|
+
|
|
360
|
+
**Skill has errors**:
|
|
361
|
+
- Check YAML syntax (no tabs, proper indentation)
|
|
362
|
+
- Verify file paths (use forward slashes)
|
|
363
|
+
- Ensure scripts have execute permissions
|
|
364
|
+
- List all dependencies
|
|
365
|
+
|
|
366
|
+
## Examples
|
|
367
|
+
|
|
368
|
+
See the documentation for complete examples:
|
|
369
|
+
- Simple single-file Skill (commit-helper)
|
|
370
|
+
- Skill with tool permissions (code-reviewer)
|
|
371
|
+
- Multi-file Skill (pdf-processing)
|
|
372
|
+
|
|
373
|
+
## Output format
|
|
374
|
+
|
|
375
|
+
When creating a Skill, I will:
|
|
376
|
+
|
|
377
|
+
1. Ask clarifying questions about scope and requirements
|
|
378
|
+
2. Suggest a Skill name and location
|
|
379
|
+
3. Create the SKILL.md file with proper frontmatter
|
|
380
|
+
4. Include clear instructions and examples
|
|
381
|
+
5. Add supporting files if needed
|
|
382
|
+
6. Provide testing instructions
|
|
383
|
+
7. Validate against all requirements
|
|
384
|
+
|
|
385
|
+
The result will be a complete, working Skill that follows all best practices and validation rules.
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: spec-analysis
|
|
3
|
+
description: Perform a non-destructive cross-artifact consistency and quality analysis across spec.md, plan.md, and tasks.md. Identifying inconsistencies, duplications, ambiguities, and underspecified items.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Specification & Planning Analysis
|
|
7
|
+
|
|
8
|
+
## Overview
|
|
9
|
+
|
|
10
|
+
Identify inconsistencies, duplications, ambiguities, and underspecified items across the three core artifacts (`spec.md`, `plan.md`, `tasks.md`) before implementation.
|
|
11
|
+
|
|
12
|
+
**STRICTLY READ-ONLY**: Do **not** modify any files. Output a structured analysis report. Offer an optional remediation plan.
|
|
13
|
+
|
|
14
|
+
**Constitution Authority**: The project constitution (`.specify/memory/constitution.md`) is **non-negotiable**.
|
|
15
|
+
|
|
16
|
+
## Execution Steps
|
|
17
|
+
|
|
18
|
+
1. **Initialize Analysis Context**:
|
|
19
|
+
* Load `FEATURE_DIR/spec.md` (or `specs/spec.md`).
|
|
20
|
+
* Load `FEATURE_DIR/plan.md` (or `specs/plan.md`).
|
|
21
|
+
* Load `FEATURE_DIR/tasks.md` (or `specs/tasks.md`).
|
|
22
|
+
* Ensure all files exist; if not, report which are missing (though tasks might not exist yet if only planning).
|
|
23
|
+
|
|
24
|
+
2. **Load Artifacts (Progressive Disclosure)**:
|
|
25
|
+
* Load only necessary portions relevant to the feature.
|
|
26
|
+
* Load `.specify/memory/constitution.md` for validation.
|
|
27
|
+
|
|
28
|
+
3. **Build Semantic Models**:
|
|
29
|
+
* **Requirements inventory**: Functional + non-functional requirements.
|
|
30
|
+
* **User story/action inventory**: User actions + acceptance criteria.
|
|
31
|
+
* **Task coverage mapping**: Map task to requirement/story.
|
|
32
|
+
* **Constitution rule set**: Principle names and MUST statements.
|
|
33
|
+
|
|
34
|
+
4. **Detection Passes**:
|
|
35
|
+
* **Duplication**: Near-duplicate requirements.
|
|
36
|
+
* **Ambiguity**: Vague adjectives ("fast", "robust") without metrics. Unresolved placeholders (TODO, ???).
|
|
37
|
+
* **Underspecification**: Verbs missing objects/outcomes. User stories missing acceptance criteria.
|
|
38
|
+
* **Constitution Alignment**: Conflict with MUST principles. Missing mandated sections.
|
|
39
|
+
* **Coverage Gaps**: Requirements with zero tasks. Tasks with no mapped requirement.
|
|
40
|
+
* **Inconsistency**: Terminology drift. Data entities in plan but absent in spec. Task order contradictions.
|
|
41
|
+
|
|
42
|
+
5. **Severity Assignment**:
|
|
43
|
+
* **CRITICAL**: Violates constitution, missing core artifact, blocking requirement with zero coverage.
|
|
44
|
+
* **HIGH**: Duplicate/conflicting requirement, ambiguous security/performance, untestable AC.
|
|
45
|
+
* **MEDIUM**: Terminology drift, missing non-functional task coverage, underspecified edge case.
|
|
46
|
+
* **LOW**: Style/wording improvements.
|
|
47
|
+
|
|
48
|
+
6. **Produce Compact Analysis Report**:
|
|
49
|
+
* Output a Markdown report with a findings table: | ID | Category | Severity | Location | Summary | Recommendation |
|
|
50
|
+
* **Coverage Summary Table**: Requirement Key | Has Task? | Task IDs | Notes
|
|
51
|
+
* **Metrics**: Total Requirements, Total Tasks, Coverage %, Ambiguity Count.
|
|
52
|
+
|
|
53
|
+
7. **Provide Next Actions**:
|
|
54
|
+
* Recommend resolving CRITICAL issues before implementation.
|
|
55
|
+
* Provide explicit suggestions (e.g., "Refine spec", "Adjust plan").
|
|
56
|
+
|
|
57
|
+
8. **Offer Remediation**:
|
|
58
|
+
* Ask if the user wants concrete remediation edits for top N issues.
|
|
59
|
+
|
|
60
|
+
## Operating Principles
|
|
61
|
+
|
|
62
|
+
* **Context Efficiency**: Focus on actionable findings.
|
|
63
|
+
* **NEVER modify files** automatically (read-only analysis).
|
|
64
|
+
* **NEVER hallucinate missing sections**.
|
|
65
|
+
* **Prioritize constitution violations**.
|