intranet-page-lifecycle-review

intranet-page-lifecycle-review is a skill for Claude Code, Codex from pnp/sharepoint-skills. It costs 97 tokens per session (1,559 once invoked), scanned A, original, MIT.

A read-only audit skill for SharePoint Site Pages, the library where an organisation stores intranet pages. It finds pages that are stale, still drafts, unpublished, or checked out.

In plain words
What is it for?
Use it to review page publishing status, identify old pages, and report pages with unpublished changes or editing locks.
Why use it?
It makes unfinished or neglected intranet content visible without changing the pages. A self-contained HTML report provides the findings in one place.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

Good fit Use it to review page publishing status, identify old pages, and report pages with unpublished changes or editing locks.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/pnp/sharepoint-skills/intranet-page-lifecycle-review
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add pnp/sharepoint-skills --skill intranet-page-lifecycle-review
Clone the repo
git clone --depth 1 https://github.com/pnp/sharepoint-skills

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for intranet-page-lifecycle-review

README.md
[![agentmods](https://agentmods.dev/badge/skills/pnp/sharepoint-skills/intranet-page-lifecycle-review/github.svg)](https://agentmods.dev/skills/pnp/sharepoint-skills/intranet-page-lifecycle-review)
Your own site
<a href="https://agentmods.dev/skills/pnp/sharepoint-skills/intranet-page-lifecycle-review"><img src="https://agentmods.dev/badge/skills/pnp/sharepoint-skills/intranet-page-lifecycle-review/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for intranet-page-lifecycle-review

Your own site · 80×15
<a href="https://agentmods.dev/skills/pnp/sharepoint-skills/intranet-page-lifecycle-review"><img src="https://agentmods.dev/badge/skills/pnp/sharepoint-skills/intranet-page-lifecycle-review.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 97 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,559 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe. Third-party audits
  • NVIDIA SkillSpector pass 7 Sept 2026
How audits are shown
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00097 $0.01559
Opus 5 $0.00048 $0.00779
Sonnet 5 $0.00019 $0.00312
Haiku 4.5 $0.00010 $0.00156

Measured 8d ago against content hash ddb3da048ab0, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-12, from the pricing page.

Security

Grade A, and why

intranet-page-lifecycle-review scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 8d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

Skills/intranet-page-lifecycle-review/intranet-page-lifecycle-review/SKILL.md · 107 lines

How it starts

The opening of the file, as written. The whole thing — 107 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Intranet Page Lifecycle Review

When to use

Use this skill to audit the current SharePoint site's Site Pages library for page lifecycle findings and produce a self-contained HTML report. The review is strictly read-only with respect to pages and library items.

Trigger for requests to review, audit, or report on stale pages, drafts, never-published pages, pages with unpublished changes, or checked-out pages.

Inputs

  • Current SharePoint site from live site context.
  • Current date and site timezone from context.now or the equivalent authoritative date/time tool.
  • Optional user-supplied inactivity period. Default to 6 calendar months.
  • Optional report name or destination. Default to Intranet Page Lifecycle Review.html in the current location when suitable; otherwise save it in a location supported by the HTML output tool and return its link.

Steps

  1. Carry the live current-site context into every workflow. Discover the current site's lists and libraries and identify the Site Pages library from its observed title, URL, and library/template metadata. Don't assume a list ID or rebuild a library URL.
  2. Learn and use only the required read and output tools. Typical tools are lists.discover, lists.getSchema, lists.getItems, files.getVersions, context.now, and output.html or output.htmlReport.
  3. Perform reconnaissance before creating the report:
    • Read the Site Pages schema and a representative sample.
    • Map the actual internal columns for page title/name, file reference or URL, Created, Author, Modified, Editor, moderation/publishing state, version, checkout state, and checkout user.
    • Use fieldText for Person, Lookup, and other structured field values.
    • Don't guess internal column names or status encodings.
  4. Enumerate the full Site Pages library with pagination or an adequate row limit. Include page files and exclude folders and non-page support items. Preserve the page URL returned by SharePoint rather than fabricating one.
  5. Read version history when needed to distinguish publication states. Determine state from observed metadata and version evidence:
    • Draft status: the current page metadata explicitly identifies it as Draft.
    • Never been published: version history contains no published major version. Don't infer this from age or title.
    • Published with unpublished changes: version history contains at least one published major version, while the current page is a later draft/minor version or metadata explicitly reports unpublished changes.
    • Published: the current version is published and has no later unpublished changes.
    • If version evidence is unavailable or ambiguous, label the publishing status Unknown and explain the limitation; don't invent a status.
  6. Determine checkout status from the observed checkout metadata. Report Checked out only when the metadata confirms it, and show the checked-out user when available. Otherwise report Not checked out or Unknown as supported by the source.
  7. Calculate the stale threshold as the date exactly six calendar months before the authoritative current date, respecting the site timezone. Flag pages whose Modified timestamp is strictly earlier than that threshold. State the concrete threshold date in the report.
  8. Include a page when it has at least one of these findings:
    • Not modified within the last six months
    • Draft status
    • Never published
    • Published with unpublished changes
    • Currently checked out
  9. Findings can overlap. For each page, combine every applicable reason in Finding reason; don't duplicate the page into separate rows. Compute summary totals for unique pages reviewed, unique pages with findings, and each finding category independently.
  10. Recommend a non-destructive follow-up based on the evidence:
    • Stale: Confirm ownership and relevance; consider updating or starting the approved archival process.
    • Draft: Ask the owner to review and either publish through the approved process or continue editing.
    • Never published: Confirm whether the page is still needed; ask the owner to complete review or follow the approved removal process.
    • Unpublished changes: Ask the editor to review the pending changes and publish through the approved process if ready.
    • Checked out: Contact the checked-out user to complete or release the checkout through the approved process. Combine applicable recommendations without claiming any action was taken.
  11. Sort findings first by publishing status using a stable, documented order (Never published, Draft, Published with unpublished changes, Published, Unknown), then by Modified date ascending so the oldest page appears first within each status. Use title as a final tie-breaker.
  12. Split inspection and output into separate workflows when required: the first workflow reads and returns schema/sample/evidence; the second creates the report from inspected data. Perform all reads before the output write.
  13. Generate one self-contained HTML report with embedded CSS and no external runtime dependencies. Escape all source text before placing it in HTML. Make page URLs clickable.
  14. Return a concise completion message with the report link, the number of pages reviewed, the number with findings, the concrete stale threshold, and category totals.
  15. If a read or version-history call fails or returns incomplete data, say so in the report and completion message. Don't fabricate values or silently classify uncertain pages.

Read the full file on GitHub · 107 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 8d ago First seen · 107 lines · 97 tokens per session scan A ddb3da048ab0

Subscribe to this mod's changes

intranet-page-lifecycle-review is a skill published in the GitHub repository pnp/sharepoint-skills (118 stars, last pushed 4d ago), licensed MIT. It adds 97 tokens to every session and 1,559 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.

Related

Other skills, from other repositories

html-ppt-obsidian-claude-gradient

OpenDesign's enterprise AI-adoption brief: local-first agents at work, the risk controls, the ROI, and the rollout plan. Built as a decision-grade AI literacy deck for leadership, IT, security.

nexu-io/open-design · 53 tokens

skill-doc-delivery

Convert markdown to DOCX, PPTX, XLSX, PDF office documents — use when you need exportable deliverables.

nyldn/claude-octopus · 29 tokens

skill-deck

Generate slide deck presentations from briefs — use when you need slides, pitch decks, or visual summaries.

nyldn/claude-octopus · 23 tokens

speech-to-text

Transcribe audio to text using ElevenLabs Scribe v2. Use when converting audio/video to text, generating subtitles, transcribing meetings, or processing spoken content.

calesthio/OpenMontage · 37 tokens

msgraph-files

Read OneDrive and SharePoint files via the Microsoft 365 MCP server — list folder contents, fetch item metadata, inspect versions and sharing permissions. Use when locating a document in OneDrive/SharePoint, checking who a file is shared with, or reviewing file version history.

automateyournetwork/netclaw · 58 tokens

managedcode-markitdown

Use ManagedCode.MarkItDown when a .NET application needs deterministic document-to-Markdown conversion for ingestion, indexing, summarization, or content-processing workflows. USE FOR: ManagedCode.MarkItDown integration; document ingestion flows; Office or rich-text conversion to Markdown; indexing and summarization…

managedcode/dotnet-skills · 113 tokens