Guide · not normative
The Focus AI Standards
Guide: GDE-008
Status: Current
Relates to: STD-002, STD-011
W. Schenk
The Focus AI
2026-07-25
Verified 2026-07-25

Standard skill set

Status of this guide

This is a guide: explanation, walkthrough and reference implementation. It contains no clauses and binds nothing (STD-001 §4). The rules in this area are STD-002, STD-011; where this document and a standard disagree, the standard is the authority.

When a guide turns out to contain a rule, the rule moves to a standard where it can be cited and checked, and the guide keeps the explanation.

Rules extracted to STD-011; this is the skill inventory.

Skills are managed with the skills CLI (npm package skills), pinned in mise.toml as "npm:skills". Always use skills add ... to install skills — never manually copy skill directories. After mise install, the skills binary is on PATH, so prefer it over npx skills to avoid version drift.

How it works

Notes:

Standard skill set

The following are installed on all projects and are recorded in skills-lock.json. Source repos are GitHub (sourceType: github). Install only this set — do not skills add mattpocock/skills -y blindly; that repo also contains course/writing skills that are not part of TheFocus.AI standards.

Skills we own — all in this repository

Every Focus-authored skill lives in skills/ here, one folder per skill, and installs the same way:

skills add The-Focus-AI/standards --skill <name> -y
SkillWhat it does
activity-reportLive production usage joined against git history → interpreted, client-ready report
tech-researchPick the best library/tool for a need; write a dated, cited report into reports/
research-methodologyGeneral research method and report templates (literature review, comparative, exec summary)
browser-automationDrive Chrome: navigate, extract, screenshot, fill forms, print PDFs
nano-banana-imagegenGenerate images — icons, headers, illustrations, photo edits
nano-banana-videogenGenerate video — image-to-video, scene extension, dialogue
focus-ai-brandThe Focus.AI brand: palettes, type, grid, components, voice
paged-reportsMarkdown → paged HTML → PDF, with page-break control and magazine mode
pptx-decksMarkdown → branded .pptx via PptxGenJS, with visual QA
setup-projectScaffold a new project to these standards
standardize-projectAudit an existing project against these standards, plan the migration
standards-mapLook up latest standards → dated mapping report (guide applicability, exceptions, gaps)
develop-design-mdTake a project from no identity to a validated DESIGN.md

skills/VENDORED.md records where each one came from and at which commit.

Brand and mechanics are separate on purpose. focus-ai-brand says what things look like; paged-reports and pptx-decks say how documents get made. A project with its own brand uses the mechanics skills with its own DESIGN.md and never touches ours. When the brand changes, only the brand skill changes.

Third-party skills

Not ours; installed from upstream so skills update keeps giving us their fixes.

SkillSource repoSkill folder
firecrawl + 8 firecrawl-*firecrawl/cliskills/firecrawl-*
find-skillsvercel-labs/skillsskills/find-skills
swiss-designzeke/swiss-design-skillswiss-design

Product / planning / architecture workflow

All from mattpocock/skills. Canonical set matches the full engineering/productivity bundle used in production projects (for example walking-thoughts): 22 skills.

Default flow: grill the idea, produce a spec, break it into tickets, implement a ticket, then run code review. Use wayfinder before the spec when the work is too large or foggy for one agent session. Use ask-matt when unsure which skill fits. Run setup-matt-pocock-skills once per repo before first use of the tracker-backed skills.

Issue states, the label vocabulary, claiming, and Wayfinder operations are specified by STD-002, which binds every repository worked by an agent. A project records only its own tracker configuration — which tracker, and the local fallback path — in its AGENTS.md.

Setup and routing

SkillSkill folderRole
setup-matt-pocock-skillsskills/engineering/setup-matt-pocock-skillsOne-time repo setup: tracker, triage labels, domain docs
ask-mattskills/engineering/ask-mattRouter — which skill/flow fits the situation
writing-great-skillsskills/productivity/writing-great-skillsReference for authoring predictable skills

Planning and tickets

