internal-links
Skill from Pagepro/nexity
Install
npx skills add Pagepro/nexity --skill internal-links
Runs the open skills CLI and installs the skill for your agent (Claude Code, Codex, Cursor …). Alternatively copy the skill folder into .claude/skills/ or upload it in Claude.ai under Settings → Skills.
As a Claude Code plugin
/plugin marketplace add Pagepro/nexity
/plugin install marketing-skills@nexity
This skill is part of the plugin “marketing-skills”. In Claude Code the plugin installs it together with the plugin’s other skills, commands and hooks.
What does the internal-links skill do?
Description from the SKILL.md in the source repository.
Questions about internal-links
What does the internal-links skill do?
Find the internal links a site's articles are missing, on any site and any CMS; by default it writes nothing, and only when the user asks and gives access does it put the approved links into Sanity drafts (over the API with a token, or through a Sanity MCP server). A script crawls the published site (sitemap or a URL list), reads each article's content (not the navigation), finds the pages an article already names by their own titles (plus any phrases the rules file governs) and shortlists the pages it overlaps; the agent keeps the candidates that read naturally and proposes links to shortlisted pages with exact anchors; the checks drop anything that collides (already linked, anchor reused, heading, over the limit); the user approves each link on an HTML review page; the approved links become a list the editor adds in their CMS (or, on request, Sanity drafts an editor publishes), and `verify` re-reads the live pages afterwards. Use when the user asks to "add internal links", "fix internal linking", "find linking opportunities", "link this article to our service pages", "which pages are orphans", or gives a site or a list of posts to interlink.
How do I install internal-links?
In a terminal: npx skills add Pagepro/nexity --skill internal-links. The skills CLI asks which agents to install it for. In Claude.ai you can upload the skill folder as a ZIP under Settings → Skills.
Which agents can use internal-links?
Skills use the open SKILL.md format, which Claude Code, Claude.ai, the Claude API, OpenAI Codex, Cursor, Gemini CLI and other agents support.
Is internal-links safe to use?
Our automatic check found patterns worth a look (see “Check”). That is not proof of anything bad – read the SKILL.md and scripts before installing.
More skills from Pagepro/nexity
A critical, read-only quality review of one blog post or draft. Checks whether the body delivers what the title promises, the logic, every heading against its section, a technical and a marketing read, and ends with a weighted 0-10 scorecard and the three fixes with the most impact, always in the same format so posts can be compared. Use when the user asks to "review this post", "score this article", "is this draft good", "check the quality of the blog post", or gives a post URL, file or pasted text to judge. Never edits the post.
Review one published blog post the user picked, on any site and any CMS, and propose the update without writing anything. Snapshot the post from its public URL (or an export), agree the scope, diagnose the drop proportionately from Search Console and GA4 (through an MCP server, the script's own Google access, or exports; none is required to start), audit the article as published, propose an intervention (no change / technical / consolidation / content), get the editor's approval at named gates, rewrite it in Markdown, render the images it needs (screenshots and HTML-built graphics through the installed Chrome), validate (links, protected passages, metadata, headings), show the whole change on an HTML review page, and hand the editor an approved change list to make in their CMS; `verify` then checks the live page. Not always a rewrite. Use when asked to "update a blog post", "refresh this article", "should we update this post", "why did this post drop", "which posts should we refresh", or given a published article URL to look at.
Use when asked to build, generate, or reverse-engineer a brand kit, brand foundations, brand voice profile, or content-platform onboarding profile for a company from its website URL — "zrób brand kit", "brand kit for <company>", "what does our site actually say about us", or when preparing a company's site for AI content production. Written for the team that owns the site; works on any company's site. Needs only a public URL to start. Also a starting point for the project's `BRAND.md`.
Create a new page section in this Next.js + Sanity starter, after first checking whether an existing section already covers it (reuse as-is, add a layout option or fields, or build a new type). Takes the look from DESIGN.md (plus any Figma link, screenshot or mockup the user gives) and the copy from BRAND.md (placeholder copy while it is still the template), models the code on the 2–3 closest sections in web/src/ui/sections/, and ships the schema, GROQ branch, component, gallery fixture, Markdown serializer, insert-menu entry and tile. Use when the user asks for a new band, block or section, or whether the site already has one that fits a design.
Write alt text for the images in the Sanity dataset. A script lists every image usage (document, field, current alt, the asset's title/description/alt text, a caption, the section heading and the text around it), downloads one small preview per asset into a local cache (`.alts/`, never the same image twice), the agent looks at each image and proposes one alt per usage in the site's content language (or marks it decorative), then the script builds an HTML page where the user reviews, edits and approves them and exports `approved.json`; approved alts go into drafts with a dry-run-first script (`--apply` to write). Use when the user asks to "generate/write/fill alt texts", "images without alt", "alt audit", "accessibility of images", "describe our images", after a content import or migration, or before an accessibility or SEO review. Works on Nexity projects (`img` objects) and on similar Sanity sites.
Audit and fix the links stored in the Sanity dataset, three rules counted in one table first. own-domain turns links to the site's own domain (`https://example.com/pricing` or a bare `/pricing` in an external link, CTA, header/footer link or rich-text annotation) into references or internal paths. http upgrades `http://` links and URL fields to `https://` per host, optionally only where https answers. slash aligns internal paths, own-domain URLs and slugs with the trailing-slash convention in `web/next.config.*` and fixes double or missing slashes. The user picks the rules; a dry-run-first script writes them (`--apply`) and re-checks, then the code goes to `link-reviewer`. Use when the user asks to "fix links", "convert absolute URLs to relative", "editors pasted full URLs", "links to our own site open in a new tab", "replace http with https", "trailing slashes are inconsistent", "check our slugs", after a content import or migration, or before a domain change.
Walk a marketer with no terminal experience through setting up the marketing skills (brand-kit, site-contradictions, blog-post-quality-review, internal-links, blog-post-update, and source-review, which blog-post-update uses) step by step, by their preferences, whether they came as the Claude Code plugin `marketing-skills`, through `npx skills add Pagepro/nexity`, or in a downloaded ZIP of the repository. Checks where the skills are, says what to install and how (click by click), installs and builds what it can itself with permission, runs a short test of each chosen skill, and ends with what the person can now ask for. Use when someone says "Help me setup these skills for marketers", "set up the marketing skills", "skonfiguruj skille marketingowe", "pomóż mi to uruchomić", or has just installed the marketing skills and asks how to start.
Write or refresh a pull/merge request description a reviewer can follow in one read: the problem as a visitor saw it, a before/after table of the values that changed, reviewer notes, matching before/after screenshots committed with the PR under `.github/pr-assets/<topic>/` (the branch name, `/` → `-`), and a concrete test plan, with the text put through the `work-humanizer` skill and its check before it goes up. Use it when a PR/MR is opened or updated and needs a description, e.g. "write the PR description", "add screenshots to the PR", "update the PR after review", "refresh the before/after shots". Not for commit messages or release notes. Optional argument: the PR/MR number or URL.
Related skills in Development
Scan a codebase for deepening opportunities, present them as a visual HTML report, then grill through whichever one you pick.
Diagnosis loop for hard bugs and performance regressions. Use when the user says "diagnose"/"debug this", or reports something broken/throwing/failing/slow.
Review the changes since a fixed point (commit, branch, tag, or merge-base) along two axes: Standards (does the code follow this repo's documented coding standards?) and Spec (does the code match what the originating issue/spec asked for?). Runs both reviews in parallel sub-agents and reports them side by side. Use when the user wants to review a branch, a PR, work-in-progress changes, or asks to "review since X".
Investigate a question against high-trust primary sources and capture the findings as a Markdown file in the repo. Use when the user wants a topic researched, docs or API facts gathered, or reading legwork delegated to a background agent.
This skill should be used when the user wants to "write agent code", "build an agent with ADK", "add a tool", "create a callback", "define an agent", "use state management" — in a project that needs ADK (Agent Development Kit) API patterns and code examples. It provides a quick reference for agent types, tool definitions, orchestration patterns, callbacks, state management, the graph Workflow API, and reference recipes to study. Do NOT use for scaffolding (use google-agents-cli-scaffold) or deployment (use google-agents-cli-deploy).
Set up Claude Code hooks to block dangerous git commands (push, reset --hard, clean, branch -D, etc.) before they execute. Use when user wants to prevent destructive git operations, add git safety hooks, or block git push/reset in Claude Code.
Generate AI music on RunComfy via the `runcomfy` CLI — a smart router across the music-model catalog. Routes to ElevenLabs AI Music Generation (premium 44.1 kHz stereo vocal tracks, 5 s–5 min, $0.0083/s) and ACE Step / ACE Step 1.5 (StepFun-AI open-weights, tag-driven composition, multilingual lyrics, $0.0002–0.0003/s, ~27× cheaper), plus ACE Step audio-inpaint (regenerate a time range inside an existing track) and ACE Step audio-outpaint (extend a track before or after). Picks the right model for the user's actual intent — premium vocal hook, cheap background music library, multilingual pop song, repair a bad chorus, lengthen a 30 s draft into a 2 min cut — and ships each model's documented prompting patterns plus the minimal `runcomfy run` invoke. Triggers on "generate music", "make a song", "AI music", "background music", "instrumental track", "soundtrack", "jingle", "theme music", "royalty-free music", "compose", "music with lyrics", "extend music", "fix this song", "inpaint music", or any explicit ask to generate or edit music.
创建 lark-cli 的自定义 Skill。当用户需要把飞书 API 操作封装成可复用的 Skill(包装原子 API 或编排多步流程)时使用。