Skip to content
Back to skills

Forge Ecc Adapter

ASecurity

Use when running an ECC skill or command that hard-codes ~/.claude/skills paths (ECC skill draaien).

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added November 11, 2026
ai-agentspythonbashnodetestinggit

Works with

  • cli
  • mcp

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned November 11, 2026

npx -y skills add ForgeyClap/Forge-Core --skill forge-ecc-adapter --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Forge Ecc Adapter?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Forge Ecc Adapter
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/forgeyclap-forge-ecc-adapter-forge-core/badge)](https://www.skillsdirectory.com/skills/forgeyclap-forge-ecc-adapter-forge-core)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: forge-ecc-adapter
description: "Use when running an ECC skill or command that hard-codes ~/.claude/skills paths (ECC skill draaien)."
---

# forge-ecc-adapter: run path-bound ECC skills through the resolver

ECC is installed under `~/.claude/skills/ecc/<name>`, but several ECC skills and commands still say
`~/.claude/skills/<name>` or use POSIX `find -maxdepth 2`. Followed literally on this machine they read a folder
that does not exist, or count the ecc subtree as "global". This skill is the Forge way to run them: ask
`.claude/forge-bin/forge-ecc-path.cjs` where the skill really is, then run the ECC step from there. The pinned
ECC files are never edited (ECC policy section 7). Hands off: finding a NEW third-party skill → `forge-scout`;
writing or slimming a skill → `forge-skill-authoring`.

## When to use
- An ECC skill or command (skill-stocktake, skill-scout, evolve, promote, prune, projects, learn) names a
  `~/.claude/skills/<name>` path, or a `find ~/.claude/skills -maxdepth 2` inventory.
- A "file not found" under `~/.claude/skills/<name>` while the skill exists under `~/.claude/skills/ecc/<name>`.
- Listing every installed skill with its true source (project, global, ecc, plugin).
- Not for: switching on ECC hooks, MCP servers or continuous learning (owner-only, off by policy); editing an
  ECC file; skills that already resolve normally (project and global skills).

## The resolver
- `node .claude/forge-bin/forge-ecc-path.cjs resolve <name> [--json]` prints the skill folder. Search order:
  project, global, ecc, plugin. Exit 1 = not found (the message lists every root it searched), exit 2 = bad name.
  A plugin skill is asked for as `<plugin>:<name>`.
- `node .claude/forge-bin/forge-ecc-path.cjs list [--depth N] [--json]` replaces `find <root> -maxdepth N -name
  SKILL.md`; every item carries its `source` label, and the ecc subtree is never counted as global.
- It prints a Windows path (`C:\Users\...`). Git Bash accepts it inside double quotes; keep the quotes, the
  path may hold spaces.
  *Done when:* `resolve` exits 0 and the folder it printed has a SKILL.md.

## Per skill: what it hard-codes and what to run instead

| ECC item | Hard-codes | Run instead |
|---|---|---|
| skill-stocktake (SKILL.md) | `~/.claude/skills/skill-stocktake/results.json` and `bash ~/.claude/skills/skill-stocktake/scripts/*.sh` | `D="$(node .claude/forge-bin/forge-ecc-path.cjs resolve skill-stocktake)"`, then `bash "$D/scripts/scan.sh"`, `quick-diff.sh` and `save-results.sh`. Give the results file as a path under `_scratch/`, never inside the pinned ECC folder. |
| skill-stocktake scripts | `GLOBAL_DIR=$HOME/.claude/skills` with an unlimited `find`, so ecc counts as global | Take the inventory from `list --depth 3 --json`, which labels ecc correctly. The scripts' own `SKILL_STOCKTAKE_GLOBAL_DIR` override is marked "for testing only" in scan.sh, so do not lean on it. |
| skill-scout (SKILL.md) | `find ~/.claude/skills -maxdepth 2 -name SKILL.md` and a marketplaces `find` | `list --json` (depth 2 covers ecc and the installed plugins from installed_plugins.json), then filter names and paths by the keyword. Its `grep -RilE` content search stays as it is. |
| evolve, promote, prune, projects (commands) | `python3 ~/.claude/skills/continuous-learning-v2/scripts/instinct-cli.py <cmd>` | Nothing: disabled by ECC policy: owner approval required. `~/.claude/ECC_GLOBAL_POLICY.md` keeps instincts, evolution and continuous learning off, and `prune` deletes files outside the project. The resolver only shows where the script lives (`resolve continuous-learning-v2`); do not run it. Say "disabled by ECC policy (instincts are off)", never "nothing to evolve". |
| learn, learn-eval (commands) | write a new skill into `~/.claude/skills/learned/` | Not a resolver case. That write lands outside the project, which is an owner-gated edit; point it at the project `.claude/skills/` and let `forge-skill-authoring` shape the result. |
| continuous-learning v1 and v2 | a Stop hook or observer hooks under `~/.claude/skills/...` | Out of scope: ECC hooks stay off by policy. Only the folder can be resolved (`resolve continuous-learning-v2`); nothing is wired. |

*Done when:* the ECC step ran from the resolved folder, and every write landed inside the project.

## Pitfalls
- The stocktake scripts need `jq` and Bash; on a machine without `jq` they stop with an error. Report that, do
  not hand-roll the JSON.
- `python3` on Windows can be missing or the Microsoft Store stub; the resolver does not check it. Run
  `python3 --version` first and report a stub as a blocker.
- A `resolve` hit with source `project` or `global` wins over ecc on purpose: a local override shadows the
  pinned copy. Read the `--json` `source` field when the result surprises you.
- `learn` writing outside the project is the hard gate, not a path bug. Never "fix" it by resolving a global
  folder.

## Verification
- `node .claude/forge-bin/forge-ecc-path.cjs resolve skill-stocktake` exits 0 on a machine with ECC.
- The doctor line `ecc path` is green: it resolves skill-stocktake and skill-scout and counts the ecc skills, and
  it shows a visible skip on a machine without ECC (`.claude/forge-bin/doctor/checks-tools.cjs`).
- `node .claude/forge-bin/forge-skill-evals.cjs run --skill forge-ecc-adapter` passes.

## Provenance
Forge-native (FORGE_NATIVE_ORIGINAL). The table restates the W2-ECCPATH adapter notes of 2026-11-06
(the local research note forge-research/skills-audit-2026-11-04/ADAPTER-ECC-PATH.md), which were written by reading the pinned
local ECC catalog (commit e2b8a51); no ECC text, script or hook is copied, and no ECC file is changed.

Files in this skill

  • SKILL.md5.6 KB
  • evals.json2.7 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

View all in ai-agents →

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.