Not in the top 1,000 by GitHub stars

al-nafisah/fpga-project-analyzer

See and review any Vivado / Zynq / PYNQ project: drill-down Vivado-style diagrams and clock-domain, constraint and overlay checks for AI coding agents.

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

skills/debug/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Not checked yet → After Instructions only

39ecbb2a54e8 → e5b0d0adf693

Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Not checked yet

First observation → 39ecbb2a54e8

No earlier version was observed for comparison.

Compare on GitHub

skills/explain/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Not checked yet → After Instructions only

39ecbb2a54e8 → e5b0d0adf693

Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Not checked yet

First observation → 39ecbb2a54e8

No earlier version was observed for comparison.

Compare on GitHub

skills/fpga-project-analyzer/SKILL.md

Week of Nov 2, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

39ecbb2a54e8 → e5b0d0adf693

A local comparison is unavailable. You can inspect the recorded versions on GitHub.

Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Not checked yet

First observation → 39ecbb2a54e8

No earlier version was observed for comparison.

Compare on GitHub

skills/review/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Not checked yet → After Instructions only

39ecbb2a54e8 → e5b0d0adf693

Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Not checked yet

First observation → 39ecbb2a54e8

No earlier version was observed for comparison.

Compare on GitHub

View on GitHubAdd to my skills

Verified commit e5b0d0adf6932b6135eaec0caf97614f2fb573da

git clone --filter=blob:none --no-checkout https://github.com/al-nafisah/fpga-project-analyzer.git .hotskills/al-nafisah-fpga-project-analyzer && git -C .hotskills/al-nafisah-fpga-project-analyzer checkout --detach e5b0d0adf6932b6135eaec0caf97614f2fb573da # Copy each selected skill directory from .hotskills/al-nafisah-fpga-project-analyzer into .claude/skills/<skill-name>/
27GitHub stars
2stars in 7 days
4skills in this repository
26commits in 30 days

Heat

3.7
  • Star growth, last 7 daysNot available
  • Star growth, last 24 hoursNot available
  • Rank movement, last 7 daysNot available
  • Commits, last 30 daysNot available
  • Accounts asking about it through MCP, last 7 daysNot available
  • Hot votes this weekNot available

Heat never changes the order by stars, and sponsorship never touches it. How heat works

Stars over time

Oct 28, 2026Nov 3, 202627

30-day change not yet available: not enough history.

Individual skills in this repository

How it works

debug

When your agent uses it

Find why an FPGA build failed (Vivado, HLS, PetaLinux) and how to fix it.

What it loads into context

Frontmatter

47 tokens

Always available to the agent

SKILL.md

160 tokens

When the skill is activated

Reference documents

1,308 tokens

Loaded on request

Token counts are estimates. Scripts run separately; they are not counted as reference context.

