Commit Graph

12 Commits

Author SHA1 Message Date
Frederik Prijck 704d23fe66 docs: drop stale .md suffixes now every reference is a directory
The uniform-folder refactor made every reference a <name>/ directory, but
the naming-convention prose in AGENTS.md, CONTRIBUTING.md, and the
check_router_reachability.py docstring still wrote framework-<name>.md etc.
Update them to directory form for consistency with the shipped layout.
2026-07-24 11:36:40 +02:00
Frederik Prijck bd1b08edc5 test+docs: lock in discard("index") guard; refresh compute_route docstring
Final-review minor follow-ups:
- Add a regression test asserting the router's bare `index.md` prose note does
  not manufacture a phantom `index/index.md` route (verified non-vacuous: fails
  with the discard("index") guard removed). The guard was previously only
  exercised against the live SKILL.md.
- Update compute_route's docstring: every reference is now a directory, so drop
  the stale "backed by a directory instead of a flat file" dual-shape phrasing.
2026-07-20 17:55:35 +02:00
Frederik Prijck 0fc9af991e feat(auth0): router emits references/<name>/index.md uniformly 2026-07-20 17:15:24 +02:00
Frederik Prijck 8edb90b602 feat(checker): routing-evals resolves every reference through its group 2026-07-20 17:00:06 +02:00
Frederik Prijck 0995e80ff5 feat(checker): reachability enforces uniform-folder (directories-only) model 2026-07-20 16:45:45 +02:00
Frederik Prijck f808820cff Merge remote-tracking branch 'origin/main' into worktree-reference-depth
# Conflicts:
#	plugins/auth0/skills/auth0/references/framework-aspnetcore-auth.md
#	plugins/auth0/skills/auth0/references/framework-expo.md
#	plugins/auth0/skills/auth0/references/framework-go.md
#	plugins/auth0/skills/auth0/references/framework-java-mvc.md
#	plugins/auth0/skills/auth0/references/framework-php-api.md
#	plugins/auth0/skills/auth0/references/framework-react.md
2026-07-20 08:40:59 +02:00
Frederik Prijck 0d42696025 fix(auth0): harden against security-scan false positives (#144)
* fix(auth0): harden against security-scan false positives

The v2.0 re-architecture (#137) triggered a critical finding on the
Agent Trust Hub / Socket / Snyk scans. This addresses the actionable,
scan-scoped surface without removing legitimate behavior.

Placeholder URLs
- Replace registrable placeholder hostnames (your-api.com,
  your-production-domain.com, your-app.com, your-spa-domain.com,
  your-web-app.com, your-domain.com) with RFC-2606 example.com forms
  across references/*.md. Kills the "malicious URL" finding
  (your-production-domain.com) and pre-empts future URL-reputation hits.
  Matches the skill's already-dominant `api.example.com` convention.
  .auth0.com domain placeholders and client-id/secret tokens are left
  as-is: not registrable / not URLs, so not a scanner surface.

Move the behavioral eval harness out of the skill dir
- Socket flagged tests/behavioral/graders.mjs (reads .env, pipes source
  into the local `claude` CLI via execa). That's a dev-only test grader,
  but it sits inside per-skill scan scope. Move tests/ -> repo-root
  evals/ so the executable harness is no longer bundled with the skill
  consumers install. Fix run-evals.mjs path resolution, the routing
  checker's routing-cases.json lookup, the README, and the AGENTS.md
  layout doc.

skillsaw: exempt template-routed reference families
- framework-*.md / tooling-*.md are routed only via the
  `references/framework-{framework}.md` / `tooling-{tooling}.md`
  placeholder templates, which skillsaw's literal-scan
  agentskill-unreferenced-files rule can't resolve. Co-located tests
  were previously (accidentally) satisfying that reachability; moving
  them out exposed it. Their reachability is properly enforced by
  scripts/check_router_reachability.py, so exempt the two template-routed
  families in .skillsaw.yaml. feature-*/pattern-* orphan detection stays.

Verified: skillsaw --strict (0/0, grade A), check_router_reachability,
check_routing_evals, and run-evals --dry-run (17 case files) all pass.

* fix(auth0): keep load_cases skill-dir-relative for unit tests

The previous commit hardcoded routing-cases.json to repo-root evals/,
which broke scripts/test_check_routing_evals.py — the unit tests build a
self-contained temp skill with its own tests/routing-cases.json and rely
on load_cases(skill_dir) reading from that dir.

Prefer a skill-local tests/routing-cases.json when present (unit tests),
fall back to repo-root evals/routing-cases.json otherwise (production,
after the harness move). Both the pytest suite (10/10) and the real
check pass.

* chore(auth0): bump plugin + skill version to 2.0.1

Patch bump for the security-scan hardening: placeholder-URL cleanup,
eval harness move out of the skill dir, and the skillsaw template-route
exemption. No new routes or breaking changes. Updates all six plugin/
marketplace manifests and SKILL.md frontmatter in lockstep.
2026-07-17 14:14:15 +02:00
Frederik Prijck 93326417f1 docs: update PLUGIN.md + reachability docstring to depth-2 model (final review) 2026-07-17 11:02:46 +02:00
Frederik Prijck c4533100a2 feat: resolve grouped slugs to hub+leaf in routing-evals checker 2026-07-16 15:43:34 +02:00
Frederik Prijck d5b56546dc feat: two-level (group) support in router reachability checker 2026-07-16 15:24:55 +02:00
Bharath Natarajan c4d1647d55 feat(auth0): re-architecture to one skill with flat reference pool and intent router (v2.0) (#137) 2026-07-15 11:11:18 +02:00
Kailash B ad84d0a578 Adds snyk-agent-scan workflow for scanning skills (#102)
* chore: add snyk-agent-scan workflow for skill security scanning

* chore: add snyk-agent-scan workflow and resolve scan findings

- Add GitHub Actions workflow for scanning skills on PRs and main
- Add scan_all_skills.sh for local full scans
- Add check_snyk_findings.py with skill-scoped ignore support
- Fix auth0-java-mvc-common and auth0-expo credential handling
- Fix auth0-cli to use env vars instead of literal secrets
- Add ignore entries for first-party Auth0 URLs (W012)

* chore: remove auth0-cli changes already merged via PR #85

* chore: add missing skills to snyk-agent-scan ignore entries

* chore: split snyk-agent-scan into one job per skill

Use a matrix strategy so each skill gets its own CI job,
improving failure reporting visibility in the GitHub Actions UI.

* chore: use skill path as matrix job name for clarity

* Revert "chore: use skill path as matrix job name for clarity"

This reverts commit 6dbaa88fb96a3afbc68201190fc8f1a2dd750236.

* Revert "chore: split snyk-agent-scan into one job per skill"

This reverts commit be9a74de9a87069d613f4a14e63d98c86506a345.

* Updates .snyk-agent-scan-ignore.json to allow accessing Auth0 URLs in the skills

* Chore/snyk agent scan refactor (#97)

* Consolidate GitHub releases API entries using url_pattern

* Drop skills field from entries to match any skill

* Ignores W012 for HomeBrew install script and CloudFlare MCP access on auth0-custom-domains

* Update trigger for snyk-agent-scan

* Update malformed link in snyk-agent-scan-ignore

* Address review comments

---------

Co-authored-by: Frederik Prijck <frederik.prijck@okta.com>
2026-05-21 08:14:43 +05:30