anass-pro-style — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited anass-pro-style (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
This skill captures the design system, interaction patterns, and authoring playbook behind anass.pro — a single-file, vanilla-JS, hyper-personalized pitch site that uses an interactive pixel-art game, procedural Web Audio SFX, scroll-revealed scenes and behavioral copywriting to address exactly one named reader.
Use it when the user wants to build something with the same DNA: a one-recipient narrative landing page that feels designed for them and only them.
Anass.pro is not a generic portfolio. It is a behavioral pitch built around four ideas:
<style> and <script>, vanilla JS classes, a Canvas 2D engine, and Web Audio API for procedural sound. No build, no React, no audio assets.If the user wants a generic personal portfolio, stop and switch to `frontend-design`. Use this skill only when the brief is a one-recipient pitch / candidacy / narrative landing page.
Task progress:
- [ ] 1. Confirm fit: is there ONE specific named recipient and a story to tell about them?
- [ ] 2. Gather inputs: recipient name + role, sender pitch, 2-4 specific facts about the recipient, the "ask" (CTA target), assets (logos), language/tone
- [ ] 3. Pick a scene sequence (use the 7-scene default, or adapt)
- [ ] 4. Lock the design tokens (see references/design-tokens.md) — pick palette + 4 fonts
- [ ] 5. Scaffold the single HTML file from templates/starter.html
- [ ] 6. Implement scenes top-to-bottom using references/section-recipes.md
- [ ] 7. Wire the signature interactions (references/animation-patterns.md)
- [ ] 8. Add procedural Web Audio SFX if appropriate (references/web-audio-sfx.md)
- [ ] 9. Add the pixel-art canvas hero if appropriate (references/pixel-game-canvas.md)
- [ ] 10. Verify reduced-motion + mobile breakpoints + a11yStop after step 2 and confirm the brief with the user before scaffolding. The whole point of the format is that it knows the reader; if you don't have specifics about the reader, the site collapses into another generic template.
Ask the user (briefly, one round of questions only):
tu. Match the recipient's culture. Default to confrontational + complicit, not corporate.If the user can't answer the "Who is the one reader?" or "What do they already do well?" questions concretely, don't build this. Push back: "this format only works when we can name specific things the reader has done. Otherwise it reads as fake intimacy. Want me to switch to a regular portfolio instead?"
Use this exact sequence unless the user has a strong reason to deviate. Each scene has a CSS hook, a data-s index for the dot-nav, and a psychological job.
| # | Section id | Title pattern | Job | Required elements |
|---|---|---|---|---|
| 0 | #game-hero | (no heading — the hero IS a game) | Capture: trigger pattern-recognition in the first 3 seconds | Pixel-art canvas, HUD with recipient's name, intro speech card, persistent CTA pill |
| 1 | #s-hook | "You did X. I do Y. Same principle." | Hook: state the analogy between the reader's work and the site itself | Brand bar, 3 typewritten lines, animated counter, italic aside |
| 2 | #s1 (Mirror) | "You used 500 X. I use one." | Mirror: prove you understand them by tabulating their move next to yours | 2-column compare table with row labels |
| 3 | #s2 (Method) | A quote from the recipient | Method: 3 expandable steps explaining the psychology of what just happened | 3-card flex-grow row, big italic ordinal numbers, closing line |
| 4 | #s3 (Reveal) | "What you just lived through is X." | Reveal: name the technique. Italic gradient title. | Centered, watermark logo glowing behind, body + pull quote |
| 5 | #s4 (Person) | "A. R." (sender) | Person: brief identity + stats + project grid | 2-col grid: stats left, bio + chips + project tiles right |
| 6 | #s5 (Close) | "Now you know what I do when I want something." | Close: the ask. One gradient CTA. Italic Fraunces sign-off. | Big condensed headline, body, single magnetic CTA, small meta line, italic sig |
The user is allowed to skip Mirror or Method, but never skip Hero, Reveal, or Close — they carry the format's identity.
Open references/design-tokens.md and pick (or accept the defaults):
cursor:none + custom dot+ring follower. Touch devices fall back to native cursor.Inject all tokens as :root CSS variables. Reference: references/design-tokens.md.
Start from templates/starter.html. It contains:
:root design tokensdata-s indicesGameEngine stub, a Typer class, the Splitter, the IntersectionObserver reveal, and the magnetic-CTA loopCopy it, then rename ids/classes only if you have a strong reason. The class names (.scene, .rv, .sw, .grad, .pu, .cs-arr) are referenced from multiple scripts and CSS rules — keep them.
For each scene, follow the recipe in references/section-recipes.md. The reference file gives you, per scene:
.rv, .rv.split, .d1/.d2/.d3 stagger, etc.)Two non-negotiables across all scenes:
These six interactions are the format. Skip them and you have a dark purple landing page; include them and you have an anass.pro-style site. Implement in this order, each is independent:
.rv class fades up when in view; .rv.split splits text into per-word spans with --i index for staggered fade.Optional but high-impact:
All recipes in references/animation-patterns.md.
The site has zero audio files. Every sound is synthesized at runtime via AudioContext. This is fundamental to the "all-craft" feeling. Read references/web-audio-sfx.md for ready-to-paste recipes for:
key (typewriter click + thud) — fires on every typed characterclick (UI confirmation)ding (counter completion)tick (counter pulse)cta (CTA hover/click)spell (game projectile)explosion (game boss death — noise + lowpass sweep)monster (boss arrival — 4-layer: thud + sawtooth drone + tension sine + whoosh)jumpLand (character lands after a jump arc)Wrap them in a single SFX module with a global mute toggle, persisted to localStorage. Default to muted-but-armed: the toggle reads "Activer les sons" on first load — never autoplay.
The hero is the format's signature. If the project has time/budget, implement it. Reference: references/pixel-game-canvas.md. Key architecture:
<canvas id="game-canvas"> filling the viewportGameEngine class with update(now) / render() running on requestAnimationFramectx.fillRect)0=walk-in → 1/2/3=boss fights → 4=victory walk → 7=final revealIf the project is constrained, replace the game with a static animated illustration (canvas star field + parallax buildings, no characters/bosses). The narrative still works.
Non-negotiable checks before shipping:
@media (prefers-reduced-motion: reduce) collapses all transitions/animations to 0.01ms@media (hover:none) or width <= 768px)<div aria-live="polite">) announces phase transitions if you implement the gamealt; decorative images use aria-hidden="true" and empty alt<a href="…">, not a div| Trap | Fix |
|---|---|
| Generic copy ("I'm a passionate developer") | Quote the recipient. Reference their specific work. Use tu/intimate form. |
| Inter / Roboto / system fonts | Use the Barlow + Fraunces stack. Distinctive type carries the voice. |
| Gradient on every heading | Exactly one .grad per scene. The rest is .pu (purple ink) for emphasis. |
| Audio on autoplay | Default muted. Toggle is opt-in. |
| Heavy build pipeline | Single HTML file. No bundler. The constraint is the point. |
| Multiple CTAs | One CTA in the Close. The Hero CTA only appears after the user scrolls back to the top after reading. |
| Overdone parallax | 3 building layers max. More noise, less signal. |
| Skipping the Reveal scene | The Reveal is what reframes the whole experience as engineering. Without it the site reads as gimmick. |
references/design-tokens.md — Colors, type system, spacing scale, alternative palettesreferences/section-recipes.md — HTML/CSS skeletons for each of the 7 scenesreferences/animation-patterns.md — Cursor, reveal, typewriter, magnetic CTA, character buddy, counterreferences/web-audio-sfx.md — Procedural sound recipes (copy-paste functions)references/pixel-game-canvas.md — Game engine architecture, sprite drawing, parallax, bossesreferences/copywriting-playbook.md — Voice, tone, structure formulas for each scene's texttemplates/starter.html — A complete, working scaffold to copy fromRead each reference file only when you reach the corresponding step. They're all under 400 lines so a single read is cheap.
frontend-design insteadui-ux-pro-max or slides~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.