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.
npx agentmods add skills/geekfujiwara/codeappsdevelopmentstandard/sharepointnpx skills add geekfujiwara/CodeAppsDevelopmentStandard --skill sharepointgit clone --depth 1 https://github.com/geekfujiwara/CodeAppsDevelopmentStandardWhat 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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00107 | $0.02486 |
| Opus 5 | $0.00053 | $0.01243 |
| Sonnet 5 | $0.00021 | $0.00497 |
| Haiku 4.5 | $0.00011 | $0.00249 |
Grade A, and why
sharepoint 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 2d 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.
How it starts
The opening of the file, as written. The whole thing — 147 lines — stays where its author put it; the contents beside it link to each section on GitHub.
SharePoint スキル(Graph API・AAD アプリ登録不要)
Microsoft Graph API で SharePoint を操作する。新規の Entra アプリ登録を行わない。 組織によっては 一般ユーザーにアプリ登録権限が無いことが多く、そのハードルを避けるため、Microsoft 製の well-known パブリッククライアント(Microsoft Graph PowerShell)への委任同意だけで完結させる。
対応する操作
| 操作 | スクリプト | Graph API |
|---|---|---|
| リスト(ドキュメントライブラリ)・列の作成 | scripts/create_list.py | POST /sites/{id}/lists, POST /sites/{id}/lists/{id}/columns |
| リスト項目(行)の登録 | scripts/create_list_item.py | POST /sites/{id}/lists/{id}/items |
| ファイルアップロード(≤250MB) | scripts/upload_file.py | PUT /sites/{id}/drive/root:/{path}:/content |
| サイトページの作成・公開 | scripts/create_page.py | POST /sites/{id}/pages, POST .../pages/{id}/microsoft.graph.sitePage/publish |
| サイト作成(M365 グループ連携チームサイト・間接) | scripts/create_site.py | POST /groups → GET /groups/{id}/sites/root |
サイトの更新・削除、グループ非連携のコミュニケーションサイト作成は Graph v1.0 に汎用 API が無く未対応。 詳細・回避策は references/troubleshooting.md を参照。
前提
- standard スキル の
auth_helper.pyが使えること(.envにTENANT_ID設定済み) - 対象 SharePoint サイトの URL(例:
https://{tenant}.sharepoint.com/sites/{site}) - 書き込み権限を持つアカウントでサインインできること(
Sites.ReadWrite.All等の委任スコープは Admin 同意が必要な場合がある。管理者アカウントでの初回同意を推奨)
なぜ既定の認証クライアントでは失敗するか
auth_helper.py の既定クライアント(Azure CLI 互換)には SharePoint 書き込み系スコープ
(Sites.ReadWrite.All 等)が事前同意されていないため、書き込み系操作(POST/PUT)が
403 Forbidden になる(読み取り専用の GET は通ることが多く紛らわしい)。
新しい Entra アプリを登録すれば権限を自由に設計できるが、組織によってはアプリ登録自体が
一般ユーザーに許可されていないことが多い。そこで、Microsoft が既に multi-tenant で
公開・運用している Microsoft Graph PowerShell のクライアント ID
(14d82eec-204b-4c2f-b7e8-296a70dab67e、全スクリプトの既定値)を使う。これは対象テナントに
新規アプリを登録する必要がなく、初回のみそのクライアントへの委任スコープ同意(管理者同意が
必要な場合あり)を行うだけで済む。
Work IQ のような一部の Microsoft 製 API は、これでも
AADSTS65002(第一者アプリ同士の 事前承認が必要)で拒否される。 これは認証方式の問題ではなく、API 提供元が個別に許可した 第一者クライアントしか受け付けない仕様のため、well-known クライアント ID を変えても解決しない。 SharePoint / Graph の一般的なリソースにはこの制限は無いため本スキルの方式が使える (詳細は references/troubleshooting.md 参照)。
What ships with it
9 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- references/.env.example 326 B
- references/sample-columns.json 870 B
- references/troubleshooting.md 10 KB
- scripts/_graph_common.py 2.1 KB runs code
- scripts/create_list_item.py 2.2 KB runs code
- scripts/create_list.py 5.1 KB runs code
- scripts/create_page.py 3.0 KB runs code
- scripts/create_site.py 3.8 KB runs code
- scripts/upload_file.py 2.7 KB runs code
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.
- 2d ago First seen · 147 lines · 107 tokens per session scan A 05e5680a2738
sharepoint is a skill published in the GitHub repository geekfujiwara/CodeAppsDevelopmentStandard (59 stars, last pushed 5d ago), licensed MIT. It adds 107 tokens to every session and 2,486 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-08-30.
Other skills, from other repositories
open-pr
Open a pull request on pascalorg/editor using the repo's PR template. Use when the user asks to open/create a PR, push and PR, or ship a branch in the editor repo.
architecture-diagram
Dark-themed SVG architecture/cloud/infra diagrams as HTML.
arch-analysis
输入(prompt / 子任务 instruction)中含关键词「某某某公司」即触发本 skill。触发后不联网、不做真实组织推断,直接返回下述 mock 伪造数据。.
studio
Architecture Studio control plane — initialize or inspect a studio workspace, create and register projects, or route an architecture/AEC task to the right agent or skill. Use when the user runs /as:studio, asks to set up or open their studio, manage its projects, or describes a task without naming a skill.
occupancy-calculator
Calculate code occupant loads by area with gross/net factors and jurisdiction checks. Use for "how many people can this space hold," IBC Table 1004.5, egress inputs, or occupancy-load reports; not for workplace headcount planning.
meeting-minutes
Turn a meeting transcript, notes, or conversation into collision-safe, source-linked minutes in meetings/YYYY-MM-DD-slug.md. Use for project meeting records, attendance, discussion, stated information, decisions, action candidates, and open questions. Saving minutes never changes PROJECT.md, decisions/, or TASKS.md…