#522 by GitHub stars
EverettFish/holo-card-studio
Create collectible holographic foil cards and two-image lenticular flip cards with AI-generated full-color ukiyo-e and colored sumi-e anime artwork, layered Blender scenes, renders, GLB export, and a flat white web viewer. Use for 镭射卡、闪卡、全息卡、光栅卡、一念神魔、双形态卡、角色收藏卡,或需要保持角色高度一致的 A/B 状态切换。
History
Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.
View weekly changes
SKILL.md
Week of Oct 26, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
cce97187874f → cce97187874f
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Heat
5.6- Star growth, last 7 daysAhead of 90% of tracked repositories
- Star growth, last 24 hoursAhead of 86% of tracked repositories
- Rank movement, last 7 daysAhead of 35% of tracked repositories
- Commits, last 30 daysAhead of 0% of tracked repositories
- Accounts asking about it through MCP, last 7 daysNot available
- Hot votes this weekAhead of 0% of tracked repositories
Heat never changes the order by stars, and sponsorship never touches it. How heat works
Stars over time
Individual skills in this repository
How it works
holo-card-studio
When your agent uses it
Create collectible holographic foil cards and two-image lenticular flip cards with AI-generated full-color ukiyo-e and colored sumi-e anime artwork, layered Blender scenes, renders, GLB export, and a flat white web viewer. Use for 镭射卡、闪卡、全息卡、光栅卡、一念神魔、双形态卡、角色收藏卡,或需要保持角色高度一致的 A/B 状态切换。
What it loads into context
Frontmatter
100 tokensAlways available to the agent
SKILL.md
1,169 tokensWhen the skill is activated
Reference documents
8,726 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Route first
- Default art direction
- Generate images
- Build the project
- Verify and deliver
- References
Scripts executed separately
assets/web-holographic/app.jsassets/web-holographic/package.jsonassets/web-holographic/server.mjsassets/web-lenticular/app.jsassets/web-lenticular/package.jsonassets/web-lenticular/server.mjsassets/web-template/app.jsassets/web-template/package.jsonassets/web-template/server.mjsscripts/blender_compat.pyscripts/build_card.pyscripts/ensure_blender.pyscripts/export_web.pyscripts/generate_typography.pyscripts/holographic/build_card.pyscripts/holographic/ensure_blender.pyscripts/holographic/export_web.pyscripts/holographic/generate_typography.pyscripts/holographic/run_pipeline.pyscripts/holographic/validate_assets.pyscripts/lenticular/build_card.pyscripts/lenticular/ensure_blender.pyscripts/lenticular/export_web.pyscripts/lenticular/generate_typography.pyscripts/lenticular/prepare_fx.pyscripts/lenticular/prepare_pair.pyscripts/lenticular/run_pipeline.pyscripts/lenticular/validate_assets.pyscripts/package_skill.pyscripts/run_pipeline.pyscripts/validate_assets.pytests/test_run_pipeline.py
Files
.gitignoreasset153 bytesLICENSEasset1,232 bytesREADME.en.mddoc9,382 bytesREADME.mddoc9,097 bytesSKILL.mdcore5,564 bytesSKILL.mdcore5,564 bytesSKILL.mdcore5,564 bytesSKILL.mdcore5,564 bytesagents/openai.yamlasset521 bytesassets/web-holographic/app.jsruns12,036 bytesassets/web-holographic/card-config.jsonasset652 bytesassets/web-holographic/index.htmlasset2,314 bytesassets/web-holographic/package-lock.jsonasset541 bytesassets/web-holographic/package.jsonruns154 bytesassets/web-holographic/server.mjsruns1,166 bytesassets/web-holographic/style.cssasset3,855 bytesassets/web-lenticular/app.jsruns9,172 bytesassets/web-lenticular/card-config.jsonasset988 bytesassets/web-lenticular/index.htmlasset2,303 bytesassets/web-lenticular/package.jsonruns160 bytesassets/web-lenticular/server.mjsruns1,172 bytesassets/web-lenticular/style.cssasset3,541 bytesassets/web-template/app.jsruns12,263 bytesassets/web-template/card-config.jsonasset681 bytesassets/web-template/index.htmlasset3,799 bytesassets/web-template/package-lock.jsonasset562 bytesassets/web-template/package.jsonruns155 bytesassets/web-template/server.mjsruns1,174 bytesassets/web-template/style.cssasset6,927 bytesreferences/art-direction.mddoc2,349 bytesreferences/config.example.jsonasset681 bytesreferences/config.holographic.example.jsonasset511 bytesreferences/config.lenticular.example.jsonasset834 bytesreferences/gallery-distribution.mddoc2,699 bytesreferences/holographic-route.mddoc1,540 bytesreferences/lenticular-model.mddoc4,110 bytesreferences/lenticular-route.mddoc1,493 bytesreferences/verification.mddoc3,333 bytesscripts/__pycache__/build_card.cpython-312.pycasset45,587 bytesscripts/__pycache__/ensure_blender.cpython-312.pycasset10,041 bytesscripts/__pycache__/export_web.cpython-312.pycasset3,792 bytesscripts/__pycache__/generate_typography.cpython-312.pycasset4,868 bytesscripts/__pycache__/package_skill.cpython-312.pycasset5,389 bytesscripts/__pycache__/run_pipeline.cpython-312.pycasset4,444 bytesscripts/__pycache__/validate_assets.cpython-312.pycasset3,123 bytesscripts/blender_compat.pyruns2,155 bytesscripts/build_card.pyruns22,205 bytesscripts/ensure_blender.pyruns5,146 bytesscripts/export_web.pyruns1,672 bytesscripts/generate_typography.pyruns2,081 bytesscripts/holographic/build_card.pyruns21,963 bytesscripts/holographic/ensure_blender.pyruns5,145 bytesscripts/holographic/export_web.pyruns1,645 bytesscripts/holographic/generate_typography.pyruns2,080 bytesscripts/holographic/run_pipeline.pyruns2,605 bytesscripts/holographic/validate_assets.pyruns1,655 bytesscripts/lenticular/build_card.pyruns33,892 bytesscripts/lenticular/ensure_blender.pyruns5,151 bytesscripts/lenticular/export_web.pyruns1,897 bytesscripts/lenticular/generate_typography.pyruns2,753 bytesscripts/lenticular/prepare_fx.pyruns2,145 bytesscripts/lenticular/prepare_pair.pyruns3,507 bytesscripts/lenticular/run_pipeline.pyruns3,175 bytesscripts/lenticular/validate_assets.pyruns2,291 bytesscripts/package_skill.pyruns2,295 bytesscripts/run_pipeline.pyruns1,618 bytesscripts/validate_assets.pyruns1,656 bytestests/test_run_pipeline.pyruns6,058 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubSkills included
- holo-card-studio
Repository facts
- License
- No license detected
- Created
- Sep 7, 2026
- Last pushed
- Sep 22, 2026
- Forks
- 264
- Open issues
- 3
- Project activity
- Active
Rank over the last 12 weeks
Now #522 · best #444 · down 48 in 30 days
- #517 on Nov 2
- #519 on Nov 3
- #520 on Nov 4
- #519 on Nov 5
- #521 on Nov 6
- #522 since Nov 7
50 earlier periods
- #888 on Sep 6
- #652 on Sep 7
- #570 on Sep 8
- #529 on Sep 9
- #520 on Sep 10
- #504 on Sep 11
- #496 on Sep 12
- #493 on Sep 13
- #503 on Sep 14
- #498 on Sep 15
- #505 on Sep 16
- #485 on Sep 17
- #487 on Sep 18
- #469 on Sep 19
- #475 on Sep 20
- #473 on Sep 21
- #481 on Sep 22
- #469 on Sep 23
- #457 on Sep 24
- #455 on Sep 25
- #449 on Sep 26
- #466 on Sep 27
- #469 on Sep 28
- #471 from Sep 29 to Sep 30
- #465 on Oct 1
- #460 on Oct 2
- #447 on Oct 3
- #444 on Oct 4
- #454 on Oct 5
- #460 on Oct 6
- #466 on Oct 7
- #474 on Oct 8
- #476 on Oct 9
- #470 on Oct 10
- #472 on Oct 11
- #482 on Oct 12
- #479 on Oct 13
- #483 on Oct 14
- #485 on Oct 15
- #484 on Oct 16
- #474 on Oct 17
- #476 on Oct 18
- #491 from Oct 19 to Oct 20
- #496 on Oct 21
- #489 on Oct 22
- #484 on Oct 23
- #471 on Oct 24
- #511 on Oct 25
- #512 on Oct 28
- #513 from Oct 29 to Nov 1
Before you install
Network or broad shellAutomated signals, not a guarantee
Checked Nov 3, 2026
Changed on Oct 27, 2026
No longer found: Possible obfuscation
Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.
Show 5 notes
SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedassets/web-template/style.css:2Analysis incomplete: physical or joined line exceeds character limitassets/web-template/style.css:1Analysis incomplete: physical or joined line exceeds character limit
- No broad tool permissions
- No dangerous shell commands
- 73 network referencesin 14 files: scripts/ensure_blender.py:2 scripts/holographic/ensure_blender.py:2 scripts/lenticular/ensure_blender.py:2 and 11 more
- 1 obfuscation signalin 1 file: assets/web-lenticular/app.js:27
- No instruction overrides
- 32 executable scriptsin 32 files: assets/web-holographic/app.js:1 assets/web-holographic/package.json:1 assets/web-holographic/server.mjs:1 and 29 more
- 7 references to secretsin 7 files: .gitignore:5 scripts/generate_typography.py:9 scripts/holographic/generate_typography.py:9 and 4 more
- No requests to vote in Hot
Show all 113 signals by file
.gitignore
- Access to secretsline 5
[Credential-related source omitted]
README.md
assets/web-holographic/app.js
- Executable scriptline 1
Executable file - Network accessline 77
} async function init(){ config=await fetch('./card-config.json').then(r=>{if(!r.ok)throw Error('Card configuration was not found.');return r.json();}); - Network accessline 78
async function init(){ config=await fetch('./card-config.json').then(r=>{if(!r.ok)throw Error('Card configuration was not found.');return r.json();}); document.title=(config.title||'CARD TITLE')+' — HOLO CARD STUDIO'; - Network accessline 79
config=await fetch('./card-config.json').then(r=>{if(!r.ok)throw Error('Card configuration was not found.');return r.json();});
assets/web-holographic/package-lock.json
- Network accessline 14
"node_modules/three": { "version": "0.180.0", "resolved": "https://registry.npmjs.org/three/-/three-0.180.0.tgz", - Network accessline 15
"version": "0.180.0", "resolved": "https://registry.npmjs.org/three/-/three-0.180.0.tgz", "integrity": "sha512-o+qycAMZrh+TsE01GqWUxUIKR1AL0S8pq7zDkYOQw8GqfX8b8VoCKYUoHbhiX5j+7hr8XsuHDVU6+gkQJQKg9w==", - Network accessline 16
"resolved": "https://registry.npmjs.org/three/-/three-0.180.0.tgz",
assets/web-holographic/package.json
- Executable scriptline 1
Executable file
assets/web-holographic/server.mjs
- Executable scriptline 1
Executable file - Network accessline 6
const port=Number(process.env.PORT||4173); const types={'.html':'text/html; charset=utf-8','.js':'text/javascript; charset=utf-8','.mjs':'text/javascript; charset=utf-8','.css':'text/css; charset=utf-8','.json':'application/json; charset=ut - Network accessline 8
http.createServer(async(req,res)=>{try{let url=decodeURIComponent(new URL(req.url,'http://localhost').pathname);let filename=path.resolve(root,'.'+url);if(filename!==root&&!filename.startsWith(root+path.sep)){res.writeHead(403);return res.e
assets/web-lenticular/app.js
- Executable scriptline 1
Executable file - Network accessline 25
function reset(){angle=0;tilt=0;back=false;auto=false;update();} function resize(){const w=stage.clientWidth,h=stage.clientHeight;renderer.setSize(w,h);composer.setSize(w,h);camera.aspect=w/h;camera.fov=2*Math.atan(Math.max(5.12,3.55/camera - Network accessline 26
function resize(){const w=stage.clientWidth,h=stage.clientHeight;renderer.setSize(w,h);composer.setSize(w,h);camera.aspect=w/h;camera.fov=2*Math.atan(Math.max(5.12,3.55/camera.aspect)/32)*180/Math.PI;camera.updateProjectionMatrix();} async - Network accessline 27
async function init(){config=await fetch('card-config.json').then(r=>r.json());document.title=(config.title||'双生光栅')+' · 收藏卡';$("card-title").textContent=config.title||'一念神魔';$("card-description").textContent=config.description||'两个完整形态,藏在转 - Possible obfuscationline 27
async function init(){config=await fetch('card-config.json').then(r=>r.json());document.title=(config.title||'双生光栅')+' · 收藏卡';$("card-title").textContent=config.title||'一念神魔';$("card-description").textContent=config.description||'两个完整形态,藏在转
assets/web-lenticular/package.json
- Executable scriptline 1
Executable file
assets/web-lenticular/server.mjs
- Executable scriptline 1
Executable file - Network accessline 6
const port=Number(process.env.PORT||4173); const types={'.html':'text/html; charset=utf-8','.js':'text/javascript; charset=utf-8','.mjs':'text/javascript; charset=utf-8','.css':'text/css; charset=utf-8','.json':'application/json; charset=ut - Network accessline 8
http.createServer(async(req,res)=>{try{let url=decodeURIComponent(new URL(req.url,'http://localhost').pathname);let filename=path.resolve(root,'.'+url);if(filename!==root&&!filename.startsWith(root+path.sep)){res.writeHead(403);return res.e
assets/web-template/app.js
- Executable scriptline 1
Executable file - Network accessline 65
function backTexture(){const c=document.createElement('canvas');c.width=1024;c.height=1536;const ctx=c.getContext('2d');ctx.clearRect(0,0,1024,1536);ctx.strokeStyle='#c2a368';ctx.lineWidth=2;ctx.strokeRect(74,74,876,1388);ctx.strokeRect(87, - Network accessline 66
async function init(){ config=await fetch('./card-config.json').then(r=>{if(!r.ok)throw Error('找不到卡牌配置');return r.json();}); document.title=config.title+' · 幻光典藏';for(const [id,key]of Object.entries({'card-title':'title','collection':'col - Network accessline 67
config=await fetch('./card-config.json').then(r=>{if(!r.ok)throw Error('找不到卡牌配置');return r.json();});
assets/web-template/package-lock.json
- Network accessline 14
"node_modules/three": { "version": "0.180.0", "resolved": "https://registry.npmjs.org/three/-/three-0.180.0.tgz", - Network accessline 15
"version": "0.180.0", "resolved": "https://registry.npmjs.org/three/-/three-0.180.0.tgz", "integrity": "sha512-o+qycAMZrh+TsE01GqWUxUIKR1AL0S8pq7zDkYOQw8GqfX8b8VoCKYUoHbhiX5j+7hr8XsuHDVU6+gkQJQKg9w==", - Network accessline 16
"resolved": "https://registry.npmjs.org/three/-/three-0.180.0.tgz",
assets/web-template/package.json
- Executable scriptline 1
Executable file
assets/web-template/server.mjs
- Executable scriptline 1
Executable file - Network accessline 6
const port=Number(process.env.PORT||4173); const types={'.html':'text/html; charset=utf-8','.js':'text/javascript; charset=utf-8','.mjs':'text/javascript; charset=utf-8','.css':'text/css; charset=utf-8','.json':'application/json; charset=ut - Network accessline 8
http.createServer(async(req,res)=>{try{let url=decodeURIComponent(new URL(req.url,'http://localhost').pathname);let filename=path.resolve(root,'.'+url);if(filename!==root&&!filename.startsWith(root+path.sep)){res.writeHead(403);return res.e
scripts/blender_compat.py
- Executable scriptline 1
Executable file
scripts/build_card.py
- Executable scriptline 1
Executable file
scripts/ensure_blender.py
- Executable scriptline 1
Executable file - Network accessline 2
from pathlib import Path import argparse,hashlib,platform,re,shutil,subprocess,tarfile,urllib.request,zipfile BASE='https://download.blender.org/release/Blender4.5/' - Network accessline 3
import argparse,hashlib,platform,re,shutil,subprocess,tarfile,urllib.request,zipfile BASE='https://download.blender.org/release/Blender4.5/' def find_blender(project,override=None): - Network accessline 4
BASE='https://download.blender.org/release/Blender4.5/' - Network accessline 20
def fetch(url,target): - Network accessline 21
req=urllib.request.Request(url,headers={'User-Agent':'Holo-Card-Studio/1.0'}) - Network accessline 22
with urllib.request.urlopen(req,timeout=90) as response,target.open('wb') as out:shutil.copyfileobj(response,out) - Network accessline 33
elif system=='Darwin':suffix='macos-arm64.dmg' if 'arm' in machine else 'macos-x64.dmg' else:raise RuntimeError('Unsupported platform: '+system) listing=urllib.request.urlopen(BASE,timeout=30).read().decode('utf8') - Network accessline 34
else:raise RuntimeError('Unsupported platform: '+system) listing=urllib.request.urlopen(BASE,timeout=30).read().decode('utf8') found=set(re.findall(r'blender-(4\.5\.\d+)-'+re.escape(suffix),listing)) - Network accessline 35
listing=urllib.request.urlopen(BASE,timeout=30).read().decode('utf8') - Network accessline 38
version=max(found,key=lambda v:tuple(map(int,v.split('.'))));name='blender-'+version+'-'+suffix tools=project/'tools';tools.mkdir(parents=True,exist_ok=True);package=tools/name checksum=tools/('blender-'+version+'.sha256');fetch(BAS - Network accessline 39
tools=project/'tools';tools.mkdir(parents=True,exist_ok=True);package=tools/name checksum=tools/('blender-'+version+'.sha256');fetch(BASE+checksum.name,checksum) entries=[l.split() for l in checksum.read_text().splitlines()] - Network accessline 40
checksum=tools/('blender-'+version+'.sha256');fetch(BASE+checksum.name,checksum) - Network accessline 49
return h.hexdigest() if not package.exists() or digest(package)!=expected: partial=package.with_suffix(package.suffix+'.part');fetch(BASE+name,partial) - Network accessline 50
if not package.exists() or digest(package)!=expected: partial=package.with_suffix(package.suffix+'.part');fetch(BASE+name,partial) if digest(partial)!=expected:raise RuntimeError('Official Blender SHA-256 mismatch; package n - Network accessline 51
partial=package.with_suffix(package.suffix+'.part');fetch(BASE+name,partial)
scripts/export_web.py
- Executable scriptline 1
Executable file
scripts/generate_typography.py
scripts/holographic/build_card.py
- Executable scriptline 1
Executable file
scripts/holographic/ensure_blender.py
- Executable scriptline 1
Executable file - Network accessline 2
from pathlib import Path import argparse,hashlib,platform,re,shutil,subprocess,tarfile,urllib.request,zipfile BASE='https://download.blender.org/release/Blender4.5/' - Network accessline 3
import argparse,hashlib,platform,re,shutil,subprocess,tarfile,urllib.request,zipfile BASE='https://download.blender.org/release/Blender4.5/' def find_blender(project,override=None): - Network accessline 4
BASE='https://download.blender.org/release/Blender4.5/' - Network accessline 20
def fetch(url,target): - Network accessline 21
req=urllib.request.Request(url,headers={'User-Agent':'Holo-Card-Studio/1.0'}) - Network accessline 22
with urllib.request.urlopen(req,timeout=90) as response,target.open('wb') as out:shutil.copyfileobj(response,out) - Network accessline 33
elif system=='Darwin':suffix='macos-arm64.dmg' if 'arm' in machine else 'macos-x64.dmg' else:raise RuntimeError('Unsupported platform: '+system) listing=urllib.request.urlopen(BASE,timeout=30).read().decode('utf8') - Network accessline 34
else:raise RuntimeError('Unsupported platform: '+system) listing=urllib.request.urlopen(BASE,timeout=30).read().decode('utf8') found=set(re.findall(r'blender-(4\.5\.\d+)-'+re.escape(suffix),listing)) - Network accessline 35
listing=urllib.request.urlopen(BASE,timeout=30).read().decode('utf8') - Network accessline 38
version=max(found,key=lambda v:tuple(map(int,v.split('.'))));name='blender-'+version+'-'+suffix tools=project/'tools';tools.mkdir(parents=True,exist_ok=True);package=tools/name checksum=tools/('blender-'+version+'.sha256');fetch(BAS - Network accessline 39
tools=project/'tools';tools.mkdir(parents=True,exist_ok=True);package=tools/name checksum=tools/('blender-'+version+'.sha256');fetch(BASE+checksum.name,checksum) entries=[l.split() for l in checksum.read_text().splitlines()] - Network accessline 40
checksum=tools/('blender-'+version+'.sha256');fetch(BASE+checksum.name,checksum) - Network accessline 49
return h.hexdigest() if not package.exists() or digest(package)!=expected: partial=package.with_suffix(package.suffix+'.part');fetch(BASE+name,partial) - Network accessline 50
if not package.exists() or digest(package)!=expected: partial=package.with_suffix(package.suffix+'.part');fetch(BASE+name,partial) if digest(partial)!=expected:raise RuntimeError('Official Blender SHA-256 mismatch; package n - Network accessline 51
partial=package.with_suffix(package.suffix+'.part');fetch(BASE+name,partial)
scripts/holographic/export_web.py
- Executable scriptline 1
Executable file
scripts/holographic/generate_typography.py
scripts/holographic/run_pipeline.py
- Executable scriptline 1
Executable file - Access to secretsline 15
[Credential-related source omitted] - Network accessline 28
if not npm:raise RuntimeError('Install Node.js/npm, then run npm install --ignore-scripts in web/') subprocess.run([npm,'install','--ignore-scripts','--no-audit','--no-fund'],cwd=web,check=True) print('Completed:',root/'card.ble - Network accessline 29
subprocess.run([npm,'install','--ignore-scripts','--no-audit','--no-fund'],cwd=web,check=True) print('Completed:',root/'card.blend');print('Preview: node',web/'server.mjs');print('Open http://127.0.0.1:4173 after starting the server') i - Network accessline 30
print('Completed:',root/'card.blend');print('Preview: node',web/'server.mjs');print('Open http://127.0.0.1:4173 after starting the server')
scripts/holographic/validate_assets.py
- Executable scriptline 1
Executable file
scripts/lenticular/build_card.py
- Executable scriptline 1
Executable file
scripts/lenticular/ensure_blender.py
- Executable scriptline 1
Executable file - Network accessline 2
from pathlib import Path import argparse,hashlib,platform,re,shutil,subprocess,tarfile,urllib.request,zipfile BASE='https://download.blender.org/release/Blender4.5/' - Network accessline 3
import argparse,hashlib,platform,re,shutil,subprocess,tarfile,urllib.request,zipfile BASE='https://download.blender.org/release/Blender4.5/' def find_blender(project,override=None): - Network accessline 4
BASE='https://download.blender.org/release/Blender4.5/' - Network accessline 20
def fetch(url,target): - Network accessline 21
req=urllib.request.Request(url,headers={'User-Agent':'Lenticular-Card-Studio/1.0'}) - Network accessline 22
with urllib.request.urlopen(req,timeout=90) as response,target.open('wb') as out:shutil.copyfileobj(response,out) - Network accessline 33
elif system=='Darwin':suffix='macos-arm64.dmg' if 'arm' in machine else 'macos-x64.dmg' else:raise RuntimeError('Unsupported platform: '+system) listing=urllib.request.urlopen(BASE,timeout=30).read().decode('utf8') - Network accessline 34
else:raise RuntimeError('Unsupported platform: '+system) listing=urllib.request.urlopen(BASE,timeout=30).read().decode('utf8') found=set(re.findall(r'blender-(4\.5\.\d+)-'+re.escape(suffix),listing)) - Network accessline 35
listing=urllib.request.urlopen(BASE,timeout=30).read().decode('utf8') - Network accessline 38
version=max(found,key=lambda v:tuple(map(int,v.split('.'))));name='blender-'+version+'-'+suffix tools=project/'tools';tools.mkdir(parents=True,exist_ok=True);package=tools/name checksum=tools/('blender-'+version+'.sha256');fetch(BAS - Network accessline 39
tools=project/'tools';tools.mkdir(parents=True,exist_ok=True);package=tools/name checksum=tools/('blender-'+version+'.sha256');fetch(BASE+checksum.name,checksum) entries=[l.split() for l in checksum.read_text().splitlines()] - Network accessline 40
checksum=tools/('blender-'+version+'.sha256');fetch(BASE+checksum.name,checksum) - Network accessline 49
return h.hexdigest() if not package.exists() or digest(package)!=expected: partial=package.with_suffix(package.suffix+'.part');fetch(BASE+name,partial) - Network accessline 50
if not package.exists() or digest(package)!=expected: partial=package.with_suffix(package.suffix+'.part');fetch(BASE+name,partial) if digest(partial)!=expected:raise RuntimeError('Official Blender SHA-256 mismatch; package n - Network accessline 51
partial=package.with_suffix(package.suffix+'.part');fetch(BASE+name,partial)
scripts/lenticular/export_web.py
- Executable scriptline 1
Executable file
scripts/lenticular/generate_typography.py
scripts/lenticular/prepare_fx.py
- Executable scriptline 1
Executable file
scripts/lenticular/prepare_pair.py
- Executable scriptline 1
Executable file
scripts/lenticular/run_pipeline.py
- Executable scriptline 1
Executable file - Access to secretsline 18
[Credential-related source omitted] - Network accessline 34
if not npm: raise RuntimeError('Install Node.js/npm, then run npm install --ignore-scripts in web/') subprocess.run([npm, 'install', '--ignore-scripts', '--no-audit', '--no-fund'], cwd=web, check=True) print('Completed:', root / - Network accessline 36
print('Completed:', root / 'card.blend'); print('Renders:', root / 'renders'); print('Preview: node', web / 'server.mjs'); print('Open http://127.0.0.1:4173 after starting the server')
scripts/lenticular/validate_assets.py
- Executable scriptline 1
Executable file
scripts/package_skill.py
- Executable scriptline 1
Executable file
scripts/run_pipeline.py
- Executable scriptline 1
Executable file
scripts/validate_assets.py
- Executable scriptline 1
Executable file
How the signals fit together
Facts from a static read of the files at the pinned commit. They describe what the code does, not why.
Some files could not be read; the facts below still hold.
Declared and executed: 3 facts
- Contacts download.blender.org, which SKILL.md, the README and the plugin manifest do not mentionscripts/ensure_blender.py:4High confidence
- Contacts download.blender.org, which SKILL.md, the README and the plugin manifest do not mentionscripts/holographic/ensure_blender.py:4High confidence
- Contacts download.blender.org, which SKILL.md, the README and the plugin manifest do not mentionscripts/lenticular/ensure_blender.py:4High confidence
Signal confidence: 106 facts
- Network access in prose of documentationREADME.md:130Low confidence
- Network access in prose of documentationREADME.md:131Low confidence
- Executable script in code of a file that runsassets/web-holographic/app.js:1High confidence
- Network access in code of a file that runsassets/web-holographic/app.js:77High confidence
- Network access in code of a file that runsassets/web-holographic/app.js:78High confidence
- Network access in code of a file that runsassets/web-holographic/app.js:79High confidence
- Executable script in code of a file that runsassets/web-holographic/package.json:1High confidence
- Executable script in code of a file that runsassets/web-holographic/server.mjs:1High confidence
- Network access in code of a file that runsassets/web-holographic/server.mjs:6High confidence
- Network access in code of a file that runsassets/web-holographic/server.mjs:8High confidence
- Executable script in code of a file that runsassets/web-lenticular/app.js:1High confidence
- Network access in code of a file that runsassets/web-lenticular/app.js:25High confidence
- Network access in code of a file that runsassets/web-lenticular/app.js:26High confidence
- Network access in code of a file that runsassets/web-lenticular/app.js:27High confidence
- Possible obfuscation in code of a file that runsassets/web-lenticular/app.js:27High confidence
- Executable script in code of a file that runsassets/web-lenticular/package.json:1High confidence
- Executable script in code of a file that runsassets/web-lenticular/server.mjs:1High confidence
- Network access in code of a file that runsassets/web-lenticular/server.mjs:6High confidence
- Network access in code of a file that runsassets/web-lenticular/server.mjs:8High confidence
- Executable script in code of a file that runsassets/web-template/app.js:1High confidence
- Network access in code of a file that runsassets/web-template/app.js:65High confidence
- Network access in code of a file that runsassets/web-template/app.js:66High confidence
- Network access in code of a file that runsassets/web-template/app.js:67High confidence
- Executable script in code of a file that runsassets/web-template/package.json:1High confidence
- Executable script in code of a file that runsassets/web-template/server.mjs:1High confidence
- Network access in code of a file that runsassets/web-template/server.mjs:6High confidence
- Network access in code of a file that runsassets/web-template/server.mjs:8High confidence
- Executable script in prose of a file that runsscripts/blender_compat.py:1Low confidence
- Executable script in code of a file that runsscripts/build_card.py:1High confidence
- Executable script in prose of a file that runsscripts/ensure_blender.py:1Low confidence
- Network access in code of a file that runsscripts/ensure_blender.py:2High confidence
- Network access in code of a file that runsscripts/ensure_blender.py:3High confidence
- Network access in code of a file that runsscripts/ensure_blender.py:4High confidence
- Network access in code of a file that runsscripts/ensure_blender.py:20High confidence
- Network access in code of a file that runsscripts/ensure_blender.py:21High confidence
- Network access in code of a file that runsscripts/ensure_blender.py:22High confidence
- Network access in code of a file that runsscripts/ensure_blender.py:33High confidence
- Network access in code of a file that runsscripts/ensure_blender.py:34High confidence
- Network access in code of a file that runsscripts/ensure_blender.py:35High confidence
- Network access in code of a file that runsscripts/ensure_blender.py:38High confidence
- Network access in code of a file that runsscripts/ensure_blender.py:39High confidence
- Network access in code of a file that runsscripts/ensure_blender.py:40High confidence
- Network access in code of a file that runsscripts/ensure_blender.py:49High confidence
- Network access in code of a file that runsscripts/ensure_blender.py:50High confidence
- Network access in code of a file that runsscripts/ensure_blender.py:51High confidence
- Executable script in code of a file that runsscripts/export_web.py:1High confidence
- Executable script in prose of a file that runsscripts/generate_typography.py:1Low confidence
- Access to secrets in code of a file that runs: a variable, placeholder or call, not a stored valuescripts/generate_typography.py:9Low confidence
- Executable script in code of a file that runsscripts/holographic/build_card.py:1High confidence
- Executable script in prose of a file that runsscripts/holographic/ensure_blender.py:1Low confidence
and 56 more
Works with
| Agent | Status | Evidence | Install to |
|---|---|---|---|
| Claude Code | Compatible | Standard SKILL.md SKILL.md | .claude/skills/<skill-name>/ |
| Codex | Compatible | Standard SKILL.md SKILL.md | .agents/skills/<skill-name>/ |
| Cursor | Compatible | Standard SKILL.md SKILL.md | .cursor/skills/<skill-name>/ |
| Gemini CLI | Compatible | Standard SKILL.md SKILL.md | .gemini/skills/<skill-name>/ |
| GitHub Copilot | Compatible | Standard SKILL.md SKILL.md | .github/skills/<skill-name>/ |
| OpenCode | Compatible | Standard SKILL.md SKILL.md | .opencode/skills/<skill-name>/ |
- Native The repository ships a manifest, folder or frontmatter field for this agent.
- Compatible A standard SKILL.md that this agent can read.
- Unknown No evidence either way.
Derived automatically from paths, manifests and frontmatter. Not tested on each agent.
Explore alternatives and comparisons
Add this badge to your README
It updates every night and links to this page.
[](https://hotskills.dev/skill/everettfish-holo-card-studio/)