chore(memory): skill-catalog prune — contract, plan r4, oracles, TODO, journal
This commit is contained in:
@@ -0,0 +1,14 @@
|
||||
import glob,os,re,subprocess
|
||||
H=os.path.expanduser('~'); SRC='skills-external/gstack'; DST=H+'/.claude/skills/gstack'
|
||||
txt=''.join(open(f,errors='ignore').read() for f in glob.glob(SRC+'/*/SKILL.md'))
|
||||
paths=set(re.findall(r'(?:~|\$HOME)/\.claude/skills/gstack/([A-Za-z0-9_./-]+)',txt))
|
||||
paths={p.rstrip('.') for p in paths}
|
||||
want=[p for p in sorted(paths) if os.path.exists(os.path.join(SRC,p)) and not p.endswith('SKILL.md') and not p.startswith('.git') and not p.startswith('.feature-prompted')]
|
||||
assert len(want)>=20, want
|
||||
missing=[p for p in want if not os.path.exists(os.path.join(DST,p))]
|
||||
assert not missing, missing
|
||||
for p in ('make-pdf/dist/pdf','lib/diagram-render/dist/diagram-render.html','freeze/bin/check-freeze.sh','scripts/jargon-list.json','ETHOS.md'):
|
||||
assert os.path.exists(os.path.join(DST,p)), p
|
||||
out=subprocess.run(['find','-L',DST,'-name','SKILL.md'],capture_output=True,text=True).stdout.strip()
|
||||
assert out=='', out
|
||||
print('LINKS_OK')
|
||||
Reference in New Issue
Block a user