PageSourceSearch

https://aiperformancelab.ai/_astro/ai-readiness-assessment.astro_astro_type_script_index_0_lang.Cah_YhfH.js

js aiperformancelab.ai collected 2026-10-05 14:36:35 UTC 14,890 bytes, 68 lines download raw bytes

1(function(){const d=document.getElementById("ara-form");if(!d)return;const m=document.getElementById("ara-results"),T=document.getElementById("ara");let x=null;const C="ara_attribution",z=["src","cta"],N={src:"web",cta:"quiz"};function W(){let e={};try{e=JSON.parse(sessionStorage.getItem(C)||"{}")}catch{}const a=new URLSearchParams(location.search),t={...e};t.landing_path||(t.landing_path=location.pathname),t.referrer||(t.referrer=document.referrer||""),["utm_source","utm_medium","utm_campaign","utm_content","utm_term"].forEach(n=>{const s=a.get(n);s&&(t[n]=s.slice(0,200))}),z.forEach(n=>{const s=a.get(n);s&&(t[n]=s.trim().toLowerCase().slice(0,32))});try{sessionStorage.setItem(C,JSON.stringify(t))}catch{}return t}const h=W();function S(e,a){try{typeof window.gtag=="function"&&window.gtag("event",e,a||{})}catch{}}function $(){try{typeof window.lintrk=="function"&&window.lintrk("track",{conversion_id:26799748})}catch{}}const I={strategy:"Strategy & Leadership",skills:"Skills & Fluency",adoption:"Adoption & Culture",tools:"Tools & Data",governance:"Governance & Risk"},H=6,V=30,R=[{min:0,name:"AI Curious",blurb:"You're at the starting line. There's energy and interest, but AI hasn't yet become real practice, it's still talked about more than used. The good news: this is the most common place enterprise teams find themselves, and the gap closes faster than most leaders expect once the work becomes hands-on.",step:{title:"Start with a Leadership AI Workshop",body:"A single hands-on day gets your leaders building with AI on real work, the fastest way to turn curiosity into momentum.",href:"/workshops",cta:"See our workshops"}},{min:40,name:"AI Emerging",blurb:"You've got early adopters and some real usage, but it's uneven, strong in pockets, absent elsewhere, and not yet backed by strategy, skills, or governance across the board. This is the make-or-break stage: without deliberate structure, emerging momentum tends to plateau.",step:{title:"Run an AI Advantage Sprint",body:"Score every senior leader, benchmark against peers, and leave with a 90-day plan that turns scattered adoption into a coordinated push.",href:"/apply",cta:"Apply to work with us"}},{min:60,name:"AI Ready",blurb:"You're ahead of most. AI is used across functions, leaders are reasonably fluent, and the basics of strategy and governance are in place. The opportunity now is compounding, turning broad competence into a durable, organization-wide capability that keeps pace as the tools evolve.",step:{title:"Build the capability with the AI Performance Lab",body:"A 12-month program of structured reps that takes a ready team to genuinely AI-native, with a diagnostic, re-test, and outcome guarantees.",href:"/ai-transformation-consulting",cta:"Explore the Lab"}},{min:80,name:"AI Native",blurb:"You're in rare company. AI is embedded in how your team works, leaders coach others, and strategy, tooling, and governance reinforce each other. The frontier moves fast, though. The teams that stay ahead treat fluency as an ongoing practice, not a finished project.",step:{title:"Keep your edge sharp",body:"Even native teams benefit from an outside read and a fresh set of reps as the frontier shifts. Let's talk about where the next advantage is.",href:"/apply",cta:"Talk to us"}}],j={strategy:["No clear owner or plan yet. AI is happening to you, not by design.","A direction exists but ownership and metrics are still loose.","Owned, measured, and tied to the business. Strong foundation."],skills:["Leaders are mostly observers. The fluency gap is your biggest lever.","Pockets of skill, but not yet a coached, org-wide habit.","Leaders use AI daily and bring others along. Rare and valuable."],adoption:["AI is rarely used in real work. Culture is the bottleneck.","Curiosity is there; adoption is uneven across functions.","AI is embedded in how the team works day to day."],tools:["No sanctioned tools or AI-ready data to build on.","Tools and data exist but aren’t standardized or integrated.","Enterprise tooling and governed data, wired 
1into workflows."],governance:["No guardrails yet, a risk as usage grows.","Some policy in place, but process and training lag.","Formal governance and monitoring. You can scale safely."]};function F(e){return e<40?0:e<75?1:2}function Q(e){let a=R[0];for(const t of R)e>=t.min&&(a=t);return a}function f(e){return String(e).replace(/[&<>"']/g,a=>({"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"})[a])}function O(){const e={};Object.keys(I).forEach(o=>e[o]=0);let a=0,t=0;const n=d.querySelectorAll("fieldset[data-dim]"),s=[];return n.forEach(o=>{const p=o.getAttribute("data-dim"),u=o.querySelector('input[type="radio"]:checked');if(u){const r=parseInt(u.value,10)||0;e[p]+=r,a+=r,t+=1}else s.push(o)}),{dims:e,total:a,answered:t,totalQuestions:n.length,unanswered:s}}const M="Also send me Dr. Housman's occasional AI field notes by email. I can unsubscribe anytime.",D="You'll also get my weekly newsletter — unsubscribe anytime.",q=()=>h.src==="cold";let A=null,L=0;function U(){const{dims:e,total:a,answered:t,totalQuestions:n,unanswered:s}=O();if(t<n){const r=s[0],i=d.querySelector("#ara-form-note");return i&&(i.textContent=`Please answer all ${n} questions, ${n-t} left.`,i.dataset.kind="error"),r&&typeof r.scrollIntoView=="function"&&(r.scrollIntoView({behavior:"smooth",block:"center"}),r.classList.add("ara-q--missing"),setTimeout(()=>r.classList.remove("ara-q--missing"),2e3)),null}const o=Math.round(a/V*100),p=Q(o),u={};return Object.keys(I).forEach(r=>{const i=Math.round(e[r]/H*100);u[r]={name:I[r],pct:i,note:j[r][F(i)]}}),{pct:o,tier:p,dimData:u}}function P(){const e=U();e&&(A=e,G(),T.classList.add("ara--done"),m.hidden=!1,typeof m.scrollIntoView=="function"&&m.scrollIntoView({behavior:"smooth",block:"start"}),S("ai_readiness_assessment_completed",{score:e.pct,tier:e.tier.name}))}function G(){L=Date.now(),m.innerHTML=`
2      <div class="ara-gate">
3        <div class="ara-gate__eyebrow">Your results are ready</div>
4        <h3 class="ara-gate__title">Where should we send your AI Readiness Report?</h3>
5        <p class="ara-gate__body">Enter your details to unlock your score, your five-dimension breakdown, and your tailored next step, with a copy emailed straight to your inbox.</p>
6        <form class="ara-capture" id="ara-capture" novalidate>
7          <div class="form-honeypot" aria-hidden="true">
8            <label>Website</label>
9            <input type="text" name="website" tabindex="-1" autocomplete="off" />
10          </div>
11          <div class="ara-capture__fields">
12            <label class="sr-only" for="ara-fname">First name</label>
13            <input id="ara-fname" name="firstName" type="text" class="form-input" placeholder="First name" required autocomplete="given-name" />
14            <label class="sr-only" for="ara-email">Work email</label>
15            <input id="ara-email" name="email" type="email" class="form-input" placeholder="[email protected]" required autocomplete="email" />
16          </div>
17          ${q()?"":`<label class="ara-consent">
18            <input type="checkbox" name="consent" id="ara-consent" value="yes" />
19            <span>${f(M)} <span class="ara-consent__opt">(optional)</span> See our <a href="/privacy" target="_blank" rel="noopener">Privacy Policy</a>.</span>
20          </label>`}
21          <button type="submit" class="btn btn--primary btn--lg ara-capture__btn">Show my score →</button>
22          <p class="ara-capture__status" role="status" aria-live="polite"></p>
23          ${q()?`<p class="ara-capture__fine">${f(D)} See our <a href="/privacy" target="_blank" rel="noopener">Privacy Policy</a>.</p>`:'<p class="ara-capture__fine">No spam, ever. Your results stay private.</p>'}
24        </form>
25      </div>`,J()}function J(){const e=document.getElementById("ara-capture");!e||!A||e.addEventListener("submit",async a=>{a.preventDefault();const t=e.querySelector(".ara-capture__status"),n=e.querySelector('button[type="submit"]'),s=e.elements.firstName.value.trim(),o=e.elements.email.value.trim(),p=e.elements.website.value.trim(),u=!!(e.elements.consent&&e.elements.consent.checked);if(!s){t.dataset.kind="error",t.textContent="Please enter your first name.";return}if(!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(o)){t.dataset.kind="error",t.textContent="Please enter a valid email.";return}n.disabled=!0,n.textContent="Unlocking…",t.dataset.kind="",t.textContent="";const{pct:r,tier:i,dimData:c}=A,_={source_page:location.pathname,...h,score:r,tier:i.name,tier_summary:i.blurb,recommendation:i.step.title,re
25commendation_body:i.step.body,recommendation_url:i.step.href,strategy_pct:c.strategy.pct,strategy_note:c.strategy.note,skills_pct:c.skills.pct,skills_note:c.skills.note,adoption_pct:c.adoption.pct,adoption_note:c.adoption.note,tools_pct:c.tools.pct,tools_note:c.tools.note,governance_pct:c.governance.pct,governance_note:c.governance.note},b=JSON.stringify({email:o,firstName:s,source:"ai_readiness_quiz",event:"ai_readiness_assessment_completed",eventProperties:_,website:p,consent:u,consentText:q()?D:M,elapsedMs:L?Date.now()-L:null,optin:{src:h.src||N.src,cta:h.cta||N.cta}});K(b,i.name,r),X(s)})}function B(e,a){var t=typeof AbortController<"u"?new AbortController:null,n=t?setTimeout(function(){t.abort()},a):null;return fetch("/api/subscribe",{method:"POST",headers:{"Content-Type":"application/json"},body:e,keepalive:!0,signal:t?t.signal:void 0}).then(function(s){return!!s.ok}).catch(function(){return!1}).finally(function(){n&&clearTimeout(n)})}function K(e,a,t){var n={tier:a,score:t,utm_content:h.utm_content,utm_campaign:h.utm_campaign};B(e,9e3).then(function(s){if(s){S("lead_captured",n),$();return}B(e,9e3).then(function(o){S(o?"lead_captured":"lead_capture_failed",n),o&&$()})})}function X(e){const{pct:a,tier:t,dimData:n}=A,s=Object.keys(I).map(u=>{const r=n[u].pct,i=n[u].note;return`
26          <div class="ara-dim">
27            <div class="ara-dim__head">
28              <span class="ara-dim__name">${f(I[u])}</span>
29              <span class="ara-dim__pct">${r}%</span>
30            </div>
31            <div class="ara-dim__bar"><span class="ara-dim__fill" style="width:${r}%"></span></div>
32            <p class="ara-dim__note">${f(i)}</p>
33          </div>`}).join(""),o=e?`${f(e)}, your AI Readiness`:"Your AI Readiness";m.innerHTML=`
34      <div class="ara-result">
35        <div class="ara-result__score">
36          <div class="ara-gauge" style="--p:${a}">
37            <div class="ara-gauge__inner">
38              <span class="ara-gauge__num">${a}</span>
39              <span class="ara-gauge__den">/100</span>
40            </div>
41          </div>
42          <div class="ara-result__verdict">
43            <div class="ara-result__eyebrow">${o}</div>
44            <h3 class="ara-result__tier">${f(t.name)}</h3>
45            <p class="ara-result__blurb">${f(t.blurb)}</p>
46          </div>
47        </div>
48
49        <div class="ara-dims">
50          <h4 class="ara-dims__title">Your five dimensions</h4>
51          ${s}
52        </div>
53
54        <div class="ara-next">
55          <div class="ara-next__eyebrow">Recommended next step</div>
56          <h4 class="ara-next__title">${f(t.step.title)}</h4>
57          <p class="ara-next__body">${f(t.step.body)}</p>
58        </div>
59
60        <div class="ara-book">
61          <div class="ara-book__eyebrow">Apply to work with us</div>
62          <h4 class="ara-book__title">
62Turn this score into a 90-day plan</h4>
63          <p class="ara-book__body">Tell us about your team and what you're interested in. We review every application personally and reply within 2 business days with the specific moves to close your biggest gaps.</p>
64          <a href="/apply" class="btn btn--primary btn--lg">Apply to Work With Us</a>
65        </div>
66
67        <p class="ara-result__retake"><button type="button" id="ara-retake" class="ara-linkbtn">↺ Retake the assessment</button></p>
68      </div>`,typeof m.scrollIntoView=="function"&&m.scrollIntoView({behavior:"smooth",block:"start"});const p=document.getElementById("ara-retake");p&&p.addEventListener("click",Z)}function Z(){d.reset(),m.hidden=!0,m.innerHTML="",T.classList.remove("ara--done");const e=d.querySelector("#ara-form-note");e&&(e.textContent="",e.dataset.kind=""),x&&x(0),d.scrollIntoView({behavior:"smooth",block:"start"})}function ee(){const e=Array.from(d.querySelectorAll("fieldset.ara-q"));if(e.length<2)return;T.classList.add("ara--stepped"),d.setAttribute("novalidate",""),e.forEach(l=>{const y=l.querySelector(".ara-q__dim"),v=l.querySelector(".ara-q__legend");y&&v&&l.insertBefore(y,v)});const a=e.length;let t=0,n=!1;const s=document.createElement("div");s.className="ara-progress",s.innerHTML='<div class="ara-progress__bar"><span class="ara-progress__fill"></span></div><div class="ara-progress__meta"><span class="ara-progress__count"></span><span class="ara-progress__pct"></span></div>',e[0].parentNode.insertBefore(s,e[0]);const o=s.querySelector(".ara-progress__fill"),p=s.querySelector(".ara-progress__count"),u=s.querySelector(".ara-progress__pct"),r=document.createElement("div");r.className="ara-nav",r.innerHTML='<button type="button" class="ara-nav__back">← Back</button><span class="ara-nav__spacer"></span><button type="button" class="ara-nav__next btn btn--primary">Next →</button><button type="submit" class="ara-nav__finish btn btn--primary btn--lg">See my AI readiness score</button>',d.appendChild(r);const i=r.querySelector(".ara-nav__back"),c=r.querySelector(".ara-nav__next"),_=r.querySelector(".ara-nav__finish"),b=l=>!!e[l].querySelector('input[type="radio"]:checked');function g(l,y={}){t=Math.max(0,Math.min(a-1,l)),e.forEach((k,E)=>k.classList.toggle("is-active",E===t));const v=t===a-1,w=b(t),Y=Math.round((t+1)/a*100);if(o.style.width=Y+"%",p.textContent="Question "+(t+1)+" of "+a,u.textContent=Y+"%",i.hidden=t===0,c.hidden=v,_.hidden=!v,c.disabled=!w,_.disabled=!w,!y.silent){const k=(e[t].querySelector(".ara-q__dim")||{}).textContent||"";S("quiz_step",{step:t+1,total:a,dimension:k})}if(y.focus){const k=e[t],E=k.querySelector("input:checked")||k.querySelector('input[type="radio"]');E&&E.focus({preventScroll:!0})}}x=l=>g(l,{silent:!0}),i.addEventListener("click",()=>g(t-1,{focus:!0})),c.addEventListener("click",()=>{b(t)&&g(t+1,{focus:!0})}),d.addEventListener("change",l=>{const y=l.target;if(!(!y||y.type!=="radio"||e.indexOf(y.closest("fieldset.ara-q"))!==t)&&(n||(n=!0,S("quiz_start",{...h})),c.disabled=!1,_.disabled=!1,t<a-1)){const w=t;setTimeout(()=>{t===w&&b(w)&&g(w+1)},360)}}),d.addEventListener("keydown",l=>{l.key!=="Enter"||l.target===_||(l.preventDefault(),t<a-1?b(t)&&g(t+1,{focus:!0}):b(t)&&P())}),g(0,{silent:!0})}d.addEventListener("submit",e=>{e.preventDefault(),P()}),ee(),d.addEventListener("change",()=>{const e=d.querySelector("#ara-form-note");if(e&&e.dataset.kind==="error"){const{answered:a,totalQuestions:t}=O();a===t&&(e.textContent="",e.dataset.kind="")}})})();

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.