The playbook

    Files

    • ../../.claude-plugin/icon.pngasset426,163 bytes
    • ../../.claude-plugin/marketplace.jsonasset695 bytes
    • ../../.claude-plugin/plugin.jsonasset669 bytes
    • SKILL.mdcore612 bytes
    • ../fpga-project-analyzer/SKILL.mddoc4,805 bytes
    Read SKILL.md
    Find why the FPGA build failed. Arguments ($ARGUMENTS) are a log file or a project folder; if none, use the current
    folder and the logs with errors that the build summary lists first.
    Read `../fpga-project-analyzer/SKILL.md` (relative to this file's directory) and follow it: `logs` for the log,
    `build` + `show` to locate the cause in the design. Reply with the root cause, where it is (file:line or block),
    and the exact fix.
    View the complete source on GitHub

    Skills included

    • debug
    • explain
    • fpga-project-analyzer
    • review

    Repository facts

    License
    MIT
    Created
    Oct 26, 2026
    Last pushed
    Nov 1, 2026
    Forks
    8
    Open issues
    0
    Project activity
    Active

    Before you install

    Network or broad shell

    Automated signals, not a guarantee

    Checked Nov 6, 2026

    Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.

    Show 46 notes
    • skills/fpga-project-analyzer/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
    • skills/fpga-project-analyzer/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
    • skills/fpga-project-analyzer/scripts/fpalib/assets/vendor/elk.bundled.js:1 Analysis incomplete: file exceeds text byte budget
    • skills/fpga-project-analyzer/scripts/fpalib/assets/vendor/elk.bundled.js:6418 Analysis incomplete: physical or joined line exceeds character limit
    • skills/fpga-project-analyzer/scripts/fpalib/assets/vendor/elk.bundled.js:6419 Analysis incomplete: physical or joined line exceeds character limit
    • skills/fpga-project-analyzer/scripts/fpalib/assets/vendor/elk.bundled.js:6420 Analysis incomplete: physical or joined line exceeds character limit
    • skills/fpga-project-analyzer/scripts/fpalib/assets/vendor/elk.bundled.js:6421 Analysis incomplete: physical or joined line exceeds character limit
    • skills/fpga-project-analyzer/scripts/fpalib/assets/vendor/elk.bundled.js:6422 Analysis incomplete: physical or joined line exceeds character limit
    • skills/fpga-project-analyzer/scripts/fpalib/assets/vendor/elk.bundled.js:6423 Analysis incomplete: physical or joined line exceeds character limit
    • skills/fpga-project-analyzer/scripts/fpalib/assets/vendor/elk.bundled.js:6424 Analysis incomplete: physical or joined line exceeds character limit
    • skills/fpga-project-analyzer/scripts/fpalib/assets/vendor/elk.bundled.js:6425 Analysis incomplete: physical or joined line exceeds character limit
    • skills/fpga-project-analyzer/scripts/fpalib/assets/vendor/elk.bundled.js:6426 Analysis incomplete: physical or joined line exceeds character limit
    • skills/fpga-project-analyzer/scripts/fpalib/assets/vendor/elk.bundled.js:6427 Analysis incomplete: physical or joined line exceeds character limit
    • skills/fpga-project-analyzer/scripts/fpalib/assets/vendor/elk.bundled.js:6428 Analysis incomplete: physical or joined line exceeds character limit
    • skills/fpga-project-analyzer/scripts/fpalib/assets/vendor/elk.bundled.js:6429 Analysis incomplete: physical or joined line exceeds character limit
    • skills/fpga-project-analyzer/scripts/fpalib/assets/vendor/elk.bundled.js:6430 Analysis incomplete: physical or joined line exceeds character limit
    • skills/fpga-project-analyzer/scripts/fpalib/assets/vendor/elk.bundled.js:6431 Analysis incomplete: physical or joined line exceeds character limit
    • skills/fpga-project-analyzer/scripts/fpalib/assets/vendor/elk.bundled.js:6432 Analysis incomplete: physical or joined line exceeds character limit
    • skills/fpga-project-analyzer/scripts/fpalib/assets/vendor/elk.bundled.js:6433 Analysis incomplete: physical or joined line exceeds character limit
    • skills/fpga-project-analyzer/scripts/fpalib/assets/vendor/elk.bundled.js:6434 Analysis incomplete: physical or joined line exceeds character limit
    Show all 95 signals by file

    .claude-plugin/marketplace.json

    • Network accessline 3
      "owner": {     "name": "Abdullah AlNafisah",     "url": "https://github.com/al-nafisah"
    • Network accessline 4
      "name": "Abdullah AlNafisah",     "url": "https://github.com/al-nafisah"   },
    • Network accessline 5
      "url": "https://github.com/al-nafisah"

    .claude-plugin/plugin.json

    • Network accessline 5
      "author": {     "name": "Abdullah AlNafisah",     "url": "https://github.com/al-nafisah"
    • Network accessline 6
      "name": "Abdullah AlNafisah",     "url": "https://github.com/al-nafisah"   },
    • Network accessline 7
      "url": "https://github.com/al-nafisah"
    • Network accessline 8
      },   "homepage": "https://github.com/al-nafisah/fpga-project-analyzer",   "repository": "https://github.com/al-nafisah/fpga-project-analyzer",
    • Network accessline 9
      "homepage": "https://github.com/al-nafisah/fpga-project-analyzer",
    • Network accessline 10
      "repository": "https://github.com/al-nafisah/fpga-project-analyzer",

    skills/fpga-project-analyzer/scripts/fpa.py

    • Executable scriptline 1
      #!/usr/bin/env python3

    skills/fpga-project-analyzer/scripts/fpalib/__init__.py

    • Executable scriptline 1
      Executable file

    skills/fpga-project-analyzer/scripts/fpalib/assets/vendor/elk.bundled.js

    • Executable scriptline 1
      Executable file
    • Network accessline 17
      * This program and the accompanying materials are made  * available under the terms of the Eclipse Public License 2.0  * which is available at https://www.eclipse.org/legal/epl-2.0/
    • Network accessline 18
      * available under the terms of the Eclipse Public License 2.0  * which is available at https://www.eclipse.org/legal/epl-2.0/  *
    • Network accessline 19
      * which is available at https://www.eclipse.org/legal/epl-2.0/
    • Possible obfuscationline 6401
      function Yud(b,c,d){var e,f,g,h,i,j,k,l,m,n,o,p,q,r;if(d==null){return null}if(b.a!=c.gk()){throw scb(new Teb(WCe+c.ve()+XCe))}if(RD(c,455)){r=UYd(JD(c,670),d);if(!r){throw scb(new Teb(YCe+d+"' is not a valid enumerator of '"+c.ve()+"'"))}r
    • Possible obfuscationline 6402
      function JTb(){JTb=Zcb;ITb=new Pp;Rc(ITb,(Rjd(),Cjd),Gjd);Rc(ITb,Njd,Gjd);Rc(ITb,Njd,Jjd);Rc(ITb,yjd,Fjd);Rc(ITb,yjd,Gjd);Rc(ITb,Djd,Gjd);Rc(ITb,Djd,Hjd);Rc(ITb,Ljd,Ajd);Rc(ITb,Ljd,Gjd);Rc(ITb,Ijd,Bjd);Rc(ITb,Ijd,Gjd);Rc(ITb,Ijd,Hjd);Rc(ITb
    • Possible obfuscationline 6403
      function jUb(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B;a.d=new Edd(Kse,Kse);a.c=new Edd(Lse,Lse);for(m=b.Jc();m.Ob();){k=JD(m.Pb(),36);for(t=new rmb(k.a);t.a<t.c.c.length;){s=JD(pmb(t),9);a.d.a=$wnd.Math.min(a.d.a,s.n.a-s.d.b);
    • Possible obfuscationline 6404
      function mhb(a,b){var c,d,e,f,g,h,i,j;c=0;g=0;f=b.length;h=null;j=new Vgb;if(g<f&&(ADb(g,b.length),b.charCodeAt(g)==43)){++g;++c;if(g<f&&(ADb(g,b.length),b.charCodeAt(g)==43||(ADb(g,b.length),b.charCodeAt(g)==45))){throw scb(new Mfb(Jse+b+'
    • Possible obfuscationline 6406
      function lQb(a){var b,c,d,e,f;c=JD(WMb(a,(Iqc(),Wpc)),22);b=K9c(gQb);e=JD(WMb(a,(Bwc(),Iuc)),342);e==(eid(),bid)&&D9c(b,hQb);ydb(LD(WMb(a,Guc)))?E9c(b,(CQb(),xQb),(u5b(),k5b)):E9c(b,(CQb(),zQb),(u5b(),k5b));WMb(a,(Gcd(),Fcd))!=null&&D9c(b,i
    • Possible obfuscationline 6407
      function c1b(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C;if(b.dc()){return}e=new Rdd;h=c?c:JD(b.Xb(0),18);o=h.c;KOc();m=o.i.k;if(!(m==(DYb(),AYb)||m==BYb||m==wYb||m==vYb)){throw scb(new Teb('The target node of the edge must be 
    • Possible obfuscationline 6408
      function Iod(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C,D,F,G,H,I,J,K,L,M,N,O,P;t=JD(nDd((!a.b&&(a.b=new ree(v3,a,4,7)),a.b),0),84);v=t.lh();w=t.mh();u=t.kh()/2;p=t.jh()/2;if(RD(t,193)){s=JD(t,124);v+=oxd(s).i;v+=oxd(s).i}v+=u
    • Possible obfuscationline 6409
      function rib(a,b){oib();var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C,D,F,G,H;B=a.e;o=a.d;e=a.a;if(B==0){switch(b){case 0:return '0';case 1:return Vse;case 2:return '0.00';case 3:return '0.000';case 4:return '0.0000';case 5:return '0.
    • Possible obfuscationline 6410
      function Z4c(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w;a.c=b;a.g=new Irb;c=(Rod(),new dpd(a.c));d=new $Gb(c);WGb(d);t=OD(ksd(a.c,(D6c(),w6c)));i=JD(ksd(a.c,y6c),325);v=JD(ksd(a.c,z6c),424);g=JD(ksd(a.c,r6c),475);u=JD(ksd(a.c,x6c),4
    • Possible obfuscationline 6412
      function Vzc(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C,D,F,G,H,I,J,K,L;c.Sg('Greedy cycle removal',1);t=b.a;L=t.c.length;a.a=SC(cE,ise,30,L,15,1);a.c=SC(cE,ise,30,L,15,1);a.b=SC(cE,ise,30,L,15,1);j=0;for(r=new rmb(t);r.a<r.c.
    • Possible obfuscationline 6413
      function n$b(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q;m=0;for(e=new CHd((!b.a&&(b.a=new X0d(A3,b,10,11)),b.a));e.e!=e.i.gc();){d=JD(AHd(e),27);if(!ydb(LD(ksd(d,(Bwc(),svc))))){k=Zwd(d);if((XD(ksd(k,cuc))!==XD((nyc(),kyc))||XD(ksd(k,puc))===XD
    • Possible obfuscationline 6414
      function cnd(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w;v=JD(nDd((!a.a&&(a.a=new X0d(w3,a,6,6)),a.a),0),168);k=new Rdd;u=new Irb;w=fnd(v);gsb(u.f,v,w);m=new Irb;d=new Mtb;for(o=Dl(yl(WC(OC(VI,1),Nqe,20,0,[(!b.d&&(b.d=new ree(x3,b,8,
    • Possible obfuscationline 6415
      function VVc(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C,D;c.Sg(Wze,1);D=JD(yBb(BBb(new RBb(null,new Gvb(b,16)),new hWc),hAb(new zAb,new xAb,new FAb,WC(OC(HL,1),Ere,131,0,[(lAb(),jAb)]))),15);k=JD(yBb(BBb(new RBb(null,new Gvb(b
    • Possible obfuscationline 6416
      function A3c(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u;t=Beb(MD(ksd(b,(h1c(),g1c))));n=Beb(MD(ksd(b,e1c)));m=Beb(MD(ksd(b,b1c)));R4c((!b.a&&(b.a=new X0d(A3,b,10,11)),b.a));r=h3c((!b.a&&(b.a=new X0d(A3,b,10,11)),b.a),t,a.b);for(q=0;q<r.
    • Possible obfuscationline 6417
      function q2b(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C,D,F,G;A=JD(WMb(a,(Bwc(),Evc)),100);if(!(A!=(ajd(),$id)&&A!=_id)){return}o=a.b;n=o.c.length;k=new Vlb((bk(n+2,Gre),Xy(tcb(tcb(5,n+2),(n+2)/10|0))));p=new Vlb((bk(n+2,Gre),
    • Possible obfuscationline 6418
      function VHc(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C,D,F,G,H,I,J,K;I=new Ulb;for(o=new rmb(b.b);o.a<o.c.c.length;){m=JD(pmb(o),25);for(v=new rmb(m.a);v.a<v.c.c.length;){u=JD(pmb(v),9);u.p=-1;l=Lre;B=Lre;for(D=new rmb(u.j);D
    • Possible obfuscationline 6419
      function Y2c(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q,r;p=false;i=false;m=a+1;o=(sDb(a,b.c.length),JD(b.c[a],186));h=o.a;j=null;for(g=0;g<o.a.c.length;g++){f=(sDb(g,h.c.length),JD(h.c[g],172));if(f.c){continue}if(f.b.c.length==0){Zgb();String
    • Possible obfuscationline 6420
      function fme(a){var b,c,d;if(a.d>=a.j){a.a=-1;a.c=1;return}b=_fb(a.i,a.d++);a.a=b;if(a.b==1){switch(b){case 92:d=10;if(a.d>=a.j)throw scb(new eme(qEd((a9d(),WDe))));a.a=_fb(a.i,a.d++);break;case 45:if((a.e&512)==512&&a.d<a.j&&_fb(a.i,a.d)==
    • Possible obfuscationline 6421
      function rRc(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q;c.Sg('Process compaction',1);if(!ydb(LD(WMb(b,(kVc(),IUc))))){return}e=JD(WMb(b,KUc),86);n=Beb(MD(WMb(b,cVc)));sRc(a,b,e);oRc(b,n/2/2);o=b.b;hub(o,new HRc(e));for(j=Gtb(o,0);j.b!=j.d.c;){i
    • Possible obfuscationline 6422
      function Bwc(){Bwc=Zcb;Tvc=(Lgd(),lgd);Uvc=mgd;Vvc=ngd;Wvc=ogd;Yvc=pgd;Zvc=qgd;awc=sgd;cwc=ugd;dwc=vgd;bwc=tgd;ewc=wgd;gwc=xgd;iwc=Agd;_vc=rgd;Svc=(Otc(),etc);Xvc=ftc;$vc=gtc;fwc=htc;Mvc=new NBd(ggd,jfb(0));Nvc=btc;Ovc=ctc;Pvc=dtc;ywc=Ftc;q
    • Possible obfuscationline 6423
      function HAc(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v;c.Sg('Coffman-Graham Layering',1);if(b.a.c.length==0){c.Tg();return}v=JD(WMb(b,(Bwc(),Suc)),17).a;i=0;g=0;for(m=new rmb(b.a);m.a<m.c.c.length;){l=JD(pmb(m),9);l.p=i++;for(f=new e
    • Network accessline 6424
      function $me(a){var b,c,d,e,f,g,h,i,j;a.b=1;fme(a);b=null;if(a.c==0&&a.a==94){fme(a);b=(ooe(),ooe(),++noe,new Soe(4));Moe(b,0,NGe);h=(null,++noe,new Soe(4))}else{h=(ooe(),ooe(),++noe,new Soe(4))}e=true;while((j=a.c)!=1){if(j==0&&a.a==93&&!e
    • Possible obfuscationline 6424
      function $me(a){var b,c,d,e,f,g,h,i,j;a.b=1;fme(a);b=null;if(a.c==0&&a.a==94){fme(a);b=(ooe(),ooe(),++noe,new Soe(4));Moe(b,0,NGe);h=(null,++noe,new Soe(4))}else{h=(ooe(),ooe(),++noe,new Soe(4))}e=true;while((j=a.c)!=1){if(j==0&&a.a==93&&!e
    • Network accessline 6425
      function d8b(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u;u=false;do{u=false;for(f=b?(new Ojb(a.a.b)).a.gc()-2:1;b?f>=0:f<(new Ojb(a.a.b)).a.gc();f+=b?-1:1){e=l_b(a.a,jfb(f));for(n=0;n<e.b;n++){l=JD(fu(e,n),9);if(!XMb(l,(Iqc(),jqc))){cont
    • Possible obfuscationline 6425
      function d8b(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u;u=false;do{u=false;for(f=b?(new Ojb(a.a.b)).a.gc()-2:1;b?f>=0:f<(new Ojb(a.a.b)).a.gc();f+=b?-1:1){e=l_b(a.a,jfb(f));for(n=0;n<e.b;n++){l=JD(fu(e,n),9);if(!XMb(l,(Iqc(),jqc))){cont
    • Network accessline 6426
      function q6d(a){Dvd(a.c,rFe,WC(OC(hJ,1),hre,2,6,[EFe,'http://www.w3.org/2001/XMLSchema#decimal']));Dvd(a.d,rFe,WC(OC(hJ,1),hre,2,6,[EFe,'http://www.w3.org/2001/XMLSchema#integer']));Dvd(a.e,rFe,WC(OC(hJ,1),hre,2,6,[EFe,'http://www.w3.org/20
    • Possible obfuscationline 6427
      function FWc(a,b,c,d,e,f,g){var h,i,j,k,l,m,n,o;m=JD(d.a,17).a;n=JD(d.b,17).a;l=a.b;o=a.c;h=0;k=0;if(b==(Tgd(),Pgd)||b==Qgd){k=Iub(PAb(GBb(FBb(new RBb(null,new Gvb(c.b,16)),new eYc),new eXc)));if(l.e.b+l.f.b/2>k){j=++n;h=Beb(MD(zub(IBb(FBb(
    • Possible obfuscationline 6428
      function Bkc(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u;if(Lib(a.b,b)){if(Orb(JD(Nib(a.b,b),50),c)){return 1}}else{Qib(a.b,b,new Qrb)}if(Lib(a.b,c)){if(Orb(JD(Nib(a.b,c),50),b)){return -1}}else{Qib(a.b,c,new Qrb)}if(Lib(a.f,b)){if(Orb(J
    • Possible obfuscationline 6429
      function VNd(a){var b,c,d,e,f,g,h,i,j,k,l,m,n;g=true;l=null;d=null;e=null;b=false;n=uNd;j=null;f=null;h=0;i=NNd(a,h,sNd,tNd);if(i<a.length&&(ADb(i,a.length),a.charCodeAt(i)==58)){l=(zDb(h,i,a.length),a.substr(h,i-h));h=i+1}c=l!=null&&kob(zN
    • Possible obfuscationline 6430
      function ZUb(){ZUb=Zcb;JTb();YUb=new Pp;Rc(YUb,(Rjd(),Djd),Cjd);Rc(YUb,Njd,Cjd);Rc(YUb,Ejd,Cjd);Rc(YUb,Kjd,Cjd);Rc(YUb,Jjd,Cjd);Rc(YUb,Hjd,Cjd);Rc(YUb,Kjd,Djd);Rc(YUb,Cjd,yjd);Rc(YUb,Djd,yjd);Rc(YUb,Njd,yjd);Rc(YUb,Ejd,yjd);Rc(YUb,Ijd,yjd);
    • Possible obfuscationline 6431
      function cLc(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w;c.Sg('Brandes & Koepf node placement',1);a.a=b;a.c=lLc(b);d=JD(WMb(b,(Bwc(),ivc)),279);n=ydb(LD(WMb(b,jvc)));a.d=d==(yoc(),voc)&&!n||d==soc;bLc(a,b);v=null;w=null;r=null;s=null
    • Possible obfuscationline 6432
      function Dkc(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C,D;if(b.k==(DYb(),yYb)&&c.k==AYb){f=JD(Mlb(JD(Bub(CBb(BBb(new RBb(null,new Gvb(b.j,16)),new Nkc))),11).e,0),18).c;e=f.i;h=JD(Mlb(JD(Bub(CBb(BBb(new RBb(null,new Gvb(b.j,16
    • Possible obfuscationline 6433
      function JPc(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C,D,F,G;if(a.c.length==1){FPc((sDb(0,a.c.length),JD(a.c[0],120)));return sDb(0,a.c.length),JD(a.c[0],120)}else if(a.c.length<=0){return new _Qc}for(i=new rmb(a);i.a<i.c.c.l
    • Possible obfuscationline 6434
      function A2d(a,b){switch(a.e){case 0:case 2:case 4:case 6:case 42:case 44:case 46:case 48:case 8:case 10:case 12:case 14:case 16:case 18:case 20:case 22:case 24:case 26:case 28:case 30:case 32:case 34:case 36:case 38:return new Nee(a.b,a.a,
    • Possible obfuscationline 6435
      function kYc(a){var b,c,d,e,f,g,h,i;f=0;e=a.a.b;for(i=Gtb(a.a,0);i.b!=i.d.c;){h=JD(Utb(i),239);g=(f+1)/(e+1);if(!a.c&&!a.d){return}else if(!!a.c&&!a.d){a.g=true;if(a.b==(Tgd(),Pgd)){d=a.c.e.b+a.c.f.b+a.e*(f+1);b=new Edd(Beb(MD(WMb(a.c,(tUc(
    • Possible obfuscationline 6436
      function DA(a,b,c,d,e,f){var g,h,i,j,k,l,m,n,o,p,q,r;switch(b){case 71:h=d.q.getFullYear()-hse>=-1900?1:0;c>=4?Qgb(a,WC(OC(hJ,1),hre,2,6,[jse,kse])[h]):Qgb(a,WC(OC(hJ,1),hre,2,6,['BC','AD'])[h]);break;case 121:sA(a,c,d);break;case 77:rA(a,c
    • Possible obfuscationline 6437
      function r$b(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C,D,F,G,H;h$b(b);i=JD(nDd((!b.b&&(b.b=new ree(v3,b,4,7)),b.b),0),84);k=JD(nDd((!b.c&&(b.c=new ree(v3,b,5,8)),b.c),0),84);h=_Bd(i);j=_Bd(k);g=(!b.a&&(b.a=new X0d(w3,b,6,6)),
    • Possible obfuscationline 6438
      function IWc(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C,D,F,G,H,I;C=0;D=0;A=new Irb;v=JD(zub(IBb(FBb(new RBb(null,new Gvb(a.b,16)),new yXc),new aXc)),17).a+1;B=SC(cE,ise,30,v,15,1);q=SC(cE,ise,30,v,15,1);for(p=0;p<v;p++){B[p]=
    • Possible obfuscationline 6439
      function r6d(a){if(a.gb)return;a.gb=true;a.b=Nvd(a,0);Mvd(a.b,18);Svd(a.b,19);a.a=Nvd(a,1);Mvd(a.a,1);Svd(a.a,2);Svd(a.a,3);Svd(a.a,4);Svd(a.a,5);a.o=Nvd(a,2);Mvd(a.o,8);Mvd(a.o,9);Svd(a.o,10);Svd(a.o,11);Svd(a.o,12);Svd(a.o,13);Svd(a.o,14)
    • Possible obfuscationline 6440
      function p$b(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C,D,F,G;g=new Mtb;w=JD(WMb(c,(Bwc(),ruc)),86);p=0;xe(g,(!b.a&&(b.a=new X0d(A3,b,10,11)),b.a));while(g.b!=0){k=JD(g.b==0?null:(rDb(g.b!=0),Ktb(g,g.a.a)),27);j=Zwd(k);(XD(ksd
    • Possible obfuscationline 6441
      function Iqc(){Iqc=Zcb;var a,b;kqc=new KBd(eve);Jpc=new KBd('coordinateOrigin');uqc=new KBd('processors');Ipc=new LBd('compoundNode',(xdb(),false));Zpc=new LBd('insideConnections',false);lqc=new KBd('originalBendpoints');mqc=new KBd('origin
    • Possible obfuscationline 6442
      function Vkc(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v;f=b;l=c;if(Lib(a.a,f)){if(Orb(JD(Nib(a.a,f),50),l)){return 1}}else{Qib(a.a,f,new Qrb)}if(Lib(a.a,l)){if(Orb(JD(Nib(a.a,l),50),f)){return -1}}else{Qib(a.a,l,new Qrb)}if(Lib(a.d,f)
    • Possible obfuscationline 6443
      function GWc(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o;for(l=Gtb(a.b,0);l.b!=l.d.c;){k=JD(Utb(l),39);if(cgb(k.c,Dze)){continue}f=JD(yBb(new RBb(null,new Gvb(kQc(k,a),16)),hAb(new zAb,new xAb,new FAb,WC(OC(HL,1),Ere,131,0,[(lAb(),jAb)]))),15);b==(T
    • Possible obfuscationline 6444
      function Lgd(){Lgd=Zcb;var a,b;Ned=new KBd(LBe);igd=new KBd(MBe);Ped=(ced(),Ydd);Oed=new MBd(Eye,Ped);new Fnd;Qed=new MBd(Oue,null);Red=new KBd(NBe);Yed=(Hed(),nrb(Ged,WC(OC(g2,1),Ere,296,0,[Ced])));Xed=new MBd(Qye,Yed);Zed=new MBd(Dye,(xdb
    • Possible obfuscationline 6445
      function u5b(){u5b=Zcb;A4b=new v5b('DIRECTION_PREPROCESSOR',0);x4b=new v5b('COMMENT_PREPROCESSOR',1);B4b=new v5b('EDGE_AND_LAYER_CONSTRAINT_EDGE_REVERSER',2);R4b=new v5b('INTERACTIVE_EXTERNAL_PORT_POSITIONER',3);i5b=new v5b('PARTITION_PREPR
    • Possible obfuscationline 6446
      function lHc(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C,D,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,$,ab,bb,cb,db,eb,fb,gb,hb,ib,jb,kb,lb;cb=0;for(H=b,K=0,N=H.length;K<N;++K){F=H[K];for(V=new rmb(F.j);V.a<V.c.c.length;){U=JD(p
    • Possible obfuscationline 6447
      function Otc(){Otc=Zcb;Nrc=(Knc(),Inc);Mrc=new MBd(uwe,Nrc);csc=new MBd(vwe,(xdb(),false));isc=(ypc(),wpc);hsc=new MBd(wwe,isc);Hsc=new MBd(xwe,false);Isc=new MBd(ywe,true);arc=new MBd(zwe,false);atc=(vyc(),tyc);_sc=new MBd(Awe,atc);jfb(1);
    • Possible obfuscationline 6448
      function ooe(){ooe=Zcb;Zne=new poe(7);_ne=(++noe,new ape(8,94));++noe;new ape(8,64);aoe=(++noe,new ape(8,36));goe=(++noe,new ape(8,65));hoe=(++noe,new ape(8,122));ioe=(++noe,new ape(8,90));loe=(++noe,new ape(8,98));eoe=(++noe,new ape(8,66))
    • Possible obfuscationline 6449
      function sJb(){sJb=Zcb;pJb=new vJb('OUT_T_L',0,(PHb(),NHb),(GIb(),DIb),(iHb(),fHb),fHb,WC(OC(UK,1),Nqe,22,0,[nrb((Eid(),Aid),WC(OC(r2,1),Ere,94,0,[Did,wid]))]));oJb=new vJb('OUT_T_C',1,MHb,DIb,fHb,gHb,WC(OC(UK,1),Nqe,22,0,[nrb(Aid,WC(OC(r2,
    • Possible obfuscationline 6450
      function cPd(){cPd=Zcb;IOd=(GOd(),FOd).b;JD(nDd(STd(FOd.b),0),35);JD(nDd(STd(FOd.b),1),19);HOd=FOd.a;JD(nDd(STd(FOd.a),0),35);JD(nDd(STd(FOd.a),1),19);JD(nDd(STd(FOd.a),2),19);JD(nDd(STd(FOd.a),3),19);JD(nDd(STd(FOd.a),4),19);JOd=FOd.o;JD(n
    • Possible obfuscationline 6451
      function Vie(a){var b;if(a.O)return;a.O=true;rvd(a,'type');ewd(a,'ecore.xml.type');fwd(a,eGe);b=JD(g1d((rOd(),qOd),eGe),1990);tCd(UTd(a.fb),a.b);Zvd(a.b,Nab,'AnyType',false,false,true);Xvd(JD(nDd(STd(a.b),0),35),a.wb.D,qFe,null,0,-1,Nab,fal
    • Possible obfuscationline 6452
      function U8c(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C,D,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,$,ab,bb;if(d.Yg()){return pnb(),pnb(),mnb}if(ydb(LD(ksd(b,(Lgd(),Ifd))))){return pnb(),pnb(),mnb}A=(!b.a&&(b.a=new X0d(A3,b,10
    • Possible obfuscationline 6453
      function cne(a,b){var c,d;if(!Wme){Wme=new Irb;Xme=new Irb;d=(ooe(),ooe(),++noe,new Soe(4));Jne(d,'\t\n\r\r  ');Rib(Wme,RGe,d);Rib(Xme,RGe,Toe(d));d=(null,++noe,new Soe(4));Jne(d,UGe);Rib(Wme,PGe,d);Rib(Xme,PGe,Toe(d));d=(null,++noe,new Soe
    • Possible obfuscationline 6454
      function Cwc(a){Rad(a,new cad(oad(jad(nad(kad(mad(lad(new pad,Ose),'ELK Layered'),'Layer-based algorithm provided by the Eclipse Layout Kernel. Arranges as many edges as possible into one direction by placing nodes into subsequent layers. T
    • Possible obfuscationline 6455
      function Tie(a){Dvd(a.a,rFe,WC(OC(hJ,1),hre,2,6,[HDe,'anySimpleType']));Dvd(a.b,rFe,WC(OC(hJ,1),hre,2,6,[HDe,'anyType',sFe,qFe]));Dvd(JD(nDd(STd(a.b),0),35),rFe,WC(OC(hJ,1),hre,2,6,[sFe,ZFe,HDe,':mixed']));Dvd(JD(nDd(STd(a.b),1),35),rFe,WC(
    • Possible obfuscationline 6457
      function Cwd(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p;if(a.r)return;a.r=true;rvd(a,'graph');ewd(a,'graph');fwd(a,_Ce);Ivd(a.o,'T');tCd(UTd(a.a),a.p);tCd(UTd(a.f),a.a);tCd(UTd(a.n),a.f);tCd(UTd(a.g),a.n);tCd(UTd(a.c),a.n);tCd(UTd(a.i),a.c);tCd(U
    • Possible obfuscationline 6458
      function dme(){dme=Zcb;cme=SC($D,ZCe,30,Pse,15,1);cme[9]=35;cme[10]=19;cme[13]=19;cme[32]=51;cme[33]=49;cme[34]=33;Bmb(cme,35,38,49);cme[38]=1;Bmb(cme,39,45,49);Bmb(cme,45,47,-71);cme[47]=49;Bmb(cme,48,58,-71);cme[58]=61;cme[59]=49;cme[60]=
    • Possible obfuscationline 6459
      function s6d(a){var b,c,d,e,f,g,h;if(a.hb)return;a.hb=true;rvd(a,'ecore');ewd(a,'ecore');fwd(a,BFe);Ivd(a.fb,'E');Ivd(a.L,'T');Ivd(a.P,'K');Ivd(a.P,'V');Ivd(a.cb,'E');tCd(UTd(a.b),a.bb);tCd(UTd(a.a),a.Q);tCd(UTd(a.o),a.p);tCd(UTd(a.p),a.R);
    • Possible obfuscationline 6460
      var Cqe='object',Dqe='boolean',Eqe='number',Fqe='string',Gqe='function',Hqe=2147483647,Iqe='java.lang',Jqe={3:1},Kqe='com.google.common.base',Lqe=', ',Mqe='%s (%s) must not be negative',Nqe={3:1,4:1,5:1},Oqe='negative size: ',Pqe='no calls 

    skills/fpga-project-analyzer/scripts/fpalib/assets/viewer.html

    • Network accessline 205
      const $ = id => document.getElementById(id); const svg = $("svg"), vp = $("vp"); const NS = "http://www.w3.org/2000/svg";
    • Network accessline 206
      const svg = $("svg"), vp = $("vp"); const NS = "http://www.w3.org/2000/svg"; const ctx2d = document.createElement("canvas").getContext("2d");
    • Network accessline 207
      const NS = "http://www.w3.org/2000/svg";

    skills/fpga-project-analyzer/scripts/fpalib/bdjson.py

    • Executable scriptline 1
      Executable file

    skills/fpga-project-analyzer/scripts/fpalib/bdtcl.py

    • Executable scriptline 1
      Executable file

    skills/fpga-project-analyzer/scripts/fpalib/build.py

    • Executable scriptline 1
      Executable file
    • Access to secretsline 123
      [Credential-related source omitted]

    skills/fpga-project-analyzer/scripts/fpalib/cli.py

    • Executable scriptline 1
      Executable file

    skills/fpga-project-analyzer/scripts/fpalib/doc.py

    • Executable scriptline 1
      Executable file

    skills/fpga-project-analyzer/scripts/fpalib/hdl.py

    • Executable scriptline 1
      Executable file
    • Dangerous shell operationline 42
      v = eval(e, {"__builtins__": {}}, {})  # digits and operators only (checked above)

    skills/fpga-project-analyzer/scripts/fpalib/hwh.py

    • Executable scriptline 1
      Executable file

    skills/fpga-project-analyzer/scripts/fpalib/lint.py

    • Executable scriptline 1
      Executable file

    skills/fpga-project-analyzer/scripts/fpalib/mcp.py

    • Executable scriptline 1
      Executable file

    skills/fpga-project-analyzer/scripts/fpalib/model.py

    • Executable scriptline 1
      Executable file

    skills/fpga-project-analyzer/scripts/fpalib/refs.py

    • Executable scriptline 1
      Executable file

    skills/fpga-project-analyzer/scripts/fpalib/reports.py

    • Executable scriptline 1
      Executable file

    skills/fpga-project-analyzer/scripts/fpalib/summary.py

    • Executable scriptline 1
      Executable file

    skills/fpga-project-analyzer/scripts/fpalib/viewer.py

    • Executable scriptline 1
      Executable file

    skills/fpga-project-analyzer/scripts/fpalib/vivado.py

    • Executable scriptline 1
      Executable file

    skills/fpga-project-analyzer/scripts/fpalib/xdc.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.

    Signal confidence: 20 facts

    Works with

    Agent compatibility, from the files in this repository
    AgentStatusEvidenceInstall to
    Claude CodeNativeManifest .claude-plugin/marketplace.json.claude/skills/<skill-name>/
    CodexCompatibleStandard SKILL.md skills/debug/SKILL.md.agents/skills/<skill-name>/
    CursorCompatibleStandard SKILL.md skills/debug/SKILL.md.cursor/skills/<skill-name>/
    Gemini CLICompatibleStandard SKILL.md skills/debug/SKILL.md.gemini/skills/<skill-name>/
    GitHub CopilotCompatibleStandard SKILL.md skills/debug/SKILL.md.github/skills/<skill-name>/
    OpenCodeCompatibleStandard SKILL.md skills/debug/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.