Commit Graph
412 Commits
Author SHA1 Message Date
Addy Osmani 183a7e1663 fix(docs): correct Antigravity install path and add command-registration troubleshooting (#445) 2026-08-06 15:45:50 -07:00
Addy OsmaniandGitHub d2478bf0c7 Merge #458: clean up throwaway eval workspaces
fix: clean up throwaway workspace directories after eval runs
2026-08-06 15:44:15 -07:00
Addy OsmaniandGitHub 2211c9db0a Merge #456: validate --behavioral skill name
security: validate --behavioral skillName to prevent path traversal
2026-08-06 15:44:11 -07:00
Addy OsmaniandGitHub 6ff936ac3d Merge #452: complete Codex install flow and manifest metadata
fix(codex): complete plugin install flow and manifest metadata
2026-08-06 15:44:07 -07:00
Addy OsmaniandGitHub 471b6f1da6 Merge #450: add Command Code as a native skills provider
docs: add Command Code as a native skills provider
2026-08-06 15:44:03 -07:00
Addy OsmaniandGitHub d915f004ce Merge #464: guard spec/plan/todo artifact paths
ci: guard spec/plan/todo artifact paths against silent drift
2026-08-06 15:43:58 -07:00
Addy OsmaniandGitHub 344694cf5e Merge #451: pin all plugin manifests to the release version (#440)
Fix plugin manifest version consistency
2026-08-06 15:38:56 -07:00
Joan Leon ce5e12bd5a ci: add validator guarding spec/plan/todo artifact paths
The /spec and /plan commands write spec, plan, and todo artifacts to paths that /build and the spec/plan skills read back. When a producer moves an artifact without updating the consumers, the pipeline breaks and nothing in CI catches it: the command-parity check only compares descriptions, not paths. PR #93 hit exactly this, pointing /spec and /plan at docs/features/[name]/ while /build still required SPEC.md and tasks/plan.md.

validate-artifact-paths.js enforces one canonical set of artifact paths across every file in the pipeline (the spec/plan/build commands, the spec-driven-development and planning-and-task-breakdown skills, and the getting-started and adoption guides). Any spec/plan/todo artifact path outside the allowlist fails CI, so changing the convention has to touch the allowlist and every guarded file in the same change.

Scope is deliberately narrow: only spec/plan/todo artifacts, only the pipeline files; it is not a general markdown path linter. Wired into the validate-commands CI job alongside its test.
2026-08-07 00:02:47 +02:00
Joan LeónandGitHub f03b4a84b0 Merge pull request #459 from ENNEADLABS/ci/bump-actions-drop-node20
ci: bump actions to Node 24 runtimes and drop EOL Node 20
2026-08-05 21:09:28 +02:00
ENNEADandClaude Fable 5 26d08c719b ci: bump actions to Node 24 runtimes and drop EOL Node 20
actions/checkout@v4 and actions/setup-node@v4 target the deprecated Node 20
runner runtime, so every run logs forced-Node-24 deprecation annotations.
Harmonize checkout on the v6 major already used by the other three jobs,
bump setup-node to v6, and move node-version from Node 20 (EOL 2026-04-30)
to Node 24 LTS.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-05 20:54:18 +02:00
Sunil 21fea4d528 fix: clean up throwaway workspace directories after eval runs
materializeWorkspace() creates directories in os.tmpdir() but
runBehavioral() never cleans them up on success or failure. If
execFileSync throws (timeout, signal, OOM), the workspace persists
in /tmp indefinitely with fixture data. The test file
run-evals-test.js uses try/finally cleanup (line 234), proving
the pattern was known but omitted in production code.

Fix: Wrap eval execution in try/finally with best-effort
fs.rmSync cleanup.
2026-08-05 22:37:48 +05:30
Sunil 4b3122e65f security: validate --behavioral skillName to prevent path traversal
The skillName argument from --behavioral has zero validation and is
used directly in path.join() for reading .json files, reading
SKILL.md, and WRITING .grading.json results. A value like
'../../etc/passwd' traverses outside the project directory for
both reads and writes.

Fix: Validate skillName against /^[a-z0-9]+(-[a-z0-9]+)*$/ before
any filesystem operations. This matches the existing KEBAB_CASE
validation in skill-lint.js.
2026-08-05 22:35:47 +05:30
mksong 6a52513fe3 fix(codex): align plugin metadata and complete CLI setup 2026-08-05 13:57:09 +09:00
LiyukandGitHub 0663a4e6e8 Fix plugin manifest version consistency 2026-08-04 08:01:41 -07:00
LiyukandGitHub a58fb3c319 Fix plugin manifest version consistency 2026-08-04 08:01:30 -07:00
LiyukandGitHub a567a9537c Fix plugin manifest version consistency 2026-08-04 08:00:51 -07:00
LiyukandGitHub 45ae035de1 Fix plugin manifest version consistency 2026-08-04 08:00:39 -07:00
LiyukandGitHub 65d41e529b Fix plugin manifest version consistency 2026-08-04 08:00:36 -07:00
LiyukandGitHub 0140c5869c Fix plugin manifest version consistency 2026-08-04 08:00:32 -07:00
LiyukandGitHub b3ee6a4975 Fix plugin manifest version consistency 2026-08-04 08:00:11 -07:00
LiyukandGitHub 7186284313 Fix plugin manifest version consistency 2026-08-04 07:59:55 -07:00
Addy OsmaniandGitHub bdf76c7c6b Merge #442: document the per-skill reference limitation (#361)
docs: explain per-skill reference limitation (#361)
0.6.6
2026-08-03 13:14:50 -07:00
Addy OsmaniandGitHub f03e906423 Merge #443: add command-validator regression coverage
test(ci): add command validator regression coverage
2026-08-03 13:14:46 -07:00
Addy Osmani 0e6291576d Merge fix/449: remove agents key so Claude Code loads the four personas (#449) 2026-08-03 13:10:51 -07:00
Addy Osmani 366beecb73 fix(plugin): remove agents key so Claude Code loads the four personas (#449)
The explicit agents array in .claude-plugin/plugin.json causes Claude Code
to load zero subagents; it discovers agents/*.md on its own, and the explicit
list suppresses that discovery. Reproduced on Claude Code 2.1.219: with the
key present, plugin details reports Agents (0); with it removed, all four load
(code-reviewer, security-auditor, test-engineer, web-performance-auditor).

Safe to omit since #260 moved agents/README.md into docs/, so the agents/
directory now holds only real agent definitions. Scoped to the Claude Code
manifest only; the Codex manifest is untouched.
2026-08-03 13:00:49 -07:00
75dfcb3348 Potential fix for pull request finding
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-08-03 20:31:18 +05:30
Vipul Gupta (@vipulgupta2048)andCommandCodeBot e8089ebe61 docs: add Command Code as a native skills provider
Command Code has a native skills CLI (cmd skills add <owner/repo>) that
clones the repo, discovers every SKILL.md, and installs into
.commandcode/skills/ — no plugin manifest or copied files needed.

- README: add Command Code install block
- docs/commandcode-setup.md: setup guide (install/manage/usage, paths)
- docs/comparison.md: add Command Code to tooling reach

Verified end-to-end against addyosmani/agent-skills: add (all / -s / @branch /
path / --global / --force), list (+ -d), and remove (project / --global) via
the CLI, plus skill discovery in the TUI slash menu.

Signed-off-by: Vipul Gupta (@vipulgupta2048) <vipulgupta2048@gmail.com>
Co-authored-by: CommandCodeBot <noreply@commandcode.ai>
Signed-off-by: Vipul Gupta (@vipulgupta2048) <vipulgupta2048@gmail.com>
2026-08-02 23:54:39 +05:30
ayobamiseun 4063947e3f test: cover command validator behavior 2026-08-01 10:41:53 +01:00
ayobamiseun b70fbe910e docs: explain per-skill reference limitation 2026-08-01 10:28:06 +01:00
Federico BartoliandGitHub 7829ffd90d Merge pull request #425 from ayobamiseun/feat/404-catalog-npm-neutrality
docs(skills): extend ecosystem-neutral commands catalog-wide (#404 Phase 2)
2026-07-26 14:51:12 +02:00
ayobamiseun 245714936b docs(security): align audit phrasing — the ecosystem's dependency audit
'Native dependency audit' collides with the established meaning of
native dependencies (compiled modules); use the same unambiguous
phrasing as the shipping-and-launch checkbox in this PR.
2026-07-26 13:43:20 +01:00
Addy OsmaniandGitHub 2471e3f904 Merge pull request #403 from asiridalugoda: verify step (keep-or-revert) for performance-optimization
docs(performance): add Step 4 (verify with keep-or-revert)
2026-07-25 19:22:17 -07:00
Joan LeónandGitHub ff2df4c07e Merge pull request #236 from nucliweb/add-references-to-skill-anatomy
docs: add optional references, examples, and resources directories to skill anatomy
0.6.5
2026-07-24 11:04:23 +02:00
Joan Leon 4df5698502 docs: distinguish loose supporting file from skill-local references/ subdir
Addresses the clarity nit in #236 review: a single supporting doc stays a
loose file, and the skill-local references/ subdir is for grouping several
related docs that travel with the skill. Ties the new bullet back to the
existing Supporting files entry so the framings read as one.
2026-07-24 10:31:39 +02:00
ayobamiseun 45ccfb6f3d docs(skills): extend ecosystem-neutral commands catalog-wide (#404 Phase 2)
Follow-up to #419, addressing the remaining normative npm-family
commands federicobartoli's grep on #404 identified:

- incremental-implementation: the four increment-checklist exit criteria
  and the example prompt now use the repository's own test/build/
  typecheck/lint commands, pointing at the TDD skill's Discover the
  Stack First section
- planning-and-task-breakdown: task-template verification lines use the
  template's placeholder style instead of hardcoded npm commands
- shipping-and-launch: the security checkbox names the ecosystem's
  dependency audit rather than npm audit alone
- debugging-and-error-recovery: the diagnosis/bisect/verify command
  blocks are labeled as npm examples with substitution notes
- references/security-checklist.md: OWASP row 6 generalizes npm audit
  to the native dependency audit
- security-and-hardening needed no change: its SKILL.md was already
  neutralized (detected-package-manager wording)

Ride-along: pins the below-zero debit behavior (ValueError) in TDD eval
case 3, per nucliweb's non-blocking review note on #419.
2026-07-22 21:35:05 +01:00
Addy OsmaniandGitHub fefc4075dd Merge pull request #419 from ayobamiseun/feat/404-tdd-ecosystem-neutral
docs(tdd): make test-driven-development ecosystem-neutral (#404 Phase 1)
2026-07-21 20:50:27 -07:00
Addy OsmaniandGitHub 1856cad54a Merge pull request #420 from jagadishs-oss/fix/quote-opt-in-hook-paths
fix(hooks): quote opt-in hook paths in setup docs
2026-07-21 20:50:21 -07:00
Addy OsmaniandGitHub c4bdf386be Merge pull request #418 from Alex7develop/contrib/412-skill-gap-issue-form
docs: add skill-gap issue form for reporting guidance mismatches
2026-07-21 20:50:15 -07:00
Joan Leon 8fd208160c docs: document skill-local references/ directory in skill anatomy 2026-07-20 18:44:55 +02:00
JagadishandGitHub 9497ed8969 Merge branch 'addyosmani:main' into fix/quote-opt-in-hook-paths 2026-07-20 09:11:15 +05:30
JagadishandCursor bb68af5624 fix(hooks): quote opt-in hook paths in setup docs
Unquoted ${CLAUDE_PROJECT_DIR} in SDD-CACHE and SIMPLIFY-IGNORE setup
examples breaks when the project path contains spaces, the same class
of failure fixed for SessionStart in #214.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-20 09:03:58 +05:30
ayobamiseun 2e49319164 docs(tdd): make test-driven-development ecosystem-neutral (#404 Phase 1)
- SKILL.md gains a 'Discover the Stack First' step: identify the
  language, build system, checked-in wrappers, test framework, and
  documented commands before choosing any test command, and run the
  repository's own focused/full-suite commands throughout the loop
- verification checklist no longer hardcodes 'npm test'; red flag added
  for reaching for a default test command without checking the repo
- references/testing-patterns.md relabeled in place as JavaScript/
  TypeScript examples illustrating the universal principles (no
  relocation, per the #361/#236 sequencing agreed in the issue)
- new behavioral eval: a Python/unittest fixture verifying the skill
  adapts to non-npm repository tooling
2026-07-19 17:08:30 +01:00
Alex7developandCursor b68f553a1b docs: add skill-gap issue form for reporting guidance mismatches
Gives contributors a short intake path when a skill assumes the wrong
ecosystem or outdated steps, so gaps like #404 reach maintainers via
the repo instead of external channels. Closes the intake-only scope
from #412.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-19 15:37:19 +03:00
Federico BartoliandGitHub 2fbfa004a0 Merge pull request #401 from kevglynn/contrib/329-shared-references-rationale
docs(skill-anatomy): explain the shared references/ design
2026-07-18 15:19:55 +02:00
Federico BartoliandGitHub 06300e258e Merge pull request #107 from ZuoFuhong/main
docs(README): standardize spacing in code-simplification section
2026-07-18 01:51:54 +02:00
Federico BartoliandGitHub d01cf4ab89 Merge pull request #407 from Quantum22/docs/fix-orchestration-patterns-reference-mapping
docs: fix orchestration-patterns.md reference mapping in getting-started
2026-07-18 01:51:50 +02:00
Federico BartoliandGitHub 97ef42b467 Merge pull request #405 from kevglynn/contrib/387-validator-heuristic-fixes
fix(validator): reject fenced-block headings and negated triggers
2026-07-18 01:51:46 +02:00
Federico BartoliandGitHub aa4e390453 Merge pull request #406 from youjinch/fix/simplify-ignore-test-no-jq
fix(hooks): make simplify-ignore-test pass on machines without jq
2026-07-18 01:51:43 +02:00
Quantum22 825a01b308 docs: fix orchestration-patterns.md reference mapping in getting-started
The References table pointed orchestration-patterns.md at
context-engineering, but that skill never mentions it. The reference
is actually cited by doubt-driven-development (SKILL.md lines 46 and
229), which documents the "personas don't invoke personas" rule from
references/orchestration-patterns.md.
2026-07-17 16:23:41 -07:00
youjinchoi dbb32a565c fix(hooks): simplify-ignore-test asserts the no-jq guard instead of failing
Test 10 pipes malformed JSON through the real hook, but the hook's jq
guard exits with 'error: missing jq' before parsing on machines without
jq (default Git for Windows, minimal Linux). The suite then reports a
failure unrelated to the contributor's change; tests 1-9 only exercise
the extracted filter_file and keep passing.

Mirror session-start-test.sh, which CONTRIBUTING documents as validating
both the jq and no-jq branches: with jq on PATH keep the existing
bad-JSON warning assertion, without it assert the documented missing-jq
guard message.

Verified on Windows (Git Bash): 21 passed, 0 failed both with jq 1.8.1
on PATH and without jq.
2026-07-18 02:39:16 +09:00