SkillSkill folderRole
grill-meskills/productivity/grill-meRelentless interview to sharpen a plan or design
grillingskills/productivity/grillingStress-test a plan/decision/idea (grill trigger phrases)
grill-with-docsskills/engineering/grill-with-docsGrill while creating ADRs and glossary docs
wayfinderskills/engineering/wayfinderMulti-session planning map for large or foggy work
researchskills/engineering/researchPrimary-source research into a Markdown note
to-specskills/engineering/to-specConversation → specification on the tracker
to-ticketsskills/engineering/to-ticketsSpec/plan → blocked vertical-slice tickets
triageskills/engineering/triageMove issues/PRs through triage roles to agent-ready briefs
prototypeskills/engineering/prototypeThrowaway logic/UI prototype for a design question
handoffskills/productivity/handoffCompact the conversation for another agent

Implementation and quality

SkillSkill folderRole
implementskills/engineering/implementImplement work from a spec or tickets
tddskills/engineering/tddRed/green testing at agreed seams
code-reviewskills/engineering/code-reviewStandards + spec review since a fixed point
diagnosing-bugsskills/engineering/diagnosing-bugsDiagnosis loop for hard bugs / regressions
resolving-merge-conflictsskills/engineering/resolving-merge-conflictsResolve in-progress merge/rebase conflicts

Domain and architecture

SkillSkill folderRole
domain-modelingskills/engineering/domain-modelingUbiquitous language, CONTEXT.md, ADRs
codebase-designskills/engineering/codebase-designDeep-module vocabulary and seam design
improve-codebase-architectureskills/engineering/improve-codebase-architectureScan for deepening opportunities, grill one
teachskills/productivity/teachTeach a skill or concept in-workspace

mattpocock/skills renamed to-prdto-spec and merged to-plan / to-issuesto-tickets. Do not install the deprecated to-prd or to-issues skills in new projects.

Authoring a skill in this repository

Skills we own live under skills/<skill-name>/SKILL.md at the root of this repo, one folder per skill, so skills add The-Focus-AI/standards --skill <skill-name> works the same way as any third-party source. Write the frontmatter description for triggering — say what the skill does and the phrases that should invoke it. writing-great-skills is the reference for the rest.

Layout, per skill:

skills/<name>/
  SKILL.md          # required — frontmatter + the process
  references/       # optional — long-form detail, read on demand
  templates/        # optional — files the skill produces from
  examples/         # optional — worked examples

Keep SKILL.md to the process and the pitfalls; push anything long into references/ and link it from a table. A skill that inlines 600 lines of detail is a skill nobody reads to the end of.

mise run skills:check validates the whole directory — frontmatter present, name kebab-case and matching the folder, description substantial and within the CLI's 1024-character limit, and every references/… path actually existing. It runs as part of mise lint, so a broken skill fails CI rather than failing at install time.

Once the skill is on main, run skills add against it from a project so the CLI computes and records the hash in that project's skills-lock.json; commit the standards copy of the lock file from the same run. Never hand-write a computedHash — a wrong hash makes experimental_install non-reproducible.

Vendoring policy

Skills TheFocus.AI writes belong here, not scattered across the repos that happened to birth them. When a skill turns up elsewhere, move it in, record it in skills/VENDORED.md with its source commit, and delete the original so the two cannot drift.

Third-party skills are the opposite: leave them upstream. Copying them in means republishing someone else's work and inheriting their maintenance — skills update already gives us their fixes for free.

Note on repository visibility

The-Focus-AI/standards is private, so skills add against it needs GitHub auth. That is fine locally (the CLI falls back to gh auth token) but CI needs GH_TOKEN set. If these skills are ever to be installable by people outside the org, they need to move to a public repo — that is a decision, not an oversight.

Adding a new skill

Prefer adding a specific skill folder, not the entire upstream repo:

skills add <owner>/<repo> --skill <folder> -y
skills add mattpocock/skills --skill triage -y
skills add firecrawl/cli -y   # OK: firecrawl/cli is entirely in the standard set

Then commit the updated skills-lock.json. Run mise install (or skills experimental_install) to reproduce on another machine.

Keeping skills current

skills update -y        # update all project skills, rewrite hashes
skills update find-skills firecrawl wayfinder -y   # update a subset
git diff skills-lock.json   # review before committing